Skip to content

Instantly share code, notes, and snippets.

@rust
Created August 2, 2010 04:50
Show Gist options
  • Save rust/504121 to your computer and use it in GitHub Desktop.
Save rust/504121 to your computer and use it in GitHub Desktop.
% ruby -v
ruby 1.9.2dev (2010-07-11 revision 28618) [x86_64-linux]
% gem install --no-ri --no-rdoc capistrano capistrano_ext capistrano_colors
Successfully installed net-ssh-2.0.23
Successfully installed net-sftp-2.0.4
Successfully installed net-scp-1.0.2
Successfully installed net-ssh-gateway-1.0.1
Successfully installed highline-1.6.1
Successfully installed capistrano-2.5.19
Successfully installed capistrano_colors-0.5.2
7 gems installed
% gem list
*** LOCAL GEMS ***
capistrano (2.5.19)
capistrano_colors (0.5.2)
highline (1.6.1)
net-scp (1.0.2)
net-sftp (2.0.4)
net-ssh (2.0.23)
net-ssh-gateway (1.0.1)
rake (0.8.7)
rdoc (2.5.9)
% head -n 30 ~/.rvm/gems/ruby-1.9.2-rc2@cap/gems/capistrano-2.5.19/lib/capistrano.rb
require 'capistrano/configuration'
require 'capistrano/extensions'
% head -n 3 ~/.rvm/gems/ruby-1.9.2-rc2@cap/gems/capistrano-2.5.19/lib/capistrano/configuration.rb
require 'capistrano/logger'
require 'capistrano/configuration/callbacks'
% head -n 30 ~/.rvm/gems/ruby-1.9.2-rc2@cap/gems/capistrano-2.5.19/lib/capistrano/logger.rb
module Capistrano
class Logger #:nodoc:
attr_accessor :level
attr_reader :device
IMPORTANT = 0
INFO = 1
DEBUG = 2
TRACE = 3
MAX_LEVEL = 3
def initialize(options={})
output = options[:output] || $stderr
if output.respond_to?(:puts)
@device = output
else
@device = File.open(output.to_str, "a")
@needs_close = true
end
@options = options
@level = 0
end
def close
device.close if @needs_close
end
def log(level, message, line_prefix=nil)
% head -n 27 ~/.rvm/gems/ruby-1.9.2-rc2@cap/gems/capistrano_colors-0.5.2/lib/capistrano/logger.rb
module Capistrano
class Logger
CAP_COLORS = {
:none => "0",
:black => "30",
:red => "31",
:green => "32",
:yellow => "33",
:blue => "34",
:magenta => "35",
:cyan => "36",
:white => "37"
}
CAP_ATTRIBUTES = {
:bright => 1,
:dim => 2,
:underscore => 4,
:blink => 5,
:reverse => 7,
:hidden => 8
}
@@color_matchers = []
alias_method :org_log, :log
% ruby -rpp -rrubygems -rcapistrano -e "pp $:"
["/home/ogawa/.rvm/gems/ruby-1.9.2-rc2@cap/gems/net-sftp-2.0.4/lib",
"/home/ogawa/.rvm/gems/ruby-1.9.2-rc2@cap/gems/net-ssh-2.0.23/lib",
"/home/ogawa/.rvm/gems/ruby-1.9.2-rc2@cap/gems/net-scp-1.0.2/lib",
"/home/ogawa/.rvm/gems/ruby-1.9.2-rc2@cap/gems/capistrano_colors-0.5.2/lib",
"/home/ogawa/.rvm/gems/ruby-1.9.2-rc2@cap/gems/net-ssh-gateway-1.0.1/lib",
"/home/ogawa/.rvm/gems/ruby-1.9.2-rc2@cap/gems/capistrano-2.5.19/bin",
"/home/ogawa/.rvm/gems/ruby-1.9.2-rc2@cap/gems/capistrano-2.5.19/lib",
"/home/ogawa/.rvm/gems/ruby-1.9.2-rc2@cap/gems/highline-1.6.1/lib",
"/home/ogawa/.rvm/gems/ruby-1.9.2-rc2@global/gems/rdoc-2.5.9/bin",
"/home/ogawa/.rvm/gems/ruby-1.9.2-rc2@global/gems/rdoc-2.5.9/lib",
"/home/ogawa/.rvm/gems/ruby-1.9.2-rc2@global/gems/rake-0.8.7/bin",
"/home/ogawa/.rvm/gems/ruby-1.9.2-rc2@global/gems/rake-0.8.7/lib",
"/home/ogawa/.rvm/rubies/ruby-1.9.2-rc2/lib/ruby/site_ruby/1.9.1",
"/home/ogawa/.rvm/rubies/ruby-1.9.2-rc2/lib/ruby/site_ruby/1.9.1/x86_64-linux",
"/home/ogawa/.rvm/rubies/ruby-1.9.2-rc2/lib/ruby/site_ruby",
"/home/ogawa/.rvm/rubies/ruby-1.9.2-rc2/lib/ruby/vendor_ruby/1.9.1",
"/home/ogawa/.rvm/rubies/ruby-1.9.2-rc2/lib/ruby/vendor_ruby/1.9.1/x86_64-linux",
"/home/ogawa/.rvm/rubies/ruby-1.9.2-rc2/lib/ruby/vendor_ruby",
"/home/ogawa/.rvm/rubies/ruby-1.9.2-rc2/lib/ruby/1.9.1",
"/home/ogawa/.rvm/rubies/ruby-1.9.2-rc2/lib/ruby/1.9.1/x86_64-linux"]
# Can't load capistrano/logger.rb
% ruby -rrubygems -rcapistrano -e "require 'capistrano'; Capistrano::Logger.new"
-e:1:in `<main>': uninitialized constant Capistrano::Logger (NameError)
# Load capistrano/logger.rb from different gem package
% ruby -rrubygems -rcapistrano -e "require 'capistrano/logger'; Capistrano::Logger.new"
/home/ogawa/.rvm/gems/ruby-1.9.2-rc2@cap/gems/capistrano_colors-0.5.2/lib/capistrano/logger.rb:27:in `alias_method': undefined method `log' for class `Capistrano::Logger' (NameError)
from /home/ogawa/.rvm/gems/ruby-1.9.2-rc2@cap/gems/capistrano_colors-0.5.2/lib/capistrano/logger.rb:27:in `<class:Logger>'
from /home/ogawa/.rvm/gems/ruby-1.9.2-rc2@cap/gems/capistrano_colors-0.5.2/lib/capistrano/logger.rb:2:in `<module:Capistrano>'
from /home/ogawa/.rvm/gems/ruby-1.9.2-rc2@cap/gems/capistrano_colors-0.5.2/lib/capistrano/logger.rb:1:in `<top (required)>'
from -e:1:in `require'
from -e:1:in `<main>'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment