Git Product home page Git Product logo

awesome_rails_console's People

Contributors

ascendbruce avatar errakeshpd avatar jason-cooke avatar xunker avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

awesome_rails_console's Issues

dependencies conflict

Can you update this dependency?

Bundler could not find compatible versions for gem "byebug":
  In Gemfile:
    awesome_rails_console (>= 0) ruby depends on
      pry-byebug (>= 0) ruby depends on
        byebug (~> 1.1.1) ruby
    byebug (5.0.0)

undefined method `first' for #<Pry::Prompt:> (NoMethodError)

My Gemfile.lock has this:

    awesome_rails_console (0.4.4)
      awesome_print
      pry-rails
      railties
...
    pry (0.13.0)
      coderay (~> 1.1)
      method_source (~> 1.0)
    pry-rails (0.3.9)
      pry (>= 0.10.4)

Running rails console fails with this error:

Loading development environment (Rails 6.0.2.2)
warning: setting prompt with help of `Pry.config.prompt = [proc {}, proc {}]` is deprecated. Use Pry::Prompt API instead
Traceback (most recent call last):
        32: from bin/rails:4:in `<main>'
        31: from /Users/helix/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/activesupport-6.0.2.2/lib/active_support/dependencies.rb:325:in `require'
        30: from /Users/helix/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/activesupport-6.0.2.2/lib/active_support/dependencies.rb:291:in `load_dependency'
        29: from /Users/helix/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/activesupport-6.0.2.2/lib/active_support/dependencies.rb:325:in `block in require'
        28: from /Users/helix/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
        27: from /Users/helix/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `require_with_bootsnap_lfi'
        26: from /Users/helix/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
        25: from /Users/helix/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `block in require_with_bootsnap_lfi'
        24: from /Users/helix/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require'
        23: from /Users/helix/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/railties-6.0.2.2/lib/rails/commands.rb:18:in `<main>'
        22: from /Users/helix/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/railties-6.0.2.2/lib/rails/command.rb:46:in `invoke'
        21: from /Users/helix/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/railties-6.0.2.2/lib/rails/command/base.rb:69:in `perform'
        20: from /Users/helix/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/thor-0.20.3/lib/thor.rb:387:in `dispatch'
        19: from /Users/helix/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/thor-0.20.3/lib/thor/invocation.rb:126:in `invoke_command'
        18: from /Users/helix/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/thor-0.20.3/lib/thor/command.rb:27:in `run'
        17: from /Users/helix/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/railties-6.0.2.2/lib/rails/commands/console/console_command.rb:102:in `perform'
        16: from /Users/helix/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/railties-6.0.2.2/lib/rails/commands/console/console_command.rb:19:in `start'
        15: from /Users/helix/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/railties-6.0.2.2/lib/rails/commands/console/console_command.rb:70:in `start'
        14: from /Users/helix/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/pry-0.13.0/lib/pry/pry_class.rb:191:in `start'
        13: from /Users/helix/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/pry-0.13.0/lib/pry/repl.rb:15:in `start'
        12: from /Users/helix/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/pry-0.13.0/lib/pry/repl.rb:38:in `start'
        11: from /Users/helix/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/pry-0.13.0/lib/pry/input_lock.rb:78:in `with_ownership'
        10: from /Users/helix/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/pry-0.13.0/lib/pry/input_lock.rb:61:in `__with_ownership'
         9: from /Users/helix/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/pry-0.13.0/lib/pry/repl.rb:38:in `block in start'
         8: from /Users/helix/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/pry-0.13.0/lib/pry/repl.rb:67:in `repl'
         7: from /Users/helix/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/pry-0.13.0/lib/pry/repl.rb:67:in `loop'
         6: from /Users/helix/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/pry-0.13.0/lib/pry/repl.rb:68:in `block in repl'
         5: from /Users/helix/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/pry-0.13.0/lib/pry/repl.rb:95:in `read'
         4: from /Users/helix/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/pry-0.13.0/lib/pry/pry_instance.rb:471:in `select_prompt'
         3: from /Users/helix/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/pry-0.13.0/lib/pry/pry_class.rb:382:in `critical_section'
         2: from /Users/helix/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/pry-0.13.0/lib/pry/pry_instance.rb:490:in `block in select_prompt'
         1: from /Users/helix/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/pry-0.13.0/lib/pry/pry_instance.rb:692:in `generate_prompt'
/Users/helix/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/awesome_rails_console-0.4.4/lib/awesome_rails_console/railtie.rb:37:in `block in show_rails_env_name_before_prompt': undefined method `first' for #<Pry::Prompt:0x00007fc2179ae1c0> (NoMethodError)

Gem tries to use closed file

Using awesome_rails_console (0.4.3).

When I am doing an operation that opens and uses a file in the console, I get the following error:
(pry) output error: #<IOError: closed stream>

It seems to me that the gem tries to use the file after it got closed.

The following simple code prints all the names then exits with the error mentioned above:

File.open("miscellaneous/data/some_text.txt", "r") do |f|
  f.each_line do |line|
    name = line.chomp
    p name
  end
end

Here is the full trace:

