lmarlow / gemedit Goto Github PK
View Code? Open in Web Editor NEWGemedit lets you quickly open up the source for a gem in your favorite editor.
Home Page: http://gemedit.rubyforge.org/
License: MIT License
Gemedit lets you quickly open up the source for a gem in your favorite editor.
Home Page: http://gemedit.rubyforge.org/
License: MIT License
How to reproduce
$ gem install whois
$ gem install gemedit
$ ruby-whois example.com
<internal:lib/rubygems/custom_require>:29: warning: loading in progress, circular require considered harmful - /Users/weppos/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems.rb
from /Users/weppos/.rvm/gems/ruby-1.9.2-p0/bin/ruby-whois:9:in `<main>'
from <internal:lib/rubygems/custom_require>:29:in `require'
from <internal:lib/rubygems/custom_require>:29:in `require'
from /Users/weppos/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems.rb:1136:in `<top (required)>'
from /Users/weppos/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems.rb:968:in `load_plugins'
from /Users/weppos/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems.rb:968:in `each'
from /Users/weppos/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems.rb:976:in `block in load_plugins'
from /Users/weppos/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems.rb:976:in `load'
from /Users/weppos/.rvm/gems/ruby-1.9.2-p0/gems/gemedit-1.0.0/lib/rubygems_plugin.rb:3:in `<top (required)>'
from <internal:lib/rubygems/custom_require>:29:in `require'
from <internal:lib/rubygems/custom_require>:33:in `rescue in require'
from <internal:lib/rubygems/custom_require>:33:in `require'
from /Users/weppos/.rvm/gems/ruby-1.9.2-p0/gems/gemedit-1.0.0/lib/gemedit.rb:2:in `<top (required)>'
from <internal:lib/rubygems/custom_require>:29:in `require'
from <internal:lib/rubygems/custom_require>:29:in `require'
from /Users/weppos/.rvm/gems/ruby-1.9.2-p0/gems/gemedit-1.0.0/lib/gemedit/edit_command.rb:2:in `<top (required)>'
from <internal:lib/rubygems/custom_require>:29:in `require'
from <internal:lib/rubygems/custom_require>:29:in `require'
from /Users/weppos/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems/version_option.rb:7:in `<top (required)>'
from <internal:lib/rubygems/custom_require>:29:in `require'
from <internal:lib/rubygems/custom_require>:29:in `require'
^C/Users/weppos/.rvm/gems/ruby-1.9.2-p0/gems/whois-1.6.6/lib/whois/server/adapters/base.rb:126:in `initialize': Interrupt
from /Users/weppos/.rvm/gems/ruby-1.9.2-p0/gems/whois-1.6.6/lib/whois/server/adapters/base.rb:126:in `open'
from /Users/weppos/.rvm/gems/ruby-1.9.2-p0/gems/whois-1.6.6/lib/whois/server/adapters/base.rb:126:in `ask_the_socket'
from /Users/weppos/.rvm/gems/ruby-1.9.2-p0/gems/whois-1.6.6/lib/whois/server/adapters/base.rb:120:in `query_the_socket'
from /Users/weppos/.rvm/gems/ruby-1.9.2-p0/gems/whois-1.6.6/lib/whois/server/adapters/standard.rb:34:in `request'
from /Users/weppos/.rvm/gems/ruby-1.9.2-p0/gems/whois-1.6.6/lib/whois/server/adapters/base.rb:85:in `block in query'
from /Users/weppos/.rvm/gems/ruby-1.9.2-p0/gems/whois-1.6.6/lib/whois/server/adapters/base.rb:109:in `with_buffer'
from /Users/weppos/.rvm/gems/ruby-1.9.2-p0/gems/whois-1.6.6/lib/whois/server/adapters/base.rb:84:in `query'
from /Users/weppos/.rvm/gems/ruby-1.9.2-p0/gems/whois-1.6.6/lib/whois/client.rb:79:in `block in query'
from /Users/weppos/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/timeout.rb:57:in `timeout'
from /Users/weppos/.rvm/gems/ruby-1.9.2-p0/gems/whois-1.6.6/lib/whois/client.rb:77:in `query'
from /Users/weppos/.rvm/gems/ruby-1.9.2-p0/gems/whois-1.6.6/bin/ruby-whois:52:in `<top (required)>'
from /Users/weppos/.rvm/gems/ruby-1.9.2-p0/bin/ruby-whois:19:in `load'
from /Users/weppos/.rvm/gems/ruby-1.9.2-p0/bin/ruby-whois:19:in `<main>'
Without gemedit
the ruby-whois
command doesn't raise any warning.
The line referenced in the stacktrace is the require 'rubygems'
statement created by RubyGems whenever you install a Gem with a binary command.
#!/Users/weppos/.rvm/rubies/ruby-1.9.2-p0/bin/ruby -wKU
#
# This file was generated by RubyGems.
#
# The application 'whois' is installed as part of a gem, and
# this file is here to facilitate running it.
#
require 'rubygems' # <-- here's the line
version = ">= 0"
The VIM output is piped to STDOUT without letting me interact with the VIM interface. You can briefly see VIM's warning message:
Vim: Warning: Output is not to a terminal
Vim: Warning: Input is not from a terminal
gem edit rspec
should use bundle show
when in a directory with a Gemfile. In other words these should always be equivalent in a directory that has a Gemfile with an rspec specification.
bundle show rspec | xargs mate
gem edit rspec
what's the difference between qwandry and your gemedit?
When running gem edit
, I get the following deprecation warning. Here's ruby and ruby gems versions, and the full error message I'm seeing:
$ gem --version
1.8.6
$ ruby --version
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin11.0.0]
$ gem edit oauth2
NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01.
Gem.source_index called from /Users/eprice/.rvm/gems/ruby-1.9.2-p290@ss/gems/gemedit-1.0.0/lib/gemedit/edit_command.rb:52.
NOTE: Gem::SourceIndex#find_name is deprecated, use Specification.find_by_name. It will be removed on or after 2011-11-01.
Gem::SourceIndex#find_name called from /Users/eprice/.rvm/gems/ruby-1.9.2-p290@ss/gems/gemedit-1.0.0/lib/gemedit/edit_command.rb:52.
Opening the oauth2 gem, version 0.5.0, with mvim from /Users/eprice/.rvm/gems/ruby-1.9.2-p290@ss/gems/oauth2-0.5.0
Everything it still working correctly for now, but will apparently stop in a couple months.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.