(pry) output error: #<IOError: closed stream>
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/awesome_print-1.8.0/lib/awesome_print/formatters/file_formatter.rb:17:in `directory?'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/awesome_print-1.8.0/lib/awesome_print/formatters/file_formatter.rb:17:in `format'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/awesome_print-1.8.0/lib/awesome_print/formatter.rb:100:in `awesome_file'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/awesome_print-1.8.0/lib/awesome_print/formatter.rb:26:in `format'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/awesome_print-1.8.0/lib/awesome_print/inspector.rb:115:in `unnested'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/awesome_print-1.8.0/lib/awesome_print/inspector.rb:74:in `awesome'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/awesome_print-1.8.0/lib/awesome_print/core_ext/kernel.rb:10:in `ai'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/awesome_print-1.8.0/lib/awesome_print/custom_defaults.rb:45:in `block in pry!'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/pry-0.12.2/lib/pry/pry_instance.rb:399:in `show_result'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/pry-0.12.2/lib/pry/pry_instance.rb:368:in `block in handle_line'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/pry-0.12.2/lib/pry/pry_class.rb:401:in `critical_section'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/pry-0.12.2/lib/pry/pry_instance.rb:367:in `handle_line'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/pry-0.12.2/lib/pry/pry_instance.rb:274:in `block (2 levels) in eval'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/pry-0.12.2/lib/pry/pry_instance.rb:273:in `catch'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/pry-0.12.2/lib/pry/pry_instance.rb:273:in `block in eval'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/pry-0.12.2/lib/pry/pry_instance.rb:272:in `catch'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/pry-0.12.2/lib/pry/pry_instance.rb:272:in `eval'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/pry-0.12.2/lib/pry/repl.rb:77:in `block in repl'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/pry-0.12.2/lib/pry/repl.rb:67:in `loop'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/pry-0.12.2/lib/pry/repl.rb:67:in `repl'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/pry-0.12.2/lib/pry/repl.rb:38:in `block in start'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/pry-0.12.2/lib/pry/input_lock.rb:59:in `__with_ownership'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/pry-0.12.2/lib/pry/input_lock.rb:77:in `with_ownership'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/pry-0.12.2/lib/pry/repl.rb:38:in `start'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/pry-0.12.2/lib/pry/repl.rb:13:in `start'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/pry-0.12.2/lib/pry/pry_class.rb:200:in `start'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/railties-5.2.2/lib/rails/commands/console/console_command.rb:64:in `start'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/railties-5.2.2/lib/rails/commands/console/console_command.rb:19:in `start'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/railties-5.2.2/lib/rails/commands/console/console_command.rb:96:in `perform'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/thor-0.20.3/lib/thor/command.rb:27:in `run'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/thor-0.20.3/lib/thor/invocation.rb:126:in `invoke_command'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/thor-0.20.3/lib/thor.rb:387:in `dispatch'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/railties-5.2.2/lib/rails/command/base.rb:65:in `perform'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/railties-5.2.2/lib/rails/command.rb:46:in `invoke'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/railties-5.2.2/lib/rails/commands.rb:18:in `<main>'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `require'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `block in require_with_bootsnap_lfi'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/loaded_features_index.rb:65:in `register'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:20:in `require_with_bootsnap_lfi'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:29:in `require'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:291:in `block in require'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:257:in `load_dependency'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:291:in `require'
/Users/Umar/app/some_app/bin/rails:9:in `<main>'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:50:in `load'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:50:in `load'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:285:in `block in load'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:257:in `load_dependency'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:285:in `load'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/commands/rails.rb:6:in `call'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/command_wrapper.rb:38:in `call'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/application.rb:201:in `block in serve'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/application.rb:171:in `fork'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/application.rb:171:in `serve'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/application.rb:141:in `block in run'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/application.rb:135:in `loop'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/application.rb:135:in `run'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/application/boot.rb:19:in `<top (required)>'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
/Users/Umar/.rbenv/versions/2.5.3/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
-e:1:in `<main>'

Remove hirb-unicode

Why is this change necessary

  • outdated gem. blocking other new gems

Proposed solution

  • Remove hirb-unicode

Deprecation Pry.config.prompt

The error said:

Warning: setting prompt with help of `Pry.config.prompt = [proc {}, proc {}]` is deprecated. Use Pry::Prompt API instead

@9edang fix it and did a pull request #13

in the meantime until it is merge, the issue can be fixed using that git repo/branch

Gemfile

gem 'awesome_rails_console', git: 'https://github.com/9edang/awesome_rails_console.git', branch: 'fix-deprecated-pry'

Make rails console even more awesome with bye-bug, hirb

Why is this change necessary?

  • This gem used to include pry-byebug, stack_explorer and hirb. But for maintenance and dependency issue. They were removed since v0.3.0.
  • They are great tools. Should be easy to install too.

Proposed solution

  • Write a generator to insert gems, config files to setup an even more awesome rails console.
  • One line to install them. for example. rails g awesome_rails_console:install

Cursor misplace

Not sure why but in some machines the cursor will go crazy. I know a workaround is to disable ANSI color. Will do in next release.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.