diff --git a/Gemfile b/Gemfile new file mode 100644 index 00000000..98b96bad --- /dev/null +++ b/Gemfile @@ -0,0 +1,7 @@ +source "http://rubygems.org" +gem "sqlite3-ruby", :require => "sqlite3" +gem "itextomml", ">=1.4.2" +gem "mongrel", ">=1.2.0.pre2" +gem "nokogiri" +gem "rake" +gem "json" diff --git a/bundle b/bundle new file mode 100755 index 00000000..0aba2f43 --- /dev/null +++ b/bundle @@ -0,0 +1,21 @@ +#!/usr/bin/env ruby +# +# This file was generated by RubyGems. +# +# The application 'bundler' is installed as part of a gem, and +# this file is here to facilitate running it. +# + +require 'rubygems' +vend = File.join(File.dirname(__FILE__), 'vendor') +Gem.use_paths File.join(vend, 'bundle', File.basename(Gem.dir)), (Gem.path + [File.join(vend, 'plugins', 'bundler')]) + +version = ">= 0" + +if ARGV.first =~ /^_(.*)_$/ and Gem::Version.correct? $1 then + version = $1 + ARGV.shift +end + +gem 'bundler', version +load Gem.bin_path('bundler', 'bundle', version) diff --git a/config/boot.rb b/config/boot.rb index cd21fb9e..7c5c0d46 100644 --- a/config/boot.rb +++ b/config/boot.rb @@ -1,7 +1,7 @@ # Don't change this file! # Configure your app in config/environment.rb and config/environments/*.rb -RAILS_ROOT = "#{File.dirname(__FILE__)}/.." unless defined?(RAILS_ROOT) +RAILS_ROOT = File.join(File.dirname(__FILE__), '..') unless defined?(RAILS_ROOT) module Rails class << self @@ -21,7 +21,7 @@ module Rails end def vendor_rails? - File.exist?("#{RAILS_ROOT}/vendor/rails") + File.exist?(File.join(RAILS_ROOT, 'vendor', 'rails')) end def preinitialize @@ -29,7 +29,7 @@ module Rails end def preinitializer_path - "#{RAILS_ROOT}/config/preinitializer.rb" + File.join(RAILS_ROOT, 'config', 'preinitializer.rb') end end @@ -42,8 +42,9 @@ module Rails class VendorBoot < Boot def load_initializer - require "#{RAILS_ROOT}/vendor/rails/railties/lib/initializer" + require File.join(RAILS_ROOT, 'vendor', 'rails', 'railties', 'lib', 'initializer') Rails::Initializer.run(:install_gem_spec_stubs) + Rails::GemDependency.add_frozen_gem_path end end @@ -67,7 +68,7 @@ module Rails class << self def rubygems_version - Gem::RubyGemsVersion if defined? Gem::RubyGemsVersion + Gem::RubyGemsVersion rescue nil end def gem_version @@ -81,15 +82,15 @@ module Rails end def load_rubygems + min_version = '1.3.6' require 'rubygems' - - unless rubygems_version >= '0.9.4' - $stderr.puts %(Rails requires RubyGems >= 0.9.4 (you have #{rubygems_version}). Please `gem update --system` and try again.) + unless rubygems_version >= min_version + $stderr.puts %Q(Rails requires RubyGems >= #{min_version} (you have #{rubygems_version}). Please `gem update --system` and try again.) exit 1 end rescue LoadError - $stderr.puts %(Rails requires RubyGems >= 0.9.4. Please install RubyGems and try again: http://rubygems.rubyforge.org) + $stderr.puts %Q(Rails requires RubyGems >= #{min_version}. Please install RubyGems and try again: http://rubygems.rubyforge.org) exit 1 end @@ -99,11 +100,25 @@ module Rails private def read_environment_rb - File.read("#{RAILS_ROOT}/config/environment.rb") + File.read(File.join(RAILS_ROOT, 'config', 'environment.rb')) end end end end +class Rails::Boot + def run + load_initializer + + Rails::Initializer.class_eval do + def load_gems + @bundler_loaded ||= Bundler.require :default, Rails.env + end + end + + Rails::Initializer.run(:set_load_path) + end +end + # All that for this: Rails.boot! diff --git a/config/preinitializer.rb b/config/preinitializer.rb new file mode 100644 index 00000000..d67060aa --- /dev/null +++ b/config/preinitializer.rb @@ -0,0 +1,23 @@ +begin + require "rubygems" + vend = File.join(File.dirname(__FILE__), '..', 'vendor') + Gem.use_paths File.join(vend, 'bundle', File.basename(Gem.dir)), (Gem.path + [File.join(vend, 'plugins', 'bundler')]) + require "bundler" +rescue LoadError + raise "Could not load the bundler gem. Install it with `gem install bundler`." +end + +if Gem::Version.new(Bundler::VERSION) <= Gem::Version.new("0.9.24") + raise RuntimeError, "Your bundler version is too old for Rails 2.3." + + "Run `gem install bundler` to upgrade." +end + +begin + # Set up load paths for all bundled gems + ENV["BUNDLE_GEMFILE"] = File.join(File.dirname(File.dirname(__FILE__)), 'Gemfile') + Bundler.setup +rescue Bundler::GemNotFound + raise RuntimeError, "Bundler couldn't find some gems." + + "Did you run `bundle install`?" +end + diff --git a/vendor/plugins/bundler/bin/bundle b/vendor/plugins/bundler/bin/bundle new file mode 100755 index 00000000..d6bad547 --- /dev/null +++ b/vendor/plugins/bundler/bin/bundle @@ -0,0 +1,21 @@ +#!/usr/bin/env ruby +# +# This file was generated by RubyGems. +# +# The application 'bundler' is installed as part of a gem, and +# this file is here to facilitate running it. +# + +require 'rubygems' +Gem.use_paths File.join(File.dirname(File.dirname(__FILE__))), Gem.path +Gem.refresh + +version = ">= 0" + +if ARGV.first =~ /^_(.*)_$/ and Gem::Version.correct? $1 then + version = $1 + ARGV.shift +end + +gem 'bundler', version +load Gem.bin_path('bundler', 'bundle', version) diff --git a/vendor/plugins/bundler/cache/bundler-1.0.0.gem b/vendor/plugins/bundler/cache/bundler-1.0.0.gem new file mode 100644 index 00000000..dab490fc Binary files /dev/null and b/vendor/plugins/bundler/cache/bundler-1.0.0.gem differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler.html new file mode 100644 index 00000000..f12c5588 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler.html @@ -0,0 +1,1704 @@ + + + + + + + Module: Bundler + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + +
+ +
+ + + + + + + + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler

+ +
+ +
+ + + +
+

Constants

+
+ +
VERSION
+ +

+We’re doing this because we might write tests that deal with other +versions of bundler and we are unsure how to handle this better. +

+ + +
ORIGINAL_ENV
+ +
+ + +
WINDOWS
+ +
+ + +
NULL
+ +
+ + +
+
+ + + + +
+

Attributes

+ + +
+ + + + +
+ ui[W] +
+ +
+ + + +
+
+ +
+ + + + +
+ bundle_path[W] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + +
+ + app_cache() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 166
+166:     def app_cache
+167:       root.join("vendor/cache")
+168:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + app_config_path() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 160
+160:     def app_config_path
+161:       ENV['BUNDLE_APP_CONFIG'] ?
+162:         Pathname.new(ENV['BUNDLE_APP_CONFIG']).expand_path(root) :
+163:         root.join('.bundle')
+164:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + bin_path() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler.rb, line 86
+86:     def bin_path
+87:       @bin_path ||= begin
+88:         path = settings[:bin] || "bin"
+89:         path = Pathname.new(path).expand_path(root)
+90:         FileUtils.mkdir_p(path)
+91:         Pathname.new(path).expand_path
+92:       end
+93:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + bundle_path() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler.rb, line 81
+81:     def bundle_path
+82:       # STDERR.puts settings.path
+83:       @bundle_path ||= Pathname.new(settings.path).expand_path(root)
+84:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + cache() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 152
+152:     def cache
+153:       bundle_path.join("cache/bundler")
+154:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + configure() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler.rb, line 70
+70:     def configure
+71:       @configured ||= begin
+72:         configure_gem_home_and_path
+73:         true
+74:       end
+75:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + default_gemfile() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 186
+186:     def default_gemfile
+187:       SharedHelpers.default_gemfile
+188:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + default_lockfile() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 190
+190:     def default_lockfile
+191:       SharedHelpers.default_lockfile
+192:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + definition(unlock = nil) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 123
+123:     def definition(unlock = nil)
+124:       @definition = nil if unlock
+125:       @definition ||= begin
+126:         configure
+127:         upgrade_lockfile
+128:         Definition.build(default_gemfile, default_lockfile, unlock)
+129:       end
+130:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + environment() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 119
+119:     def environment
+120:       Bundler::Environment.new(root, definition)
+121:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + home() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 140
+140:     def home
+141:       bundle_path.join("bundler")
+142:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + install_path() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 144
+144:     def install_path
+145:       home.join("gems")
+146:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + load() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 115
+115:     def load
+116:       @load ||= Runtime.new(root, definition)
+117:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + load_gemspec(file) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 218
+218:     def load_gemspec(file)
+219:       path = Pathname.new(file)
+220:       # Eval the gemspec from its parent directory
+221:       Dir.chdir(path.dirname) do
+222:         begin
+223:           Gem::Specification.from_yaml(path.basename)
+224:           # Raises ArgumentError if the file is not valid YAML
+225:         rescue ArgumentError, SyntaxError, Gem::EndOfYAMLException, Gem::Exception
+226:           begin
+227:             eval(File.read(path.basename), TOPLEVEL_BINDING, path.expand_path.to_s)
+228:           rescue LoadError => e
+229:             original_line = e.backtrace.find { |line| line.include?(path.to_s) }
+230:             msg  = "There was a LoadError while evaluating #{path.basename}:\n  #{e.message}"
+231:             msg << " from\n  #{original_line}" if original_line
+232:             msg << "\n"
+233: 
+234:             if RUBY_VERSION >= "1.9.0"
+235:               msg << "\nDoes it try to require a relative path? That doesn't work in Ruby 1.9."
+236:             end
+237: 
+238:             raise GemspecError, msg
+239:           end
+240:         end
+241:       end
+242:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + mkdir_p(path) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 202
+202:     def mkdir_p(path)
+203:       if requires_sudo?
+204:         sudo "mkdir -p '#{path}'" unless File.exist?(path)
+205:       else
+206:         FileUtils.mkdir_p(path)
+207:       end
+208:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + read_file(file) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 214
+214:     def read_file(file)
+215:       File.open(file, "rb") { |file| file.read }
+216:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + require(*groups) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 111
+111:     def require(*groups)
+112:       setup(*groups).require(*groups)
+113:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + requires_sudo?() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 194
+194:     def requires_sudo?
+195:       path = bundle_path
+196:       path = path.parent until path.exist?
+197:       sudo_present = !`which sudo 2>#{NULL}`.empty?
+198: 
+199:       settings.allow_sudo? && !File.writable?(path) && sudo_present
+200:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + root() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 156
+156:     def root
+157:       default_gemfile.dirname.expand_path
+158:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + ruby_scope() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 132
+132:     def ruby_scope
+133:       "#{Gem.ruby_engine}/#{Gem::ConfigMap[:ruby_version]}"
+134:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + settings() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 174
+174:     def settings
+175:       @settings ||= Settings.new(app_config_path)
+176:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + setup(*groups) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 95
+ 95:     def setup(*groups)
+ 96:       return @setup if defined?(@setup) && @setup
+ 97: 
+ 98:       if groups.empty?
+ 99:         # Load all groups, but only once
+100:         @setup = load.setup
+101:       else
+102:         # Figure out which groups haven't been loaded yet
+103:         unloaded = groups - (@completed_groups || [])
+104:         # Record groups that are now loaded
+105:         @completed_groups = groups | (@completed_groups || [])
+106:         # Load any groups that are not yet loaded
+107:         unloaded.any? ? load.setup(*unloaded) : load
+108:       end
+109:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + specs_path() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 148
+148:     def specs_path
+149:       bundle_path.join("specifications")
+150:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + sudo(str) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 210
+210:     def sudo(str)
+211:       `sudo -p 'Enter your password to install the bundled RubyGems to your system: ' #{str}`
+212:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + tmp() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 170
+170:     def tmp
+171:       user_bundle_path.join("tmp", Process.pid.to_s)
+172:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + ui() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler.rb, line 77
+77:     def ui
+78:       @ui ||= UI.new
+79:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + user_bundle_path() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 136
+136:     def user_bundle_path
+137:       Pathname.new(Gem.user_home).join(".bundler")
+138:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + with_clean_env() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 178
+178:     def with_clean_env
+179:       bundled_env = ENV.to_hash
+180:       ENV.replace(ORIGINAL_ENV)
+181:       yield
+182:     ensure
+183:       ENV.replace(bundled_env.to_hash)
+184:     end
+
+ +
+ + + + +
+ + +
+ +
+

Private Class Methods

+ + +
+ + +
+ + configure_gem_home_and_path() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 246
+246:     def configure_gem_home_and_path
+247:       if settings[:disable_shared_gems]
+248:         ENV['GEM_PATH'] = ''
+249:         ENV['GEM_HOME'] = File.expand_path(bundle_path, root)
+250:       elsif Gem.dir != bundle_path.to_s
+251:         paths = [Gem.dir, Gem.path].flatten.compact.uniq.reject{|p| p.empty? }
+252:         ENV["GEM_PATH"] = paths.join(File::PATH_SEPARATOR)
+253:         ENV["GEM_HOME"] = bundle_path.to_s
+254:       end
+255: 
+256:       Gem.clear_paths
+257:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + upgrade_lockfile() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 259
+259:     def upgrade_lockfile
+260:       lockfile = default_lockfile
+261:       if lockfile.exist? && lockfile.read(3) == "---"
+262:         Bundler.ui.warn "Detected Gemfile.lock generated by 0.9, deleting..."
+263:         lockfile.rmtree
+264:         # lock = YAML.load_file(lockfile)
+265:         #
+266:         # source_uris = lock["sources"].map{|s| s["Rubygems"]["uri"] }
+267:         # sources = [Bundler::Source::Rubygems.new({"remotes" => source_uris})]
+268:         #
+269:         # deps = lock["dependencies"].map do |name, opts|
+270:         #   version = opts.delete("version")
+271:         #   Bundler::Dependency.new(name, version, opts)
+272:         # end
+273:         #
+274:         # definition = Bundler::Definition.new(nil, deps, sources, {})
+275:         #
+276:         # File.open(lockfile, 'w') do |f|
+277:         #   f.write definition.to_lock
+278:         # end
+279:       end
+280:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/BundlerError.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/BundlerError.html new file mode 100644 index 00000000..d4ad3b37 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/BundlerError.html @@ -0,0 +1,359 @@ + + + + + + + Class: Bundler::BundlerError + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + +
+

Methods

+ +
+ + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::BundlerError

+ +
+ +
+ + + + + + + + + +
+

Public Class Methods

+ + +
+ + +
+ + status_code(code = nil) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler.rb, line 32
+32:     def self.status_code(code = nil)
+33:       define_method(:status_code) { code }
+34:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/CLI.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/CLI.html new file mode 100644 index 00000000..e2213767 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/CLI.html @@ -0,0 +1,1373 @@ + + + + + + + Class: Bundler::CLI + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::CLI

+ +
+ +
+ + + + + + + + + +
+

Public Class Methods

+ + +
+ + +
+ + new(*) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/cli.rb, line 13
+13:     def initialize(*)
+14:       super
+15:       use_shell = options["no-color"] ? Thor::Shell::Basic.new : shell
+16: 
+17:       Bundler.ui = UI::Shell.new(use_shell)
+18:       Gem::DefaultUserInteraction.ui = UI::RGProxy.new(Bundler.ui)
+19:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + source_root() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/cli.rb, line 478
+478:     def self.source_root
+479:       File.expand_path(File.join(File.dirname(__FILE__), 'templates'))
+480:     end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + cache() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/cli.rb, line 289
+289:     def cache
+290:       Bundler.definition.resolve_with_cache!
+291:       Bundler.load.cache
+292:       Bundler.settings[:no_prune] = true if options[:no_prune]
+293:       Bundler.load.lock
+294:     rescue GemNotFound => e
+295:       Bundler.ui.error(e.message)
+296:       Bundler.ui.warn "Run `bundle install` to install missing gems."
+297:       exit 128
+298:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + check() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/cli.rb, line 98
+ 98:     def check
+ 99:       ENV['BUNDLE_GEMFILE'] = File.expand_path(options[:gemfile]) if options[:gemfile]
+100:       begin
+101:         not_installed = Bundler.definition.missing_specs
+102:       rescue GemNotFound, VersionConflict
+103:         Bundler.ui.error "Your Gemfile's dependencies could not be satisfied"
+104:         Bundler.ui.warn  "Install missing gems with `bundle install`"
+105:         exit 1
+106:       end
+107: 
+108:       if not_installed.any?
+109:         Bundler.ui.error "The following gems are missing"
+110:         not_installed.each { |s| Bundler.ui.error " * #{s.name} (#{s.version})" }
+111:         Bundler.ui.warn "Install missing gems with `bundle install`"
+112:         exit 1
+113:       else
+114:         Bundler.load.lock
+115:         Bundler.ui.info "The Gemfile's dependencies are satisfied"
+116:       end
+117:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + config(name = nil, *args) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/cli.rb, line 351
+351:     def config(name = nil, *args)
+352:       values = ARGV.dup
+353:       values.shift # remove config
+354:       values.shift # remove the name
+355: 
+356:       unless name
+357:         Bundler.ui.confirm "Settings are listed in order of priority. The top value will be used.\n"
+358: 
+359:         Bundler.settings.all.each do |setting|
+360:           Bundler.ui.confirm "#{setting}"
+361:           with_padding do
+362:             Bundler.settings.pretty_values_for(setting).each do |line|
+363:               Bundler.ui.info line
+364:             end
+365:           end
+366:           Bundler.ui.confirm ""
+367:         end
+368:         return
+369:       end
+370: 
+371:       if values.empty?
+372:         Bundler.ui.confirm "Settings for `#{name}` in order of priority. The top value will be used"
+373:         with_padding do
+374:           Bundler.settings.pretty_values_for(name).each { |line| Bundler.ui.info line }
+375:         end
+376:       else
+377:         locations = Bundler.settings.locations(name)
+378: 
+379:         if local = locations[:local]
+380:           Bundler.ui.info "Your application has set #{name} to #{local.inspect}. This will override the "              "system value you are currently setting"
+381:         end
+382: 
+383:         if global = locations[:global]
+384:           Bundler.ui.info "You are replacing the current system value of #{name}, which is currently #{global}"
+385:         end
+386: 
+387:         if env = locations[:env]
+388:           Bundler.ui.info "You have set a bundler environment variable for #{env}. This will take precedence "              "over the system value you are setting"
+389:         end
+390: 
+391:         Bundler.settings.set_global(name, values.join(" "))
+392:       end
+393:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + console(group = nil) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/cli.rb, line 410
+410:     def console(group = nil)
+411:       require 'bundler/setup'
+412:       group ? Bundler.require(:default, group) : Bundler.require
+413:       ARGV.clear
+414: 
+415:       require 'irb'
+416:       IRB.start
+417:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + exec(*) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/cli.rb, line 321
+321:     def exec(*)
+322:       ARGV.delete("exec")
+323: 
+324:       Bundler.setup
+325: 
+326:       begin
+327:         # Run
+328:         Kernel.exec(*ARGV)
+329:       rescue Errno::EACCES
+330:         Bundler.ui.error "bundler: not executable: #{ARGV.first}"
+331:         exit 126
+332:       rescue Errno::ENOENT
+333:         Bundler.ui.error "bundler: command not found: #{ARGV.first}"
+334:         Bundler.ui.warn  "Install missing gem binaries with `bundle install`"
+335:         exit 127
+336:       end
+337:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + gem(name) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/cli.rb, line 456
+456:     def gem(name)
+457:       target = File.join(Dir.pwd, name)
+458:       if File.exist?(name)
+459:         Bundler.ui.error "File already exists at #{File.join(Dir.pwd, name)}"
+460:         exit 1
+461:       end
+462: 
+463:       constant_name = name.split('_').map{|p| p.capitalize}.join
+464:       constant_name = constant_name.split('-').map{|q| q.capitalize}.join('::') if constant_name =~ /-/
+465:       constant_array = constant_name.split('::')
+466:       FileUtils.mkdir_p(File.join(target, 'lib', name))
+467:       opts = {:name => name, :constant_name => constant_name, :constant_array => constant_array}
+468:       template(File.join('newgem', 'Gemfile.tt'),                     File.join(target, 'Gemfile'),                 opts)
+469:       template(File.join('newgem', 'Rakefile.tt'),                    File.join(target, 'Rakefile'),                opts)
+470:       template(File.join('newgem', 'gitignore.tt'),                   File.join(target, '.gitignore'),              opts)
+471:       template(File.join('newgem', 'newgem.gemspec.tt'),              File.join(target, "#{name}.gemspec"),         opts)
+472:       template(File.join('newgem', 'lib', 'newgem.rb.tt'),            File.join(target, 'lib', "#{name}.rb"),       opts)
+473:       template(File.join('newgem', 'lib', 'newgem', 'version.rb.tt'), File.join(target, 'lib', name, 'version.rb'), opts)
+474:       Bundler.ui.info "Initializating git repo in #{target}"
+475:       Dir.chdir(target) { `git init`; `git add .` }
+476:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + help(cli = nil) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/cli.rb, line 26
+26:     def help(cli = nil)
+27:       case cli
+28:       when "gemfile" then command = "gemfile.5"
+29:       when nil       then command = "bundle"
+30:       else command = "bundle-#{cli}"
+31:       end
+32: 
+33:       manpages = %(
+34:           bundle
+35:           bundle-config
+36:           bundle-exec
+37:           bundle-install
+38:           bundle-package
+39:           bundle-update
+40:           gemfile.5)
+41: 
+42:       if manpages.include?(command)
+43:         root = File.expand_path("../man", __FILE__)
+44: 
+45:         if have_groff?
+46:           groff   = "groff -Wall -mtty-char -mandoc -Tascii"
+47:           pager   = ENV['MANPAGER'] || ENV['PAGER'] || 'more'
+48: 
+49:           Kernel.exec "#{groff} #{root}/#{command} | #{pager}"
+50:         else
+51:           puts File.read("#{root}/#{command}.txt")
+52:         end
+53:       else
+54:         super
+55:       end
+56:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + init() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/cli.rb, line 65
+65:     def init
+66:       opts = options.dup
+67:       if File.exist?("Gemfile")
+68:         Bundler.ui.error "Gemfile already exists at #{Dir.pwd}/Gemfile"
+69:         exit 1
+70:       end
+71: 
+72:       if opts[:gemspec]
+73:         gemspec = File.expand_path(opts[:gemspec])
+74:         unless File.exist?(gemspec)
+75:           Bundler.ui.error "Gem specification #{gemspec} doesn't exist"
+76:           exit 1
+77:         end
+78:         spec = Gem::Specification.load(gemspec)
+79:         puts "Writing new Gemfile to #{Dir.pwd}/Gemfile"
+80:         File.open('Gemfile', 'wb') do |file|
+81:           file << "# Generated from #{gemspec}\n"
+82:           file << spec.to_gemfile
+83:         end
+84:       else
+85:         puts "Writing new Gemfile to #{Dir.pwd}/Gemfile"
+86:         FileUtils.cp(File.expand_path('../templates/Gemfile', __FILE__), 'Gemfile')
+87:       end
+88:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + install(path = nil) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/cli.rb, line 156
+156:     def install(path = nil)
+157:       opts = options.dup
+158:       opts[:without] ||= []
+159:       opts[:without].map! { |g| g.to_sym }
+160: 
+161: 
+162:       ENV['BUNDLE_GEMFILE'] = File.expand_path(opts[:gemfile]) if opts[:gemfile]
+163: 
+164:       if opts[:production]
+165:         opts[:deployment] = true
+166:         Bundler.ui.warn "The --production option is deprecated, and will be removed in "                          "the final release of Bundler 1.0. Please use --deployment instead."
+167:       end
+168: 
+169:       if (path || opts[:path] || opts[:deployment]) && opts[:system]
+170:         Bundler.ui.error "You have specified both a path to install your gems to, \n"                           "as well as --system. Please choose."
+171:         exit 1
+172:       end
+173: 
+174:       if path && opts[:path]
+175:         Bundler.ui.error "You have specified a path via `bundle install #{path}` as well as\n"                           "by `bundle install --path #{options[:path]}`. These options are\n"                           "equivalent, so please use one or the other."
+176:         exit 1
+177:       end
+178: 
+179:       if opts["disable-shared-gems"]
+180:         Bundler.ui.error "The disable-shared-gem option is no longer available.\n\n"                           "Instead, use `bundle install` to install to your system,\n"                           "or `bundle install --path path/to/gems` to install to an isolated\n"                           "location. Bundler will resolve relative paths relative to\n"                           "your `Gemfile`."
+181:         exit 1
+182:       end
+183: 
+184:       if opts[:deployment] || opts[:frozen]
+185:         Bundler.settings[:frozen] = '1'
+186: 
+187:         unless Bundler.default_lockfile.exist?
+188:           flag = opts[:deployment] ? '--deployment' : '--frozen'
+189:           raise ProductionError, "The #{flag} flag requires a Gemfile.lock. Please make "                                   "sure you have checked your Gemfile.lock into version control "                                   "before deploying."
+190:         end
+191: 
+192:         if Bundler.root.join("vendor/cache").exist?
+193:           opts[:local] = true
+194:         end
+195:       end
+196: 
+197:       # Can't use Bundler.settings for this because settings needs gemfile.dirname
+198:       Bundler.settings[:path] = nil if opts[:system]
+199:       Bundler.settings[:path] = "vendor/bundle" if opts[:deployment]
+200:       Bundler.settings[:path] = path if path
+201:       Bundler.settings[:path] = opts[:path] if opts[:path]
+202:       Bundler.settings[:bin] = opts["binstubs"] if opts[:binstubs]
+203:       Bundler.settings[:disable_shared_gems] = '1' if Bundler.settings[:path]
+204:       Bundler.settings.without = opts[:without]
+205:       Bundler.ui.be_quiet! if opts[:quiet]
+206: 
+207:       Installer.install(Bundler.root, Bundler.definition, opts)
+208:       Bundler.load.cache if Bundler.root.join("vendor/cache").exist?
+209:       Bundler.ui.confirm "Your bundle is complete! " +
+210:         "Use `bundle show [gemname]` to see where a bundled gem is installed."
+211: 
+212:       Bundler.ui.confirm "\nYour bundle was installed to `#{Bundler.settings[:path]}`" if Bundler.settings[:path]
+213: 
+214:       if path
+215:         Bundler.ui.warn "\nIf you meant to install it to your system, please remove the\n"                          "`#{path}` directory and run `bundle install --system`"
+216:       end
+217:     rescue GemNotFound => e
+218:       if Bundler.definition.no_sources?
+219:         Bundler.ui.warn "Your Gemfile doesn't have any sources. You can add one with a line like 'source :gemcutter'"
+220:       end
+221:       raise e
+222:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + lock() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/cli.rb, line 259
+259:     def lock
+260:       Bundler.ui.warn "Lock is deprecated. Your bundle is now locked whenever you run `bundle install`."
+261:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + open(name) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/cli.rb, line 398
+398:     def open(name)
+399:       editor = [ENV['BUNDLER_EDITOR'], ENV['VISUAL'], ENV['EDITOR']].find{|e| !e.nil? && !e.empty? }
+400:       if editor
+401:         command = "#{editor} #{locate_gem(name)}"
+402:         success = system(command)
+403:         Bundler.ui.info "Could not run '#{command}'" unless success
+404:       else
+405:         Bundler.ui.info("To open a bundled gem, set $EDITOR or $BUNDLER_EDITOR")
+406:       end
+407:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + package() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/cli.rb, line 308
+308:     def package
+309:       install
+310:       # TODO: move cache contents here now that all bundles are locked
+311:       Bundler.load.cache
+312:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + show(gem_name = nil) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/cli.rb, line 273
+273:     def show(gem_name = nil)
+274:       Bundler.load.lock
+275: 
+276:       if gem_name
+277:         Bundler.ui.info locate_gem(gem_name)
+278:       else
+279:         Bundler.ui.info "Gems included by the bundle:"
+280:         Bundler.load.specs.sort_by { |s| s.name }.each do |s|
+281:           Bundler.ui.info "  * #{s.name} (#{s.version}#{s.git_version})"
+282:         end
+283:       end
+284:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + unlock() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/cli.rb, line 264
+264:     def unlock
+265:       Bundler.ui.warn "Unlock is deprecated. To update to newer gem versions, use `bundle update`."
+266:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + update(*gems) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/cli.rb, line 242
+242:     def update(*gems)
+243:       sources = Array(options[:source])
+244: 
+245:       if gems.empty? && sources.empty?
+246:         # We're doing a full update
+247:         Bundler.definition(true)
+248:       else
+249:         Bundler.definition(:gems => gems, :sources => sources)
+250:       end
+251: 
+252:       Installer.install Bundler.root, Bundler.definition, "update" => true
+253:       Bundler.load.cache if Bundler.root.join("vendor/cache").exist?
+254:       Bundler.ui.confirm "Your bundle is updated! " +
+255:         "Use `bundle show [gemname]` to see where a bundled gem is installed."
+256:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + version() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/cli.rb, line 420
+420:     def version
+421:       Bundler.ui.info "Bundler version #{Bundler::VERSION}"
+422:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + viz() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/cli.rb, line 434
+434:     def viz
+435:       output_file = File.expand_path(options[:file])
+436:       graph = Graph.new( Bundler.load )
+437: 
+438:       begin
+439:         graph.viz(output_file, options[:version], options[:requirements])
+440:         Bundler.ui.info output_file
+441:       rescue LoadError => e
+442:         Bundler.ui.error e.inspect
+443:         Bundler.ui.warn "Make sure you have the graphviz ruby gem. You can install it with:"
+444:         Bundler.ui.warn "`gem install ruby-graphviz`"
+445:       rescue StandardError => e
+446:         if e.message =~ /GraphViz not installed or dot not in PATH/
+447:           Bundler.ui.error e.message
+448:           Bundler.ui.warn "The ruby graphviz gem requires GraphViz to be installed"
+449:         else
+450:           raise
+451:         end
+452:       end
+453:     end
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + have_groff?() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/cli.rb, line 484
+484:     def have_groff?
+485:       `which groff 2>#{NULL}`
+486:       $? == 0
+487:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + locate_gem(name) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/cli.rb, line 489
+489:     def locate_gem(name)
+490:       spec = Bundler.load.specs.find{|s| s.name == name }
+491:       raise GemNotFound, "Could not find gem '#{name}' in the current bundle." unless spec
+492:       if spec.name == 'bundler'
+493:         return File.expand_path('../../../', __FILE__)
+494:       end
+495:       spec.full_gem_path
+496:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Definition.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Definition.html new file mode 100644 index 00000000..49bb6288 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Definition.html @@ -0,0 +1,1723 @@ + + + + + + + Class: Bundler::Definition + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + + + + + + +
+

Included Modules

+ +
+ +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::Definition

+ +
+ +
+ + + + + + +
+

Attributes

+ + +
+ + +
+ dependencies[R] +
+ +
+ + + +
+
+ +
+ + +
+ platforms[R] +
+ +
+ + + +
+
+ +
+ + +
+ sources[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + +
+ + build(gemfile, lockfile, unlock) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/definition.rb, line 9
+ 9:     def self.build(gemfile, lockfile, unlock)
+10:       unlock ||= {}
+11:       gemfile = Pathname.new(gemfile).expand_path
+12: 
+13:       unless gemfile.file?
+14:         raise GemfileNotFound, "#{gemfile} not found"
+15:       end
+16: 
+17:       # TODO: move this back into DSL
+18:       builder = Dsl.new
+19:       builder.instance_eval(Bundler.read_file(gemfile.to_s), gemfile.to_s, 1)
+20:       builder.to_definition(lockfile, unlock)
+21:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + new(lockfile, dependencies, sources, unlock) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/definition.rb, line 35
+35:     def initialize(lockfile, dependencies, sources, unlock)
+36:       @dependencies, @sources, @unlock = dependencies, sources, unlock
+37:       @remote            = false
+38:       @specs             = nil
+39:       @lockfile_contents = ""
+40: 
+41:       if lockfile && File.exists?(lockfile)
+42:         @lockfile_contents = Bundler.read_file(lockfile)
+43:         locked = LockfileParser.new(@lockfile_contents)
+44:         @platforms      = locked.platforms
+45: 
+46:         if unlock != true
+47:           @locked_deps    = locked.dependencies
+48:           @locked_specs   = SpecSet.new(locked.specs)
+49:           @locked_sources = locked.sources
+50:         else
+51:           @unlock         = {}
+52:           @locked_deps    = []
+53:           @locked_specs   = SpecSet.new([])
+54:           @locked_sources = []
+55:         end
+56:       else
+57:         @unlock         = {}
+58:         @platforms      = []
+59:         @locked_deps    = []
+60:         @locked_specs   = SpecSet.new([])
+61:         @locked_sources = []
+62:       end
+63: 
+64:       @unlock[:gems] ||= []
+65:       @unlock[:sources] ||= []
+66: 
+67:       current_platform = Gem.platforms.map { |p| generic(p) }.compact.last
+68:       @new_platform = !@platforms.include?(current_platform)
+69:       @platforms |= [current_platform]
+70: 
+71:       eager_unlock = expand_dependencies(@unlock[:gems])
+72:       @unlock[:gems] = @locked_specs.for(eager_unlock).map { |s| s.name }
+73: 
+74:       converge_sources
+75:       converge_dependencies
+76:     end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + current_dependencies() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 130
+130:     def current_dependencies
+131:       dependencies.reject { |d| !d.should_include? }
+132:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + ensure_equivalent_gemfile_and_lockfile() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 230
+230:     def ensure_equivalent_gemfile_and_lockfile
+231:       changes = false
+232: 
+233:       msg = "You have modified your Gemfile in development but did not check\n"              "the resulting snapshot (Gemfile.lock) into version control"
+234: 
+235:       added =   []
+236:       deleted = []
+237:       changed = []
+238: 
+239:       if @locked_sources != @sources
+240:         new_sources = @sources - @locked_sources
+241:         deleted_sources = @locked_sources - @sources
+242: 
+243:         if new_sources.any?
+244:           added.concat new_sources.map { |source| "* source: #{source}" }
+245:         end
+246: 
+247:         if deleted_sources.any?
+248:           deleted.concat deleted_sources.map { |source| "* source: #{source}" }
+249:         end
+250: 
+251:         changes = true
+252:       end
+253: 
+254:       both_sources = Hash.new { |h,k| h[k] = ["no specified source", "no specified source"] }
+255:       @dependencies.each { |d| both_sources[d.name][0] = d.source if d.source }
+256:       @locked_deps.each  { |d| both_sources[d.name][1] = d.source if d.source }
+257:       both_sources.delete_if { |k,v| v[0] == v[1] }
+258: 
+259:       if @dependencies != @locked_deps
+260:         new_deps = @dependencies - @locked_deps
+261:         deleted_deps = @locked_deps - @dependencies
+262: 
+263:         if new_deps.any?
+264:           added.concat new_deps.map { |d| "* #{pretty_dep(d)}" }
+265:         end
+266: 
+267:         if deleted_deps.any?
+268:           deleted.concat deleted_deps.map { |d| "* #{pretty_dep(d)}" }
+269:         end
+270: 
+271:         both_sources.each do |name, sources|
+272:           changed << "* #{name} from `#{sources[0]}` to `#{sources[1]}`"
+273:         end
+274: 
+275:         changes = true
+276:       end
+277: 
+278:       msg << "\n\nYou have added to the Gemfile:\n"     << added.join("\n") if added.any?
+279:       msg << "\n\nYou have deleted from the Gemfile:\n" << deleted.join("\n") if deleted.any?
+280:       msg << "\n\nYou have changed in the Gemfile:\n"   << changed.join("\n") if changed.any?
+281: 
+282:       raise ProductionError, msg if added.any? || deleted.any? || changed.any?
+283:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + groups() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 170
+170:     def groups
+171:       dependencies.map { |d| d.groups }.flatten.uniq
+172:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + index() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 158
+158:     def index
+159:       @index ||= Index.build do |idx|
+160:         @sources.each do |s|
+161:           idx.use s.specs
+162:         end
+163:       end
+164:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + lock(file) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 174
+174:     def lock(file)
+175:       contents = to_lock
+176: 
+177:       return if @lockfile_contents == contents
+178: 
+179:       if Bundler.settings[:frozen]
+180:         # TODO: Warn here if we got here.
+181:         return
+182:       end
+183: 
+184:       File.open(file, 'wb') do |f|
+185:         f.puts contents
+186:       end
+187:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + missing_specs() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 116
+116:     def missing_specs
+117:       missing = []
+118:       resolve.materialize(requested_dependencies, missing)
+119:       missing
+120:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + new_platform?() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 112
+112:     def new_platform?
+113:       @new_platform
+114:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + new_specs() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 104
+104:     def new_specs
+105:       specs - @locked_specs
+106:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + no_sources?() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 166
+166:     def no_sources?
+167:       @sources.length == 1 && @sources.first.remotes.empty?
+168:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + removed_specs() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 108
+108:     def removed_specs
+109:       @locked_specs - specs
+110:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + requested_specs() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 122
+122:     def requested_specs
+123:       @requested_specs ||= begin
+124:         groups = self.groups - Bundler.settings.without
+125:         groups.map! { |g| g.to_sym }
+126:         specs_for(groups)
+127:       end
+128:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + resolve() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 140
+140:     def resolve
+141:       @resolve ||= begin
+142:         if Bundler.settings[:frozen]
+143:           @locked_specs
+144:         else
+145:           last_resolve = converge_locked_specs
+146:           source_requirements = {}
+147:           dependencies.each do |dep|
+148:             next unless dep.source
+149:             source_requirements[dep.name] = dep.source.specs
+150:           end
+151: 
+152:           # Run a resolve against the locally available gems
+153:           last_resolve.merge Resolver.resolve(expanded_dependencies, index, source_requirements, last_resolve)
+154:         end
+155:       end
+156:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + resolve_remotely!() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/definition.rb, line 84
+84:     def resolve_remotely!
+85:       raise "Specs already loaded" if @specs
+86:       @remote = true
+87:       @sources.each { |s| s.remote! }
+88:       specs
+89:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + resolve_with_cache!() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/definition.rb, line 78
+78:     def resolve_with_cache!
+79:       raise "Specs already loaded" if @specs
+80:       @sources.each { |s| s.cached! }
+81:       specs
+82:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + specs() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 91
+ 91:     def specs
+ 92:       @specs ||= begin
+ 93:         specs = resolve.materialize(requested_dependencies)
+ 94: 
+ 95:         unless specs["bundler"].any?
+ 96:           bundler = index.search(Gem::Dependency.new('bundler', VERSION)).last
+ 97:           specs["bundler"] = bundler if bundler
+ 98:         end
+ 99: 
+100:         specs
+101:       end
+102:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + specs_for(groups) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 134
+134:     def specs_for(groups)
+135:       deps = dependencies.select { |d| (d.groups & groups).any? }
+136:       deps.delete_if { |d| !d.should_include? }
+137:       specs.for(expand_dependencies(deps))
+138:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + to_lock() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 189
+189:     def to_lock
+190:       out = ""
+191: 
+192:       sorted_sources.each do |source|
+193:         # Add the source header
+194:         out << source.to_lock
+195:         # Find all specs for this source
+196:         resolve.
+197:           select  { |s| s.source == source }.
+198:           # This needs to be sorted by full name so that
+199:           # gems with the same name, but different platform
+200:           # are ordered consistantly
+201:           sort_by { |s| s.full_name }.
+202:           each do |spec|
+203:             next if spec.name == 'bundler'
+204:             out << spec.to_lock
+205:         end
+206:         out << "\n"
+207:       end
+208: 
+209:       out << "PLATFORMS\n"
+210: 
+211:       platforms.map { |p| p.to_s }.sort.each do |p|
+212:         out << "  #{p}\n"
+213:       end
+214: 
+215:       out << "\n"
+216:       out << "DEPENDENCIES\n"
+217: 
+218:       handled = []
+219:       dependencies.
+220:         sort_by { |d| d.name }.
+221:         each do |dep|
+222:           next if handled.include?(dep.name)
+223:           out << dep.to_lock
+224:           handled << dep.name
+225:       end
+226: 
+227:       out
+228:     end
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + converge_dependencies() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 312
+312:     def converge_dependencies
+313:       (@dependencies + @locked_deps).each do |dep|
+314:         if dep.source
+315:           dep.source = @sources.find { |s| dep.source == s }
+316:         end
+317:       end
+318:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + converge_locked_specs() + click to toggle source + +
+ +
+ +

+Remove elements from the locked specs that are expired. This will most +commonly happen if the Gemfile has changed since the lockfile was last +generated +

+ + + +
+
+     # File lib/bundler/definition.rb, line 323
+323:     def converge_locked_specs
+324:       deps = []
+325: 
+326:       # Build a list of dependencies that are the same in the Gemfile
+327:       # and Gemfile.lock. If the Gemfile modified a dependency, but
+328:       # the gem in the Gemfile.lock still satisfies it, this is fine
+329:       # too.
+330:       @dependencies.each do |dep|
+331:         locked_dep = @locked_deps.find { |d| dep == d }
+332: 
+333:         if in_locked_deps?(dep, locked_dep) || satisfies_locked_spec?(dep)
+334:           deps << dep
+335:         elsif dep.source.is_a?(Source::Path) && (!locked_dep || dep.source != locked_dep.source)
+336:           @locked_specs.each do |s|
+337:             @unlock[:gems] << s.name if s.source == dep.source
+338:           end
+339: 
+340:           dep.source.unlock! if dep.source.respond_to?(:unlock!)
+341:           dep.source.specs.each { |s| @unlock[:gems] << s.name }
+342:         end
+343:       end
+344: 
+345:       converged = []
+346:       @locked_specs.each do |s|
+347:         s.source = @sources.find { |src| s.source == src }
+348: 
+349:         # Don't add a spec to the list if its source is expired. For example,
+350:         # if you change a Git gem to Rubygems.
+351:         next if s.source.nil? || @unlock[:sources].include?(s.name)
+352:         # If the spec is from a path source and it doesn't exist anymore
+353:         # then we just unlock it.
+354: 
+355:         # Path sources have special logic
+356:         if s.source.instance_of?(Source::Path)
+357:           other = s.source.specs[s].first
+358: 
+359:           # If the spec is no longer in the path source, unlock it. This
+360:           # commonly happens if the version changed in the gemspec
+361:           next unless other
+362:           # If the dependencies of the path source have changed, unlock it
+363:           next unless s.dependencies.sort == other.dependencies.sort
+364:         end
+365: 
+366:         converged << s
+367:       end
+368: 
+369:       resolve = SpecSet.new(converged)
+370:       resolve = resolve.for(expand_dependencies(deps, true), @unlock[:gems])
+371:       diff    = @locked_specs.to_a - resolve.to_a
+372: 
+373:       # Now, we unlock any sources that do not have anymore gems pinned to it
+374:       @sources.each do |source|
+375:         next unless source.respond_to?(:unlock!)
+376: 
+377:         unless resolve.any? { |s| s.source == source }
+378:           source.unlock! if diff.any? { |s| s.source == source }
+379:         end
+380:       end
+381: 
+382:       resolve
+383:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + converge_sources() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 295
+295:     def converge_sources
+296:       locked_gem = @locked_sources.find { |s| Source::Rubygems === s }
+297:       actual_gem = @sources.find { |s| Source::Rubygems === s }
+298: 
+299:       if locked_gem && actual_gem
+300:         locked_gem.merge_remotes actual_gem
+301:       end
+302: 
+303:       @sources.map! do |source|
+304:         @locked_sources.find { |s| s == source } || source
+305:       end
+306: 
+307:       @sources.each do |source|
+308:         source.unlock! if source.respond_to?(:unlock!) && @unlock[:sources].include?(source.name)
+309:       end
+310:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + expand_dependencies(dependencies, remote = false) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 397
+397:     def expand_dependencies(dependencies, remote = false)
+398:       deps = []
+399:       dependencies.each do |dep|
+400:         dep = Dependency.new(dep, ">= 0") unless dep.respond_to?(:name)
+401:         dep.gem_platforms(@platforms).each do |p|
+402:           deps << DepProxy.new(dep, p) if remote || p == generic(Gem::Platform.local)
+403:         end
+404:       end
+405:       deps
+406:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + expanded_dependencies() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 393
+393:     def expanded_dependencies
+394:       @expanded_dependencies ||= expand_dependencies(dependencies, @remote)
+395:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + in_locked_deps?(dep, d) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 385
+385:     def in_locked_deps?(dep, d)
+386:       d && dep.source == d.source
+387:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + pretty_dep(dep, source = false) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 288
+288:     def pretty_dep(dep, source = false)
+289:       msg  = "#{dep.name}"
+290:       msg << " (#{dep.requirement})" unless dep.requirement == Gem::Requirement.default
+291:       msg << " from the `#{dep.source}` source" if source && dep.source
+292:       msg
+293:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + requested_dependencies() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 415
+415:     def requested_dependencies
+416:       groups = self.groups - Bundler.settings.without
+417:       groups.map! { |g| g.to_sym }
+418:       dependencies.reject { |d| !d.should_include? || (d.groups & groups).empty? }
+419:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + satisfies_locked_spec?(dep) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 389
+389:     def satisfies_locked_spec?(dep)
+390:       @locked_specs.any? { |s| s.satisfies?(dep) && (!dep.source || s.source == dep.source) }
+391:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + sorted_sources() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 408
+408:     def sorted_sources
+409:       @sources.sort_by do |s|
+410:         # Place GEM at the top
+411:         [ s.is_a?(Source::Rubygems) ? 1 : 0, s.to_s ]
+412:       end
+413:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/DepProxy.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/DepProxy.html new file mode 100644 index 00000000..e71ef76d --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/DepProxy.html @@ -0,0 +1,637 @@ + + + + + + + Class: Bundler::DepProxy + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + +
+

Methods

+ +
+ + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::DepProxy

+ +
+ +
+ + + + + + +
+

Attributes

+ + +
+ + +
+ required_by[R] +
+ +
+ + + +
+
+ +
+ + +
+ __platform[R] +
+ +
+ + + +
+
+ +
+ + +
+ dep[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + +
+ + new(dep, platform) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/rubygems_ext.rb, line 139
+139:     def initialize(dep, platform)
+140:       @dep, @__platform, @required_by = dep, platform, []
+141:     end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + ==(o) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/rubygems_ext.rb, line 147
+147:     def ==(o)
+148:       dep == o.dep && __platform == o.__platform
+149:     end
+
+ +
+ + +
+ Also aliased as: eql? +
+ + + +
+ + +
+ + +
+ + eql?(o) + click to toggle source + +
+ +
+ + + + + +
+ + + + +
+ Alias for: == +
+ +
+ + +
+ + +
+ + hash() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/rubygems_ext.rb, line 143
+143:     def hash
+144:       @hash ||= dep.hash
+145:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + to_s() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/rubygems_ext.rb, line 157
+157:     def to_s
+158:       @dep.to_s
+159:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + type() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/rubygems_ext.rb, line 153
+153:     def type
+154:       @dep.type
+155:     end
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + method_missing(*args) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/rubygems_ext.rb, line 163
+163:     def method_missing(*args)
+164:       @dep.send(*args)
+165:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Dependency.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Dependency.html new file mode 100644 index 00000000..1d05fbc6 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Dependency.html @@ -0,0 +1,936 @@ + + + + + + + Class: Bundler::Dependency + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + +
+

Methods

+ +
+ + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::Dependency

+ +
+ +
+ + + +
+

Constants

+
+ +
PLATFORM_MAP
+ +
+ + +
+
+ + + + +
+

Attributes

+ + +
+ + +
+ autorequire[R] +
+ +
+ + + +
+
+ +
+ + +
+ groups[R] +
+ +
+ + + +
+
+ +
+ + +
+ platforms[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + +
+ + new(name, version, options = {}, &blk) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/dependency.rb, line 22
+22:     def initialize(name, version, options = {}, &blk)
+23:       super(name, version)
+24: 
+25:       @autorequire = nil
+26:       @groups      = Array(options["group"] || :default).map { |g| g.to_sym }
+27:       @source      = options["source"]
+28:       @platforms   = Array(options["platforms"])
+29:       @env         = options["env"]
+30: 
+31:       if options.key?('require')
+32:         @autorequire = Array(options['require'] || [])
+33:       end
+34:     end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + current_env?() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/dependency.rb, line 52
+52:     def current_env?
+53:       return true unless @env
+54:       if Hash === @env
+55:         @env.all? do |key, val|
+56:           ENV[key.to_s] && (String === val ? ENV[key.to_s] == val : ENV[key.to_s] =~ val)
+57:         end
+58:       else
+59:         ENV[@env.to_s]
+60:       end
+61:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + current_platform?() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/dependency.rb, line 63
+63:     def current_platform?
+64:       return true if @platforms.empty?
+65:       @platforms.any? { |p| send("#{p}?") }
+66:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + gem_platforms(valid_platforms) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/dependency.rb, line 36
+36:     def gem_platforms(valid_platforms)
+37:       return valid_platforms if @platforms.empty?
+38: 
+39:       platforms = []
+40:       @platforms.each do |p|
+41:         platform = PLATFORM_MAP[p]
+42:         next unless valid_platforms.include?(platform)
+43:         platforms |= [platform]
+44:       end
+45:       platforms
+46:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + should_include?() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/dependency.rb, line 48
+48:     def should_include?
+49:       current_env? && current_platform?
+50:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + to_lock() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/dependency.rb, line 68
+68:     def to_lock
+69:       out = "  #{name}"
+70: 
+71:       unless requirement == Gem::Requirement.default
+72:         out << " (#{requirement.to_s})"
+73:       end
+74: 
+75:       out << '!' if source
+76: 
+77:       out << "\n"
+78:     end
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + jruby?() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/dependency.rb, line 106
+106:     def jruby?
+107:       defined?(RUBY_ENGINE) && RUBY_ENGINE == "jruby"
+108:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + mri?() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/dependency.rb, line 94
+94:     def mri?
+95:       !mswin? && (!defined?(RUBY_ENGINE) || RUBY_ENGINE == "ruby")
+96:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + mri_18?() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/dependency.rb, line 98
+ 98:     def mri_18?
+ 99:       mri? && RUBY_VERSION < "1.9"
+100:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + mri_19?() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/dependency.rb, line 102
+102:     def mri_19?
+103:       mri? && RUBY_VERSION >= "1.9"
+104:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + mswin?() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/dependency.rb, line 110
+110:     def mswin?
+111:       # w0t?
+112:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + ruby?() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/dependency.rb, line 82
+82:     def ruby?
+83:       !mswin? && (!defined?(RUBY_ENGINE) || RUBY_ENGINE == "ruby" || RUBY_ENGINE == "rbx")
+84:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + ruby_18?() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/dependency.rb, line 86
+86:     def ruby_18?
+87:       ruby? && RUBY_VERSION < "1.9"
+88:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + ruby_19?() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/dependency.rb, line 90
+90:     def ruby_19?
+91:       ruby? && RUBY_VERSION >= "1.9"
+92:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/DeprecatedError.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/DeprecatedError.html new file mode 100644 index 00000000..273f5f60 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/DeprecatedError.html @@ -0,0 +1,310 @@ + + + + + + + Class: Bundler::DeprecatedError + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::DeprecatedError

+ +
+ +
+ + + + + + + + + + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Dsl.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Dsl.html new file mode 100644 index 00000000..82f1a147 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Dsl.html @@ -0,0 +1,1077 @@ + + + + + + + Class: Bundler::Dsl + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::Dsl

+ +
+ +
+ + + +
+

Constants

+
+ +
VALID_PLATFORMS
+ +
+ + +
+
+ + + + + + + +
+

Public Class Methods

+ + +
+ + +
+ + deprecate(name, replacement = nil) + click to toggle source + +
+ +
+ +

+Deprecated methods +

+ + + +
+
+     # File lib/bundler/dsl.rb, line 148
+148:     def self.deprecate(name, replacement = nil)
+149:       define_method(name) do |*|
+150:         message = "'#{name}' has been removed from the Gemfile DSL, "
+151:         if replacement
+152:           message << "and has been replaced with '#{replacement}'."
+153:         else
+154:           message << "and is no longer supported."
+155:         end
+156:         message << "\nSee the README for more information on upgrading from Bundler 0.8."
+157:         raise DeprecatedError, message
+158:       end
+159:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + evaluate(gemfile) + click to toggle source + +
+ +
+ + + + + +
+
+   # File lib/bundler/dsl.rb, line 5
+5:     def self.evaluate(gemfile)
+6:       builder = new
+7:       builder.instance_eval(Bundler.read_file(gemfile.to_s), gemfile.to_s, 1)
+8:       builder.to_definition
+9:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + new() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/dsl.rb, line 13
+13:     def initialize
+14:       @rubygems_source = Source::Rubygems.new
+15:       @source          = nil
+16:       @sources         = []
+17:       @dependencies    = []
+18:       @groups          = []
+19:       @platforms       = []
+20:       @env             = nil
+21:     end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + env(name) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/dsl.rb, line 139
+139:     def env(name)
+140:       @env, old = name, @env
+141:       yield
+142:     ensure
+143:       @env = old
+144:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + gem(name, *args) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/dsl.rb, line 49
+49:     def gem(name, *args)
+50:       if name.is_a?(Symbol)
+51:         raise GemfileError, %{You need to specify gem names as Strings. Use 'gem "#{name.to_s}"' instead.}
+52:       end
+53: 
+54:       options = Hash === args.last ? args.pop : {}
+55:       version = args || [">= 0"]
+56:       if group = options[:groups] || options[:group]
+57:         options[:group] = group
+58:       end
+59: 
+60:       _deprecated_options(options)
+61:       _normalize_options(name, version, options)
+62: 
+63:       dep = Dependency.new(name, version, options)
+64: 
+65:       if current = @dependencies.find { |d| d.name == dep.name }
+66:         if current.requirement != dep.requirement
+67:           raise DslError, "You cannot specify the same gem twice with different version requirements. "                            "You specified: #{current.name} (#{current.requirement}) and "                            "#{dep.name} (#{dep.requirement})"
+68:         end
+69: 
+70:         if current.source != dep.source
+71:           raise DslError, "You cannot specify the same gem twice coming from different sources. You "                            "specified that #{dep.name} (#{dep.requirement}) should come from "                            "#{current.source || 'an unspecfied source'} and #{dep.source}"
+72:         end
+73:       end
+74:       @dependencies << Dependency.new(name, version, options)
+75:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + gemspec(opts = nil) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/dsl.rb, line 23
+23:     def gemspec(opts = nil)
+24:       path              = opts && opts[:path] || '.'
+25:       name              = opts && opts[:name] || '*'
+26:       development_group = opts && opts[:development_group] || :development
+27:       path              = File.expand_path(path, Bundler.default_gemfile.dirname)
+28:       gemspecs = Dir[File.join(path, "#{name}.gemspec")]
+29: 
+30:       case gemspecs.size
+31:       when 1
+32:         spec = Gem::Specification.load(gemspecs.first)
+33:         gem spec.name, :path => path
+34:         spec.runtime_dependencies.each do |dep|
+35:           gem dep.name, dep.requirement.to_s
+36:         end
+37:         group(development_group) do
+38:           spec.development_dependencies.each do |dep|
+39:             gem dep.name, dep.requirement.to_s
+40:           end
+41:         end
+42:       when 0
+43:         raise InvalidOption, "There are no gemspecs at #{path}."
+44:       else
+45:         raise InvalidOption, "There are multiple gemspecs at #{path}. Please use the :name option to specify which one."
+46:       end
+47:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + git(uri, options = {}, source_options = {}, &blk) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/dsl.rb, line 104
+104:     def git(uri, options = {}, source_options = {}, &blk)
+105:       unless block_given?
+106:         msg = "You can no longer specify a git source by itself. Instead, \n"                "either use the :git option on a gem, or specify the gems that \n"                "bundler should find in the git source by passing a block to \n"                "the git method, like: \n\n"                "  git 'git://github.com/rails/rails.git' do\n"                "    gem 'rails'\n"                "  end"
+107:         raise DeprecatedError, msg
+108:       end
+109: 
+110:       source Source::Git.new(_normalize_hash(options).merge("uri" => uri)), source_options, &blk
+111:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + group(*args, &blk) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/dsl.rb, line 125
+125:     def group(*args, &blk)
+126:       @groups.concat args
+127:       yield
+128:     ensure
+129:       args.each { @groups.pop }
+130:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + path(path, options = {}, source_options = {}, &blk) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/dsl.rb, line 100
+100:     def path(path, options = {}, source_options = {}, &blk)
+101:       source Source::Path.new(_normalize_hash(options).merge("path" => Pathname.new(path))), source_options, &blk
+102:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + platforms(*platforms) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/dsl.rb, line 132
+132:     def platforms(*platforms)
+133:       @platforms.concat platforms
+134:       yield
+135:     ensure
+136:       platforms.each { @platforms.pop }
+137:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + source(source, options = {}) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/dsl.rb, line 81
+81:     def source(source, options = {})
+82:       case source
+83:       when :gemcutter, :rubygems, :rubyforge then
+84:         rubygems_source "http://rubygems.org"
+85:         return
+86:       when String
+87:         rubygems_source source
+88:         return
+89:       end
+90: 
+91:       @source = source
+92:       options[:prepend] ? @sources.unshift(@source) : @sources << @source
+93: 
+94:       yield if block_given?
+95:       @source
+96:     ensure
+97:       @source = nil
+98:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + to_definition(lockfile, unlock) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/dsl.rb, line 119
+119:     def to_definition(lockfile, unlock)
+120:       @sources << @rubygems_source
+121:       @sources.uniq!
+122:       Definition.new(lockfile, @dependencies, @sources, unlock)
+123:     end
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + _deprecated_options(options) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/dsl.rb, line 233
+233:     def _deprecated_options(options)
+234:       if options.include?(:require_as)
+235:         raise DeprecatedError, "Please replace :require_as with :require"
+236:       elsif options.include?(:vendored_at)
+237:         raise DeprecatedError, "Please replace :vendored_at with :path"
+238:       elsif options.include?(:only)
+239:         raise DeprecatedError, "Please replace :only with :group"
+240:       elsif options.include?(:except)
+241:         raise DeprecatedError, "The :except option is no longer supported"
+242:       end
+243:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + _normalize_hash(opts) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/dsl.rb, line 176
+176:     def _normalize_hash(opts)
+177:       # Cannot modify a hash during an iteration in 1.9
+178:       opts.keys.each do |k|
+179:         next if String === k
+180:         v = opts[k]
+181:         opts.delete(k)
+182:         opts[k.to_s] = v
+183:       end
+184:       opts
+185:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + _normalize_options(name, version, opts) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/dsl.rb, line 187
+187:     def _normalize_options(name, version, opts)
+188:       _normalize_hash(opts)
+189: 
+190:       invalid_keys = opts.keys - %(group git path name branch ref tag require submodules platforms)
+191:       if invalid_keys.any?
+192:         plural = invalid_keys.size > 1
+193:         message = "You passed #{invalid_keys.map{|k| ':'+k }.join(", ")} "
+194:         if plural
+195:           message << "as options for gem '#{name}', but they are invalid."
+196:         else
+197:           message << "as an option for gem '#{name}', but it is invalid."
+198:         end
+199:         raise InvalidOption, message
+200:       end
+201: 
+202:       groups = @groups.dup
+203:       groups.concat Array(opts.delete("group"))
+204:       groups = [:default] if groups.empty?
+205: 
+206:       platforms = @platforms.dup
+207:       platforms.concat Array(opts.delete("platforms"))
+208:       platforms.map! { |p| p.to_sym }
+209:       platforms.each do |p|
+210:         next if VALID_PLATFORMS.include?(p)
+211:         raise DslError, "`#{p}` is not a valid platform. The available options are: #{VALID_PLATFORMS.inspect}"
+212:       end
+213: 
+214:       # Normalize git and path options
+215:       ["git", "path"].each do |type|
+216:         if param = opts[type]
+217:           if version.first && version.first =~ /^\s*=?\s*(\d[^\s]*)\s*$/
+218:             options = opts.merge("name" => name, "version" => $1)
+219:           else
+220:             options = opts.dup
+221:           end
+222:           source = send(type, param, options, :prepend => true) {}
+223:           opts["source"] = source
+224:         end
+225:       end
+226: 
+227:       opts["source"]  ||= @source
+228:       opts["env"]     ||= @env
+229:       opts["platforms"] = @platforms.dup
+230:       opts["group"]     = groups
+231:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + rubygems_source(source) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/dsl.rb, line 171
+171:     def rubygems_source(source)
+172:       @rubygems_source.add_remote source
+173:       @sources << @rubygems_source
+174:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/DslError.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/DslError.html new file mode 100644 index 00000000..6803ec1f --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/DslError.html @@ -0,0 +1,310 @@ + + + + + + + Class: Bundler::DslError + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::DslError

+ +
+ +
+ + + + + + + + + + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Environment.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Environment.html new file mode 100644 index 00000000..80cdda15 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Environment.html @@ -0,0 +1,680 @@ + + + + + + + Class: Bundler::Environment + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + +
+

Methods

+ +
+ + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::Environment

+ +
+ +
+ + + + + + +
+

Attributes

+ + +
+ + +
+ root[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + +
+ + new(root, definition) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/environment.rb, line 5
+ 5:     def initialize(root, definition)
+ 6:       @root = root
+ 7:       @definition = definition
+ 8: 
+ 9:       env_file = Bundler.app_config_path.join('environment.rb')
+10:       env_file.rmtree if env_file.exist?
+11:     end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + current_dependencies() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/environment.rb, line 34
+34:     def current_dependencies
+35:       @definition.current_dependencies
+36:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + dependencies() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/environment.rb, line 30
+30:     def dependencies
+31:       @definition.dependencies
+32:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + index() + click to toggle source + +
+ +
+ +

+TODO: Remove this method. It’s used in cli.rb still +

+ + + +
+
+    # File lib/bundler/environment.rb, line 18
+18:     def index
+19:       @definition.index
+20:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + inspect() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/environment.rb, line 13
+13:     def inspect
+14:       @definition.to_lock.inspect
+15:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + lock() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/environment.rb, line 38
+38:     def lock
+39:       @definition.lock(Bundler.default_lockfile)
+40:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + requested_specs() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/environment.rb, line 22
+22:     def requested_specs
+23:       @definition.requested_specs
+24:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + specs() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/environment.rb, line 26
+26:     def specs
+27:       @definition.specs
+28:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + update(*gems) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/environment.rb, line 42
+42:     def update(*gems)
+43:       # Nothing
+44:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GemHelper.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GemHelper.html new file mode 100644 index 00000000..00a5314d --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GemHelper.html @@ -0,0 +1,1166 @@ + + + + + + + Class: Bundler::GemHelper + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::GemHelper

+ +
+ +
+ + + + + + +
+

Attributes

+ + +
+ + +
+ spec_path[R] +
+ +
+ + + +
+
+ +
+ + +
+ base[R] +
+ +
+ + + +
+
+ +
+ + +
+ gemspec[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + +
+ + install_tasks(opts = nil) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/gem_helper.rb, line 7
+ 7:     def self.install_tasks(opts = nil)
+ 8:       dir = caller.find{|c| /Rakefile:/}[/^(.*?)\/Rakefile:/, 1]
+ 9:       GemHelper.new(dir, opts && opts[:name]).install
+10:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + new(base, name = nil) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/gem_helper.rb, line 14
+14:     def initialize(base, name = nil)
+15:       Bundler.ui = UI::Shell.new(Thor::Shell::Color.new)
+16:       @base = base
+17:       gemspecs = name ? [File.join(base, "#{name}.gemspec")] : Dir[File.join(base, "*.gemspec")]
+18:       raise "Unable to determine name from existing gemspec. Use :name => 'gemname' in #install_tasks to manually set it." unless gemspecs.size == 1
+19:       @spec_path = gemspecs.first
+20:       @gemspec = Bundler.load_gemspec(@spec_path)
+21:     end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + build_gem() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/gem_helper.rb, line 40
+40:     def build_gem
+41:       file_name = nil
+42:       sh("gem build #{spec_path}") { |out, err|
+43:         raise err if err[/ERROR/]
+44:         file_name = File.basename(built_gem_path)
+45:         FileUtils.mkdir_p(File.join(base, 'pkg'))
+46:         FileUtils.mv(built_gem_path, 'pkg')
+47:         Bundler.ui.confirm "#{name} #{version} built to pkg/#{file_name}"
+48:       }
+49:       File.join(base, 'pkg', file_name)
+50:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + install() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/gem_helper.rb, line 23
+23:     def install
+24:       desc "Build #{name}-#{version}.gem into the pkg directory"
+25:       task 'build' do
+26:         build_gem
+27:       end
+28: 
+29:       desc "Build and install #{name}-#{version}.gem into system gems"
+30:       task 'install' do
+31:         install_gem
+32:       end
+33: 
+34:       desc "Create tag #{version_tag} and build and push #{name}-#{version}.gem to Rubygems"
+35:       task 'release' do
+36:         release_gem
+37:       end
+38:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + install_gem() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/gem_helper.rb, line 52
+52:     def install_gem
+53:       built_gem_path = build_gem
+54:       out, err, code = sh_with_code("gem install #{built_gem_path}")
+55:       if err[/ERROR/]
+56:         Bundler.ui.error err
+57:       else
+58:         Bundler.ui.confirm "#{name} (#{version}) installed"
+59:       end
+60:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + release_gem() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/gem_helper.rb, line 62
+62:     def release_gem
+63:       guard_clean
+64:       guard_already_tagged
+65:       built_gem_path = build_gem
+66:       tag_version {
+67:         git_push
+68:         rubygem_push(built_gem_path)
+69:       }
+70:     end
+
+ +
+ + + + +
+ + +
+ +
+

Protected Instance Methods

+ + +
+ + +
+ + built_gem_path() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/gem_helper.rb, line 78
+78:     def built_gem_path
+79:       Dir[File.join(base, "#{name}-*.gem")].sort_by{|f| File.mtime(f)}.last
+80:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + clean?() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/gem_helper.rb, line 103
+103:     def clean?
+104:       sh("git ls-files -dm").split("\n").size.zero?
+105:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + git_push() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/gem_helper.rb, line 82
+82:     def git_push
+83:       perform_git_push
+84:       perform_git_push ' --tags'
+85:       Bundler.ui.confirm "Pushed git commits and tags"
+86:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + guard_already_tagged() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/gem_helper.rb, line 93
+93:     def guard_already_tagged
+94:       if sh('git tag').split(/\n/).include?(version_tag)
+95:         raise("This tag has already been committed to the repo.")
+96:       end
+97:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + guard_clean() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/gem_helper.rb, line 99
+ 99:     def guard_clean
+100:       clean? or raise("There are files that need to be committed first.")
+101:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + name() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/gem_helper.rb, line 129
+129:     def name
+130:       gemspec.name
+131:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + perform_git_push(options = '') + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/gem_helper.rb, line 88
+88:     def perform_git_push(options = '')
+89:       out, err, code = sh_with_code "git push --quiet#{options}"
+90:       raise err unless err == ''
+91:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + rubygem_push(path) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/gem_helper.rb, line 73
+73:     def rubygem_push(path)
+74:       sh("gem push #{path}")
+75:       Bundler.ui.confirm "Pushed #{name} #{version} to rubygems.org"
+76:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + sh(cmd, &block) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/gem_helper.rb, line 133
+133:     def sh(cmd, &block)
+134:       out, err, code = sh_with_code(cmd, &block)
+135:       code == 0 ? out : raise(out.empty? ? err : out)
+136:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + sh_with_code(cmd, &block) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/gem_helper.rb, line 138
+138:     def sh_with_code(cmd, &block)
+139:       outbuf, errbuf = '', ''
+140:       Dir.chdir(base) {
+141:         stdin, stdout, stderr = *Open3.popen3(cmd)
+142:         if $? == 0
+143:           outbuf, errbuf = stdout.read, stderr.read
+144:           block.call(outbuf, errbuf) if block
+145:         end
+146:       }
+147:       [outbuf, errbuf, $?]
+148:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + tag_version() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/gem_helper.rb, line 107
+107:     def tag_version
+108:       sh "git tag -am 'Version #{version}' #{version_tag}"
+109:       Bundler.ui.confirm "Tagged #{tagged_sha} with #{version_tag}"
+110:       yield if block_given?
+111:     rescue
+112:       Bundler.ui.error "Untagged #{tagged_sha} with #{version_tag} due to error"
+113:       sh "git tag -d #{version_tag}"
+114:       raise
+115:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + tagged_sha() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/gem_helper.rb, line 117
+117:     def tagged_sha
+118:       sh("git show-ref --tags #{version_tag}").split(' ').first[0, 8]
+119:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + version() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/gem_helper.rb, line 121
+121:     def version
+122:       gemspec.version
+123:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + version_tag() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/gem_helper.rb, line 125
+125:     def version_tag
+126:       "v#{version}"
+127:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GemHelpers.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GemHelpers.html new file mode 100644 index 00000000..1300d508 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GemHelpers.html @@ -0,0 +1,373 @@ + + + + + + + Module: Bundler::GemHelpers + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + +
+

Methods

+ +
+ + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::GemHelpers

+ +
+ +
+ + + +
+

Constants

+
+ +
GENERIC_CACHE
+ +
+ + +
GENERICS
+ +
+ + +
+
+ + + + + + + +
+

Public Instance Methods

+ + +
+ + +
+ + generic(p) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/rubygems_ext.rb, line 179
+179:     def generic(p)
+180:       if p == Gem::Platform::RUBY
+181:         return p
+182:       end
+183: 
+184:       GENERIC_CACHE[p] ||= GENERICS.find { |p2| p =~ p2 } || Gem::Platform::RUBY
+185:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GemNotFound.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GemNotFound.html new file mode 100644 index 00000000..2d89b496 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GemNotFound.html @@ -0,0 +1,310 @@ + + + + + + + Class: Bundler::GemNotFound + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::GemNotFound

+ +
+ +
+ + + + + + + + + + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GemfileError.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GemfileError.html new file mode 100644 index 00000000..4d49ebdc --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GemfileError.html @@ -0,0 +1,310 @@ + + + + + + + Class: Bundler::GemfileError + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::GemfileError

+ +
+ +
+ + + + + + + + + + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GemfileNotFound.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GemfileNotFound.html new file mode 100644 index 00000000..22155cfe --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GemfileNotFound.html @@ -0,0 +1,310 @@ + + + + + + + Class: Bundler::GemfileNotFound + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::GemfileNotFound

+ +
+ +
+ + + + + + + + + + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GemspecError.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GemspecError.html new file mode 100644 index 00000000..7a769f79 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GemspecError.html @@ -0,0 +1,310 @@ + + + + + + + Class: Bundler::GemspecError + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::GemspecError

+ +
+ +
+ + + + + + + + + + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GitError.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GitError.html new file mode 100644 index 00000000..70cb20f3 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GitError.html @@ -0,0 +1,310 @@ + + + + + + + Class: Bundler::GitError + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::GitError

+ +
+ +
+ + + + + + + + + + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Graph.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Graph.html new file mode 100644 index 00000000..22def4e8 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Graph.html @@ -0,0 +1,613 @@ + + + + + + + Class: Bundler::Graph + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + +
+

Methods

+ +
+ + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::Graph

+ +
+ +
+ + + +
+

Constants

+
+ +
USER_OPTIONS
+ +
+ + +
+
+ + + + + + + +
+

Public Class Methods

+ + +
+ + +
+ + new(env) + click to toggle source + +
+ +
+ + + + + +
+
+   # File lib/bundler/graph.rb, line 6
+6:     def initialize(env)
+7:       @env = env
+8:     end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + groups() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/graph.rb, line 15
+15:     def groups
+16:       populate
+17:       @groups
+18:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + nodes() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/graph.rb, line 10
+10:     def nodes
+11:       populate
+12:       @nodes
+13:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + viz(output_file, show_gem_versions = false, show_dependency_requirements = false) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/graph.rb, line 20
+20:     def viz(output_file, show_gem_versions = false, show_dependency_requirements = false)
+21:       require 'graphviz'
+22:       populate
+23: 
+24:       graph_viz = GraphViz::new('Gemfile', {:concentrate => true, :dpi => 65 } )
+25:       graph_viz.edge[:fontname] = graph_viz.node[:fontname] = 'Arial, Helvetica, SansSerif'
+26:       graph_viz.edge[:fontsize] = 12
+27: 
+28:       viz_nodes = {}
+29: 
+30:       # populate all of the nodes
+31:       nodes.each do |name, node|
+32:         label = name.dup
+33:         label << "\n#{node.version}" if show_gem_versions
+34:         options = { :label => label }
+35:         options.merge!( USER_OPTIONS ) if node.is_user
+36:         viz_nodes[name] = graph_viz.add_node( name, options )
+37:       end
+38: 
+39:       group_nodes = {}
+40:       @groups.each do |name, dependencies|
+41:         group_nodes[name] = graph_viz.add_node(name.to_s, { :shape => 'folder', :fontsize => 16 }.merge(USER_OPTIONS))
+42:         dependencies.each do |dependency|
+43:           options = { :weight => 2 }
+44:           if show_dependency_requirements && (dependency.requirement.to_s != ">= 0")
+45:             options[:label] = dependency.requirement.to_s
+46:           end
+47:           graph_viz.add_edge( group_nodes[name], viz_nodes[dependency.name], options )
+48:         end
+49:       end
+50: 
+51:       @groups.keys.select { |group| group != :default }.each do |group|
+52:         graph_viz.add_edge( group_nodes[group], group_nodes[:default], { :weight => 2 } )
+53:       end
+54: 
+55:       viz_nodes.each do |name, node|
+56:         nodes[name].dependencies.each do |dependency|
+57:           options = { }
+58:           if nodes[dependency.name].is_user
+59:             options[:constraint] = false
+60:           end
+61:           if show_dependency_requirements && (dependency.requirement.to_s != ">= 0")
+62:             options[:label] = dependency.requirement.to_s
+63:           end
+64: 
+65:           graph_viz.add_edge( node, viz_nodes[dependency.name], options )
+66:         end
+67:       end
+68: 
+69:       graph_viz.output( :png => output_file )
+70:     end
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + populate() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/graph.rb, line 74
+ 74:     def populate
+ 75:       return if @populated
+ 76: 
+ 77:       # hash of name => GraphNode
+ 78:       @nodes = {}
+ 79:       @groups = {}
+ 80: 
+ 81:       # Populate @nodes
+ 82:       @env.specs.each { |spec| @nodes[spec.name] = GraphNode.new(spec.name, spec.version) }
+ 83: 
+ 84:       # For gems in Gemfile, add details
+ 85:       @env.current_dependencies.each do |dependency|
+ 86:         node = @nodes[dependency.name]
+ 87:         node.is_user = true
+ 88: 
+ 89:         dependency.groups.each do |group|
+ 90:           if @groups.has_key? group
+ 91:             group = @groups[group]
+ 92:           else
+ 93:             group = @groups[group] = []
+ 94:           end
+ 95:           group << dependency
+ 96:         end
+ 97:       end
+ 98: 
+ 99:       # walk though a final time and add edges
+100:       @env.specs.each do |spec|
+101: 
+102:         from = @nodes[spec.name]
+103:         spec.runtime_dependencies.each do |dependency|
+104:           from.dependencies << dependency
+105:         end
+106: 
+107:       end
+108: 
+109:       @nodes.freeze
+110:       @groups.freeze
+111:       @populated = true
+112:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GraphNode.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GraphNode.html new file mode 100644 index 00000000..584287a0 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GraphNode.html @@ -0,0 +1,433 @@ + + + + + + + Class: Bundler::GraphNode + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + +
+

Methods

+ +
+ + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::GraphNode

+ +
+

+Add version info +

+ +
+ + + + + + +
+

Attributes

+ + +
+ + +
+ name[R] +
+ +
+ + + +
+
+ +
+ + +
+ dependencies[R] +
+ +
+ + + +
+
+ +
+ + +
+ version[R] +
+ +
+ + + +
+
+ +
+ + + + +
+ is_user[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + +
+ + new(name, version) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/graph.rb, line 119
+119:     def initialize(name, version)
+120:       @name = name
+121:       @version = version
+122:       @is_user = false
+123:       @dependencies = []
+124:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Index.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Index.html new file mode 100644 index 00000000..9c15ba08 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Index.html @@ -0,0 +1,902 @@ + + + + + + + Class: Bundler::Index + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::Index

+ +
+ +
+ + + + + + + + + +
+

Public Class Methods

+ + +
+ + +
+ + build() + click to toggle source + +
+ +
+ + + + + +
+
+   # File lib/bundler/index.rb, line 5
+5:     def self.build
+6:       i = new
+7:       yield i
+8:       i
+9:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + new() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/index.rb, line 11
+11:     def initialize
+12:       @cache = {}
+13:       @specs = Hash.new { |h,k| h[k] = [] }
+14:     end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + <<(spec) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/index.rb, line 58
+58:     def <<(spec)
+59:       arr = @specs[spec.name]
+60: 
+61:       arr.delete_if do |s|
+62:         s.version == spec.version && s.platform == spec.platform
+63:       end
+64: 
+65:       arr << spec
+66:       spec
+67:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + ==(o) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/index.rb, line 84
+84:     def ==(o)
+85:       all? do |s|
+86:         s2 = o[s].first and (s.dependencies & s2.dependencies).empty?
+87:       end
+88:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + [](query) + click to toggle source + +
+ +
+ + + + + +
+ + + + +
+ Alias for: search +
+ +
+ + +
+ + +
+ + each(&blk) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/index.rb, line 69
+69:     def each(&blk)
+70:       @specs.values.each do |specs|
+71:         specs.each(&blk)
+72:       end
+73:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + empty?() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/index.rb, line 23
+23:     def empty?
+24:       each { return false }
+25:       true
+26:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + initialize_copy(o) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/index.rb, line 16
+16:     def initialize_copy(o)
+17:       super
+18:       @cache = {}
+19:       @specs = Hash.new { |h,k| h[k] = [] }
+20:       merge!(o)
+21:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + search(query) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/index.rb, line 28
+28:     def search(query)
+29:       case query
+30:       when Gem::Specification, RemoteSpecification, LazySpecification then search_by_spec(query)
+31:       when String then @specs[query]
+32:       else search_by_dependency(query)
+33:       end
+34:     end
+
+ +
+ + +
+ Also aliased as: [] +
+ + + +
+ + +
+ + +
+ + search_for_all_platforms(dependency, base = []) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/index.rb, line 36
+36:     def search_for_all_platforms(dependency, base = [])
+37:       specs = @specs[dependency.name] + base
+38: 
+39:       wants_prerelease = dependency.requirement.prerelease?
+40:       only_prerelease  = specs.all? {|spec| spec.version.prerelease? }
+41:       found = specs.select { |spec| dependency =~ spec }
+42: 
+43:       unless wants_prerelease || only_prerelease
+44:         found.reject! { |spec| spec.version.prerelease? }
+45:       end
+46: 
+47:       found.sort_by {|s| [s.version, s.platform.to_s == 'ruby' ? "\00"" : s.platform.to_s] }
+48:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + sources() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/index.rb, line 50
+50:     def sources
+51:       @specs.values.map do |specs|
+52:         specs.map{|s| s.source.class }
+53:       end.flatten.uniq
+54:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + use(other) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/index.rb, line 75
+75:     def use(other)
+76:       return unless other
+77:       other.each do |s|
+78:         next if search_by_spec(s).any?
+79:         @specs[s.name] << s
+80:       end
+81:       self
+82:     end
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + search_by_dependency(dependency) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/index.rb, line 98
+ 98:     def search_by_dependency(dependency)
+ 99:       @cache[dependency.hash] ||= begin
+100:         specs = @specs[dependency.name]
+101: 
+102:         wants_prerelease = dependency.requirement.prerelease?
+103:         only_prerelease  = specs.all? {|spec| spec.version.prerelease? }
+104:         found = specs.select { |spec| dependency =~ spec && Gem::Platform.match(spec.platform) }
+105: 
+106:         unless wants_prerelease || only_prerelease
+107:           found.reject! { |spec| spec.version.prerelease? }
+108:         end
+109: 
+110:         found.sort_by {|s| [s.version, s.platform.to_s == 'ruby' ? "\00"" : s.platform.to_s] }
+111:       end
+112:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + search_by_spec(spec) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/index.rb, line 92
+92:     def search_by_spec(spec)
+93:       @specs[spec.name].select do |s|
+94:         s.version == spec.version && Gem::Platform.new(s.platform) == Gem::Platform.new(spec.platform)
+95:       end
+96:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Installer.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Installer.html new file mode 100644 index 00000000..560a4a07 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Installer.html @@ -0,0 +1,506 @@ + + + + + + + Class: Bundler::Installer + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + +
+

Methods

+ +
+ + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::Installer

+ +
+ +
+ + + + + + + + + +
+

Public Class Methods

+ + +
+ + +
+ + install(root, definition, options = {}) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/installer.rb, line 6
+ 6:     def self.install(root, definition, options = {})
+ 7:       installer = new(root, definition)
+ 8:       installer.run(options)
+ 9:       installer
+10:     end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + run(options) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/installer.rb, line 12
+12:     def run(options)
+13:       if Bundler.settings[:frozen]
+14:         @definition.ensure_equivalent_gemfile_and_lockfile
+15:       end
+16: 
+17:       if dependencies.empty?
+18:         Bundler.ui.warn "The Gemfile specifies no dependencies"
+19:         return
+20:       end
+21: 
+22:       if Bundler.default_lockfile.exist? && !options["update"]
+23:         begin
+24:           tmpdef = Definition.build(Bundler.default_gemfile, Bundler.default_lockfile, nil)
+25:           local = true unless tmpdef.new_platform? || tmpdef.missing_specs.any?
+26:         rescue BundlerError
+27:         end
+28:       end
+29: 
+30:       # Since we are installing, we can resolve the definition
+31:       # using remote specs
+32:       unless local
+33:         options["local"] ?
+34:           @definition.resolve_with_cache! :
+35:           @definition.resolve_remotely!
+36:       end
+37: 
+38:       # Ensure that BUNDLE_PATH exists
+39:       Bundler.mkdir_p(Bundler.bundle_path) unless File.exist?(Bundler.bundle_path)
+40: 
+41:       # Must install gems in the order that the resolver provides
+42:       # as dependencies might actually affect the installation of
+43:       # the gem.
+44:       specs.each do |spec|
+45:         spec.source.fetch(spec) if spec.source.respond_to?(:fetch)
+46: 
+47:         # unless requested_specs.include?(spec)
+48:         #   Bundler.ui.debug "  * Not in requested group; skipping."
+49:         #   next
+50:         # end
+51: 
+52:         begin
+53:           old_args = Gem::Command.build_args
+54:           Gem::Command.build_args = [Bundler.settings["build.#{spec.name}"]]
+55:           spec.source.install(spec)
+56:         ensure
+57:           Gem::Command.build_args = old_args
+58:         end
+59: 
+60:         Bundler.ui.info ""
+61:         generate_bundler_executable_stubs(spec) if Bundler.settings[:bin]
+62:         FileUtils.rm_rf(Bundler.tmp)
+63:       end
+64: 
+65:       lock
+66:     end
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + generate_bundler_executable_stubs(spec) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/installer.rb, line 70
+70:     def generate_bundler_executable_stubs(spec)
+71:       bin_path = Bundler.bin_path
+72:       template = File.read(File.expand_path('../templates/Executable', __FILE__))
+73:       relative_gemfile_path = Bundler.default_gemfile.relative_path_from(bin_path)
+74: 
+75:       spec.executables.each do |executable|
+76:         next if executable == "bundle"
+77:         File.open "#{bin_path}/#{executable}", 'w', 0755 do |f|
+78:           f.puts ERB.new(template, nil, '-').result(binding)
+79:         end
+80:       end
+81:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/InvalidOption.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/InvalidOption.html new file mode 100644 index 00000000..b34e1c9f --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/InvalidOption.html @@ -0,0 +1,310 @@ + + + + + + + Class: Bundler::InvalidOption + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::InvalidOption

+ +
+ +
+ + + + + + + + + + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/InvalidSpecSet.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/InvalidSpecSet.html new file mode 100644 index 00000000..9ab45b55 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/InvalidSpecSet.html @@ -0,0 +1,313 @@ + + + + + + + Class: Bundler::InvalidSpecSet + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::InvalidSpecSet

+ +
+

+Internal errors, should be rescued +

+ +
+ + + + + + + + + + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/LazySpecification.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/LazySpecification.html new file mode 100644 index 00000000..10c65882 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/LazySpecification.html @@ -0,0 +1,742 @@ + + + + + + + Class: Bundler::LazySpecification + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::LazySpecification

+ +
+ +
+ + + + + + +
+

Attributes

+ + +
+ + +
+ name[R] +
+ +
+ + + +
+
+ +
+ + +
+ version[R] +
+ +
+ + + +
+
+ +
+ + +
+ dependencies[R] +
+ +
+ + + +
+
+ +
+ + +
+ platform[R] +
+ +
+ + + +
+
+ +
+ + + + +
+ source[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + +
+ + new(name, version, platform, source = nil) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/lazy_specification.rb, line 11
+11:     def initialize(name, version, platform, source = nil)
+12:       @name          = name
+13:       @version       = version
+14:       @dependencies  = []
+15:       @platform      = platform
+16:       @source        = source
+17:       @specification = nil
+18:     end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + __materialize__() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/lazy_specification.rb, line 47
+47:     def __materialize__
+48:       @specification = source.specs.search(Gem::Dependency.new(name, version)).last
+49:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + full_name() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/lazy_specification.rb, line 20
+20:     def full_name
+21:       if platform == Gem::Platform::RUBY or platform.nil? then
+22:         "#{@name}-#{@version}"
+23:       else
+24:         "#{@name}-#{@version}-#{platform}"
+25:       end
+26:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + respond_to?(*args) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/lazy_specification.rb, line 51
+51:     def respond_to?(*args)
+52:       super || @specification.respond_to?(*args)
+53:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + satisfies?(dependency) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/lazy_specification.rb, line 28
+28:     def satisfies?(dependency)
+29:       @name == dependency.name && dependency.requirement.satisfied_by?(Gem::Version.new(@version))
+30:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + to_lock() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/lazy_specification.rb, line 32
+32:     def to_lock
+33:       if platform == Gem::Platform::RUBY or platform.nil?
+34:         out = "    #{name} (#{version})\n"
+35:       else
+36:         out = "    #{name} (#{version}-#{platform})\n"
+37:       end
+38: 
+39:       dependencies.sort_by {|d| d.name }.each do |dep|
+40:         next if dep.type == :development
+41:         out << "    #{dep.to_lock}\n"
+42:       end
+43: 
+44:       out
+45:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + to_s() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/lazy_specification.rb, line 55
+55:     def to_s
+56:       "#{name} (#{version})"
+57:     end
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + method_missing(method, *args, &blk) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/lazy_specification.rb, line 61
+61:     def method_missing(method, *args, &blk)
+62:       if Gem::Specification.new.respond_to?(method)
+63:         raise "LazySpecification has not been materialized yet (calling :#{method} #{args.inspect})" unless @specification
+64:         @specification.send(method, *args, &blk)
+65:       else
+66:         super
+67:       end
+68:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/LockfileParser.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/LockfileParser.html new file mode 100644 index 00000000..cd1f0b66 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/LockfileParser.html @@ -0,0 +1,662 @@ + + + + + + + Class: Bundler::LockfileParser + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + +
+

Methods

+ +
+ + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::LockfileParser

+ +
+ +
+ + + +
+

Constants

+
+ +
TYPES
+ +
+ + +
NAME_VERSION
+ +
+ + +
+
+ + + + +
+

Attributes

+ + +
+ + +
+ sources[R] +
+ +
+ + + +
+
+ +
+ + +
+ dependencies[R] +
+ +
+ + + +
+
+ +
+ + +
+ specs[R] +
+ +
+ + + +
+
+ +
+ + +
+ platforms[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + +
+ + new(lockfile) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/lockfile_parser.rb, line 7
+ 7:     def initialize(lockfile)
+ 8:       @platforms    = []
+ 9:       @sources      = []
+10:       @dependencies = []
+11:       @specs        = []
+12:       @state        = :source
+13: 
+14:       lockfile.split(/\n+/).each do |line|
+15:         if line == "DEPENDENCIES"
+16:           @state = :dependency
+17:         elsif line == "PLATFORMS"
+18:           @state = :platform
+19:         else
+20:           send("parse_#{@state}", line)
+21:         end
+22:       end
+23:     end
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + parse_dependency(line) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/lockfile_parser.rb, line 61
+61:     def parse_dependency(line)
+62:       if line =~ %{^ {2}#{NAME_VERSION}(!)?$}
+63:         name, version, pinned = $1, $2, $4
+64:         version = version.split(",").map { |d| d.strip } if version
+65: 
+66:         dep = Bundler::Dependency.new(name, version)
+67: 
+68:         if pinned && dep.name != 'bundler'
+69:           spec = @specs.find { |s| s.name == dep.name }
+70:           dep.source = spec.source if spec
+71: 
+72:           # Path sources need to know what the default name / version
+73:           # to use in the case that there are no gemspecs present. A fake
+74:           # gemspec is created based on the version set on the dependency
+75:           # TODO: Use the version from the spec instead of from the dependency
+76:           if version && version.size == 1 && version.first =~ /^\s*= (.+)\s*$/ && dep.source.is_a?(Bundler::Source::Path)
+77:             dep.source.name    = name
+78:             dep.source.version = $1
+79:           end
+80:         end
+81: 
+82:         @dependencies << dep
+83:       end
+84:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + parse_platform(line) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/lockfile_parser.rb, line 101
+101:     def parse_platform(line)
+102:       if line =~ /^  (.*)$/
+103:         @platforms << Gem::Platform.new($1)
+104:       end
+105:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + parse_source(line) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/lockfile_parser.rb, line 33
+33:     def parse_source(line)
+34:       case line
+35:       when "GIT", "GEM", "PATH"
+36:         @current_source = nil
+37:         @opts, @type = {}, line
+38:       when "  specs:"
+39:         @current_source = TYPES[@type].from_lock(@opts)
+40:         @sources << @current_source
+41:       when /^  ([a-z]+): (.*)$/
+42:         value = $2
+43:         value = true if value == "true"
+44:         value = false if value == "false"
+45: 
+46:         key = $1
+47: 
+48:         if @opts[key]
+49:           @opts[key] = Array(@opts[key])
+50:           @opts[key] << value
+51:         else
+52:           @opts[key] = value
+53:         end
+54:       else
+55:         parse_spec(line)
+56:       end
+57:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + parse_spec(line) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/lockfile_parser.rb, line 86
+86:     def parse_spec(line)
+87:       if line =~ %{^ {4}#{NAME_VERSION}$}
+88:         name, version = $1, Gem::Version.new($2)
+89:         platform = $3 ? Gem::Platform.new($3) : Gem::Platform::RUBY
+90:         @current_spec = LazySpecification.new(name, version, platform)
+91:         @current_spec.source = @current_source
+92:         @specs << @current_spec
+93:       elsif line =~ %{^ {6}#{NAME_VERSION}$}
+94:         name, version = $1, $2
+95:         version = version.split(',').map { |d| d.strip } if version
+96:         dep = Gem::Dependency.new(name, version)
+97:         @current_spec.dependencies << dep
+98:       end
+99:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/MatchPlatform.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/MatchPlatform.html new file mode 100644 index 00000000..eac23cc0 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/MatchPlatform.html @@ -0,0 +1,365 @@ + + + + + + + Module: Bundler::MatchPlatform + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::MatchPlatform

+ +
+ +
+ + + + + + + + + +
+

Public Instance Methods

+ + +
+ + +
+ + match_platform(p) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/rubygems_ext.rb, line 191
+191:     def match_platform(p)
+192:       Gem::Platform::RUBY == platform or
+193:       platform.nil? or p == platform or
+194:       generic(Gem::Platform.new(platform)) == p
+195:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/PathError.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/PathError.html new file mode 100644 index 00000000..7703bd13 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/PathError.html @@ -0,0 +1,310 @@ + + + + + + + Class: Bundler::PathError + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::PathError

+ +
+ +
+ + + + + + + + + + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/ProductionError.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/ProductionError.html new file mode 100644 index 00000000..5bcd0336 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/ProductionError.html @@ -0,0 +1,310 @@ + + + + + + + Class: Bundler::ProductionError + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::ProductionError

+ +
+ +
+ + + + + + + + + + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/RemoteSpecification.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/RemoteSpecification.html new file mode 100644 index 00000000..cd75adfc --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/RemoteSpecification.html @@ -0,0 +1,657 @@ + + + + + + + Class: Bundler::RemoteSpecification + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + + + + + + +
+

Included Modules

+ +
+ +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::RemoteSpecification

+ +
+

+Represents a lazily loaded gem specification, where the full specification +is on the source server in rubygems’ “quick” index. The +proxy object is to be seeded with what we’re given from the +source’s abbreviated index - the full specification will only be +fetched when necesary. +

+ +
+ + + + + + +
+

Attributes

+ + +
+ + +
+ name[R] +
+ +
+ + + +
+
+ +
+ + +
+ version[R] +
+ +
+ + + +
+
+ +
+ + +
+ platform[R] +
+ +
+ + + +
+
+ +
+ + + + +
+ source[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + +
+ + new(name, version, platform, source_uri) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/remote_specification.rb, line 15
+15:     def initialize(name, version, platform, source_uri)
+16:       @name     = name
+17:       @version  = version
+18:       @platform = platform
+19:       @source_uri = source_uri
+20:     end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + __swap__(spec) + click to toggle source + +
+ +
+ +

+Because Rubyforge cannot be trusted to provide valid specifications once +the remote gem is downloaded, the backend specification will be swapped +out. +

+ + + +
+
+    # File lib/bundler/remote_specification.rb, line 39
+39:     def __swap__(spec)
+40:       @specification = spec
+41:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + fetch_platform() + click to toggle source + +
+ +
+ +

+Needed before installs, since the arch matters then and quick specs +don’t bother to include the arch in the platform string +

+ + + +
+
+    # File lib/bundler/remote_specification.rb, line 24
+24:     def fetch_platform
+25:       @platform = _remote_specification.platform
+26:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + full_name() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/remote_specification.rb, line 28
+28:     def full_name
+29:       if platform == Gem::Platform::RUBY or platform.nil? then
+30:         "#{@name}-#{@version}"
+31:       else
+32:         "#{@name}-#{@version}-#{platform}"
+33:       end
+34:     end
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + _remote_specification() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/remote_specification.rb, line 45
+45:     def _remote_specification
+46:       @specification ||= begin
+47:         Gem::SpecFetcher.new.fetch_spec([@name, @version, @platform], URI(@source_uri.to_s))
+48:       end
+49:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + method_missing(method, *args, &blk) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/remote_specification.rb, line 51
+51:     def method_missing(method, *args, &blk)
+52:       if Gem::Specification.new.respond_to?(method)
+53:         _remote_specification.send(method, *args, &blk)
+54:       else
+55:         super
+56:       end
+57:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Resolver.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Resolver.html new file mode 100644 index 00000000..e37ad88a --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Resolver.html @@ -0,0 +1,1101 @@ + + + + + + + Class: Bundler::Resolver + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + +
+

Namespace

+ +
+ + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::Resolver

+ +
+ +
+ + + +
+

Constants

+
+ +
ALL
+ +
+ + +
+
+ + + + +
+

Attributes

+ + +
+ + +
+ errors[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + +
+ + new(index, source_requirements, base) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/resolver.rb, line 138
+138:     def initialize(index, source_requirements, base)
+139:       @errors               = {}
+140:       @stack                = []
+141:       @base                 = base
+142:       @index                = index
+143:       @missing_gems         = Hash.new(0)
+144:       @source_requirements  = source_requirements
+145:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + resolve(requirements, index, source_requirements = {}, base = []) + click to toggle source + +
+ +
+ +

+Figures out the best possible configuration of gems that satisfies the list +of passed dependencies and any child dependencies without causing any gem +activation errors. +

+

Parameters

+ + +
*dependencies

+The list of dependencies to resolve +

+
+

Returns

+ + +
,nil

+If the list of dependencies can be resolved, a +

+
+
+  collection of gemspecs is returned. Otherwise, nil is returned.
+ + + +
+
+     # File lib/bundler/resolver.rb, line 127
+127:     def self.resolve(requirements, index, source_requirements = {}, base = [])
+128:       base = SpecSet.new(base) unless base.is_a?(SpecSet)
+129:       resolver = new(index, source_requirements, base)
+130:       result = catch(:success) do
+131:         resolver.start(requirements)
+132:         raise resolver.version_conflict
+133:         nil
+134:       end
+135:       SpecSet.new(result)
+136:     end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + clean_req(req) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/resolver.rb, line 378
+378:     def clean_req(req)
+379:       if req.to_s.include?(">= 0")
+380:         req.to_s.gsub(/ \(.*?\)$/, '')
+381:       else
+382:         req.to_s.gsub(/\, (runtime|development)\)$/, ')')
+383:       end
+384:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + debug() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/resolver.rb, line 147
+147:     def debug
+148:       if ENV['DEBUG_RESOLVER']
+149:         debug_info = yield
+150:         debug_info = debug_info.inpsect unless debug_info.is_a?(String)
+151:         $stderr.puts debug_info
+152:       end
+153:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + error_message() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/resolver.rb, line 405
+405:     def error_message
+406:       output = errors.inject("") do |o, (conflict, (origin, requirement))|
+407: 
+408:         # origin is the SpecSet of specs from the Gemfile that is conflicted with
+409:         if origin
+410: 
+411:           o << %{Bundler could not find compatible versions for gem "#{origin.name}":\n}
+412:           o << "  In Gemfile:\n"
+413: 
+414:           o << gem_message(requirement)
+415: 
+416:           # If the origin is a LockfileParser, it does not respond_to :required_by
+417:           unless origin.respond_to?(:required_by) && required_by = origin.required_by.first
+418:             o << "  In snapshot (Gemfile.lock):\n"
+419:           end
+420: 
+421:           o << gem_message(origin)
+422: 
+423:         # origin is nil if the required gem and version cannot be found in any of
+424:         # the specified sources
+425:         else
+426: 
+427:           # if the gem cannot be found because of a version conflict between lockfile and gemfile,
+428:           # print a useful error that suggests running `bundle update`, which may fix things
+429:           #
+430:           # @base is a SpecSet of the gems in the lockfile
+431:           # conflict is the name of the gem that could not be found
+432:           if locked = @base[conflict].first
+433:             o << "Bundler could not find compatible versions for gem #{conflict.inspect}:\n"
+434:             o << "  In snapshot (Gemfile.lock):\n"
+435:             o << "    #{clean_req(locked)}\n\n"
+436: 
+437:             o << "  In Gemfile:\n"
+438:             o << gem_message(requirement)
+439:             o << "Running `bundle update` will rebuild your snapshot from scratch, using only\n"
+440:             o << "the gems in your Gemfile, which may resolve the conflict.\n"
+441: 
+442:           # the rest of the time, the gem cannot be found because it does not exist in the known sources
+443:           else
+444:             if requirement.required_by.first
+445:               o << "Could not find gem '#{clean_req(requirement)}', required by '#{clean_req(requirement.required_by.first)}', in any of the sources\n"
+446:             else
+447:               o << "Could not find gem '#{clean_req(requirement)} in any of the sources\n"
+448:             end
+449:           end
+450: 
+451:         end
+452:       end
+453:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + gem_message(requirement) + click to toggle source + +
+ +
+ +

+For a given conflicted requirement, print out what exactly went wrong +

+ + + +
+
+     # File lib/bundler/resolver.rb, line 391
+391:     def gem_message(requirement)
+392:       m = ""
+393: 
+394:       # A requirement that is required by itself is actually in the Gemfile, and does
+395:       # not "depend on" itself
+396:       if requirement.required_by.first && requirement.required_by.first.name != requirement.name
+397:         m << "    #{clean_req(requirement.required_by.first)} depends on\n"
+398:         m << "      #{clean_req(requirement)}\n"
+399:       else
+400:         m << "    #{clean_req(requirement)}\n"
+401:       end
+402:       m << "\n"
+403:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + resolve(reqs, activated) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/resolver.rb, line 165
+165:     def resolve(reqs, activated)
+166:       # If the requirements are empty, then we are in a success state. Aka, all
+167:       # gem dependencies have been resolved.
+168:       throw :success, successify(activated) if reqs.empty?
+169: 
+170:       debug { print "\e[2J\e[f" ; "==== Iterating ====\n\n" }
+171: 
+172:       # Sort dependencies so that the ones that are easiest to resolve are first.
+173:       # Easiest to resolve is defined by:
+174:       #   1) Is this gem already activated?
+175:       #   2) Do the version requirements include prereleased gems?
+176:       #   3) Sort by number of gems available in the source.
+177:       reqs = reqs.sort_by do |a|
+178:         [ activated[a.name] ? 0 : 1,
+179:           a.requirement.prerelease? ? 0 : 1,
+180:           @errors[a.name]   ? 0 : 1,
+181:           activated[a.name] ? 0 : search(a).size ]
+182:       end
+183: 
+184:       debug { "Activated:\n" + activated.values.map { |a| "  #{a.name} (#{a.version})" }.join("\n") }
+185:       debug { "Requirements:\n" + reqs.map { |r| "  #{r.name} (#{r.requirement})"}.join("\n") }
+186: 
+187:       activated = activated.dup
+188: 
+189:       # Pull off the first requirement so that we can resolve it
+190:       current = reqs.shift
+191: 
+192:       debug { "Attempting:\n  #{current.name} (#{current.requirement})"}
+193: 
+194:       # Check if the gem has already been activated, if it has, we will make sure
+195:       # that the currently activated gem satisfies the requirement.
+196:       existing = activated[current.name]
+197:       if existing || current.name == 'bundler'
+198:         # Force the current
+199:         if current.name == 'bundler' && !existing
+200:           existing = search(DepProxy.new(Gem::Dependency.new('bundler', VERSION), Gem::Platform::RUBY)).first
+201:           activated['bundler'] = existing
+202:           raise GemNotFound, %{Bundler could not find gem "bundler" (#{VERSION})} unless existing
+203:         end
+204: 
+205:         if current.requirement.satisfied_by?(existing.version)
+206:           debug { "    * [SUCCESS] Already activated" }
+207:           @errors.delete(existing.name)
+208:           # Since the current requirement is satisfied, we can continue resolving
+209:           # the remaining requirements.
+210: 
+211:           # I have no idea if this is the right way to do it, but let's see if it works
+212:           # The current requirement might activate some other platforms, so let's try
+213:           # adding those requirements here.
+214:           reqs.concat existing.activate_platform(current.__platform)
+215: 
+216:           resolve(reqs, activated)
+217:         else
+218:           debug { "    * [FAIL] Already activated" }
+219:           @errors[existing.name] = [existing, current]
+220:           debug { current.required_by.map {|d| "      * #{d.name} (#{d.requirement})" }.join("\n") }
+221:           # debug { "    * All current conflicts:\n" + @errors.keys.map { |c| "      - #{c}" }.join("\n") }
+222:           # Since the current requirement conflicts with an activated gem, we need
+223:           # to backtrack to the current requirement's parent and try another version
+224:           # of it (maybe the current requirement won't be present anymore). If the
+225:           # current requirement is a root level requirement, we need to jump back to
+226:           # where the conflicting gem was activated.
+227:           parent = current.required_by.last
+228:           # `existing` could not respond to required_by if it is part of the base set
+229:           # of specs that was passed to the resolver (aka, instance of LazySpecification)
+230:           parent ||= existing.required_by.last if existing.respond_to?(:required_by)
+231:           # We track the spot where the current gem was activated because we need
+232:           # to keep a list of every spot a failure happened.
+233:           debug { "    -> Jumping to: #{parent.name}" }
+234:           if parent
+235:             throw parent.name, existing.respond_to?(:required_by) && existing.required_by.last.name
+236:           else
+237:             # The original set of dependencies conflict with the base set of specs
+238:             # passed to the resolver. This is by definition an impossible resolve.
+239:             raise version_conflict
+240:           end
+241:         end
+242:       else
+243:         # There are no activated gems for the current requirement, so we are going
+244:         # to find all gems that match the current requirement and try them in decending
+245:         # order. We also need to keep a set of all conflicts that happen while trying
+246:         # this gem. This is so that if no versions work, we can figure out the best
+247:         # place to backtrack to.
+248:         conflicts = Set.new
+249: 
+250:         # Fetch all gem versions matching the requirement
+251:         #
+252:         # TODO: Warn / error when no matching versions are found.
+253:         matching_versions = search(current)
+254: 
+255:         if matching_versions.empty?
+256:           if current.required_by.empty?
+257:             if base = @base[current.name] and !base.empty?
+258:               version = base.first.version
+259:               message = "You have requested:\n"                      "  #{current.name} #{current.requirement}\n\n"                      "The bundle currently has #{current.name} locked at #{version}.\n"                      "Try running `bundle update #{current.name}`"
+260:             elsif current.source
+261:               name = current.name
+262:               versions = @source_requirements[name][name].map { |s| s.version }
+263:               message  = "Could not find gem '#{current}' in #{current.source}.\n"
+264:               if versions.any?
+265:                 message << "Source contains '#{name}' at: #{versions.join(', ')}"
+266:               else
+267:                 message << "Source does not contain any versions of '#{current}'"
+268:               end
+269:             else
+270:               message = "Could not find gem '#{current}' "
+271:               if @index.sources.include?(Bundler::Source::Rubygems)
+272:                 message << "in any of the gem sources."
+273:               else
+274:                 message << "in the gems available on this machine."
+275:               end
+276:             end
+277:             raise GemNotFound, message
+278:           else
+279:             if @missing_gems[current] >= 5
+280:               message =  "Bundler could not find find gem #{current.required_by.last},"
+281:               message << "which is required by gem #{current}."
+282:               raise GemNotFound, message
+283:             end
+284:             @missing_gems[current] += 1
+285: 
+286:             debug { "    Could not find #{current} by #{current.required_by.last}" }
+287:             @errors[current.name] = [nil, current]
+288:           end
+289:         end
+290: 
+291:         matching_versions.reverse_each do |spec_group|
+292:           conflict = resolve_requirement(spec_group, current, reqs.dup, activated.dup)
+293:           conflicts << conflict if conflict
+294:         end
+295:         # If the current requirement is a root level gem and we have conflicts, we
+296:         # can figure out the best spot to backtrack to.
+297:         if current.required_by.empty? && !conflicts.empty?
+298:           # Check the current "catch" stack for the first one that is included in the
+299:           # conflicts set. That is where the parent of the conflicting gem was required.
+300:           # By jumping back to this spot, we can try other version of the parent of
+301:           # the conflicting gem, hopefully finding a combination that activates correctly.
+302:           @stack.reverse_each do |savepoint|
+303:             if conflicts.include?(savepoint)
+304:               debug { "    -> Jumping to: #{savepoint}" }
+305:               throw savepoint
+306:             end
+307:           end
+308:         end
+309:       end
+310:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + resolve_requirement(spec_group, requirement, reqs, activated) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/resolver.rb, line 315
+315:     def resolve_requirement(spec_group, requirement, reqs, activated)
+316:       # We are going to try activating the spec. We need to keep track of stack of
+317:       # requirements that got us to the point of activating this gem.
+318:       spec_group.required_by.replace requirement.required_by
+319:       spec_group.required_by << requirement
+320: 
+321:       activated[spec_group.name] = spec_group
+322:       debug { "  Activating: #{spec_group.name} (#{spec_group.version})" }
+323:       debug { spec_group.required_by.map { |d| "    * #{d.name} (#{d.requirement})" }.join("\n") }
+324: 
+325:       dependencies = spec_group.activate_platform(requirement.__platform)
+326: 
+327:       # Now, we have to loop through all child dependencies and add them to our
+328:       # array of requirements.
+329:       debug { "    Dependencies"}
+330:       dependencies.each do |dep|
+331:         next if dep.type == :development
+332:         debug { "    * #{dep.name} (#{dep.requirement})" }
+333:         dep.required_by.replace(requirement.required_by)
+334:         dep.required_by << requirement
+335:         reqs << dep
+336:       end
+337: 
+338:       # We create a savepoint and mark it by the name of the requirement that caused
+339:       # the gem to be activated. If the activated gem ever conflicts, we are able to
+340:       # jump back to this point and try another version of the gem.
+341:       length = @stack.length
+342:       @stack << requirement.name
+343:       retval = catch(requirement.name) do
+344:         resolve(reqs, activated)
+345:       end
+346:       # Since we're doing a lot of throw / catches. A push does not necessarily match
+347:       # up to a pop. So, we simply slice the stack back to what it was before the catch
+348:       # block.
+349:       @stack.slice!(length..1)
+350:       retval
+351:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + search(dep) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/resolver.rb, line 353
+353:     def search(dep)
+354:       if base = @base[dep.name] and base.any?
+355:         d = Gem::Dependency.new(base.first.name, *[dep.requirement.as_list, base.first.version].flatten)
+356:       else
+357:         d = dep.dep
+358:       end
+359:       index = @source_requirements[d.name] || @index
+360:       results = index.search_for_all_platforms(d, @base[d.name])
+361: 
+362:       if results.any?
+363:         version = results.first.version
+364:         nested  = [[]]
+365:         results.each do |spec|
+366:           if spec.version != version
+367:             nested << []
+368:             version = spec.version
+369:           end
+370:           nested.last << spec
+371:         end
+372:         nested.map { |a| SpecGroup.new(a) }.select { |sg| sg.for?(dep.__platform) }
+373:       else
+374:         []
+375:       end
+376:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + start(reqs) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/resolver.rb, line 159
+159:     def start(reqs)
+160:       activated = {}
+161: 
+162:       resolve(reqs, activated)
+163:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + successify(activated) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/resolver.rb, line 155
+155:     def successify(activated)
+156:       activated.values.map { |s| s.to_specs }.flatten.compact
+157:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + version_conflict() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/resolver.rb, line 386
+386:     def version_conflict
+387:       VersionConflict.new(errors.keys, error_message)
+388:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Resolver/SpecGroup.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Resolver/SpecGroup.html new file mode 100644 index 00000000..29a97a71 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Resolver/SpecGroup.html @@ -0,0 +1,780 @@ + + + + + + + Class: Bundler::Resolver::SpecGroup + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::Resolver::SpecGroup

+ +
+ +
+ + + + + + +
+

Attributes

+ + +
+ + +
+ activated[R] +
+ +
+ + + +
+
+ +
+ + +
+ required_by[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + +
+ + new(a) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/resolver.rb, line 34
+34:       def initialize(a)
+35:         super
+36:         @required_by  = []
+37:         @activated    = []
+38:         @dependencies = nil
+39:         @specs        = {}
+40: 
+41:         ALL.each do |p|
+42:           @specs[p] = reverse.find { |s| s.match_platform(p) }
+43:         end
+44:       end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + activate_platform(platform) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/resolver.rb, line 68
+68:       def activate_platform(platform)
+69:         unless @activated.include?(platform)
+70:           @activated << platform
+71:           return __dependencies[platform] || []
+72:         end
+73:         []
+74:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + for?(platform) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/resolver.rb, line 88
+88:       def for?(platform)
+89:         @specs[platform]
+90:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + initialize_copy(o) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/resolver.rb, line 46
+46:       def initialize_copy(o)
+47:         super
+48:         @required_by = o.required_by.dup
+49:         @activated   = o.activated.dup
+50:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + name() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/resolver.rb, line 76
+76:       def name
+77:         @name ||= first.name
+78:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + source() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/resolver.rb, line 84
+84:       def source
+85:         @source ||= first.source
+86:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + to_s() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/resolver.rb, line 92
+92:       def to_s
+93:         "#{name} (#{version})"
+94:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + to_specs() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/resolver.rb, line 52
+52:       def to_specs
+53:         specs = {}
+54: 
+55:         @activated.each do |p|
+56:           if s = @specs[p]
+57:             platform = generic(Gem::Platform.new(s.platform))
+58:             next if specs[platform]
+59: 
+60:             lazy_spec = LazySpecification.new(name, version, platform, source)
+61:             lazy_spec.dependencies.replace s.dependencies
+62:             specs[platform] = lazy_spec
+63:           end
+64:         end
+65:         specs.values
+66:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + version() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/resolver.rb, line 80
+80:       def version
+81:         @version ||= first.version
+82:       end
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + __dependencies() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/resolver.rb, line 98
+ 98:       def __dependencies
+ 99:         @dependencies ||= begin
+100:           dependencies = {}
+101:           ALL.each do |p|
+102:             if spec = @specs[p]
+103:               dependencies[p] = []
+104:               spec.dependencies.each do |dep|
+105:                 next if dep.type == :development
+106:                 dependencies[p] << DepProxy.new(dep, p)
+107:               end
+108:             end
+109:           end
+110:           dependencies
+111:         end
+112:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Runtime.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Runtime.html new file mode 100644 index 00000000..71cb3be1 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Runtime.html @@ -0,0 +1,705 @@ + + + + + + + Class: Bundler::Runtime + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::Runtime

+ +
+ +
+ + + +
+

Constants

+
+ +
REGEXPS
+ +
+ + +
+
+ + + + + + + +
+

Public Instance Methods

+ + +
+ + +
+ + cache() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/runtime.rb, line 83
+83:     def cache
+84:       FileUtils.mkdir_p(cache_path)
+85: 
+86:       Bundler.ui.info "Updating .gem files in vendor/cache"
+87:       specs.each do |spec|
+88:         next if spec.name == 'bundler'
+89:         spec.source.cache(spec) if spec.source.respond_to?(:cache)
+90:       end
+91:       prune_cache unless Bundler.settings[:no_prune]
+92:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + dependencies_for(*groups) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/runtime.rb, line 73
+73:     def dependencies_for(*groups)
+74:       if groups.empty?
+75:         dependencies
+76:       else
+77:         dependencies.select { |d| (groups & d.groups).any? }
+78:       end
+79:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + prune_cache() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/runtime.rb, line 94
+ 94:     def prune_cache
+ 95:       FileUtils.mkdir_p(cache_path)
+ 96: 
+ 97:       resolve = @definition.resolve
+ 98:       cached  = Dir["#{cache_path}/*.gem"]
+ 99: 
+100:       cached = cached.delete_if do |path|
+101:         spec = Gem::Format.from_file_by_path(path).spec
+102: 
+103:         resolve.any? do |s|
+104:           s.name == spec.name && s.version == spec.version
+105:         end
+106:       end
+107: 
+108:       if cached.any?
+109:         Bundler.ui.info "Removing outdated .gem files from vendor/cache"
+110: 
+111:         cached.each do |path|
+112:           Bundler.ui.info "  * #{File.basename(path)}"
+113:           File.delete(path)
+114:         end
+115:       end
+116:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + require(*groups) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/runtime.rb, line 47
+47:     def require(*groups)
+48:       groups.map! { |g| g.to_sym }
+49:       groups = [:default] if groups.empty?
+50: 
+51:       @definition.dependencies.each do |dep|
+52:         # Skip the dependency if it is not in any of the requested
+53:         # groups
+54:         next unless ((dep.groups & groups).any? && dep.current_platform?)
+55: 
+56:         required_file = nil
+57: 
+58:         begin
+59:           # Loop through all the specified autorequires for the
+60:           # dependency. If there are none, use the dependency's name
+61:           # as the autorequire.
+62:           Array(dep.autorequire || dep.name).each do |file|
+63:             required_file = file
+64:             Kernel.require file
+65:           end
+66:         rescue LoadError => e
+67:           REGEXPS.find { |r| r =~ e.message }
+68:           raise if dep.autorequire || $1 != required_file
+69:         end
+70:       end
+71:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + setup(*groups) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/runtime.rb, line 7
+ 7:     def setup(*groups)
+ 8:       # Has to happen first
+ 9:       clean_load_path
+10: 
+11:       specs = groups.any? ? @definition.specs_for(groups) : requested_specs
+12: 
+13:       setup_environment
+14:       cripple_rubygems(specs)
+15: 
+16:       # Activate the specs
+17:       specs.each do |spec|
+18:         unless spec.loaded_from
+19:           raise GemNotFound, "#{spec.full_name} is missing. Run `bundle` to get it."
+20:         end
+21: 
+22:         if activated_spec = Gem.loaded_specs[spec.name] and activated_spec.version != spec.version
+23:           e = Gem::LoadError.new "You have already activated #{activated_spec.name} #{activated_spec.version}, "                                   "but your Gemfile requires #{spec.name} #{spec.version}. Consider using bundle exec."
+24:           e.name = spec.name
+25:           e.version_requirement = Gem::Requirement.new(spec.version.to_s)
+26:           raise e
+27:         end
+28: 
+29:         Gem.loaded_specs[spec.name] = spec
+30:         load_paths = spec.load_paths.reject {|path| $LOAD_PATH.include?(path)}
+31:         $LOAD_PATH.unshift(*load_paths)
+32:       end
+33: 
+34:       lock
+35: 
+36:       self
+37:     end
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + cache_path() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/runtime.rb, line 120
+120:     def cache_path
+121:       root.join("vendor/cache")
+122:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + setup_environment() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/runtime.rb, line 124
+124:     def setup_environment
+125:       begin
+126:         ENV["BUNDLE_BIN_PATH"] = Gem.bin_path("bundler", "bundle", VERSION)
+127:       rescue Gem::GemNotFoundException
+128:         ENV["BUNDLE_BIN_PATH"] = File.expand_path("../../../bin/bundle", __FILE__)
+129:       end
+130: 
+131:       # Set PATH
+132:       paths = (ENV["PATH"] || "").split(File::PATH_SEPARATOR)
+133:       paths.unshift "#{Bundler.bundle_path}/bin"
+134:       ENV["PATH"] = paths.uniq.join(File::PATH_SEPARATOR)
+135: 
+136:       # Set BUNDLE_GEMFILE
+137:       ENV["BUNDLE_GEMFILE"] = default_gemfile.to_s
+138: 
+139:       # Set RUBYOPT
+140:       rubyopt = [ENV["RUBYOPT"]].compact
+141:       if rubyopt.empty? || rubyopt.first !~ /-rbundler\/setup/
+142:         rubyopt.unshift "-rbundler/setup"
+143:         rubyopt.unshift "-I#{File.expand_path('../..', __FILE__)}"
+144:         ENV["RUBYOPT"] = rubyopt.join(' ')
+145:       end
+146:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Settings.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Settings.html new file mode 100644 index 00000000..64a0484a --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Settings.html @@ -0,0 +1,962 @@ + + + + + + + Class: Bundler::Settings + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::Settings

+ +
+ +
+ + + + + + + + + +
+

Public Class Methods

+ + +
+ + +
+ + new(root) + click to toggle source + +
+ +
+ + + + + +
+
+   # File lib/bundler/settings.rb, line 3
+3:     def initialize(root)
+4:       @root   = root
+5:       @local_config = File.exist?(local_config_file) ? YAML.load_file(local_config_file) : {}
+6:       @global_config = File.exist?(global_config_file) ? YAML.load_file(global_config_file) : {}
+7:     end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + [](key) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/settings.rb, line 9
+ 9:     def [](key)
+10:       key = key_for(key)
+11:       @local_config[key] || ENV[key] || @global_config[key]
+12:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + []=(key, value) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/settings.rb, line 14
+14:     def []=(key, value)
+15:       set_key(key, value, @local_config, local_config_file)
+16:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + all() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/settings.rb, line 26
+26:     def all
+27:       env_keys = ENV.keys.select { |k| k =~ /BUNDLE_.*/ }
+28:       keys = @global_config.keys | @local_config.keys | env_keys
+29: 
+30:       keys.map do |key|
+31:         key.sub(/^BUNDLE_/, '').gsub(/__/, ".").downcase
+32:       end
+33:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + allow_sudo?() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/settings.rb, line 86
+86:     def allow_sudo?
+87:       !@local_config.key?(key_for(:path))
+88:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + delete(key) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/settings.rb, line 18
+18:     def delete(key)
+19:       @local_config
+20:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + locations(key) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/settings.rb, line 35
+35:     def locations(key)
+36:       locations = {}
+37: 
+38:       locations[:local]  = @local_config[key] if @local_config.key?(key)
+39:       locations[:env]    = ENV[key] if ENV[key]
+40:       locations[:global] = @global_config[key] if @global_config.key?(key)
+41:       locations
+42:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + path() + click to toggle source + +
+ +
+ +

+@local_config[“BUNDLE_PATH“] should be prioritized over +ENV[“BUNDLE_PATH“] +

+ + + +
+
+    # File lib/bundler/settings.rb, line 75
+75:     def path
+76:       path = ENV[key_for(:path)] || @global_config[key_for(:path)]
+77:       return path if path && !@local_config.key?(key_for(:path))
+78: 
+79:       if path = self[:path]
+80:         "#{path}/#{Bundler.ruby_scope}"
+81:       else
+82:         Gem.dir
+83:       end
+84:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + pretty_values_for(exposed_key) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/settings.rb, line 44
+44:     def pretty_values_for(exposed_key)
+45:       key = key_for(exposed_key)
+46: 
+47:       locations = []
+48:       if @local_config.key?(key)
+49:         locations << "Set for your local app (#{local_config_file}): #{@local_config[key].inspect}"
+50:       end
+51: 
+52:       if value = ENV[key]
+53:         locations << "Set via $#{key_for(key)}: #{value.inspect}"
+54:       end
+55: 
+56:       if @global_config.key?(key)
+57:         locations << "Set for the current user (#{global_config_file}): #{@global_config[key].inspect}"
+58:       end
+59: 
+60:       return ["You have not configured a value for `#{exposed_key}`"] if locations.empty?
+61:       locations
+62:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + set_global(key, value) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/settings.rb, line 22
+22:     def set_global(key, value)
+23:       set_key(key, value, @global_config, global_config_file)
+24:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + without() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/settings.rb, line 70
+70:     def without
+71:       self[:without] ? self[:without].split(":").map { |w| w.to_sym } : []
+72:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + without=(array) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/settings.rb, line 64
+64:     def without=(array)
+65:       unless array.empty? && without.empty?
+66:         self[:without] = array.join(":")
+67:       end
+68:     end
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + global_config_file() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/settings.rb, line 108
+108:     def global_config_file
+109:       file = ENV["BUNDLE_CONFIG"] || File.join(Gem.user_home, ".bundle/config")
+110:       Pathname.new(file)
+111:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + key_for(key) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/settings.rb, line 91
+91:     def key_for(key)
+92:       key = key.to_s.sub(".", "__").upcase
+93:       "BUNDLE_#{key}"
+94:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + local_config_file() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/settings.rb, line 113
+113:     def local_config_file
+114:       Pathname.new("#{@root}/config")
+115:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + set_key(key, value, hash, file) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/settings.rb, line 96
+ 96:     def set_key(key, value, hash, file)
+ 97:       key = key_for(key)
+ 98: 
+ 99:       unless hash[key] == value
+100:         hash[key] = value
+101:         hash.delete(key) if value.nil?
+102:         FileUtils.mkdir_p(file.dirname)
+103:         File.open(file, "w") { |f| f.puts hash.to_yaml }
+104:       end
+105:       value
+106:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/SharedHelpers.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/SharedHelpers.html new file mode 100644 index 00000000..14edacb9 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/SharedHelpers.html @@ -0,0 +1,743 @@ + + + + + + + Module: Bundler::SharedHelpers + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + +
+

Namespace

+ +
+ + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::SharedHelpers

+ +
+ +
+ + + + + + +
+

Attributes

+ + +
+ + + + +
+ gem_loaded[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Instance Methods

+ + +
+ + +
+ + default_gemfile() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/shared_helpers.rb, line 19
+19:     def default_gemfile
+20:       gemfile = find_gemfile
+21:       gemfile or raise GemfileNotFound, "Could not locate Gemfile"
+22:       Pathname.new(gemfile)
+23:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + default_lockfile() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/shared_helpers.rb, line 25
+25:     def default_lockfile
+26:       Pathname.new("#{default_gemfile}.lock")
+27:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + in_bundle?() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/shared_helpers.rb, line 29
+29:     def in_bundle?
+30:       find_gemfile
+31:     end
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + clean_load_path() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/shared_helpers.rb, line 48
+48:     def clean_load_path
+49:       # handle 1.9 where system gems are always on the load path
+50:       if defined?(::Gem)
+51:         me = File.expand_path("../../", __FILE__)
+52:         $LOAD_PATH.reject! do |p|
+53:           next if File.expand_path(p).include?(me)
+54:           p != File.dirname(__FILE__) &&
+55:             Gem.path.any? { |gp| p.include?(gp) }
+56:         end
+57:         $LOAD_PATH.uniq!
+58:       end
+59:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + cripple_rubygems(specs) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/shared_helpers.rb, line 73
+ 73:     def cripple_rubygems(specs)
+ 74:       reverse_rubygems_kernel_mixin
+ 75: 
+ 76:       executables = specs.map { |s| s.executables }.flatten
+ 77:       Gem.source_index # ensure RubyGems is fully loaded
+ 78: 
+ 79:      ::Kernel.class_eval do
+ 80:         private
+ 81:         def gem(*) ; end
+ 82:       end
+ 83: 
+ 84:       ::Kernel.send(:define_method, :gem) do |dep, *reqs|
+ 85:         if executables.include? File.basename(caller.first.split(':').first)
+ 86:           return
+ 87:         end
+ 88:         opts = reqs.last.is_a?(Hash) ? reqs.pop : {}
+ 89: 
+ 90:         unless dep.respond_to?(:name) && dep.respond_to?(:requirement)
+ 91:           dep = Gem::Dependency.new(dep, reqs)
+ 92:         end
+ 93: 
+ 94:         spec = specs.find  { |s| s.name == dep.name }
+ 95: 
+ 96:         if spec.nil?
+ 97:           e = Gem::LoadError.new "#{dep.name} is not part of the bundle. Add it to Gemfile."
+ 98:           e.name = dep.name
+ 99:           e.version_requirement = dep.requirement
+100:           raise e
+101:         elsif dep !~ spec
+102:           e = Gem::LoadError.new "can't activate #{dep}, already activated #{spec.full_name}. "                                   "Make sure all dependencies are added to Gemfile."
+103:           e.name = dep.name
+104:           e.version_requirement = dep.requirement
+105:           raise e
+106:         end
+107: 
+108:         true
+109:       end
+110: 
+111:       # === Following hacks are to improve on the generated bin wrappers ===
+112: 
+113:       # Yeah, talk about a hack
+114:       source_index_class = (class << Gem::SourceIndex ; self ; end)
+115:       source_index_class.send(:define_method, :from_gems_in) do |*args|
+116:         source_index = Gem::SourceIndex.new
+117:         source_index.spec_dirs = *args
+118:         source_index.add_specs(*specs)
+119:         source_index
+120:       end
+121: 
+122:       # OMG more hacks
+123:       gem_class = (class << Gem ; self ; end)
+124:       gem_class.send(:define_method, :refresh) { }
+125:       gem_class.send(:define_method, :bin_path) do |name, *args|
+126:         exec_name, *reqs = args
+127: 
+128:         if exec_name == 'bundle'
+129:           return ENV['BUNDLE_BIN_PATH']
+130:         end
+131: 
+132:         spec = nil
+133: 
+134:         if exec_name
+135:           spec = specs.find { |s| s.executables.include?(exec_name) }
+136:           spec or raise Gem::Exception, "can't find executable #{exec_name}"
+137:         else
+138:           spec = specs.find  { |s| s.name == name }
+139:           exec_name = spec.default_executable or raise Gem::Exception, "no default executable for #{spec.full_name}"
+140:         end
+141: 
+142:         gem_bin = File.join(spec.full_gem_path, spec.bindir, exec_name)
+143:         gem_from_path_bin = File.join(File.dirname(spec.loaded_from), spec.bindir, exec_name)
+144:         File.exist?(gem_bin) ? gem_bin : gem_from_path_bin
+145:       end
+146: 
+147:       Gem.clear_paths
+148:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + find_gemfile() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/shared_helpers.rb, line 35
+35:     def find_gemfile
+36:       return ENV['BUNDLE_GEMFILE'] if ENV['BUNDLE_GEMFILE']
+37: 
+38:       previous = nil
+39:       current  = File.expand_path(Dir.pwd)
+40: 
+41:       until !File.directory?(current) || current == previous
+42:         filename = File.join(current, 'Gemfile')
+43:         return filename if File.file?(filename)
+44:         current, previous = File.expand_path("..", current), current
+45:       end
+46:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + gem(*) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/shared_helpers.rb, line 81
+81:         def gem(*) ; end
+
+ +
+ + + + +
+ + +
+ + +
+ + reverse_rubygems_kernel_mixin() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/shared_helpers.rb, line 61
+61:     def reverse_rubygems_kernel_mixin
+62:       # Disable rubygems' gem activation system
+63:       ::Kernel.class_eval do
+64:         if private_method_defined?(:gem_original_require)
+65:           alias rubygems_require require
+66:           alias require gem_original_require
+67:         end
+68: 
+69:         undef gem
+70:       end
+71:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/SharedHelpers/Gem.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/SharedHelpers/Gem.html new file mode 100644 index 00000000..19f48634 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/SharedHelpers/Gem.html @@ -0,0 +1,303 @@ + + + + + + + Module: Bundler::SharedHelpers::Gem + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::SharedHelpers::Gem

+ +
+ +
+ + + + + + + + + + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/SharedHelpers/Gem/SourceIndex.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/SharedHelpers/Gem/SourceIndex.html new file mode 100644 index 00000000..ae47becb --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/SharedHelpers/Gem/SourceIndex.html @@ -0,0 +1,303 @@ + + + + + + + Module: Bundler::SharedHelpers::Gem::SourceIndex + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::SharedHelpers::Gem::SourceIndex

+ +
+ +
+ + + + + + + + + + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Source.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Source.html new file mode 100644 index 00000000..3bdb862c --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Source.html @@ -0,0 +1,316 @@ + + + + + + + Module: Bundler::Source + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + + + + +
+

Namespace

+ +
+ + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::Source

+ +
+ +
+ + + + + + + + + + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Source/Git.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Source/Git.html new file mode 100644 index 00000000..3d315572 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Source/Git.html @@ -0,0 +1,1399 @@ + + + + + + + Class: Bundler::Source::Git + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::Source::Git

+ +
+ +
+ + + + + + +
+

Attributes

+ + +
+ + +
+ uri[R] +
+ +
+ + + +
+
+ +
+ + +
+ ref[R] +
+ +
+ + + +
+
+ +
+ + +
+ options[R] +
+ +
+ + + +
+
+ +
+ + +
+ submodules[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + +
+ + from_lock(options) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 468
+468:       def self.from_lock(options)
+469:         new(options.merge("uri" => options.delete("remote")))
+470:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + new(options) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 459
+459:       def initialize(options)
+460:         super
+461:         @uri        = options["uri"]
+462:         @ref        = options["ref"] || options["branch"] || options["tag"] || 'master'
+463:         @revision   = options["revision"]
+464:         @submodules = options["submodules"]
+465:         @update     = false
+466:       end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + ==(o) + click to toggle source + +
+ +
+ + + + + +
+ + + + +
+ Alias for: eql? +
+ +
+ + +
+ + +
+ + eql?(o) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 483
+483:       def eql?(o)
+484:         Git === o            &&
+485:         uri == o.uri         &&
+486:         ref == o.ref         &&
+487:         name == o.name       &&
+488:         version == o.version &&
+489:         submodules == o.submodules
+490:       end
+
+ +
+ + +
+ Also aliased as: == +
+ + + +
+ + +
+ + +
+ + install(spec) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 530
+530:       def install(spec)
+531:         Bundler.ui.info "Using #{spec.name} (#{spec.version}) from #{to_s} "
+532: 
+533:         unless @installed
+534:           Bundler.ui.debug "  * Checking out revision: #{ref}"
+535:           checkout if allow_git_ops?
+536:           @installed = true
+537:         end
+538:         generate_bin(spec)
+539:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + load_spec_files() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 541
+541:       def load_spec_files
+542:         super
+543:       rescue PathError, GitError
+544:         raise GitError, "#{to_s} is not checked out. Please run `bundle install`"
+545:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + name() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 499
+499:       def name
+500:         File.basename(@uri, '.git')
+501:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + path() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 503
+503:       def path
+504:         @install_path ||= begin
+505:           git_scope = "#{base_name}-#{shortref_for_path(revision)}"
+506: 
+507:           if Bundler.requires_sudo?
+508:             Bundler.user_bundle_path.join(Bundler.ruby_scope).join(git_scope)
+509:           else
+510:             Bundler.install_path.join(git_scope)
+511:           end
+512:         end
+513:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + specs() + click to toggle source + +
+ +
+ +

+TODO: actually cache git specs +

+ + + +
+
+     # File lib/bundler/source.rb, line 520
+520:       def specs
+521:         if allow_git_ops? && !@update
+522:         # Start by making sure the git cache is up to date
+523:           cache
+524:           checkout
+525:           @update = true
+526:         end
+527:         local_specs
+528:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + to_lock() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 472
+472:       def to_lock
+473:         out = "GIT\n"
+474:         out << "  remote: #{@uri}\n"
+475:         out << "  revision: #{revision}\n"
+476:         %(ref branch tag submodules).each do |opt|
+477:           out << "  #{opt}: #{options[opt]}\n" if options[opt]
+478:         end
+479:         out << "  glob: #{@glob}\n" unless @glob == DEFAULT_GLOB
+480:         out << "  specs:\n"
+481:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + to_s() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 494
+494:       def to_s
+495:         ref = @options["ref"] ? shortref_for_display(@options["ref"]) : @ref
+496:         "#{@uri} (at #{ref})"
+497:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + unlock!() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 515
+515:       def unlock!
+516:         @revision = nil
+517:       end
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + allow_git_ops?() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 636
+636:       def allow_git_ops?
+637:         @allow_remote || @allow_cached
+638:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + base_name() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 564
+564:       def base_name
+565:         File.basename(uri.sub(%{^(\w+://)?([^/:]+:)},''), ".git")
+566:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + cache() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 600
+600:       def cache
+601:         if cached?
+602:           return if has_revision_cached?
+603:           Bundler.ui.info "Updating #{uri}"
+604:           in_cache { git %fetch --force --quiet "#{uri}" refs/heads/*:refs/heads/*| }
+605:         else
+606:           Bundler.ui.info "Fetching #{uri}"
+607:           FileUtils.mkdir_p(cache_path.dirname)
+608:           git %clone "#{uri}" "#{cache_path}" --bare --no-hardlinks|
+609:         end
+610:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + cache_path() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 588
+588:       def cache_path
+589:         @cache_path ||= begin
+590:           git_scope = "#{base_name}-#{uri_hash}"
+591: 
+592:           if Bundler.requires_sudo?
+593:             Bundler.user_bundle_path.join("cache/git", git_scope)
+594:           else
+595:             Bundler.cache.join("git", git_scope)
+596:           end
+597:         end
+598:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + cached?() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 650
+650:       def cached?
+651:         cache_path.exist?
+652:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + checkout() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 612
+612:       def checkout
+613:         unless File.exist?(path.join(".git"))
+614:           FileUtils.mkdir_p(path.dirname)
+615:           git %clone --no-checkout "#{cache_path}" "#{path}"|
+616:         end
+617:         Dir.chdir(path) do
+618:           git %fetch --force --quiet "#{cache_path}"|
+619:           git "reset --hard #{revision}"
+620: 
+621:           if @submodules
+622:             git "submodule init"
+623:             git "submodule update"
+624:           end
+625:         end
+626:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + git(command) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 549
+549:       def git(command)
+550:         if allow_git_ops?
+551:           out = %{git #{command}}
+552: 
+553:           if $? != 0
+554:             raise GitError, "An error has occurred in git when running `git #{command}. Cannot complete bundling."
+555:           end
+556:           out
+557:         else
+558:           raise GitError, "Bundler is trying to run a `git #{command}` at runtime. You probably need to run `bundle install`. However, "                            "this error message could probably be more useful. Please submit a ticket at http://github.com/carlhuda/bundler/issues "                            "with steps to reproduce as well as the following\n\nCALLER: #{caller.join("\n")}"
+559:         end
+560:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + has_revision_cached?() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 628
+628:       def has_revision_cached?
+629:         return unless @revision
+630:         in_cache { git %cat-file -e #{@revision}| }
+631:         true
+632:       rescue GitError
+633:         false
+634:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + in_cache(&blk) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 654
+654:       def in_cache(&blk)
+655:         cache unless cached?
+656:         Dir.chdir(cache_path, &blk)
+657:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + revision() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 640
+640:       def revision
+641:         @revision ||= begin
+642:           if allow_git_ops?
+643:             in_cache { git("rev-parse #{ref}").strip }
+644:           else
+645:             raise GitError, "The git source #{uri} is not yet checked out. Please run `bundle install` before trying to start your application"
+646:           end
+647:         end
+648:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + shortref_for_display(ref) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 568
+568:       def shortref_for_display(ref)
+569:         ref[0..6]
+570:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + shortref_for_path(ref) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 572
+572:       def shortref_for_path(ref)
+573:         ref[0..11]
+574:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + uri_hash() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 576
+576:       def uri_hash
+577:         if uri =~ %{^\w+://(\w+@)?}
+578:           # Downcase the domain component of the URI
+579:           # and strip off a trailing slash, if one is present
+580:           input = URI.parse(uri).normalize.to_s.sub(%{/$},'')
+581:         else
+582:           # If there is no URI scheme, assume it is an ssh/git URI
+583:           input = uri
+584:         end
+585:         Digest::SHA1.hexdigest(input)
+586:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Source/Path.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Source/Path.html new file mode 100644 index 00000000..7998905d --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Source/Path.html @@ -0,0 +1,1124 @@ + + + + + + + Class: Bundler::Source::Path + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + +
+

Namespace

+ +
+ + + + +
+

Methods

+ +
+ + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::Source::Path

+ +
+ +
+ + + +
+

Constants

+
+ +
DEFAULT_GLOB
+ +
+ + +
+
+ + + + +
+

Attributes

+ + +
+ + +
+ path[R] +
+ +
+ + + +
+
+ +
+ + +
+ options[R] +
+ +
+ + + +
+
+ +
+ + + + +
+ name[W] +
+ +
+ +

+Kind of a hack, but needed for the lock file parser +

+ +
+
+ +
+ + + + +
+ version[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + +
+ + from_lock(options) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 295
+295:       def self.from_lock(options)
+296:         new(options.merge("path" => options.delete("remote")))
+297:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + new(options) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 272
+272:       def initialize(options)
+273:         @options = options
+274:         @glob = options["glob"] || DEFAULT_GLOB
+275: 
+276:         @allow_cached = false
+277:         @allow_remote = false
+278: 
+279:         if options["path"]
+280:           @path = Pathname.new(options["path"]).expand_path(Bundler.root)
+281:         end
+282: 
+283:         @name = options["name"]
+284:         @version = options["version"]
+285:       end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + ==(o) + click to toggle source + +
+ +
+ + + + + +
+ + + + +
+ Alias for: eql? +
+ +
+ + +
+ + +
+ + cache(spec) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 403
+403:       def cache(spec)
+404:         unless path.to_s.index(Bundler.root.to_s) == 0
+405:           Bundler.ui.warn "  * #{spec.name} at `#{path}` will not be cached."
+406:         end
+407:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + cached!() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 291
+291:       def cached!
+292:         @allow_cached = true
+293:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + eql?(o) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 314
+314:       def eql?(o)
+315:         o.instance_of?(Path) &&
+316:         path == o.path &&
+317:         name == o.name &&
+318:         version == o.version
+319:       end
+
+ +
+ + +
+ Also aliased as: == +
+ + + +
+ + +
+ + +
+ + hash() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 310
+310:       def hash
+311:         self.class.hash
+312:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + install(spec) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 391
+391:       def install(spec)
+392:         Bundler.ui.info "Using #{spec.name} (#{spec.version}) from #{to_s} "
+393:         # Let's be honest, when we're working from a path, we can't
+394:         # really expect native extensions to work because the whole point
+395:         # is to just be able to modify what's in that path and go. So, let's
+396:         # not put ourselves through the pain of actually trying to generate
+397:         # the full gem.
+398:         Installer.new(spec).generate_bin
+399:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + load_spec_files() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 327
+327:       def load_spec_files
+328:         index = Index.new
+329: 
+330:         if File.directory?(path)
+331:           Dir["#{path}/#{@glob}"].each do |file|
+332:             spec = Bundler.load_gemspec(file)
+333:             if spec
+334:               spec.loaded_from = file.to_s
+335:               spec.source = self
+336:               index << spec
+337:             end
+338:           end
+339: 
+340:           if index.empty? && @name && @version
+341:             index << Gem::Specification.new do |s|
+342:               s.name     = @name
+343:               s.source   = self
+344:               s.version  = Gem::Version.new(@version)
+345:               s.platform = Gem::Platform::RUBY
+346:               s.summary  = "Fake gemspec for #{@name}"
+347:               s.relative_loaded_from = "#{@name}.gemspec"
+348:               if path.join("bin").exist?
+349:                 binaries = path.join("bin").children.map{|c| c.basename.to_s }
+350:                 s.executables = binaries
+351:               end
+352:             end
+353:           end
+354:         else
+355:           raise PathError, "The path `#{path}` does not exist."
+356:         end
+357: 
+358:         index
+359:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + local_specs() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 361
+361:       def local_specs
+362:         @local_specs ||= load_spec_files
+363:       end
+
+ +
+ + +
+ Also aliased as: specs +
+ + + +
+ + +
+ + +
+ + name() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 323
+323:       def name
+324:         File.basename(@path.to_s)
+325:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + remote!() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 287
+287:       def remote!
+288:         @allow_remote = true
+289:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + specs() + click to toggle source + +
+ +
+ + + + + +
+ + + + +
+ Alias for: local_specs +
+ +
+ + +
+ + +
+ + to_lock() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 299
+299:       def to_lock
+300:         out = "PATH\n"
+301:         out << "  remote: #{relative_path}\n"
+302:         out << "  glob: #{@glob}\n" unless @glob == DEFAULT_GLOB
+303:         out << "  specs:\n"
+304:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + to_s() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 306
+306:       def to_s
+307:         "source at #{@path}"
+308:       end
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + generate_bin(spec) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 419
+419:       def generate_bin(spec)
+420:         gem_dir  = Pathname.new(spec.full_gem_path)
+421: 
+422:         # Some gem authors put absolute paths in their gemspec
+423:         # and we have to save them from themselves
+424:         spec.files = spec.files.map do |p|
+425:           next if File.directory?(p)
+426:           begin
+427:             Pathname.new(p).relative_path_from(gem_dir).to_s
+428:           rescue ArgumentError
+429:             p
+430:           end
+431:         end.compact
+432: 
+433:         gem_file = Dir.chdir(gem_dir){ Gem::Builder.new(spec).build }
+434: 
+435:         installer = Installer.new(spec, :env_shebang => false)
+436:         installer.build_extensions
+437:         installer.generate_bin
+438:       rescue Gem::InvalidSpecificationException => e
+439:         Bundler.ui.warn "\n#{spec.name} at #{spec.full_gem_path} did not have a valid gemspec.\n"                          "This prevents bundler from installing bins or native extensions, but "                          "that may not affect its functionality."
+440: 
+441:         if !spec.extensions.empty? && !spec.email.empty?
+442:           Bundler.ui.warn "If you need to use this package without installing it from a gem "                            "repository, please contact #{spec.email} and ask them "                            "to modify their .gemspec so it can work with `gem build`."
+443:         end
+444: 
+445:         Bundler.ui.warn "The validation message from Rubygems was:\n  #{e.message}"
+446:       ensure
+447:         Dir.chdir(gem_dir){ FileUtils.rm_rf(gem_file) if gem_file && File.exist?(gem_file) }
+448:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + relative_path() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 411
+411:       def relative_path
+412:         if path.to_s.include?(Bundler.root.to_s)
+413:           return path.relative_path_from(Bundler.root)
+414:         end
+415: 
+416:         path
+417:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Source/Path/Installer.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Source/Path/Installer.html new file mode 100644 index 00000000..e3389922 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Source/Path/Installer.html @@ -0,0 +1,417 @@ + + + + + + + Class: Bundler::Source::Path::Installer + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + +
+

Methods

+ +
+ + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::Source::Path::Installer

+ +
+ +
+ + + + + + + + + +
+

Public Class Methods

+ + +
+ + +
+ + new(spec, options = {}) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 366
+366:         def initialize(spec, options = {})
+367:           @spec              = spec
+368:           @bin_dir           = Bundler.requires_sudo? ? "#{Bundler.tmp}/bin" : "#{Gem.dir}/bin"
+369:           @gem_dir           = spec.full_gem_path
+370:           @wrappers          = options[:wrappers] || true
+371:           @env_shebang       = options[:env_shebang] || true
+372:           @format_executable = options[:format_executable] || false
+373:         end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + generate_bin() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 375
+375:         def generate_bin
+376:           return if spec.executables.nil? || spec.executables.empty?
+377: 
+378:           if Bundler.requires_sudo?
+379:             FileUtils.mkdir_p("#{Bundler.tmp}/bin") unless File.exist?("#{Bundler.tmp}/bin")
+380:           end
+381:           super
+382:           if Bundler.requires_sudo?
+383:             Bundler.mkdir_p "#{Gem.dir}/bin"
+384:             spec.executables.each do |exe|
+385:               Bundler.sudo "cp -R #{Bundler.tmp}/bin/#{exe} #{Gem.dir}/bin/"
+386:             end
+387:           end
+388:         end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Source/Rubygems.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Source/Rubygems.html new file mode 100644 index 00000000..87903960 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Source/Rubygems.html @@ -0,0 +1,1442 @@ + + + + + + + Class: Bundler::Source::Rubygems + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::Source::Rubygems

+ +
+

+TODO: Refactor this class +

+ +
+ + + + + + +
+

Attributes

+ + +
+ + +
+ remotes[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + +
+ + from_lock(options) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/source.rb, line 52
+52:       def self.from_lock(options)
+53:         s = new(options)
+54:         Array(options["remote"]).each { |r| s.add_remote(r) }
+55:         s
+56:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + new(options = {}) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/source.rb, line 14
+14:       def initialize(options = {})
+15:         @options = options
+16:         @remotes = (options["remotes"] || []).map { |r| normalize_uri(r) }
+17:         @allow_remote = false
+18:         @allow_cached = false
+19:         # Hardcode the paths for now
+20:         @caches = [ Bundler.app_cache ] + Gem.path.map { |p| File.expand_path("#{p}/cache") }
+21:         @spec_fetch_map = {}
+22:       end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + ==(o) + click to toggle source + +
+ +
+ + + + + +
+ + + + +
+ Alias for: eql? +
+ +
+ + +
+ + +
+ + add_remote(source) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 128
+128:       def add_remote(source)
+129:         @remotes << normalize_uri(source)
+130:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + cache(spec) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 120
+120:       def cache(spec)
+121:         cached_path = cached_gem(spec)
+122:         raise GemNotFound, "Missing gem file '#{spec.full_name}.gem'." unless cached_path
+123:         return if File.dirname(cached_path) == Bundler.app_cache.to_s
+124:         Bundler.ui.info "  * #{File.basename(cached_path)}"
+125:         FileUtils.cp(cached_path, Bundler.app_cache)
+126:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + cached!() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/source.rb, line 28
+28:       def cached!
+29:         @allow_cached = true
+30:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + eql?(o) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/source.rb, line 36
+36:       def eql?(o)
+37:         Rubygems === o
+38:       end
+
+ +
+ + +
+ Also aliased as: == +
+ + + +
+ + +
+ + +
+ + fetch(spec) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/source.rb, line 73
+73:       def fetch(spec)
+74:         spec, uri = @spec_fetch_map[spec.full_name]
+75:         if spec
+76:           path = download_gem_from_uri(spec, uri)
+77:           s = Gem::Format.from_file_by_path(path).spec
+78:           spec.__swap__(s)
+79:         end
+80:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + hash() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/source.rb, line 32
+32:       def hash
+33:         Rubygems.hash
+34:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + install(spec) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 82
+ 82:       def install(spec)
+ 83:         path = cached_gem(spec)
+ 84: 
+ 85:         if installed_specs[spec].any?
+ 86:           Bundler.ui.info "Using #{spec.name} (#{spec.version}) "
+ 87:           return
+ 88:         end
+ 89: 
+ 90:         Bundler.ui.info "Installing #{spec.name} (#{spec.version}) "
+ 91: 
+ 92:         install_path = Bundler.requires_sudo? ? Bundler.tmp : Gem.dir
+ 93:         options = { :install_dir         => install_path,
+ 94:                     :ignore_dependencies => true,
+ 95:                     :wrappers            => true,
+ 96:                     :env_shebang         => true }
+ 97:         options.merge!(:bin_dir => "#{install_path}/bin") unless spec.executables.nil? || spec.executables.empty?
+ 98: 
+ 99:         installer = Gem::Installer.new path, options
+100:         installer.install
+101: 
+102:         # SUDO HAX
+103:         if Bundler.requires_sudo?
+104:           sudo "mkdir -p #{Gem.dir}/gems #{Gem.dir}/specifications"
+105:           sudo "cp -R #{Bundler.tmp}/gems/#{spec.full_name} #{Gem.dir}/gems/"
+106:           sudo "cp -R #{Bundler.tmp}/specifications/#{spec.full_name}.gemspec #{Gem.dir}/specifications/"
+107:           spec.executables.each do |exe|
+108:             sudo "mkdir -p #{Gem.bindir}"
+109:             sudo "cp -R #{Bundler.tmp}/bin/#{exe} #{Gem.bindir}"
+110:           end
+111:         end
+112: 
+113:         spec.loaded_from = "#{Gem.dir}/specifications/#{spec.full_name}.gemspec"
+114:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + merge_remotes(source) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 132
+132:       def merge_remotes(source)
+133:         @remotes = []
+134:         source.remotes.each do |r|
+135:           add_remote r.to_s
+136:         end
+137:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + name() + click to toggle source + +
+ +
+ +

+Not really needed, but it seems good to implement this method for interface +consistency. Source name is mostly used to +identify Path & Git +sources +

+ + + +
+
+    # File lib/bundler/source.rb, line 44
+44:       def name
+45:         ":gems"
+46:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + options() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/source.rb, line 48
+48:       def options
+49:         { "remotes" => @remotes.map { |r| r.to_s } }
+50:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + remote!() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/source.rb, line 24
+24:       def remote!
+25:         @allow_remote = true
+26:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + specs() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/source.rb, line 69
+69:       def specs
+70:         @specs ||= fetch_specs
+71:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + sudo(str) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 116
+116:       def sudo(str)
+117:         Bundler.sudo(str)
+118:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + to_lock() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/source.rb, line 58
+58:       def to_lock
+59:         out = "GEM\n"
+60:         out << remotes.map {|r| "  remote: #{r}\n" }.join
+61:         out << "  specs:\n"
+62:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + to_s() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/source.rb, line 64
+64:       def to_s
+65:         remotes = self.remotes.map { |r| r.to_s }.join(', ')
+66:         "rubygems repository #{remotes}"
+67:       end
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + cached_gem(spec) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 141
+141:       def cached_gem(spec)
+142:         possibilities = @caches.map { |p| "#{p}/#{spec.full_name}.gem" }
+143:         possibilities.find { |p| File.exist?(p) }
+144:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + cached_specs() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 192
+192:       def cached_specs
+193:         @cached_specs ||= begin
+194:           idx = Index.new
+195:           @caches.each do |path|
+196:             Dir["#{path}/*.gem"].each do |gemfile|
+197:               next if name == 'bundler'
+198:               s = Gem::Format.from_file_by_path(gemfile).spec
+199:               s.source = self
+200:               idx << s
+201:             end
+202:           end
+203:           idx
+204:         end
+205:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + download_gem_from_uri(spec, uri) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 246
+246:       def download_gem_from_uri(spec, uri)
+247:         spec.fetch_platform
+248: 
+249:         download_path = Bundler.requires_sudo? ? Bundler.tmp : Gem.dir
+250:         gem_path = "#{Gem.dir}/cache/#{spec.full_name}.gem"
+251: 
+252:         FileUtils.mkdir_p("#{download_path}/cache")
+253:         Gem::RemoteFetcher.fetcher.download(spec, uri, download_path)
+254: 
+255:         if Bundler.requires_sudo?
+256:           sudo "mkdir -p #{Gem.dir}/cache"
+257:           sudo "mv #{Bundler.tmp}/cache/#{spec.full_name}.gem #{gem_path}"
+258:         end
+259: 
+260:         gem_path
+261:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + fetch_all_remote_specs(&blk) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 231
+231:       def fetch_all_remote_specs(&blk)
+232:         begin
+233:           # Fetch all specs, minus prerelease specs
+234:           Gem::SpecFetcher.new.list(true, false).each(&blk)
+235:           # Then fetch the prerelease specs
+236:           begin
+237:             Gem::SpecFetcher.new.list(false, true).each(&blk)
+238:           rescue Gem::RemoteFetcher::FetchError
+239:             Bundler.ui.warn "Could not fetch prerelease specs from #{self}"
+240:           end
+241:         rescue Gem::RemoteFetcher::FetchError
+242:           Bundler.ui.warn "Could not reach #{self}"
+243:         end
+244:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + fetch_specs() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 154
+154:       def fetch_specs
+155:         Index.build do |idx|
+156:           idx.use installed_specs
+157:           idx.use cached_specs if @allow_cached || @allow_remote
+158:           idx.use remote_specs if @allow_remote
+159:         end
+160:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + installed_specs() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 162
+162:       def installed_specs
+163:         @installed_specs ||= begin
+164:           idx = Index.new
+165:           have_bundler = false
+166:           Gem::SourceIndex.from_installed_gems.to_a.reverse.each do |dont_use_this_var, spec|
+167:             next if spec.name == 'bundler' && spec.version.to_s != VERSION
+168:             have_bundler = true if spec.name == 'bundler'
+169:             spec.source = self
+170:             idx << spec
+171:           end
+172: 
+173:           # Always have bundler locally
+174:           unless have_bundler
+175:            # We're running bundler directly from the source
+176:            # so, let's create a fake gemspec for it (it's a path)
+177:            # gemspec
+178:            bundler = Gem::Specification.new do |s|
+179:              s.name     = 'bundler'
+180:              s.version  = VERSION
+181:              s.platform = Gem::Platform::RUBY
+182:              s.source   = self
+183:              # TODO: Remove this
+184:              s.loaded_from = 'w0t'
+185:            end
+186:            idx << bundler
+187:           end
+188:           idx
+189:         end
+190:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + normalize_uri(uri) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 146
+146:       def normalize_uri(uri)
+147:         uri = uri.to_s
+148:         uri = "#{uri}/" unless uri =~ %/$'
+149:         uri = URI(uri)
+150:         raise ArgumentError, "The source must be an absolute URI" unless uri.absolute?
+151:         uri
+152:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + remote_specs() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 207
+207:       def remote_specs
+208:         @remote_specs ||= begin
+209:           idx     = Index.new
+210:           old     = Gem.sources
+211: 
+212:           remotes.each do |uri|
+213:             Bundler.ui.info "Fetching source index for #{uri}"
+214:             Gem.sources = ["#{uri}"]
+215:             fetch_all_remote_specs do |n,v|
+216:               v.each do |name, version, platform|
+217:                 next if name == 'bundler'
+218:                 spec = RemoteSpecification.new(name, version, platform, uri)
+219:                 spec.source = self
+220:                 @spec_fetch_map[spec.full_name] = [spec, uri]
+221:                 idx << spec
+222:               end
+223:             end
+224:           end
+225:           idx
+226:         ensure
+227:           Gem.sources = old
+228:         end
+229:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/SpecSet.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/SpecSet.html new file mode 100644 index 00000000..f250de89 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/SpecSet.html @@ -0,0 +1,955 @@ + + + + + + + Class: Bundler::SpecSet + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::SpecSet

+ +
+ +
+ + + + + + + + + +
+

Public Class Methods

+ + +
+ + +
+ + new(specs) + click to toggle source + +
+ +
+ + + + + +
+
+   # File lib/bundler/spec_set.rb, line 7
+7:     def initialize(specs)
+8:       @specs = specs.sort_by { |s| s.name }
+9:     end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + [](key) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/spec_set.rb, line 59
+59:     def [](key)
+60:       key = key.name if key.respond_to?(:name)
+61:       lookup[key].reverse
+62:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + []=(key, value) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/spec_set.rb, line 64
+64:     def []=(key, value)
+65:       @specs << value
+66:       @lookup = nil
+67:       @sorted = nil
+68:       value
+69:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + each() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/spec_set.rb, line 11
+11:     def each
+12:       sorted.each { |s| yield s }
+13:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + for(dependencies, skip = [], check = false, match_current_platform = false) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/spec_set.rb, line 19
+19:     def for(dependencies, skip = [], check = false, match_current_platform = false)
+20:       handled, deps, specs = {}, dependencies.dup, []
+21:       skip << 'bundler'
+22: 
+23:       until deps.empty?
+24:         dep = deps.shift
+25:         next if handled[dep] || skip.include?(dep.name)
+26: 
+27:         spec = lookup[dep.name].find do |s|
+28:           match_current_platform ?
+29:             Gem::Platform.match(s.platform) :
+30:             s.match_platform(dep.__platform)
+31:         end
+32: 
+33:         handled[dep] = true
+34: 
+35:         if spec
+36:           specs << spec
+37: 
+38:           spec.dependencies.each do |d|
+39:             next if d.type == :development
+40:             d = DepProxy.new(d, dep.__platform) unless match_current_platform
+41:             deps << d
+42:           end
+43:         elsif check
+44:           return false
+45:         end
+46:       end
+47: 
+48:       if spec = lookup['bundler'].first
+49:         specs << spec
+50:       end
+51: 
+52:       check ? true : SpecSet.new(specs)
+53:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + length() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/spec_set.rb, line 15
+15:     def length
+16:       @specs.length
+17:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + materialize(deps, missing_specs = nil) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/spec_set.rb, line 79
+79:     def materialize(deps, missing_specs = nil)
+80:       materialized = self.for(deps, [], false, true).to_a
+81:       materialized.map! do |s|
+82:         next s unless s.is_a?(LazySpecification)
+83:         spec = s.__materialize__
+84:         if missing_specs
+85:           missing_specs << s unless spec
+86:         else
+87:           raise GemNotFound, "Could not find #{s.full_name} in any of the sources" unless spec
+88:         end
+89:         spec if spec
+90:       end
+91:       SpecSet.new(materialized.compact)
+92:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + merge(set) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/spec_set.rb, line 94
+ 94:     def merge(set)
+ 95:       arr = sorted.dup
+ 96:       set.each do |s|
+ 97:         next if arr.any? { |s2| s2.name == s.name && s2.version == s.version && s2.platform == s.platform }
+ 98:         arr << s
+ 99:       end
+100:       SpecSet.new(arr)
+101:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + to_a() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/spec_set.rb, line 71
+71:     def to_a
+72:       sorted.dup
+73:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + to_hash() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/spec_set.rb, line 75
+75:     def to_hash
+76:       lookup.dup
+77:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + valid_for?(deps) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/spec_set.rb, line 55
+55:     def valid_for?(deps)
+56:       self.for(deps, [], true)
+57:     end
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + lookup() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/spec_set.rb, line 110
+110:     def lookup
+111:       @lookup ||= begin
+112:         lookup = Hash.new { |h,k| h[k] = [] }
+113:         specs = @specs.sort_by do |s|
+114:           s.platform.to_s == 'ruby' ? "\00"" : s.platform.to_s
+115:         end
+116:         specs.reverse_each do |s|
+117:           lookup[s.name] << s
+118:         end
+119:         lookup
+120:       end
+121:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + sorted() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/spec_set.rb, line 105
+105:     def sorted
+106:       rake = @specs.find { |s| s.name == 'rake' }
+107:       @sorted ||= ([rake] + tsort).compact.uniq
+108:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + tsort_each_child(s) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/spec_set.rb, line 127
+127:     def tsort_each_child(s)
+128:       s.dependencies.sort_by { |d| d.name }.each do |d|
+129:         next if d.type == :development
+130:         lookup[d.name].each { |s2| yield s2 }
+131:       end
+132:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + tsort_each_node() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/spec_set.rb, line 123
+123:     def tsort_each_node
+124:       @specs.each { |s| yield s }
+125:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/UI.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/UI.html new file mode 100644 index 00000000..5c1e9857 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/UI.html @@ -0,0 +1,474 @@ + + + + + + + Class: Bundler::UI + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + +
+

Namespace

+ +
+ + + + +
+

Methods

+ +
+ + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::UI

+ +
+ +
+ + + + + + + + + +
+

Public Instance Methods

+ + +
+ + +
+ + confirm(message) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/ui.rb, line 12
+12:     def confirm(message)
+13:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + error(message) + click to toggle source + +
+ +
+ + + + + +
+
+   # File lib/bundler/ui.rb, line 6
+6:     def error(message)
+7:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + info(message) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/ui.rb, line 9
+ 9:     def info(message)
+10:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + warn(message) + click to toggle source + +
+ +
+ + + + + +
+
+   # File lib/bundler/ui.rb, line 3
+3:     def warn(message)
+4:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/UI/RGProxy.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/UI/RGProxy.html new file mode 100644 index 00000000..070bd98a --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/UI/RGProxy.html @@ -0,0 +1,405 @@ + + + + + + + Class: Bundler::UI::RGProxy + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + +
+

Methods

+ +
+ + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::UI::RGProxy

+ +
+ +
+ + + + + + + + + +
+

Public Class Methods

+ + +
+ + +
+ + new(ui) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/ui.rb, line 47
+47:       def initialize(ui)
+48:         @ui = ui
+49:       end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + say(message) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/ui.rb, line 51
+51:       def say(message)
+52:         if message =~ /native extensions/
+53:           @ui.info "with native extensions "
+54:         else
+55:           @ui.debug(message)
+56:         end
+57:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/UI/Shell.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/UI/Shell.html new file mode 100644 index 00000000..99751622 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/UI/Shell.html @@ -0,0 +1,582 @@ + + + + + + + Class: Bundler::UI::Shell + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + +
+

Methods

+ +
+ + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::UI::Shell

+ +
+ +
+ + + + + + + + + +
+

Public Class Methods

+ + +
+ + +
+ + new(shell) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/ui.rb, line 16
+16:       def initialize(shell)
+17:         @shell = shell
+18:         @quiet = false
+19:       end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + be_quiet!() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/ui.rb, line 41
+41:       def be_quiet!
+42:         @quiet = true
+43:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + confirm(msg) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/ui.rb, line 29
+29:       def confirm(msg)
+30:         @shell.say(msg, :green) if !@quiet
+31:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + debug(msg) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/ui.rb, line 21
+21:       def debug(msg)
+22:         @shell.say(msg) if ENV['DEBUG'] && !@quiet
+23:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + error(msg) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/ui.rb, line 37
+37:       def error(msg)
+38:         @shell.say(msg, :red)
+39:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + info(msg) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/ui.rb, line 25
+25:       def info(msg)
+26:         @shell.say(msg) if !@quiet
+27:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + warn(msg) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/ui.rb, line 33
+33:       def warn(msg)
+34:         @shell.say(msg, :yellow)
+35:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/VersionConflict.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/VersionConflict.html new file mode 100644 index 00000000..f19f3bf2 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/VersionConflict.html @@ -0,0 +1,381 @@ + + + + + + + Class: Bundler::VersionConflict + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + +
+

Methods

+ +
+ + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Bundler::VersionConflict

+ +
+ +
+ + + + + + +
+

Attributes

+ + +
+ + +
+ conflicts[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + +
+ + new(conflicts, msg = nil) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler.rb, line 56
+56:     def initialize(conflicts, msg = nil)
+57:       super(msg)
+58:       @conflicts = conflicts
+59:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/File.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/File.html new file mode 100644 index 00000000..06b6749a --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/File.html @@ -0,0 +1,310 @@ + + + + + + + Class: File + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

File

+ +
+ +
+ + + + + + + + + + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Gem.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Gem.html new file mode 100644 index 00000000..0c66fa84 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Gem.html @@ -0,0 +1,326 @@ + + + + + + + Module: Gem + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + +
+ +
+ + + + + + +
+

Namespace

+ +
+ + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Gem

+ +
+

+Extending Gem classes to add necessary tracking +information +

+ +
+ + + + + + + + + + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Gem/Dependency.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Gem/Dependency.html new file mode 100644 index 00000000..3199f874 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Gem/Dependency.html @@ -0,0 +1,517 @@ + + + + + + + Class: Gem::Dependency + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + +
+

Methods

+ +
+ + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Gem::Dependency

+ +
+ +
+ + + + + + +
+

Attributes

+ + +
+ + + + +
+ source[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+ groups[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Instance Methods

+ + +
+ + +
+ + required_by() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/resolver.rb, line 16
+16:     def required_by
+17:       @required_by ||= []
+18:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + requirement() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/shared_helpers.rb, line 8
+ 8:       def requirement
+ 9:         version_requirements
+10:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + to_lock() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/rubygems_ext.rb, line 112
+112:     def to_lock
+113:       out = "  #{name}"
+114:       unless requirement == Gem::Requirement.default
+115:         out << " (#{requirement.to_s})"
+116:       end
+117:       out
+118:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + to_yaml_properties() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/rubygems_ext.rb, line 108
+108:     def to_yaml_properties
+109:       instance_variables.reject { |p| ["@source", "@groups"].include?(p.to_s) }
+110:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Gem/Platform.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Gem/Platform.html new file mode 100644 index 00000000..e59bd3d0 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Gem/Platform.html @@ -0,0 +1,381 @@ + + + + + + + Class: Gem::Platform + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + +
+

Methods

+ +
+ + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Gem::Platform

+ +
+ +
+ + + +
+

Constants

+
+ +
JAVA
+ +
+ + +
MSWIN
+ +
+ + +
MING
+ +
+ + +
+
+ + + + + + + +
+

Public Instance Methods

+ + +
+ + +
+ + hash() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/rubygems_ext.rb, line 126
+126:     def hash
+127:       @cpu.hash + @os.hash + @version.hash
+128:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Gem/Specification.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Gem/Specification.html new file mode 100644 index 00000000..8d0b391c --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Gem/Specification.html @@ -0,0 +1,870 @@ + + + + + + + Class: Gem::Specification + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + + + + + + +
+

Included Modules

+ +
+ +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Gem::Specification

+ +
+ +
+ + + + + + +
+

Attributes

+ + +
+ + + + +
+ source[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+ location[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+ relative_loaded_from[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Instance Methods

+ + +
+ + +
+ + add_bundler_dependencies(*groups) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/rubygems_ext.rb, line 67
+67:     def add_bundler_dependencies(*groups)
+68:       Bundler.ui.warn "#add_bundler_dependencies is deprecated and will "          "be removed in Bundler 1.0. Instead, please use the #gemspec method "          "in your Gemfile, which will pull in any dependencies specified in "          "your gemspec"
+69: 
+70:       groups = [:default] if groups.empty?
+71:       Bundler.definition.dependencies.each do |dep|
+72:         if dep.groups.include?(:development)
+73:           self.add_development_dependency(dep.name, dep.requirement.to_s)
+74:         elsif (dep.groups & groups).any?
+75:           self.add_dependency(dep.name, dep.requirement.to_s)
+76:         end
+77:       end
+78:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + full_gem_path() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/rubygems_ext.rb, line 20
+20:     def full_gem_path
+21:       source.respond_to?(:path) ?
+22:         Pathname.new(loaded_from).dirname.expand_path.to_s :
+23:         rg_full_gem_path
+24:     end
+
+ +
+ + +
+ Also aliased as: rg_full_gem_path +
+ + + +
+ + +
+ + +
+ + git_version() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/rubygems_ext.rb, line 46
+46:     def git_version
+47:       if @loaded_from && File.exist?(File.join(full_gem_path, ".git"))
+48:         sha = Dir.chdir(full_gem_path){ `git rev-parse HEAD`.strip }
+49:         " #{sha[0..6]}"
+50:       end
+51:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + groups() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/rubygems_ext.rb, line 42
+42:     def groups
+43:       @groups ||= []
+44:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + load_paths() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/rubygems_ext.rb, line 32
+32:     def load_paths
+33:       require_paths.map do |require_path|
+34:         if require_path.include?(full_gem_path)
+35:           require_path
+36:         else
+37:           File.join(full_gem_path, require_path)
+38:         end
+39:       end
+40:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + loaded_from() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/rubygems_ext.rb, line 26
+26:     def loaded_from
+27:       relative_loaded_from ?
+28:         source.path.join(relative_loaded_from).to_s :
+29:         rg_loaded_from
+30:     end
+
+ +
+ + +
+ Also aliased as: rg_loaded_from +
+ + + +
+ + +
+ + +
+ + nondevelopment_dependencies() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/rubygems_ext.rb, line 63
+63:     def nondevelopment_dependencies
+64:       dependencies - development_dependencies
+65:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + required_by() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/resolver.rb, line 11
+11:     def required_by
+12:       @required_by ||= []
+13:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + rg_full_gem_path() + click to toggle source + +
+ +
+ + + + + +
+ + + + +
+ Alias for: full_gem_path +
+ +
+ + +
+ + +
+ + rg_loaded_from() + click to toggle source + +
+ +
+ + + + + +
+ + + + +
+ Alias for: loaded_from +
+ +
+ + +
+ + +
+ + to_gemfile(path = nil) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/rubygems_ext.rb, line 53
+53:     def to_gemfile(path = nil)
+54:       gemfile = "source :gemcutter\n"
+55:       gemfile << dependencies_to_gemfile(nondevelopment_dependencies)
+56:       unless development_dependencies.empty?
+57:         gemfile << "\n"
+58:         gemfile << dependencies_to_gemfile(development_dependencies, :development)
+59:       end
+60:       gemfile
+61:     end
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + dependencies_to_gemfile(dependencies, group = nil) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/rubygems_ext.rb, line 85
+85:     def dependencies_to_gemfile(dependencies, group = nil)
+86:       gemfile = ''
+87:       if dependencies.any?
+88:         gemfile << "group :#{group} do\n" if group
+89:         dependencies.each do |dependency|
+90:           gemfile << '  ' if group
+91:           gemfile << %gem "#{dependency.name}"|
+92:           req = dependency.requirements_list.first
+93:           gemfile << %, "#{req}"| if req
+94:           gemfile << "\n"
+95:         end
+96:         gemfile << "end\n" if group
+97:       end
+98:       gemfile
+99:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor.html new file mode 100644 index 00000000..b904896e --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor.html @@ -0,0 +1,1219 @@ + + + + + + + Class: Thor + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + +
+

Namespace

+ +
+ + + + + + + + + +
+

Included Modules

+ +
+ +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Thor

+ +
+ +
+ + + +
+

Constants

+
+ +
HELP_MAPPINGS
+ +

+Shortcuts for help. +

+ + +
THOR_RESERVED_WORDS
+ +

+Thor methods that should not be overwritten by the +user. +

+ + +
VERSION
+ +
+ + +
+
+ + + + + + + +
+

Public Class Methods

+ + +
+ + +
+ + check_unknown_options!(options={}) + click to toggle source + +
+ +
+ +

+Extend check unknown options to accept a hash of conditions. +

+

Parameters

+

+options: A hash containing :only and/or :except keys +

+ + + +
+
+     # File lib/bundler/vendor/thor.rb, line 195
+195:     def check_unknown_options!(options={})
+196:       @check_unknown_options ||= Hash.new
+197:       options.each do |key, value|
+198:         if value
+199:           @check_unknown_options[key] = Array(value)
+200:         else
+201:           @check_unknown_options.delete(key)
+202:         end
+203:       end
+204:       @check_unknown_options
+205:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + default_task(meth=nil) + click to toggle source + +
+ +
+ +

+Sets the default task when thor is executed without an explicit task to be +called. +

+

Parameters

+ + +
meth

+name of the defaut task +

+
+ + + +
+
+    # File lib/bundler/vendor/thor.rb, line 10
+10:     def default_task(meth=nil)
+11:       case meth
+12:         when :none
+13:           @default_task = 'help'
+14:         when nil
+15:           @default_task ||= from_superclass(:default_task, 'help')
+16:         else
+17:           @default_task = meth.to_s
+18:       end
+19:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + desc(usage, description, options={}) + click to toggle source + +
+ +
+ +

+Defines the usage and the description of the next task. +

+

Parameters

+

+usage description options +

+ + + +
+
+    # File lib/bundler/vendor/thor.rb, line 28
+28:     def desc(usage, description, options={})
+29:       if options[:for]
+30:         task = find_and_refresh_task(options[:for])
+31:         task.usage = usage             if usage
+32:         task.description = description if description
+33:       else
+34:         @usage, @desc, @hide = usage, description, options[:hide] || false
+35:       end
+36:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + help(shell, subcommand = false) + click to toggle source + +
+ +
+ +

+Prints help information for this class. +

+

Parameters

+

+shell +

+ + + +
+
+     # File lib/bundler/vendor/thor.rb, line 157
+157:     def help(shell, subcommand = false)
+158:       list = printable_tasks(true, subcommand)
+159:       Thor::Util.thor_classes_in(self).each do |klass|
+160:         list += klass.printable_tasks(false)
+161:       end
+162:       list.sort!{ |a,b| a[0] <=> b[0] }
+163: 
+164:       shell.say "Tasks:"
+165:       shell.print_table(list, :ident => 2, :truncate => true)
+166:       shell.say
+167:       class_options_help(shell)
+168:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + long_desc(long_description, options={}) + click to toggle source + +
+ +
+ +

+Defines the long description of the next task. +

+

Parameters

+

+long description +

+ + + +
+
+    # File lib/bundler/vendor/thor.rb, line 43
+43:     def long_desc(long_description, options={})
+44:       if options[:for]
+45:         task = find_and_refresh_task(options[:for])
+46:         task.long_description = long_description if long_description
+47:       else
+48:         @long_desc = long_description
+49:       end
+50:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + map(mappings=nil) + click to toggle source + +
+ +
+ +

+Maps an input to a task. If you define: +

+
+  map "-T" => "list"
+
+

+Running: +

+
+  thor -T
+
+

+Will invoke the list task. +

+

Parameters

+ + +
Hash[String|Array => Symbol]

+Maps the string or the strings in the array to the given task. +

+
+ + + +
+
+    # File lib/bundler/vendor/thor.rb, line 65
+65:     def map(mappings=nil)
+66:       @map ||= from_superclass(:map, {})
+67: 
+68:       if mappings
+69:         mappings.each do |key, value|
+70:           if key.respond_to?(:each)
+71:             key.each {|subkey| @map[subkey] = value}
+72:           else
+73:             @map[key] = value
+74:           end
+75:         end
+76:       end
+77: 
+78:       @map
+79:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + method_option(name, options={}) + click to toggle source + +
+ +
+ +

+Adds an option to the set of method options. If :for is given as option, it +allows you to change the options from a previous defined task. +

+
+  def previous_task
+    # magic
+  end
+
+  method_option :foo => :bar, :for => :previous_task
+
+  def next_task
+    # magic
+  end
+
+

Parameters

+ + + +
name

+The name of the argument. +

+
options

+Described below. +

+
+

Options

+

+:desc - Description for the argument. :required - If the argument is +required or not. :default - Default value for this argument. It cannot be +required and have default values. :aliases - Aliases for this option. +:type - The type of the argument, can be :string, :hash, :array, +:numeric or :boolean. :banner - String to show on usage notes. +

+ + + +
+
+     # File lib/bundler/vendor/thor.rb, line 119
+119:     def method_option(name, options={})
+120:       scope = if options[:for]
+121:         find_and_refresh_task(options[:for]).options
+122:       else
+123:         method_options
+124:       end
+125: 
+126:       build_option(name, options, scope)
+127:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + method_options(options=nil) + click to toggle source + +
+ +
+ +

+Declares the options for the next task to be declared. +

+

Parameters

+ + +
Hash[Symbol => Object]

+The hash key is the name of the option and the value +

+
+

+is the type of the option. Can be :string, :array, :hash, :boolean, +:numeric or :required (string). If you give a value, the type of the value +is used. +

+ + + +
+
+    # File lib/bundler/vendor/thor.rb, line 88
+88:     def method_options(options=nil)
+89:       @method_options ||= {}
+90:       build_options(options, @method_options) if options
+91:       @method_options
+92:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + printable_tasks(all = true, subcommand = false) + click to toggle source + +
+ +
+ +

+Returns tasks ready to be printed. +

+ + + +
+
+     # File lib/bundler/vendor/thor.rb, line 171
+171:     def printable_tasks(all = true, subcommand = false)
+172:       (all ? all_tasks : tasks).map do |_, task|
+173:         next if task.hidden?
+174:         item = []
+175:         item << banner(task, false, subcommand)
+176:         item << (task.description ? "# #{task.description.gsub(/\s+/m,' ')}" : "")
+177:         item
+178:       end.compact
+179:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + subcommand(subcommand, subcommand_class) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/vendor/thor.rb, line 185
+185:     def subcommand(subcommand, subcommand_class)
+186:       self.subcommands << subcommand.to_s
+187:       subcommand_class.subcommand_help subcommand
+188:       define_method(subcommand) { |*args| invoke subcommand_class, args }
+189:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + subcommands() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/vendor/thor.rb, line 181
+181:     def subcommands
+182:       @subcommands ||= from_superclass(:subcommands, [])
+183:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + task_help(shell, task_name) + click to toggle source + +
+ +
+ +

+Prints help information for the given task. +

+

Parameters

+

+shell task_name +

+ + + +
+
+     # File lib/bundler/vendor/thor.rb, line 135
+135:     def task_help(shell, task_name)
+136:       meth = normalize_task_name(task_name)
+137:       task = all_tasks[meth]
+138:       handle_no_task_error(meth) unless task
+139: 
+140:       shell.say "Usage:"
+141:       shell.say "  #{banner(task)}"
+142:       shell.say
+143:       class_options_help(shell, nil => task.options.map { |_, o| o })
+144:       if task.long_description
+145:         shell.say "Description:"
+146:         shell.print_wrapped(task.long_description, :ident => 2)
+147:       else
+148:         shell.say task.description
+149:       end
+150:     end
+
+ +
+ + + + +
+ + +
+ +
+

Protected Class Methods

+ + + + + +
+ + +
+ + subcommand_help(cmd) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/vendor/thor.rb, line 302
+302:       def subcommand_help(cmd)
+303:         desc "help [COMMAND]", "Describe subcommands or one specific subcommand"
+304:         class_eval           def help(task = nil, subcommand = true); super; end
+305:       end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + help(task = nil, subcommand = false) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/vendor/thor.rb, line 316
+316:   def help(task = nil, subcommand = false)
+317:     task ? self.class.task_help(shell, task) : self.class.help(shell, subcommand)
+318:   end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Actions.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Actions.html new file mode 100644 index 00000000..de51c33a --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Actions.html @@ -0,0 +1,1945 @@ + + + + + + + Module: Thor::Actions + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + +
+ +
+ + + + + + + + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Thor::Actions

+ +
+ +
+ + + + + + +
+

Attributes

+ + +
+ + + + +
+ behavior[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + +
+ + new(args=[], options={}, config={}) + click to toggle source + +
+ +
+ +

+Extends initializer to add more configuration options. +

+

Configuration

+ + + +
behavior

+The actions default behavior. Can be :invoke or :revoke. It also accepts +:force, :skip and :pretend to set the behavior and the respective option. +

+
destination_root

+The root directory needed for some actions. +

+
+ + + +
+
+    # File lib/bundler/vendor/thor/actions.rb, line 72
+72:     def initialize(args=[], options={}, config={})
+73:       self.behavior = case config[:behavior].to_s
+74:         when "force", "skip"
+75:           _cleanup_options_and_set(options, config[:behavior])
+76:           :invoke
+77:         when "revoke"
+78:           :revoke
+79:         else
+80:           :invoke
+81:       end
+82: 
+83:       super
+84:       self.destination_root = config[:destination_root]
+85:     end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + add_file(destination, *args, &block) + click to toggle source + +
+ +
+ + + + + +
+ + + + +
+ Alias for: create_file +
+ +
+ + +
+ + +
+ + append_file(path, *args, &block) + click to toggle source + +
+ +
+ +

+Append text to a file. Since it depends on inject_into_file, +it’s reversible. +

+

Parameters

+ + + + +
path

+path of the file to be changed +

+
data

+the data to append to the file, can be also given as a block. +

+
config

+give :verbose => false to not log the status. +

+
+

Example

+
+  append_file 'config/environments/test.rb', 'config.gem "rspec"'
+
+  append_file 'config/environments/test.rb' do
+    'config.gem "rspec"'
+  end
+ + + +
+
+     # File lib/bundler/vendor/thor/actions/file_manipulation.rb, line 149
+149:     def append_file(path, *args, &block)
+150:       config = args.last.is_a?(Hash) ? args.pop : {}
+151:       config.merge!(:before => /\z/)
+152:       inject_into_file(path, *(args << config), &block)
+153:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + apply(path, config={}) + click to toggle source + +
+ +
+ +

+Loads an external file and execute it in the instance binding. +

+

Parameters

+ + +
path

+The path to the file to execute. Can be a web address or a relative path +from the source root. +

+
+

Examples

+
+  apply "http://gist.github.com/103208"
+
+  apply "recipes/jquery.rb"
+ + + +
+
+     # File lib/bundler/vendor/thor/actions.rb, line 191
+191:     def apply(path, config={})
+192:       verbose = config.fetch(:verbose, true)
+193:       is_uri  = path =~ /^https?\:\/\//
+194:       path    = find_in_source_paths(path) unless is_uri
+195: 
+196:       say_status :apply, path, verbose
+197:       shell.padding += 1 if verbose
+198: 
+199:       if is_uri
+200:         contents = open(path, "Accept" => "application/x-thor-template") {|io| io.read }
+201:       else
+202:         contents = open(path) {|io| io.read }
+203:       end
+204: 
+205:       instance_eval(contents, path)
+206:       shell.padding -= 1 if verbose
+207:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + chmod(path, mode, config={}) + click to toggle source + +
+ +
+ +

+Changes the mode of the given file or directory. +

+

Parameters

+ + + + +
mode

+the file mode +

+
path

+the name of the file to change mode +

+
config

+give :verbose => false to not log the status. +

+
+

Example

+
+  chmod "script/*", 0755
+ + + +
+
+     # File lib/bundler/vendor/thor/actions/file_manipulation.rb, line 106
+106:     def chmod(path, mode, config={})
+107:       return unless behavior == :invoke
+108:       path = File.expand_path(path, destination_root)
+109:       say_status :chmod, relative_to_original_destination_root(path), config.fetch(:verbose, true)
+110:       FileUtils.chmod_R(mode, path) unless options[:pretend]
+111:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + copy_file(source, *args, &block) + click to toggle source + +
+ +
+ +

+Copies the file from the relative source to the relative destination. If +the destination is not given it’s assumed to be equal to the source. +

+

Parameters

+ + + + +
source

+the relative path to the source root. +

+
destination

+the relative path to the destination root. +

+
config

+give :verbose => false to not log the status. +

+
+

Examples

+
+  copy_file "README", "doc/README"
+
+  copy_file "doc/README"
+ + + +
+
+    # File lib/bundler/vendor/thor/actions/file_manipulation.rb, line 21
+21:     def copy_file(source, *args, &block)
+22:       config = args.last.is_a?(Hash) ? args.pop : {}
+23:       destination = args.first || source
+24:       source = File.expand_path(find_in_source_paths(source.to_s))
+25: 
+26:       create_file destination, nil, config do
+27:         content = File.binread(source)
+28:         content = block.call(content) if block
+29:         content
+30:       end
+31:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + create_file(destination, *args, &block) + click to toggle source + +
+ +
+ +

+Create a new file relative to the destination root with the given data, +which is the return value of a block or a data string. +

+

Parameters

+ + + + +
destination

+the relative path to the destination root. +

+
data

+the data to append to the file. +

+
config

+give :verbose => false to not log the status. +

+
+

Examples

+
+  create_file "lib/fun_party.rb" do
+    hostname = ask("What is the virtual hostname I should use?")
+    "vhost.name = #{hostname}"
+  end
+
+  create_file "config/apach.conf", "your apache config"
+ + + +
+
+    # File lib/bundler/vendor/thor/actions/create_file.rb, line 23
+23:     def create_file(destination, *args, &block)
+24:       config = args.last.is_a?(Hash) ? args.pop : {}
+25:       data = args.first
+26:       action CreateFile.new(self, destination, block || data.to_s, config)
+27:     end
+
+ +
+ + +
+ Also aliased as: add_file +
+ + + +
+ + +
+ + +
+ + destination_root() + click to toggle source + +
+ +
+ +

+Returns the root for this thor class (also aliased as destination root). +

+ + + +
+
+     # File lib/bundler/vendor/thor/actions.rb, line 99
+ 99:     def destination_root
+100:       @destination_stack.last
+101:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + destination_root=(root) + click to toggle source + +
+ +
+ +

+Sets the root for this thor class. Relatives path are added to the +directory where the script was invoked and expanded. +

+ + + +
+
+     # File lib/bundler/vendor/thor/actions.rb, line 106
+106:     def destination_root=(root)
+107:       @destination_stack ||= []
+108:       @destination_stack[0] = File.expand_path(root || '')
+109:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + directory(source, *args, &block) + click to toggle source + +
+ +
+ +

+Copies recursively the files from source directory to root directory. If +any of the files finishes with .tt, it’s considered to be a template +and is placed in the destination without the extension .tt. If any empty +directory is found, it’s copied and all .empty_directory files are +ignored. Remember that file paths can also be encoded, let’s suppose +a doc directory with the following files: +

+
+  doc/
+    components/.empty_directory
+    README
+    rdoc.rb.tt
+    %app_name%.rb
+
+

+When invoked as: +

+
+  directory "doc"
+
+

+It will create a doc directory in the destination with the following files +(assuming that the app_name is “blog”): +

+
+  doc/
+    components/
+    README
+    rdoc.rb
+    blog.rb
+
+

Parameters

+ + + + +
source

+the relative path to the source root. +

+
destination

+the relative path to the destination root. +

+
config

+give :verbose => false to not log the status. If :recursive => false, does +not look for paths recursively. +

+
+

Examples

+
+  directory "doc"
+  directory "doc", "docs", :recursive => false
+ + + +
+
+    # File lib/bundler/vendor/thor/actions/directory.rb, line 43
+43:     def directory(source, *args, &block)
+44:       config = args.last.is_a?(Hash) ? args.pop : {}
+45:       destination = args.first || source
+46:       action Directory.new(self, source, destination || source, config, &block)
+47:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + empty_directory(destination, config={}) + click to toggle source + +
+ +
+ +

+Creates an empty directory. +

+

Parameters

+ + + +
destination

+the relative path to the destination root. +

+
config

+give :verbose => false to not log the status. +

+
+

Examples

+
+  empty_directory "doc"
+ + + +
+
+    # File lib/bundler/vendor/thor/actions/empty_directory.rb, line 14
+14:     def empty_directory(destination, config={})
+15:       action EmptyDirectory.new(self, destination, config)
+16:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + find_in_source_paths(file) + click to toggle source + +
+ +
+ +

+Receives a file or directory and search for it in the source paths. +

+ + + +
+
+     # File lib/bundler/vendor/thor/actions.rb, line 127
+127:     def find_in_source_paths(file)
+128:       relative_root = relative_to_original_destination_root(destination_root, false)
+129: 
+130:       source_paths.each do |source|
+131:         source_file = File.expand_path(file, File.join(source, relative_root))
+132:         return source_file if File.exists?(source_file)
+133:       end
+134: 
+135:       message = "Could not find #{file.inspect} in any of your source paths. "
+136: 
+137:       unless self.class.source_root
+138:         message << "Please invoke #{self.class.name}.source_root(PATH) with the PATH containing your templates. "
+139:       end
+140: 
+141:       if source_paths.empty?
+142:         message << "Currently you have no source paths."
+143:       else
+144:         message << "Your current source paths are: \n#{source_paths.join("\n")}"
+145:       end
+146: 
+147:       raise Error, message
+148:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + get(source, *args, &block) + click to toggle source + +
+ +
+ +

+Gets the content at the given address and places it at the given relative +destination. If a block is given instead of destination, the content of the +url is yielded and used as location. +

+

Parameters

+ + + + +
source

+the address of the given content. +

+
destination

+the relative path to the destination root. +

+
config

+give :verbose => false to not log the status. +

+
+

Examples

+
+  get "http://gist.github.com/103208", "doc/README"
+
+  get "http://gist.github.com/103208" do |content|
+    content.split("\n").first
+  end
+ + + +
+
+    # File lib/bundler/vendor/thor/actions/file_manipulation.rb, line 50
+50:     def get(source, *args, &block)
+51:       config = args.last.is_a?(Hash) ? args.pop : {}
+52:       destination = args.first
+53: 
+54:       source = File.expand_path(find_in_source_paths(source.to_s)) unless source =~ /^http\:\/\//
+55:       render = open(source) {|input| input.binmode.read }
+56: 
+57:       destination ||= if block_given?
+58:         block.arity == 1 ? block.call(render) : block.call
+59:       else
+60:         File.basename(source)
+61:       end
+62: 
+63:       create_file destination, render, config
+64:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + gsub_file(path, flag, *args, &block) + click to toggle source + +
+ +
+ +

+Run a regular expression replacement on a file. +

+

Parameters

+ + + + + +
path

+path of the file to be changed +

+
flag

+the regexp or string to be replaced +

+
replacement

+the replacement, can be also given as a block +

+
config

+give :verbose => false to not log the status. +

+
+

Example

+
+  gsub_file 'app/controllers/application_controller.rb', /#\s*(filter_parameter_logging :password)/, '\1'
+
+  gsub_file 'README', /rake/, :green do |match|
+    match << " no more. Use thor!"
+  end
+ + + +
+
+     # File lib/bundler/vendor/thor/actions/file_manipulation.rb, line 194
+194:     def gsub_file(path, flag, *args, &block)
+195:       return unless behavior == :invoke
+196:       config = args.last.is_a?(Hash) ? args.pop : {}
+197: 
+198:       path = File.expand_path(path, destination_root)
+199:       say_status :gsub, relative_to_original_destination_root(path), config.fetch(:verbose, true)
+200: 
+201:       unless options[:pretend]
+202:         content = File.binread(path)
+203:         content.gsub!(flag, *args, &block)
+204:         File.open(path, 'wb') { |file| file.write(content) }
+205:       end
+206:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + in_root() + click to toggle source + +
+ +
+ +

+Goes to the root and execute the given block. +

+ + + +
+
+     # File lib/bundler/vendor/thor/actions.rb, line 175
+175:     def in_root
+176:       inside(@destination_stack.first) { yield }
+177:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + inject_into_class(path, klass, *args, &block) + click to toggle source + +
+ +
+ +

+Injects text right after the class definition. Since it depends on inject_into_file, +it’s reversible. +

+

Parameters

+ + + + + +
path

+path of the file to be changed +

+
klass

+the class to be manipulated +

+
data

+the data to append to the class, can be also given as a block. +

+
config

+give :verbose => false to not log the status. +

+
+

Examples

+
+  inject_into_class "app/controllers/application_controller.rb", "  filter_parameter :password\n"
+
+  inject_into_class "app/controllers/application_controller.rb", ApplicationController do
+    "  filter_parameter :password\n"
+  end
+ + + +
+
+     # File lib/bundler/vendor/thor/actions/file_manipulation.rb, line 172
+172:     def inject_into_class(path, klass, *args, &block)
+173:       config = args.last.is_a?(Hash) ? args.pop : {}
+174:       config.merge!(:after => /class #{klass}\n|class #{klass} .*\n/)
+175:       inject_into_file(path, *(args << config), &block)
+176:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + inject_into_file(destination, *args, &block) + click to toggle source + +
+ +
+ +

+Injects the given content into a file. Different from gsub_file, this method is +reversible. +

+

Parameters

+ + + + +
destination

+Relative path to the destination root +

+
data

+Data to add to the file. Can be given as a block. +

+
config

+give :verbose => false to not log the status and the flag for injection +(:after or :before) or :force => true for insert two or more times the +same content. +

+
+

Examples

+
+  inject_into_file "config/environment.rb", "config.gem :thor", :after => "Rails::Initializer.run do |config|\n"
+
+  inject_into_file "config/environment.rb", :after => "Rails::Initializer.run do |config|\n" do
+    gems = ask "Which gems would you like to add?"
+    gems.split(" ").map{ |gem| "  config.gem :#{gem}" }.join("\n")
+  end
+ + + +
+
+    # File lib/bundler/vendor/thor/actions/inject_into_file.rb, line 25
+25:     def inject_into_file(destination, *args, &block)
+26:       if block_given?
+27:         data, config = block, args.shift
+28:       else
+29:         data, config = args.shift, args.shift
+30:       end
+31:       action InjectIntoFile.new(self, destination, data, config)
+32:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + inside(dir='', config={}, &block) + click to toggle source + +
+ +
+ +

+Do something in the root or on a provided subfolder. If a relative path is +given it’s referenced from the current root. The full path is yielded +to the block you provide. The path is set back to the previous path when +the method exits. +

+

Parameters

+ + + +
dir

+the directory to move to. +

+
config

+give :verbose => true to log and use padding. +

+
+ + + +
+
+     # File lib/bundler/vendor/thor/actions.rb, line 159
+159:     def inside(dir='', config={}, &block)
+160:       verbose = config.fetch(:verbose, false)
+161: 
+162:       say_status :inside, dir, verbose
+163:       shell.padding += 1 if verbose
+164:       @destination_stack.push File.expand_path(dir, destination_root)
+165: 
+166:       FileUtils.mkdir_p(destination_root) unless File.exist?(destination_root)
+167:       FileUtils.cd(destination_root) { block.arity == 1 ? yield(destination_root) : yield }
+168: 
+169:       @destination_stack.pop
+170:       shell.padding -= 1 if verbose
+171:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + prepend_file(path, *args, &block) + click to toggle source + +
+ +
+ +

+Prepend text to a file. Since it depends on inject_into_file, +it’s reversible. +

+

Parameters

+ + + + +
path

+path of the file to be changed +

+
data

+the data to prepend to the file, can be also given as a block. +

+
config

+give :verbose => false to not log the status. +

+
+

Example

+
+  prepend_file 'config/environments/test.rb', 'config.gem "rspec"'
+
+  prepend_file 'config/environments/test.rb' do
+    'config.gem "rspec"'
+  end
+ + + +
+
+     # File lib/bundler/vendor/thor/actions/file_manipulation.rb, line 128
+128:     def prepend_file(path, *args, &block)
+129:       config = args.last.is_a?(Hash) ? args.pop : {}
+130:       config.merge!(:after => /\A/)
+131:       inject_into_file(path, *(args << config), &block)
+132:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + relative_to_original_destination_root(path, remove_dot=true) + click to toggle source + +
+ +
+ +

+Returns the given path relative to the absolute root (ie, root where the +script started). +

+ + + +
+
+     # File lib/bundler/vendor/thor/actions.rb, line 114
+114:     def relative_to_original_destination_root(path, remove_dot=true)
+115:       path = path.gsub(@destination_stack[0], '.')
+116:       remove_dot ? (path[2..1] || '') : path
+117:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + remove_dir(path, config={}) + click to toggle source + +
+ +
+ + + + + +
+ + + + +
+ Alias for: remove_file +
+ +
+ + +
+ + +
+ + remove_file(path, config={}) + click to toggle source + +
+ +
+ +

+Removes a file at the given location. +

+

Parameters

+ + + +
path

+path of the file to be changed +

+
config

+give :verbose => false to not log the status. +

+
+

Example

+
+  remove_file 'README'
+  remove_file 'app/controllers/application_controller.rb'
+ + + +
+
+     # File lib/bundler/vendor/thor/actions/file_manipulation.rb, line 219
+219:     def remove_file(path, config={})
+220:       return unless behavior == :invoke
+221:       path  = File.expand_path(path, destination_root)
+222: 
+223:       say_status :remove, relative_to_original_destination_root(path), config.fetch(:verbose, true)
+224:       ::FileUtils.rm_rf(path) if !options[:pretend] && File.exists?(path)
+225:     end
+
+ +
+ + +
+ Also aliased as: remove_dir +
+ + + +
+ + +
+ + +
+ + run(command, config={}) + click to toggle source + +
+ +
+ +

+Executes a command returning the contents of the command. +

+

Parameters

+ + + +
command

+the command to be executed. +

+
config

+give :verbose => false to not log the status. Specify :with to append an +executable to command executation. +

+
+

Example

+
+  inside('vendor') do
+    run('ln -s ~/edge rails')
+  end
+ + + +
+
+     # File lib/bundler/vendor/thor/actions.rb, line 222
+222:     def run(command, config={})
+223:       return unless behavior == :invoke
+224: 
+225:       destination = relative_to_original_destination_root(destination_root, false)
+226:       desc = "#{command} from #{destination.inspect}"
+227: 
+228:       if config[:with]
+229:         desc = "#{File.basename(config[:with].to_s)} #{desc}"
+230:         command = "#{config[:with]} #{command}"
+231:       end
+232: 
+233:       say_status :run, desc, config.fetch(:verbose, true)
+234:       `#{command}` unless options[:pretend]
+235:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + run_ruby_script(command, config={}) + click to toggle source + +
+ +
+ +

+Executes a ruby script (taking into account WIN32 platform quirks). +

+

Parameters

+ + + +
command

+the command to be executed. +

+
config

+give :verbose => false to not log the status. +

+
+ + + +
+
+     # File lib/bundler/vendor/thor/actions.rb, line 243
+243:     def run_ruby_script(command, config={})
+244:       return unless behavior == :invoke
+245:       run command, config.merge(:with => Thor::Util.ruby_command)
+246:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + source_paths() + click to toggle source + +
+ +
+ +

+Holds source paths in instance so they can be manipulated. +

+ + + +
+
+     # File lib/bundler/vendor/thor/actions.rb, line 121
+121:     def source_paths
+122:       @source_paths ||= self.class.source_paths_for_search
+123:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + template(source, *args, &block) + click to toggle source + +
+ +
+ +

+Gets an ERB template at the relative source, executes it and makes a copy +at the relative destination. If the destination is not given it’s +assumed to be equal to the source removing .tt from the filename. +

+

Parameters

+ + + + +
source

+the relative path to the source root. +

+
destination

+the relative path to the destination root. +

+
config

+give :verbose => false to not log the status. +

+
+

Examples

+
+  template "README", "doc/README"
+
+  template "doc/README"
+ + + +
+
+    # File lib/bundler/vendor/thor/actions/file_manipulation.rb, line 81
+81:     def template(source, *args, &block)
+82:       config = args.last.is_a?(Hash) ? args.pop : {}
+83:       destination = args.first || source
+84: 
+85:       source  = File.expand_path(find_in_source_paths(source.to_s))
+86:       context = instance_eval('binding')
+87: 
+88:       create_file destination, nil, config do
+89:         content = ERB.new(::File.binread(source), nil, '-').result(context)
+90:         content = block.call(content) if block
+91:         content
+92:       end
+93:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + thor(task, *args) + click to toggle source + +
+ +
+ +

+Run a thor command. A hash of options can be given and it’s converted +to switches. +

+

Parameters

+ + + + +
task

+the task to be invoked +

+
args

+arguments to the task +

+
config

+give :verbose => false to not log the status. Other options are given as +parameter to Thor. +

+
+

Examples

+
+  thor :install, "http://gist.github.com/103208"
+  #=> thor install http://gist.github.com/103208
+
+  thor :list, :all => true, :substring => 'rails'
+  #=> thor list --all --substring=rails
+ + + +
+
+     # File lib/bundler/vendor/thor/actions.rb, line 265
+265:     def thor(task, *args)
+266:       config  = args.last.is_a?(Hash) ? args.pop : {}
+267:       verbose = config.key?(:verbose) ? config.delete(:verbose) : true
+268:       pretend = config.key?(:pretend) ? config.delete(:pretend) : false
+269: 
+270:       args.unshift task
+271:       args.push Thor::Options.to_switches(config)
+272:       command = args.join(' ').strip
+273: 
+274:       run command, :with => :thor, :verbose => verbose, :pretend => pretend
+275:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Actions/ClassMethods.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Actions/ClassMethods.html new file mode 100644 index 00000000..c0ec28b3 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Actions/ClassMethods.html @@ -0,0 +1,491 @@ + + + + + + + Module: Thor::Actions::ClassMethods + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Thor::Actions::ClassMethods

+ +
+ +
+ + + + + + + + + +
+

Public Instance Methods

+ + +
+ + +
+ + add_runtime_options!() + click to toggle source + +
+ +
+ +

+Add runtime options that help actions execution. +

+ + + +
+
+    # File lib/bundler/vendor/thor/actions.rb, line 48
+48:       def add_runtime_options!
+49:         class_option :force, :type => :boolean, :aliases => "-f", :group => :runtime,
+50:                              :desc => "Overwrite files that already exist"
+51: 
+52:         class_option :pretend, :type => :boolean, :aliases => "-p", :group => :runtime,
+53:                                :desc => "Run but do not make any changes"
+54: 
+55:         class_option :quiet, :type => :boolean, :aliases => "-q", :group => :runtime,
+56:                              :desc => "Supress status output"
+57: 
+58:         class_option :skip, :type => :boolean, :aliases => "-s", :group => :runtime,
+59:                             :desc => "Skip files that already exist"
+60:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + source_paths() + click to toggle source + +
+ +
+ +

+Hold source paths for one Thor instance. source_paths_for_search +is the method responsible to gather source_paths from this +current class, inherited paths and the source root. +

+ + + +
+
+    # File lib/bundler/vendor/thor/actions.rb, line 22
+22:       def source_paths
+23:         @_source_paths ||= []
+24:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + source_paths_for_search() + click to toggle source + +
+ +
+ +

+Returns the source paths in the following order: +

+
+  1) This class source paths
+  2) Source root
+  3) Parents source paths
+ + + +
+
+    # File lib/bundler/vendor/thor/actions.rb, line 38
+38:       def source_paths_for_search
+39:         paths = []
+40:         paths += self.source_paths
+41:         paths << self.source_root if self.source_root
+42:         paths += from_superclass(:source_paths, [])
+43:         paths
+44:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + source_root(path=nil) + click to toggle source + +
+ +
+ +

+Stores and return the source root for this class +

+ + + +
+
+    # File lib/bundler/vendor/thor/actions.rb, line 27
+27:       def source_root(path=nil)
+28:         @_source_root = path if path
+29:         @_source_root
+30:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Actions/CreateFile.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Actions/CreateFile.html new file mode 100644 index 00000000..73582554 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Actions/CreateFile.html @@ -0,0 +1,314 @@ + + + + + + + Class: Thor::Actions::CreateFile + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + +
+ +
+ + + + + + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Thor::Actions::CreateFile

+ +
+

+AddFile is a subset of Template, which instead of rendering a file with +ERB, it gets the content from the user. +

+ +
+ + + + + + + + + + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Actions/Directory.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Actions/Directory.html new file mode 100644 index 00000000..9da2f484 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Actions/Directory.html @@ -0,0 +1,310 @@ + + + + + + + Class: Thor::Actions::Directory + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + +
+ +
+ + + + + + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Thor::Actions::Directory

+ +
+ +
+ + + + + + + + + + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Actions/EmptyDirectory.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Actions/EmptyDirectory.html new file mode 100644 index 00000000..18b047b2 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Actions/EmptyDirectory.html @@ -0,0 +1,318 @@ + + + + + + + Class: Thor::Actions::EmptyDirectory + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Thor::Actions::EmptyDirectory

+ +
+

+Class which holds create directory logic. This is the base class for other +actions like create_file and directory. +

+

+This implementation is based in Templater actions, created by Jonas Nicklas +and Michael S. Klishin under MIT LICENSE. +

+ +
+ + + + + + + + + + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Actions/InjectIntoFile.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Actions/InjectIntoFile.html new file mode 100644 index 00000000..d3e5edc3 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Actions/InjectIntoFile.html @@ -0,0 +1,310 @@ + + + + + + + Class: Thor::Actions::InjectIntoFile + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + +
+ +
+ + + + + + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Thor::Actions::InjectIntoFile

+ +
+ +
+ + + + + + + + + + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Argument.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Argument.html new file mode 100644 index 00000000..2c2b6a73 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Argument.html @@ -0,0 +1,310 @@ + + + + + + + Class: Thor::Argument + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Thor::Argument

+ +
+ +
+ + + + + + + + + + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Arguments.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Arguments.html new file mode 100644 index 00000000..7ae46346 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Arguments.html @@ -0,0 +1,310 @@ + + + + + + + Class: Thor::Arguments + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Thor::Arguments

+ +
+ +
+ + + + + + + + + + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Base.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Base.html new file mode 100644 index 00000000..7a8834e2 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Base.html @@ -0,0 +1,596 @@ + + + + + + + Module: Thor::Base + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + +
+ +
+ + + + + + +
+

Namespace

+ +
+ + + + +
+

Methods

+ +
+ + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Thor::Base

+ +
+ +
+ + + + + + +
+

Attributes

+ + +
+ + + + +
+ options[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + +
+ + new(args=[], options={}, config={}) + click to toggle source + +
+ +
+ +

+It receives arguments in an Array and two hashes, one for options and other +for configuration. +

+

+Notice that it does not check if all required arguments were supplied. It +should be done by the parser. +

+

Parameters

+ + + + +
args

+An array of objects. The objects are applied to their respective accessors +declared with argument. +

+
options

+An options hash that will be available as self.options. The hash given is +converted to a hash with indifferent access, magic predicates +(options.skip?) and then frozen. +

+
config

+Configuration for this Thor class. +

+
+ + + +
+
+    # File lib/bundler/vendor/thor/base.rb, line 40
+40:     def initialize(args=[], options={}, config={})
+41:       args = Thor::Arguments.parse(self.class.arguments, args)
+42:       args.each { |key, value| send("#{key}=", value) }
+43: 
+44:       parse_options = self.class.class_options
+45: 
+46:       if options.is_a?(Array)
+47:         task_options  = config.delete(:task_options) # hook for start
+48:         parse_options = parse_options.merge(task_options) if task_options
+49:         array_options, hash_options = options, {}
+50:       else
+51:         array_options, hash_options = [], options
+52:       end
+53: 
+54:       opts = Thor::Options.new(parse_options, hash_options)
+55:       self.options = opts.parse(array_options)
+56:       opts.check_unknown! if self.class.check_unknown_options?(config)
+57:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + shell() + click to toggle source + +
+ +
+ +

+Returns the shell used in all Thor classes. If +you are in a Unix platform it will use a colored log, otherwise it will use +a basic one without color. +

+ + + +
+
+    # File lib/bundler/vendor/thor/shell.rb, line 8
+ 8:     def self.shell
+ 9:       @shell ||= if ENV['THOR_SHELL'] && ENV['THOR_SHELL'].size > 0
+10:         Thor::Shell.const_get(ENV['THOR_SHELL'])
+11:       elsif RbConfig::CONFIG['host_os'] =~ /mswin|mingw/
+12:         Thor::Shell::Basic
+13:       else
+14:         Thor::Shell::Color
+15:       end
+16:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + shell=(klass) + click to toggle source + +
+ +
+ +

+Sets the shell used in all Thor classes. +

+ + + +
+
+    # File lib/bundler/vendor/thor/shell.rb, line 20
+20:     def self.shell=(klass)
+21:       @shell = klass
+22:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + subclass_files() + click to toggle source + +
+ +
+ +

+Returns the files where the subclasses are kept. +

+

Returns

+

+Hash[path => Class] +

+ + + +
+
+    # File lib/bundler/vendor/thor/base.rb, line 80
+80:       def subclass_files
+81:         @subclass_files ||= Hash.new{ |h,k| h[k] = [] }
+82:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + subclasses() + click to toggle source + +
+ +
+ +

+Returns the classes that inherits from Thor or +Thor::Group. +

+

Returns

+

+Array[Class] +

+ + + +
+
+    # File lib/bundler/vendor/thor/base.rb, line 71
+71:       def subclasses
+72:         @subclasses ||= []
+73:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Base/ClassMethods.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Base/ClassMethods.html new file mode 100644 index 00000000..27240063 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Base/ClassMethods.html @@ -0,0 +1,1363 @@ + + + + + + + Module: Thor::Base::ClassMethods + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Thor::Base::ClassMethods

+ +
+ +
+ + + + + + +
+

Attributes

+ + +
+ + + + +
+ debugging[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Instance Methods

+ + +
+ + +
+ + all_tasks() + click to toggle source + +
+ +
+ +

+Returns the tasks for this Thor class and all +subclasses. +

+

Returns

+ + +
OrderedHash

+An ordered hash with tasks names as keys and Thor::Task objects as values. +

+
+ + + +
+
+     # File lib/bundler/vendor/thor/base.rb, line 294
+294:       def all_tasks
+295:         @all_tasks ||= from_superclass(:all_tasks, Thor::CoreExt::OrderedHash.new)
+296:         @all_tasks.merge(tasks)
+297:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + argument(name, options={}) + click to toggle source + +
+ +
+ +

+Adds an argument to the class and creates an attr_accessor for it. +

+

+Arguments are different from options in several aspects. The first one is +how they are parsed from the command line, arguments are retrieved from +position: +

+
+  thor task NAME
+
+

+Instead of: +

+
+  thor task --name=NAME
+
+

+Besides, arguments are used inside your code as an accessor +(self.argument), while options are all kept in a hash (self.options). +

+

+Finally, arguments cannot have type :default or :boolean but can be +optional (supplying :optional => :true or :required => false), although you +cannot have a required argument after a non-required argument. If you try +it, an error is raised. +

+

Parameters

+ + + +
name

+The name of the argument. +

+
options

+Described below. +

+
+

Options

+

+:desc - Description for the argument. :required - If the argument is +required or not. :optional - If the argument is optional or not. :type +- The type of the argument, can be :string, :hash, :array, :numeric. +:default - Default value for this argument. It cannot be required and have +default values. :banner - String to show on usage notes. +

+

Errors

+ + +
ArgumentError

+Raised if you supply a required argument after a non required one. +

+
+ + + +
+
+     # File lib/bundler/vendor/thor/base.rb, line 160
+160:       def argument(name, options={})
+161:         is_thor_reserved_word?(name, :argument)
+162:         no_tasks { attr_accessor name }
+163: 
+164:         required = if options.key?(:optional)
+165:           !options[:optional]
+166:         elsif options.key?(:required)
+167:           options[:required]
+168:         else
+169:           options[:default].nil?
+170:         end
+171: 
+172:         remove_argument name
+173: 
+174:         arguments.each do |argument|
+175:           next if argument.required?
+176:           raise ArgumentError, "You cannot have #{name.to_s.inspect} as required argument after " <<
+177:                                "the non-required argument #{argument.human_name.inspect}."
+178:         end if required
+179: 
+180:         arguments << Thor::Argument.new(name, options[:desc], required, options[:type],
+181:                                               options[:default], options[:banner])
+182:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + arguments() + click to toggle source + +
+ +
+ +

+Returns this class arguments, looking up in the ancestors chain. +

+

Returns

+

+Array[Thor::Argument] +

+ + + +
+
+     # File lib/bundler/vendor/thor/base.rb, line 189
+189:       def arguments
+190:         @arguments ||= from_superclass(:arguments, [])
+191:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + check_unknown_options!() + click to toggle source + +
+ +
+ +

+If you want to raise an error for unknown options, call +check_unknown_options! This is disabled by default to allow dynamic +invocations. +

+ + + +
+
+     # File lib/bundler/vendor/thor/base.rb, line 113
+113:       def check_unknown_options!
+114:         @check_unknown_options = true
+115:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + class_option(name, options={}) + click to toggle source + +
+ +
+ +

+Adds an option to the set of class options +

+

Parameters

+ + + +
name

+The name of the argument. +

+
options

+Described below. +

+
+

Options

+

+:desc - Description for the argument. :required - If the argument is +required or not. :default - Default value for this argument. :group - +The group for this options. Use by class options to output options in +different levels. :aliases - Aliases for this option. :type - The type +of the argument, can be :string, :hash, :array, :numeric or :boolean. +:banner - String to show on usage notes. +

+ + + +
+
+     # File lib/bundler/vendor/thor/base.rb, line 223
+223:       def class_option(name, options={})
+224:         build_option(name, options, class_options)
+225:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + class_options(options=nil) + click to toggle source + +
+ +
+ +

+Adds a bunch of options to the set of class options. +

+
+  class_options :foo => false, :bar => :required, :baz => :string
+
+

+If you prefer more detailed declaration, check class_option. +

+

Parameters

+

+Hash[Symbol => Object] +

+ + + +
+
+     # File lib/bundler/vendor/thor/base.rb, line 202
+202:       def class_options(options=nil)
+203:         @class_options ||= from_superclass(:class_options, {})
+204:         build_options(options, @class_options) if options
+205:         @class_options
+206:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + group(name=nil) + click to toggle source + +
+ +
+ +

+Defines the group. This is used when thor list is invoked so you can +specify that only tasks from a pre-defined group will be shown. Defaults to +standard. +

+

Parameters

+

+name +

+ + + +
+
+     # File lib/bundler/vendor/thor/base.rb, line 269
+269:       def group(name=nil)
+270:         case name
+271:           when nil
+272:             @group ||= from_superclass(:group, 'standard')
+273:           else
+274:             @group = name.to_s
+275:         end
+276:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + namespace(name=nil) + click to toggle source + +
+ +
+ +

+Sets the namespace for the Thor or +Thor::Group class. By default the namespace is retrieved from the class +name. If your Thor class is named +Scripts::MyScript, the help method, for example, will be called as: +

+
+  thor scripts:my_script -h
+
+

+If you change the namespace: +

+
+  namespace :my_scripts
+
+

+You change how your tasks are invoked: +

+
+  thor my_scripts -h
+
+

+Finally, if you change your namespace to default: +

+
+  namespace :default
+
+

+Your tasks can be invoked with a shortcut. Instead of: +

+
+  thor :my_task
+ + + +
+
+     # File lib/bundler/vendor/thor/base.rb, line 369
+369:       def namespace(name=nil)
+370:         case name
+371:         when nil
+372:           @namespace ||= Thor::Util.namespace_from_thor_class(self)
+373:         else
+374:           @namespace = name.to_s
+375:         end
+376:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + no_tasks() + click to toggle source + +
+ +
+ +

+All methods defined inside the given block are not added as tasks. +

+

+So you can do: +

+
+  class MyScript < Thor
+    no_tasks do
+      def this_is_not_a_task
+      end
+    end
+  end
+
+

+You can also add the method and remove it from the task list: +

+
+  class MyScript < Thor
+    def this_is_not_a_task
+    end
+    remove_task :this_is_not_a_task
+  end
+ + + +
+
+     # File lib/bundler/vendor/thor/base.rb, line 340
+340:       def no_tasks
+341:         @no_tasks = true
+342:         yield
+343:       ensure
+344:         @no_tasks = false
+345:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + remove_argument(*names) + click to toggle source + +
+ +
+ +

+Removes a previous defined argument. If :undefine is given, undefine +accessors as well. +

+

Paremeters

+ + +
names

+Arguments to be removed +

+
+

Examples

+
+  remove_argument :foo
+  remove_argument :foo, :bar, :baz, :undefine => true
+ + + +
+
+     # File lib/bundler/vendor/thor/base.rb, line 238
+238:       def remove_argument(*names)
+239:         options = names.last.is_a?(Hash) ? names.pop : {}
+240: 
+241:         names.each do |name|
+242:           arguments.delete_if { |a| a.name == name.to_s }
+243:           undef_method name, "#{name}=" if options[:undefine]
+244:         end
+245:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + remove_class_option(*names) + click to toggle source + +
+ +
+ +

+Removes a previous defined class option. +

+

Paremeters

+ + +
names

+Class options to be removed +

+
+

Examples

+
+  remove_class_option :foo
+  remove_class_option :foo, :bar, :baz
+ + + +
+
+     # File lib/bundler/vendor/thor/base.rb, line 257
+257:       def remove_class_option(*names)
+258:         names.each do |name|
+259:           class_options.delete(name)
+260:         end
+261:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + remove_task(*names) + click to toggle source + +
+ +
+ +

+Removes a given task from this Thor class. +This is usually done if you are inheriting from another class and +don’t want it to be available anymore. +

+

+By default it only remove the mapping to the task. But you can supply +:undefine => true to undefine the method from the class as well. +

+

Parameters

+ + + +
name

+The name of the task to be removed +

+
options

+You can give :undefine => true if you want tasks the method to be undefined +from the class as well. +

+
+ + + +
+
+     # File lib/bundler/vendor/thor/base.rb, line 311
+311:       def remove_task(*names)
+312:         options = names.last.is_a?(Hash) ? names.pop : {}
+313: 
+314:         names.each do |name|
+315:           tasks.delete(name.to_s)
+316:           all_tasks.delete(name.to_s)
+317:           undef_method name if options[:undefine]
+318:         end
+319:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + start(given_args=ARGV, config={}) + click to toggle source + +
+ +
+ +

+Parses the task and options from the given args, instantiate the class and +invoke the task. This method is used when the arguments must be parsed from +an array. If you are inside Ruby and want to use a Thor class, you can simply initialize it: +

+
+  script = MyScript.new(args, options, config)
+  script.invoke(:task, first_arg, second_arg, third_arg)
+ + + +
+
+     # File lib/bundler/vendor/thor/base.rb, line 386
+386:       def start(given_args=ARGV, config={})
+387:         self.debugging = given_args.delete("--debug")
+388:         config[:shell] ||= Thor::Base.shell.new
+389:         dispatch(nil, given_args.dup, nil, config)
+390:       rescue Thor::Error => e
+391:         debugging ? (raise e) : config[:shell].error(e.message)
+392:         exit(1) if exit_on_failure?
+393:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + tasks() + click to toggle source + +
+ +
+ +

+Returns the tasks for this Thor class. +

+

Returns

+ + +
OrderedHash

+An ordered hash with tasks names as keys and Thor::Task objects as values. +

+
+ + + +
+
+     # File lib/bundler/vendor/thor/base.rb, line 284
+284:       def tasks
+285:         @tasks ||= Thor::CoreExt::OrderedHash.new
+286:       end
+
+ +
+ + + + +
+ + +
+ +
+

Protected Instance Methods

+ + +
+ + +
+ + exit_on_failure?() + click to toggle source + +
+ +
+ +

+A flag that makes the process exit with status 1 if any error happens. +

+ + + +
+
+     # File lib/bundler/vendor/thor/base.rb, line 530
+530:         def exit_on_failure?
+531:           false
+532:         end
+
+ +
+ + + + +
+ + +
+ + +
+ + from_superclass(method, default=nil) + click to toggle source + +
+ +
+ +

+Retrieves a value from superclass. If it reaches the baseclass, returns +default. +

+ + + +
+
+     # File lib/bundler/vendor/thor/base.rb, line 520
+520:         def from_superclass(method, default=nil)
+521:           if self == baseclass || !superclass.respond_to?(method, true)
+522:             default
+523:           else
+524:             value = superclass.send(method)
+525:             value.dup if value
+526:           end
+527:         end
+
+ +
+ + + + +
+ + +
+ + +
+ + inherited(klass) + click to toggle source + +
+ +
+ +

+Everytime someone inherits from a Thor class, +register the klass and file into baseclass. +

+ + + +
+
+     # File lib/bundler/vendor/thor/base.rb, line 494
+494:         def inherited(klass)
+495:           Thor::Base.register_klass_file(klass)
+496:         end
+
+ +
+ + + + +
+ + +
+ + +
+ + method_added(meth) + click to toggle source + +
+ +
+ +

+Fire this callback whenever a method is added. Added methods are tracked as +tasks by invoking the create_task method. +

+ + + +
+
+     # File lib/bundler/vendor/thor/base.rb, line 500
+500:         def method_added(meth)
+501:           meth = meth.to_s
+502: 
+503:           if meth == "initialize"
+504:             initialize_added
+505:             return
+506:           end
+507: 
+508:           # Return if it's not a public instance method
+509:           return unless public_instance_methods.include?(meth) ||
+510:                         public_instance_methods.include?(meth.to_sym)
+511: 
+512:           return if @no_tasks || !create_task(meth)
+513: 
+514:           is_thor_reserved_word?(meth, :task)
+515:           Thor::Base.register_klass_file(self)
+516:         end
+
+ +
+ + + + +
+ + + + + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/CoreExt.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/CoreExt.html new file mode 100644 index 00000000..18c00c9a --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/CoreExt.html @@ -0,0 +1,317 @@ + + + + + + + Module: Thor::CoreExt + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + +
+ +
+ + + + + + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Thor::CoreExt

+ +
+ +
+ + + + + + + + + + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/CoreExt/HashWithIndifferentAccess.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/CoreExt/HashWithIndifferentAccess.html new file mode 100644 index 00000000..219da555 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/CoreExt/HashWithIndifferentAccess.html @@ -0,0 +1,319 @@ + + + + + + + Class: Thor::CoreExt::HashWithIndifferentAccess + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Thor::CoreExt::HashWithIndifferentAccess

+ +
+

+A hash with indifferent access and magic predicates. +

+
+  hash = Thor::CoreExt::HashWithIndifferentAccess.new 'foo' => 'bar', 'baz' => 'bee', 'force' => true
+
+  hash[:foo]  #=> 'bar'
+  hash['foo'] #=> 'bar'
+  hash.foo?   #=> true
+ +
+ + + + + + + + + + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/CoreExt/OrderedHash.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/CoreExt/OrderedHash.html new file mode 100644 index 00000000..53bc28f2 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/CoreExt/OrderedHash.html @@ -0,0 +1,317 @@ + + + + + + + Class: Thor::CoreExt::OrderedHash + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Thor::CoreExt::OrderedHash

+ +
+

+This class is based on the Ruby 1.9 ordered hashes. +

+

+It keeps the semantics and most of the efficiency of normal hashes while +also keeping track of the order in which elements were set. +

+ +
+ + + + + + + + + + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/DynamicTask.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/DynamicTask.html new file mode 100644 index 00000000..19ec80b3 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/DynamicTask.html @@ -0,0 +1,408 @@ + + + + + + + Class: Thor::DynamicTask + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + +
+

Methods

+ +
+ + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Thor::DynamicTask

+ +
+

+A dynamic task that handles method missing scenarios. +

+ +
+ + + + + + + + + +
+

Public Class Methods

+ + +
+ + +
+ + new(name, options=nil) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/vendor/thor/task.rb, line 102
+102:     def initialize(name, options=nil)
+103:       super(name.to_s, "A dynamically-generated task", name.to_s, name.to_s, options)
+104:     end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + run(instance, args=[]) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/vendor/thor/task.rb, line 106
+106:     def run(instance, args=[])
+107:       if (instance.methods & [name.to_s, name.to_sym]).empty?
+108:         super
+109:       else
+110:         instance.class.handle_no_task_error(name)
+111:       end
+112:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Error.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Error.html new file mode 100644 index 00000000..1c4b5b30 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Error.html @@ -0,0 +1,321 @@ + + + + + + + Class: Thor::Error + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Thor::Error

+ +
+

+Thor::Error is raised when it’s caused by +wrong usage of thor classes. Those errors have their backtrace supressed +and are nicely shown to the user. +

+

+Errors that are caused by the developer, like declaring a method which +overwrites a thor keyword, it SHOULD NOT raise a Thor::Error. This way, we ensure that developer +errors are shown with full backtrace. +

+ +
+ + + + + + + + + + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/HiddenTask.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/HiddenTask.html new file mode 100644 index 00000000..f4a06164 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/HiddenTask.html @@ -0,0 +1,362 @@ + + + + + + + Class: Thor::HiddenTask + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + +
+

Methods

+ +
+ + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Thor::HiddenTask

+ +
+

+A task that is hidden in help messages but still invocable. +

+ +
+ + + + + + + + + +
+

Public Instance Methods

+ + +
+ + +
+ + hidden?() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/vendor/thor/task.rb, line 95
+95:     def hidden?
+96:       true
+97:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Invocation.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Invocation.html new file mode 100644 index 00000000..3722dba8 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Invocation.html @@ -0,0 +1,496 @@ + + + + + + + Module: Thor::Invocation + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + +
+

Namespace

+ +
+ + + + +
+

Methods

+ +
+ + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Thor::Invocation

+ +
+ +
+ + + + + + + + + +
+

Public Instance Methods

+ + +
+ + +
+ + invoke(name=nil, *args) + click to toggle source + +
+ +
+ +

+Receives a name and invokes it. The name can be a string (either +“task” or “namespace:task”), a Thor::Task, a Class or a Thor instance. If the task cannot be guessed by +name, it can also be supplied as second argument. +

+

+You can also supply the arguments, options and configuration values for the +task to be invoked, if none is given, the same values used to initialize +the invoker are used to initialize the invoked. +

+

+When no name is given, it will invoke the default task of the current +class. +

+

Examples

+
+  class A < Thor
+    def foo
+      invoke :bar
+      invoke "b:hello", ["José"]
+    end
+
+    def bar
+      invoke "b:hello", ["José"]
+    end
+  end
+
+  class B < Thor
+    def hello(name)
+      puts "hello #{name}"
+    end
+  end
+
+

+You can notice that the method “foo” above invokes two tasks: +“bar”, which belongs to the same class and “hello” +which belongs to the class B. +

+

+By using an invocation system you ensure that a task is invoked only once. +In the example above, invoking “foo” will invoke +“b:hello” just once, even if it’s invoked later by +“bar” method. +

+

+When class A invokes class B, all arguments used on A initialization are +supplied to B. This allows lazy parse of options. Let’s suppose you +have some rspec tasks: +

+
+  class Rspec < Thor::Group
+    class_option :mock_framework, :type => :string, :default => :rr
+
+    def invoke_mock_framework
+      invoke "rspec:#{options[:mock_framework]}"
+    end
+  end
+
+

+As you noticed, it invokes the given mock framework, which might have its +own options: +

+
+  class Rspec::RR < Thor::Group
+    class_option :style, :type => :string, :default => :mock
+  end
+
+

+Since it’s not rspec concern to parse mock framework options, when RR +is invoked all options are parsed again, so RR can extract only the options +that it’s going to use. +

+

+If you want Rspec::RR to be initialized with its own set of options, you +have to do that explicitely: +

+
+  invoke "rspec:rr", [], :style => :foo
+
+

+Besides giving an instance, you can also give a class to invoke: +

+
+  invoke Rspec::RR, [], :style => :foo
+ + + +
+
+     # File lib/bundler/vendor/thor/invocation.rb, line 96
+ 96:     def invoke(name=nil, *args)
+ 97:       if name.nil?
+ 98:         warn "[Thor] Calling invoke() without argument is deprecated. Please use invoke_all instead.\n#{caller.join("\n")}"
+ 99:         return invoke_all
+100:       end
+101: 
+102:       args.unshift(nil) if Array === args.first || NilClass === args.first
+103:       task, args, opts, config = args
+104: 
+105:       klass, task = _retrieve_class_and_task(name, task)
+106:       raise "Expected Thor class, got #{klass}" unless klass <= Thor::Base
+107: 
+108:       args, opts, config = _parse_initialization_options(args, opts, config)
+109:       klass.send(:dispatch, task, args, opts, config)
+110:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + invoke_with_padding(*args) + click to toggle source + +
+ +
+ +

+Invokes using shell padding. +

+ + + +
+
+     # File lib/bundler/vendor/thor/invocation.rb, line 128
+128:     def invoke_with_padding(*args)
+129:       with_padding { invoke(*args) }
+130:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Invocation/ClassMethods.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Invocation/ClassMethods.html new file mode 100644 index 00000000..accdfcb0 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Invocation/ClassMethods.html @@ -0,0 +1,303 @@ + + + + + + + Module: Thor::Invocation::ClassMethods + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Thor::Invocation::ClassMethods

+ +
+ +
+ + + + + + + + + + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/InvocationError.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/InvocationError.html new file mode 100644 index 00000000..6ce0efa0 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/InvocationError.html @@ -0,0 +1,313 @@ + + + + + + + Class: Thor::InvocationError + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Thor::InvocationError

+ +
+

+Raised when a task was found, but not invoked properly. +

+ +
+ + + + + + + + + + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/MalformattedArgumentError.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/MalformattedArgumentError.html new file mode 100644 index 00000000..881e0183 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/MalformattedArgumentError.html @@ -0,0 +1,310 @@ + + + + + + + Class: Thor::MalformattedArgumentError + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Thor::MalformattedArgumentError

+ +
+ +
+ + + + + + + + + + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Option.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Option.html new file mode 100644 index 00000000..6ef2e454 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Option.html @@ -0,0 +1,310 @@ + + + + + + + Class: Thor::Option + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Thor::Option

+ +
+ +
+ + + + + + + + + + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Options.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Options.html new file mode 100644 index 00000000..34332ab4 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Options.html @@ -0,0 +1,314 @@ + + + + + + + Class: Thor::Options + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Thor::Options

+ +
+

+This is a modified version of Daniel Berger’s Getopt::Long class, +licensed under Ruby’s license. +

+ +
+ + + + + + + + + + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/RequiredArgumentMissingError.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/RequiredArgumentMissingError.html new file mode 100644 index 00000000..837d6d7e --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/RequiredArgumentMissingError.html @@ -0,0 +1,310 @@ + + + + + + + Class: Thor::RequiredArgumentMissingError + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Thor::RequiredArgumentMissingError

+ +
+ +
+ + + + + + + + + + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Sandbox.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Sandbox.html new file mode 100644 index 00000000..0d500a8a --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Sandbox.html @@ -0,0 +1,303 @@ + + + + + + + Module: Thor::Sandbox + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Thor::Sandbox

+ +
+ +
+ + + + + + + + + + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Shell.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Shell.html new file mode 100644 index 00000000..2379847b --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Shell.html @@ -0,0 +1,528 @@ + + + + + + + Module: Thor::Shell + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + +
+ +
+ + + + + + +
+

Namespace

+ +
+ + + + +
+

Methods

+ +
+ + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Thor::Shell

+ +
+ +
+ + + +
+

Constants

+
+ +
SHELL_DELEGATED_METHODS
+ +
+ + +
+
+ + + + + + + +
+

Public Class Methods

+ + +
+ + +
+ + new(args=[], options={}, config={}) + click to toggle source + +
+ +
+ +

+Add shell to initialize config values. +

+

Configuration

+ + +
shell

+An instance of the shell to be used. +

+
+

Examples

+
+  class MyScript < Thor
+    argument :first, :type => :numeric
+  end
+
+  MyScript.new [1.0], { :foo => :bar }, :shell => Thor::Shell::Basic.new
+ + + +
+
+    # File lib/bundler/vendor/thor/shell.rb, line 45
+45:     def initialize(args=[], options={}, config={})
+46:       super
+47:       self.shell = config[:shell]
+48:       self.shell.base ||= self if self.shell.respond_to?(:base)
+49:     end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + shell() + click to toggle source + +
+ +
+ +

+Holds the shell for the given Thor instance. If +no shell is given, it gets a default shell from Thor::Base.shell. +

+ + + +
+
+    # File lib/bundler/vendor/thor/shell.rb, line 53
+53:     def shell
+54:       @shell ||= Thor::Base.shell.new
+55:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + shell=(shell) + click to toggle source + +
+ +
+ +

+Sets the shell for this thor class. +

+ + + +
+
+    # File lib/bundler/vendor/thor/shell.rb, line 58
+58:     def shell=(shell)
+59:       @shell = shell
+60:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + with_padding() + click to toggle source + +
+ +
+ +

+Yields the given block with padding. +

+ + + +
+
+    # File lib/bundler/vendor/thor/shell.rb, line 72
+72:     def with_padding
+73:       shell.padding += 1
+74:       yield
+75:     ensure
+76:       shell.padding -= 1
+77:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Shell/Basic.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Shell/Basic.html new file mode 100644 index 00000000..335dfb32 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Shell/Basic.html @@ -0,0 +1,1121 @@ + + + + + + + Class: Thor::Shell::Basic + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Thor::Shell::Basic

+ +
+ +
+ + + + + + +
+

Attributes

+ + +
+ + + + +
+ base[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+ padding[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Instance Methods

+ + +
+ + +
+ + ask(statement, color=nil) + click to toggle source + +
+ +
+ +

+Ask something to the user and receives a response. +

+

Example

+

+ask(“What is your name?”) +

+ + + +
+
+    # File lib/bundler/vendor/thor/shell/basic.rb, line 25
+25:       def ask(statement, color=nil)
+26:         say("#{statement} ", color)
+27:         $stdin.gets.strip
+28:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + error(statement) + click to toggle source + +
+ +
+ +

+Called if something goes wrong during the execution. This is used by Thor internally and should not be used inside +your scripts. If someone went wrong, you can always raise an exception. If +you raise a Thor::Error, it will be rescued and +wrapped in the method below. +

+ + + +
+
+     # File lib/bundler/vendor/thor/shell/basic.rb, line 187
+187:       def error(statement)
+188:         $stderr.puts statement
+189:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + file_collision(destination) + click to toggle source + +
+ +
+ +

+Deals with file collision and returns true if the file should be overwriten +and false otherwise. If a block is given, it uses the block response as the +content for the diff. +

+

Parameters

+ + + +
destination

+the destination file to solve conflicts +

+
block

+an optional block that returns the value to be used in diff +

+
+ + + +
+
+     # File lib/bundler/vendor/thor/shell/basic.rb, line 156
+156:       def file_collision(destination)
+157:         return true if @always_force
+158:         options = block_given? ? "[Ynaqdh]" : "[Ynaqh]"
+159: 
+160:         while true
+161:           answer = ask %[Overwrite #{destination}? (enter "h" for help) #{options}]
+162: 
+163:           case answer
+164:             when is?(:yes), is?(:force), ""
+165:               return true
+166:             when is?(:no), is?(:skip)
+167:               return false
+168:             when is?(:always)
+169:               return @always_force = true
+170:             when is?(:quit)
+171:               say 'Aborting...'
+172:               raise SystemExit
+173:             when is?(:diff)
+174:               show_diff(destination, yield) if block_given?
+175:               say 'Retrying...'
+176:             else
+177:               say file_collision_help
+178:           end
+179:         end
+180:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + no?(statement, color=nil) + click to toggle source + +
+ +
+ +

+Make a question the to user and returns true if the user replies +“n” or “no”. +

+ + + +
+
+    # File lib/bundler/vendor/thor/shell/basic.rb, line 78
+78:       def no?(statement, color=nil)
+79:         !yes?(statement, color)
+80:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + padding=(value) + click to toggle source + +
+ +
+ +

+Sets the output padding, not allowing less than zero values. +

+ + + +
+
+    # File lib/bundler/vendor/thor/shell/basic.rb, line 16
+16:       def padding=(value)
+17:         @padding = [0, value].max
+18:       end
+
+ +
+ + + + +
+ + + + + + + + +
+ + +
+ + say(message="", color=nil, force_new_line=(message.to_s !~ /( |\t)$/)) + click to toggle source + +
+ +
+ +

+Say (print) something to the user. If the sentence ends with a whitespace +or tab character, a new line is not appended (print + flush). Otherwise are +passed straight to puts (behavior got from Highline). +

+

Example

+

+say(“I know you knew that.”) +

+ + + +
+
+    # File lib/bundler/vendor/thor/shell/basic.rb, line 37
+37:       def say(message="", color=nil, force_new_line=(message.to_s !~ /( |\t)$/))
+38:         message = message.to_s
+39:         message = set_color(message, color) if color
+40: 
+41:         spaces = "  " * padding
+42: 
+43:         if force_new_line
+44:           $stdout.puts(spaces + message)
+45:         else
+46:       $stdout.print(spaces + message)
+47:         end
+48:         $stdout.flush
+49:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + say_status(status, message, log_status=true) + click to toggle source + +
+ +
+ +

+Say a status with the given color and appends the message. Since this +method is used frequently by actions, it allows nil or false to be given in +log_status, avoiding the message from being shown. If a Symbol is given in +log_status, it’s used as the color. +

+ + + +
+
+    # File lib/bundler/vendor/thor/shell/basic.rb, line 56
+56:       def say_status(status, message, log_status=true)
+57:         return if quiet? || log_status == false
+58:         spaces = "  " * (padding + 1)
+59:         color  = log_status.is_a?(Symbol) ? log_status : :green
+60: 
+61:         status = status.to_s.rjust(12)
+62:         status = set_color status, color, true if color
+63: 
+64:         $stdout.puts "#{status}#{spaces}#{message}"
+65:         $stdout.flush
+66:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + yes?(statement, color=nil) + click to toggle source + +
+ +
+ +

+Make a question the to user and returns true if the user replies +“y” or “yes”. +

+ + + +
+
+    # File lib/bundler/vendor/thor/shell/basic.rb, line 71
+71:       def yes?(statement, color=nil)
+72:         ask(statement, color) =~ is?(:yes)
+73:       end
+
+ +
+ + + + +
+ + +
+ +
+

Protected Instance Methods

+ + +
+ + +
+ + dynamic_width() + click to toggle source + +
+ +
+ +

+Calculate the dynamic width of the terminal +

+ + + +
+
+     # File lib/bundler/vendor/thor/shell/basic.rb, line 249
+249:         def dynamic_width
+250:           @dynamic_width ||= (dynamic_width_stty.nonzero? || dynamic_width_tput)
+251:         end
+
+ +
+ + + + +
+ + +
+ + +
+ + dynamic_width_stty() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/vendor/thor/shell/basic.rb, line 253
+253:         def dynamic_width_stty
+254:           %{stty size 2>/dev/null}.split[1].to_i
+255:         end
+
+ +
+ + + + +
+ + +
+ + +
+ + dynamic_width_tput() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/vendor/thor/shell/basic.rb, line 257
+257:         def dynamic_width_tput
+258:           %{tput cols 2>/dev/null}.to_i
+259:         end
+
+ +
+ + + + +
+ + +
+ + +
+ + terminal_width() + click to toggle source + +
+ +
+ +

+This code was copied from Rake, available under MIT-LICENSE Copyright +© 2003, 2004 Jim Weirich +

+ + + +
+
+     # File lib/bundler/vendor/thor/shell/basic.rb, line 237
+237:         def terminal_width
+238:           if ENV['THOR_COLUMNS']
+239:             result = ENV['THOR_COLUMNS'].to_i
+240:           else
+241:             result = unix? ? dynamic_width : 80
+242:           end
+243:           (result < 10) ? 80 : result
+244:         rescue
+245:           80
+246:         end
+
+ +
+ + + + +
+ + +
+ + +
+ + truncate(string, width) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/vendor/thor/shell/basic.rb, line 265
+265:         def truncate(string, width)
+266:           if string.length <= width
+267:             string
+268:           else
+269:             ( string[0, width-3] || "" ) + "..."
+270:           end
+271:         end
+
+ +
+ + + + +
+ + +
+ + +
+ + unix?() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/vendor/thor/shell/basic.rb, line 261
+261:         def unix?
+262:           RUBY_PLATFORM =~ /(aix|darwin|linux|(net|free|open)bsd|cygwin|solaris|irix|hpux)/
+263:         end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Shell/Color.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Shell/Color.html new file mode 100644 index 00000000..ab91f010 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Shell/Color.html @@ -0,0 +1,504 @@ + + + + + + + Class: Thor::Shell::Color + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + +
+

Methods

+ +
+ + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Thor::Shell::Color

+ +
+

+Inherit from Thor::Shell::Basic and add set_color behavior. Check Thor::Shell::Basic to see all available methods. +

+ +
+ + + +
+

Constants

+
+ +
CLEAR
+ +

+Embed in a String to clear all previous ANSI sequences. +

+ + +
BOLD
+ +

+The start of an ANSI bold sequence. +

+ + +
BLACK
+ +

+Set the terminal’s foreground ANSI color to black. +

+ + +
RED
+ +

+Set the terminal’s foreground ANSI color to red. +

+ + +
GREEN
+ +

+Set the terminal’s foreground ANSI color to green. +

+ + +
YELLOW
+ +

+Set the terminal’s foreground ANSI color to yellow. +

+ + +
BLUE
+ +

+Set the terminal’s foreground ANSI color to blue. +

+ + +
MAGENTA
+ +

+Set the terminal’s foreground ANSI color to magenta. +

+ + +
CYAN
+ +

+Set the terminal’s foreground ANSI color to cyan. +

+ + +
WHITE
+ +

+Set the terminal’s foreground ANSI color to white. +

+ + +
ON_BLACK
+ +

+Set the terminal’s background ANSI color to black. +

+ + +
ON_RED
+ +

+Set the terminal’s background ANSI color to red. +

+ + +
ON_GREEN
+ +

+Set the terminal’s background ANSI color to green. +

+ + +
ON_YELLOW
+ +

+Set the terminal’s background ANSI color to yellow. +

+ + +
ON_BLUE
+ +

+Set the terminal’s background ANSI color to blue. +

+ + +
ON_MAGENTA
+ +

+Set the terminal’s background ANSI color to magenta. +

+ + +
ON_CYAN
+ +

+Set the terminal’s background ANSI color to cyan. +

+ + +
ON_WHITE
+ +

+Set the terminal’s background ANSI color to white. +

+ + +
+
+ + + + + + + +
+

Public Instance Methods

+ + +
+ + +
+ + set_color(string, color, bold=false) + click to toggle source + +
+ +
+ +

+Set color by using a string or one of the defined constants. If a third +option is set to true, it also adds bold to the string. This is based on +Highline implementation and it automatically appends CLEAR to the end of the returned String. +

+ + + +
+
+    # File lib/bundler/vendor/thor/shell/color.rb, line 53
+53:       def set_color(string, color, bold=false)
+54:         color = self.class.const_get(color.to_s.upcase) if color.is_a?(Symbol)
+55:         bold  = bold ? BOLD : ""
+56:         "#{bold}#{color}#{string}#{CLEAR}"
+57:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Shell/HTML.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Shell/HTML.html new file mode 100644 index 00000000..a9d09e27 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Shell/HTML.html @@ -0,0 +1,573 @@ + + + + + + + Class: Thor::Shell::HTML + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + +
+

Methods

+ +
+ + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Thor::Shell::HTML

+ +
+

+Inherit from Thor::Shell::Basic and add set_color behavior. Check Thor::Shell::Basic to see all available methods. +

+ +
+ + + +
+

Constants

+
+ +
BOLD
+ +

+The start of an HTML bold sequence. +

+ + +
END_BOLD
+ +

+The end of an HTML bold sequence. +

+ + +
CLEAR
+ +

+Embed in a String to clear previous color selection. +

+ + +
BLACK
+ +

+Set the terminal’s foreground HTML color to +black. +

+ + +
RED
+ +

+Set the terminal’s foreground HTML color to +red. +

+ + +
GREEN
+ +

+Set the terminal’s foreground HTML color to +green. +

+ + +
YELLOW
+ +

+Set the terminal’s foreground HTML color to +yellow. +

+ + +
BLUE
+ +

+Set the terminal’s foreground HTML color to +blue. +

+ + +
MAGENTA
+ +

+Set the terminal’s foreground HTML color to +magenta. +

+ + +
CYAN
+ +

+Set the terminal’s foreground HTML color to +cyan. +

+ + +
WHITE
+ +

+Set the terminal’s foreground HTML color to +white. +

+ + +
ON_BLACK
+ +

+Set the terminal’s background HTML color to +black. +

+ + +
ON_RED
+ +

+Set the terminal’s background HTML color to +red. +

+ + +
ON_GREEN
+ +

+Set the terminal’s background HTML color to +green. +

+ + +
ON_YELLOW
+ +

+Set the terminal’s background HTML color to +yellow. +

+ + +
ON_BLUE
+ +

+Set the terminal’s background HTML color to +blue. +

+ + +
ON_MAGENTA
+ +

+Set the terminal’s background HTML color to +magenta. +

+ + +
ON_CYAN
+ +

+Set the terminal’s background HTML color to +cyan. +

+ + +
ON_WHITE
+ +

+Set the terminal’s background HTML color to +white. +

+ + +
+
+ + + + + + + +
+

Public Instance Methods

+ + +
+ + +
+ + ask(statement, color=nil) + click to toggle source + +
+ +
+ +

+Ask something to the user and receives a response. +

+

Example

+

+ask(“What is your name?”) +

+

+TODO: Implement ask for Thor::Shell::HTML +

+ + + +
+
+    # File lib/bundler/vendor/thor/shell/html.rb, line 68
+68:       def ask(statement, color=nil)
+69:         raise NotImplementedError, "Implement #ask for Thor::Shell::HTML"
+70:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + set_color(string, color, bold=false) + click to toggle source + +
+ +
+ +

+Set color by using a string or one of the defined constants. If a third +option is set to true, it also adds bold to the string. This is based on +Highline implementation and it automatically appends CLEAR to the end of the returned String. +

+ + + +
+
+    # File lib/bundler/vendor/thor/shell/html.rb, line 56
+56:       def set_color(string, color, bold=false)
+57:         color = self.class.const_get(color.to_s.upcase) if color.is_a?(Symbol)
+58:         bold, end_bold = bold ? [BOLD, END_BOLD] : ['', '']
+59:         "#{bold}#{color}#{string}#{CLEAR}#{end_bold}"
+60:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Task.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Task.html new file mode 100644 index 00000000..1ace5f21 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Task.html @@ -0,0 +1,674 @@ + + + + + + + Class: Thor::Task + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Thor::Task

+ +
+ +
+ + + +
+

Constants

+
+ +
FILE_REGEXP
+ +
+ + +
+
+ + + + + + + +
+

Public Class Methods

+ + +
+ + +
+ + new(name, description, long_description, usage, options=nil) + click to toggle source + +
+ +
+ + + + + +
+
+   # File lib/bundler/vendor/thor/task.rb, line 5
+5:     def initialize(name, description, long_description, usage, options=nil)
+6:       super(name.to_s, description, long_description, usage, options || {})
+7:     end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + formatted_usage(klass, namespace = true, subcommand = false) + click to toggle source + +
+ +
+ +

+Returns the formatted usage by injecting given required arguments and +required options into the given usage. +

+ + + +
+
+    # File lib/bundler/vendor/thor/task.rb, line 33
+33:     def formatted_usage(klass, namespace = true, subcommand = false)
+34:       if namespace
+35:         namespace = klass.namespace
+36:         formatted = "#{namespace.gsub(/^(default)/,'')}:"
+37:         formatted.sub!(/.$/, ' ') if subcommand
+38:       end
+39: 
+40:       formatted ||= ""
+41: 
+42:       # Add usage with required arguments
+43:       formatted << if klass && !klass.arguments.empty?
+44:         usage.to_s.gsub(/^#{name}/) do |match|
+45:           match << " " << klass.arguments.map{ |a| a.usage }.compact.join(' ')
+46:         end
+47:       else
+48:         usage.to_s
+49:       end
+50: 
+51:       # Add required options
+52:       formatted << " #{required_options}"
+53: 
+54:       # Strip and go!
+55:       formatted.strip
+56:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + hidden?() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/vendor/thor/task.rb, line 14
+14:     def hidden?
+15:       false
+16:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + run(instance, args=[]) + click to toggle source + +
+ +
+ +

+By default, a task invokes a method in the thor class. You can change this +implementation to create custom tasks. +

+ + + +
+
+    # File lib/bundler/vendor/thor/task.rb, line 20
+20:     def run(instance, args=[])
+21:       public_method?(instance) ?
+22:         instance.send(name, *args) : instance.class.handle_no_task_error(name)
+23:     rescue ArgumentError => e
+24:       handle_argument_error?(instance, e, caller) ?
+25:         instance.class.handle_argument_error(self, e) : (raise e)
+26:     rescue NoMethodError => e
+27:       handle_no_method_error?(instance, e, caller) ?
+28:         instance.class.handle_no_task_error(name) : (raise e)
+29:     end
+
+ +
+ + + + +
+ + +
+ +
+

Protected Instance Methods

+ + +
+ + +
+ + handle_argument_error?(instance, error, caller) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/vendor/thor/task.rb, line 79
+79:     def handle_argument_error?(instance, error, caller)
+80:       not_debugging?(instance) && error.message =~ /wrong number of arguments/ && begin
+81:         saned = sans_backtrace(error.backtrace, caller)
+82:         # Ruby 1.9 always include the called method in the backtrace
+83:         saned.empty? || (saned.size == 1 && RUBY_VERSION >= "1.9")
+84:       end
+85:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + handle_no_method_error?(instance, error, caller) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/vendor/thor/task.rb, line 87
+87:     def handle_no_method_error?(instance, error, caller)
+88:       not_debugging?(instance) &&
+89:         error.message =~ /^undefined method `#{name}' for #{Regexp.escape(instance.to_s)}$/
+90:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + not_debugging?(instance) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/vendor/thor/task.rb, line 60
+60:     def not_debugging?(instance)
+61:       !(instance.class.respond_to?(:debugging) && instance.class.debugging)
+62:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + required_options() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/vendor/thor/task.rb, line 64
+64:     def required_options
+65:       @required_options ||= options.map{ |_, o| o.usage if o.required? }.compact.sort.join(" ")
+66:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/UndefinedTaskError.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/UndefinedTaskError.html new file mode 100644 index 00000000..7fa810e7 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/UndefinedTaskError.html @@ -0,0 +1,313 @@ + + + + + + + Class: Thor::UndefinedTaskError + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Thor::UndefinedTaskError

+ +
+

+Raised when a task was not found. +

+ +
+ + + + + + + + + + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/UnknownArgumentError.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/UnknownArgumentError.html new file mode 100644 index 00000000..697e041d --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/UnknownArgumentError.html @@ -0,0 +1,310 @@ + + + + + + + Class: Thor::UnknownArgumentError + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Thor::UnknownArgumentError

+ +
+ +
+ + + + + + + + + + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Util.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Util.html new file mode 100644 index 00000000..11d2fb93 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Util.html @@ -0,0 +1,984 @@ + + + + + + + Module: Thor::Util + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + + + + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Thor::Util

+ +
+

+This module holds several utilities: +

+

+1) Methods to convert thor namespaces to constants and vice-versa. +

+
+  Thor::Utils.namespace_from_thor_class(Foo::Bar::Baz) #=> "foo:bar:baz"
+
+

+2) Loading thor files and sandboxing: +

+
+  Thor::Utils.load_thorfile("~/.thor/foo")
+ +
+ + + + + + + + + +
+

Public Class Methods

+ + +
+ + +
+ + camel_case(str) + click to toggle source + +
+ +
+ +

+Receives a string and convert it to camel case. camel_case returns CamelCase. +

+

Parameters

+

+String +

+

Returns

+

+String +

+ + + +
+
+     # File lib/bundler/vendor/thor/util.rb, line 104
+104:     def self.camel_case(str)
+105:       return str if str !~ /_/ && str =~ /[A-Z]+.*/
+106:       str.split('_').map { |i| i.capitalize }.join
+107:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + find_by_namespace(namespace) + click to toggle source + +
+ +
+ +

+Receives a namespace and search for it in the Thor::Base subclasses. +

+

Parameters

+ + +
namespace

+The namespace to search for. +

+
+ + + +
+
+    # File lib/bundler/vendor/thor/util.rb, line 24
+24:     def self.find_by_namespace(namespace)
+25:       namespace = "default#{namespace}" if namespace.empty? || namespace =~ /^:/
+26:       Thor::Base.subclasses.find { |klass| klass.namespace == namespace }
+27:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + find_class_and_task_by_namespace(namespace, fallback = true) + click to toggle source + +
+ +
+ +

+Receives a namespace and tries to retrieve a Thor or Thor::Group class from it. It first +searches for a class using the all the given namespace, if it’s not +found, removes the highest entry and searches for the class again. If +found, returns the highest entry as the class name. +

+

Examples

+
+  class Foo::Bar < Thor
+    def baz
+    end
+  end
+
+  class Baz::Foo < Thor::Group
+  end
+
+  Thor::Util.namespace_to_thor_class("foo:bar")     #=> Foo::Bar, nil # will invoke default task
+  Thor::Util.namespace_to_thor_class("baz:foo")     #=> Baz::Foo, nil
+  Thor::Util.namespace_to_thor_class("foo:bar:baz") #=> Foo::Bar, "baz"
+
+

Parameters

+

+namespace +

+ + + +
+
+     # File lib/bundler/vendor/thor/util.rb, line 131
+131:     def self.find_class_and_task_by_namespace(namespace, fallback = true)
+132:       if namespace.include?(::) # look for a namespaced task
+133:         pieces = namespace.split(":")
+134:         task   = pieces.pop
+135:         klass  = Thor::Util.find_by_namespace(pieces.join(":"))
+136:       end
+137:       unless klass # look for a Thor::Group with the right name
+138:         klass, task = Thor::Util.find_by_namespace(namespace), nil
+139:       end
+140:       if !klass && fallback # try a task in the default namespace
+141:         task = namespace
+142:         klass = Thor::Util.find_by_namespace('')
+143:       end
+144:       return klass, task
+145:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + globs_for(path) + click to toggle source + +
+ +
+ +

+Where to look for Thor files. +

+ + + +
+
+     # File lib/bundler/vendor/thor/util.rb, line 210
+210:     def self.globs_for(path)
+211:       ["#{path}/Thorfile", "#{path}/*.thor", "#{path}/tasks/*.thor", "#{path}/lib/tasks/*.thor"]
+212:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + load_thorfile(path, content=nil, debug=false) + click to toggle source + +
+ +
+ +

+Receives a path and load the thor file in the path. The file is evaluated +inside the sandbox to avoid namespacing conflicts. +

+ + + +
+
+     # File lib/bundler/vendor/thor/util.rb, line 150
+150:     def self.load_thorfile(path, content=nil, debug=false)
+151:       content ||= File.binread(path)
+152: 
+153:       begin
+154:         Thor::Sandbox.class_eval(content, path)
+155:       rescue Exception => e
+156:         $stderr.puts "WARNING: unable to load thorfile #{path.inspect}: #{e.message}"
+157:         if debug
+158:           $stderr.puts *e.backtrace
+159:         else
+160:           $stderr.puts e.backtrace.first
+161:         end
+162:       end
+163:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + namespace_from_thor_class(constant) + click to toggle source + +
+ +
+ +

+Receives a constant and converts it to a Thor +namespace. Since Thor tasks can be added to a +sandbox, this method is also responsable for removing the sandbox +namespace. +

+

+This method should not be used in general because it’s used to deal +with older versions of Thor. On current +versions, if you need to get the namespace from a class, just call +namespace on it. +

+

Parameters

+ + +
constant

+The constant to be converted to the thor path. +

+
+

Returns

+ + +
String

+If we receive Foo::Bar::Baz it returns “foo:bar:baz“ +

+
+ + + +
+
+    # File lib/bundler/vendor/thor/util.rb, line 43
+43:     def self.namespace_from_thor_class(constant)
+44:       constant = constant.to_s.gsub(/^Thor::Sandbox::/, "")
+45:       constant = snake_case(constant).squeeze(":")
+46:       constant
+47:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + namespaces_in_content(contents, file=__FILE__) + click to toggle source + +
+ +
+ +

+Given the contents, evaluate it inside the sandbox and returns the +namespaces defined in the sandbox. +

+

Parameters

+

+contents +

+

Returns

+

+Array[Object] +

+ + + +
+
+    # File lib/bundler/vendor/thor/util.rb, line 58
+58:     def self.namespaces_in_content(contents, file=__FILE__)
+59:       old_constants = Thor::Base.subclasses.dup
+60:       Thor::Base.subclasses.clear
+61: 
+62:       load_thorfile(file, contents)
+63: 
+64:       new_constants = Thor::Base.subclasses.dup
+65:       Thor::Base.subclasses.replace(old_constants)
+66: 
+67:       new_constants.map!{ |c| c.namespace }
+68:       new_constants.compact!
+69:       new_constants
+70:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + ruby_command() + click to toggle source + +
+ +
+ +

+Return the path to the ruby interpreter taking into account multiple +installations and windows extensions. +

+ + + +
+
+     # File lib/bundler/vendor/thor/util.rb, line 217
+217:     def self.ruby_command
+218:       @ruby_command ||= begin
+219:         ruby = File.join(RbConfig::CONFIG['bindir'], RbConfig::CONFIG['ruby_install_name'])
+220:         ruby << RbConfig::CONFIG['EXEEXT']
+221: 
+222:         # escape string in case path to ruby executable contain spaces.
+223:         ruby.sub!(/.*\s.*/, '"\&"')
+224:         ruby
+225:       end
+226:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + snake_case(str) + click to toggle source + +
+ +
+ +

+Receives a string and convert it to snake case. SnakeCase returns +snake_case. +

+

Parameters

+

+String +

+

Returns

+

+String +

+ + + +
+
+    # File lib/bundler/vendor/thor/util.rb, line 90
+90:     def self.snake_case(str)
+91:       return str.downcase if str =~ /^[A-Z_]+$/
+92:       str.gsub(/\B[A-Z]/, '_\&').squeeze('_') =~ /_*(.*)/
+93:       return $+.downcase
+94:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + thor_classes_in(klass) + click to toggle source + +
+ +
+ +

+Returns the thor classes declared inside the given class. +

+ + + +
+
+    # File lib/bundler/vendor/thor/util.rb, line 74
+74:     def self.thor_classes_in(klass)
+75:       stringfied_constants = klass.constants.map { |c| c.to_s }
+76:       Thor::Base.subclasses.select do |subclass|
+77:         next unless subclass.name
+78:         stringfied_constants.include?(subclass.name.gsub("#{klass.name}::", ''))
+79:       end
+80:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + thor_root() + click to toggle source + +
+ +
+ +

+Returns the root where thor files are located, dependending on the OS. +

+ + + +
+
+     # File lib/bundler/vendor/thor/util.rb, line 189
+189:     def self.thor_root
+190:       File.join(user_home, ".thor").gsub(/\\/, '/')
+191:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + thor_root_glob() + click to toggle source + +
+ +
+ +

+Returns the files in the thor root. On Windows thor_root will be something like +this: +

+
+  C:\Documents and Settings\james\.thor
+
+

+If we don’t gsub the \ character, Dir.glob will fail. +

+ + + +
+
+     # File lib/bundler/vendor/thor/util.rb, line 200
+200:     def self.thor_root_glob
+201:       files = Dir["#{thor_root}/*"]
+202: 
+203:       files.map! do |file|
+204:         File.directory?(file) ? File.join(file, "main.thor") : file
+205:       end
+206:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + user_home() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/vendor/thor/util.rb, line 165
+165:     def self.user_home
+166:       @@user_home ||= if ENV["HOME"]
+167:         ENV["HOME"]
+168:       elsif ENV["USERPROFILE"]
+169:         ENV["USERPROFILE"]
+170:       elsif ENV["HOMEDRIVE"] && ENV["HOMEPATH"]
+171:         File.join(ENV["HOMEDRIVE"], ENV["HOMEPATH"])
+172:       elsif ENV["APPDATA"]
+173:         ENV["APPDATA"]
+174:       else
+175:         begin
+176:           File.expand_path("~")
+177:         rescue
+178:           if File::ALT_SEPARATOR
+179:             "C:/"
+180:           else
+181:             "/"
+182:           end
+183:         end
+184:       end
+185:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/created.rid b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/created.rid new file mode 100644 index 00000000..a7d3e655 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/created.rid @@ -0,0 +1,65 @@ +Thu, 23 Sep 2010 23:33:55 -0500 +lib/bundler/vendor/thor.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/task.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/parser/options.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-update Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/environment.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/core_ext/ordered_hash.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/ui.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/shared_helpers.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/setup.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/rubygems_ext.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/index.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/dependency.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/version.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/shell/color.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/shell/basic.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/parser/argument.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/templates/Executable Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/remote_specification.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/gemfile.5.txt Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/actions.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/templates/Gemfile Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/spec_set.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/graph.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/gem_helper.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/version.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/util.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/actions/empty_directory.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/actions/create_file.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/source.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-update.txt Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-exec.txt Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-config Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/capistrano.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-package.txt Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-package Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-install Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/shell/html.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/runtime.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/resolver.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle.txt Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/definition.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/parser.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/core_ext/file_binary_read.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/actions/inject_into_file.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/settings.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-install.txt Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/lockfile_parser.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/lazy_specification.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/parser/option.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-config.txt Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/invocation.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/error.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/actions/directory.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/installer.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/cli.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/shell.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/parser/arguments.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/base.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/actions/file_manipulation.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-exec Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/dsl.rb Thu, 23 Sep 2010 23:33:39 -0500 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/brick.png b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/brick.png new file mode 100644 index 00000000..7851cf34 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/brick.png differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/brick_link.png b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/brick_link.png new file mode 100644 index 00000000..9ebf013a Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/brick_link.png differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/bug.png b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/bug.png new file mode 100644 index 00000000..2d5fb90e Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/bug.png differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/bullet_black.png b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/bullet_black.png new file mode 100644 index 00000000..57619706 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/bullet_black.png differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/bullet_toggle_minus.png b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/bullet_toggle_minus.png new file mode 100644 index 00000000..b47ce55f Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/bullet_toggle_minus.png differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/bullet_toggle_plus.png b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/bullet_toggle_plus.png new file mode 100644 index 00000000..9ab4a896 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/bullet_toggle_plus.png differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/date.png b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/date.png new file mode 100644 index 00000000..783c8335 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/date.png differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/find.png b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/find.png new file mode 100644 index 00000000..15474796 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/find.png differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/loadingAnimation.gif b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/loadingAnimation.gif new file mode 100644 index 00000000..82290f48 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/loadingAnimation.gif differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/macFFBgHack.png b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/macFFBgHack.png new file mode 100644 index 00000000..c6473b32 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/macFFBgHack.png differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/package.png b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/package.png new file mode 100644 index 00000000..da3c2a2d Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/package.png differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/page_green.png b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/page_green.png new file mode 100644 index 00000000..de8e003f Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/page_green.png differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/page_white_text.png b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/page_white_text.png new file mode 100644 index 00000000..813f712f Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/page_white_text.png differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/page_white_width.png b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/page_white_width.png new file mode 100644 index 00000000..1eb88094 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/page_white_width.png differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/plugin.png b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/plugin.png new file mode 100644 index 00000000..6187b15a Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/plugin.png differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/ruby.png b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/ruby.png new file mode 100644 index 00000000..f763a168 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/ruby.png differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/tag_green.png b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/tag_green.png new file mode 100644 index 00000000..83ec984b Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/tag_green.png differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/wrench.png b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/wrench.png new file mode 100644 index 00000000..5c8213fe Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/wrench.png differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/wrench_orange.png b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/wrench_orange.png new file mode 100644 index 00000000..565a9330 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/wrench_orange.png differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/zoom.png b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/zoom.png new file mode 100644 index 00000000..908612e3 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/zoom.png differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/index.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/index.html new file mode 100644 index 00000000..4fb92ead --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/index.html @@ -0,0 +1,1180 @@ + + + + + + + + bundler-1.0.0 Documentation + + + + + + + + + + + + +

bundler-1.0.0 Documentation

+ + +

This is the API documentation for 'bundler-1.0.0 Documentation'.

+ + + + +

Files

+ + + +

Classes/Modules

+ + +

Methods

+ + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/js/darkfish.js b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/js/darkfish.js new file mode 100644 index 00000000..84565c1e --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/js/darkfish.js @@ -0,0 +1,116 @@ +/** + * + * Darkfish Page Functions + * $Id: darkfish.js 53 2009-01-07 02:52:03Z deveiant $ + * + * Author: Michael Granger + * + */ + +/* Provide console simulation for firebug-less environments */ +if (!("console" in window) || !("firebug" in console)) { + var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml", + "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"]; + + window.console = {}; + for (var i = 0; i < names.length; ++i) + window.console[names[i]] = function() {}; +}; + + +/** + * Unwrap the first element that matches the given @expr@ from the targets and return them. + */ +$.fn.unwrap = function( expr ) { + return this.each( function() { + $(this).parents( expr ).eq( 0 ).after( this ).remove(); + }); +}; + + +function showSource( e ) { + var target = e.target; + var codeSections = $(target). + parents('.method-detail'). + find('.method-source-code'); + + $(target). + parents('.method-detail'). + find('.method-source-code'). + slideToggle(); +}; + +function hookSourceViews() { + $('.method-description,.method-heading').click( showSource ); +}; + +function toggleDebuggingSection() { + $('.debugging-section').slideToggle(); +}; + +function hookDebuggingToggle() { + $('#debugging-toggle img').click( toggleDebuggingSection ); +}; + +function hookQuickSearch() { + $('.quicksearch-field').each( function() { + var searchElems = $(this).parents('.section').find( 'li' ); + var toggle = $(this).parents('.section').find('h3 .search-toggle'); + // console.debug( "Toggle is: %o", toggle ); + var qsbox = $(this).parents('form').get( 0 ); + + $(this).quicksearch( this, searchElems, { + noSearchResultsIndicator: 'no-class-search-results', + focusOnLoad: false + }); + $(toggle).click( function() { + // console.debug( "Toggling qsbox: %o", qsbox ); + $(qsbox).toggle(); + }); + }); +}; + +function highlightTarget( anchor ) { + console.debug( "Highlighting target '%s'.", anchor ); + + $("a[name=" + anchor + "]").each( function() { + if ( !$(this).parent().parent().hasClass('target-section') ) { + console.debug( "Wrapping the target-section" ); + $('div.method-detail').unwrap( 'div.target-section' ); + $(this).parent().wrap( '
' ); + } else { + console.debug( "Already wrapped." ); + } + }); +}; + +function highlightLocationTarget() { + console.debug( "Location hash: %s", window.location.hash ); + if ( ! window.location.hash || window.location.hash.length == 0 ) return; + + var anchor = window.location.hash.substring(1); + console.debug( "Found anchor: %s; matching %s", anchor, "a[name=" + anchor + "]" ); + + highlightTarget( anchor ); +}; + +function highlightClickTarget( event ) { + console.debug( "Highlighting click target for event %o", event.target ); + try { + var anchor = $(event.target).attr( 'href' ).substring(1); + console.debug( "Found target anchor: %s", anchor ); + highlightTarget( anchor ); + } catch ( err ) { + console.error( "Exception while highlighting: %o", err ); + }; +}; + + +$(document).ready( function() { + hookSourceViews(); + hookDebuggingToggle(); + hookQuickSearch(); + highlightLocationTarget(); + + $('ul.link-list a').bind( "click", highlightClickTarget ); +}); diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/js/jquery.js b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/js/jquery.js new file mode 100644 index 00000000..afe9e74c --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/js/jquery.js @@ -0,0 +1,32 @@ +/* + * jQuery 1.2.6 - New Wave Javascript + * + * Copyright (c) 2008 John Resig (jquery.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * $Date: 2008-09-25 09:50:52 -0700 (Thu, 25 Sep 2008) $ + * $Rev: 38 $ + */ +(function(){var _jQuery=window.jQuery,_$=window.$;var jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);};var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/,isSimple=/^.[^:#\[\.]*$/,undefined;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}if(typeof selector=="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem){if(elem.id!=match[3])return jQuery().find(selector);return jQuery(elem);}selector=[];}}else +return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))return jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(jQuery.makeArray(selector));},jquery:"1.2.6",size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(name.constructor==String)if(value===undefined)return this[0]&&jQuery[type||"attr"](this[0],name);else{options={};options[name]=value;}return this.each(function(i){for(name in options)jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){if((key=='width'||key=='height')&&parseFloat(value)<0)value=undefined;return this.attr(key,value,"curCSS");},text:function(text){if(typeof text!="object"&&text!=null)return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));var ret="";jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8)ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]);});});return ret;},wrapAll:function(html){if(this[0])jQuery(html,this[0].ownerDocument).clone().insertBefore(this[0]).map(function(){var elem=this;while(elem.firstChild)elem=elem.firstChild;return elem;}).append(this);return this;},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return this.domManip(arguments,true,false,function(elem){if(this.nodeType==1)this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,true,function(elem){if(this.nodeType==1)this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,true,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},find:function(selector){var elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem);});return this.pushStack(/[^+>] [^+>]/.test(selector)||selector.indexOf("..")>-1?jQuery.unique(elems):elems);},clone:function(events){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else +return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)this[expando]=null;});if(events===true)this.find("*").andSelf().each(function(i){if(this.nodeType==3)return;var events=jQuery.data(this,"events");for(var type in events)for(var handler in events[type])jQuery.event.add(clone[i],type,events[type][handler],events[type][handler].data);});return ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,this));},not:function(selector){if(selector.constructor==String)if(isSimple.test(selector))return this.pushStack(jQuery.multiFilter(selector,this,true));else +selector=jQuery.multiFilter(selector,this);var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selector){return this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector=='string'?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)return null;for(var i=one?index:0,max=one?index+1:options.length;i=0||jQuery.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var values=jQuery.makeArray(value);jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0);});if(!values.length)this.selectedIndex=-1;}else +this.value=value;});},html:function(value){return value==undefined?(this[0]?this[0].innerHTML:null):this.empty().append(value);},replaceWith:function(value){return this.after(value).remove();},eq:function(i){return this.slice(i,i+1);},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},andSelf:function(){return this.add(this.prevObject);},data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)data=jQuery.data(this[0],key);return data===undefined&&parts[1]?this.data(parts[0]):data;}else +return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value);});},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});},domManip:function(args,table,reverse,callback){var clone=this.length>1,elems;return this.each(function(){if(!elems){elems=jQuery.clean(args,this.ownerDocument);if(reverse)elems.reverse();}var obj=this;if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0],"tr"))obj=this.getElementsByTagName("tbody")[0]||this.appendChild(this.ownerDocument.createElement("tbody"));var scripts=jQuery([]);jQuery.each(elems,function(){var elem=clone?jQuery(this).clone(true)[0]:this;if(jQuery.nodeName(elem,"script"))scripts=scripts.add(elem);else{if(elem.nodeType==1)scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.fn.init.prototype=jQuery.fn;function evalScript(i,elem){if(elem.src)jQuery.ajax({url:elem.src,async:false,dataType:"script"});else +jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(elem.parentNode)elem.parentNode.removeChild(elem);}function now(){return+new Date;}jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}if(typeof target!="object"&&typeof target!="function")target={};if(length==i){target=this;--i;}for(;i-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}callback.call(elem);for(var name in options)elem.style[name]=old[name];},css:function(elem,name,force){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;var padding=0,border=0;jQuery.each(which,function(){padding+=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;border+=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});val-=Math.round(padding+border);}if(jQuery(elem).is(":visible"))getWH();else +jQuery.swap(elem,props,getWH);return Math.max(0,val);}return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret,style=elem.style;function color(elem){if(!jQuery.browser.safari)return false;var ret=defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}if(jQuery.browser.opera&&name=="display"){var save=style.outline;style.outline="0 solid black";style.outline=save;}if(name.match(/float/i))name=styleFloat;if(!force&&style&&style[name])ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle&&!color(elem))ret=computedStyle.getPropertyValue(name);else{var swap=[],stack=[],a=elem,i=0;for(;a&&color(a);a=a.parentNode)stack.unshift(a);for(;i]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!tags.indexOf("",""]||!tags.indexOf("",""]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"","
"]||!tags.indexOf("",""]||(!tags.indexOf("",""]||!tags.indexOf("",""]||jQuery.browser.msie&&[1,"div
","
"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf(""&&tags.indexOf("=0;--j)if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)tbody[j].parentNode.removeChild(tbody[j]);if(/^\s/.test(elem))div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);}elem=jQuery.makeArray(div.childNodes);}if(elem.length===0&&(!jQuery.nodeName(elem,"form")&&!jQuery.nodeName(elem,"select")))return;if(elem[0]==undefined||jQuery.nodeName(elem,"form")||elem.options)ret.push(elem);else +ret=jQuery.merge(ret,elem);});return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined,msie=jQuery.browser.msie;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&jQuery.browser.safari)elem.parentNode.selectedIndex;if(name in elem&¬xml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)throw"type property can't be changed";elem[name]=value;}if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))return elem.getAttributeNode(name).nodeValue;return elem[name];}if(msie&¬xml&&name=="style")return jQuery.attr(elem.style,"cssText",value);if(set)elem.setAttribute(name,""+value);var attr=msie&¬xml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}if(msie&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||array.split||array.setInterval||array.call)ret[0]=array;else +while(i)ret[--i]=array[i];}return ret;},inArray:function(elem,array){for(var i=0,length=array.length;i*",this).remove();while(this.firstChild)this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new RegExp("^>\\s*("+chars+"+)"),quickID=new RegExp("^("+chars+"+)(#)("+chars+"+)"),quickClass=new RegExp("^([#.]?)("+chars+"*)");jQuery.extend({expr:{"":function(a,i,m){return m[2]=="*"||jQuery.nodeName(a,m[2]);},"#":function(a,i,m){return a.getAttribute("id")==m[2];},":":{lt:function(a,i,m){return im[3]-0;},nth:function(a,i,m){return m[3]-0==i;},eq:function(a,i,m){return m[3]-0==i;},first:function(a,i){return i==0;},last:function(a,i,m,r){return i==r.length-1;},even:function(a,i){return i%2==0;},odd:function(a,i){return i%2;},"first-child":function(a){return a.parentNode.getElementsByTagName("*")[0]==a;},"last-child":function(a){return jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a;},"only-child":function(a){return!jQuery.nth(a.parentNode.lastChild,2,"previousSibling");},parent:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;},visible:function(a){return"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden";},hidden:function(a){return"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden";},enabled:function(a){return!a.disabled;},disabled:function(a){return a.disabled;},checked:function(a){return a.checked;},selected:function(a){return a.selected||jQuery.attr(a,"selected");},text:function(a){return"text"==a.type;},radio:function(a){return"radio"==a.type;},checkbox:function(a){return"checkbox"==a.type;},file:function(a){return"file"==a.type;},password:function(a){return"password"==a.type;},submit:function(a){return"submit"==a.type;},image:function(a){return"image"==a.type;},reset:function(a){return"reset"==a.type;},button:function(a){return"button"==a.type||jQuery.nodeName(a,"button");},input:function(a){return/input|select|textarea|button/i.test(a.nodeName);},has:function(a,i,m){return jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,new RegExp("^([:.#]*)("+chars+"+)")],multiFilter:function(expr,elems,not){var old,cur=[];while(expr&&expr!=old){old=expr;var f=jQuery.filter(expr,elems,not);expr=f.t.replace(/^\s*,\s*/,"");cur=not?elems=f.r:jQuery.merge(cur,f.r);}return cur;},find:function(t,context){if(typeof t!="string")return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&&last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false,re=quickChild,m=re.exec(t);if(m){nodeName=m[1].toUpperCase();for(var i=0;ret[i];i++)for(var c=ret[i].firstChild;c;c=c.nextSibling)if(c.nodeType==1&&(nodeName=="*"||c.nodeName.toUpperCase()==nodeName))r.push(c);ret=r;t=t.replace(re,"");if(t.indexOf(" ")==0)continue;foundToken=true;}else{re=/^([>+~])\s*(\w*)/i;if((m=re.exec(t))!=null){r=[];var merge={};nodeName=m[2].toUpperCase();m=m[1];for(var j=0,rl=ret.length;j=0;if(!not&&pass||not&&!pass)tmp.push(r[i]);}return tmp;},filter:function(t,r,not){var last;while(t&&t!=last){last=t;var p=jQuery.parse,m;for(var i=0;p[i];i++){m=p[i].exec(t);if(m){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}if(!m)break;if(m[1]==":"&&m[2]=="not")r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);else if(m[1]==".")r=jQuery.classFilter(r,m[2],not);else if(m[1]=="["){var tmp=[],type=m[3];for(var i=0,rl=r.length;i=0)^not)tmp.push(a);}r=tmp;}else if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;for(var i=0,rl=r.length;i=0)add=true;if(add^not)tmp.push(node);}r=tmp;}else{var fn=jQuery.expr[m[1]];if(typeof fn=="object")fn=fn[m[2]];if(typeof fn=="string")fn=eval("false||function(a,i){return "+fn+";}");r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}return{r:r,t:t};},dir:function(elem,dir){var matched=[],cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)matched.push(cur);cur=cur[dir];}return matched;},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir])if(cur.nodeType==1&&++num==result)break;return cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&n!=elem)r.push(n);}return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)return;if(jQuery.browser.msie&&elem.setInterval)elem=window;if(!handler.guid)handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=this.proxy(fn,function(){return fn.apply(this,arguments);});handler.data=data;}var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){if(typeof jQuery!="undefined"&&!jQuery.event.triggered)return jQuery.event.handle.apply(arguments.callee.elem,arguments);});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)elem.addEventListener(type,handle,false);else if(elem.attachEvent)elem.attachEvent("on"+type,handle);}}handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)=="."))for(var type in events)this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)delete events[type][handler.guid];else +for(handler in events[type])if(!parts[1]||events[type][handler].type==parts[1])delete events[type][handler];for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem)===false){if(elem.removeEventListener)elem.removeEventListener(type,jQuery.data(elem,"handle"),false);else if(elem.detachEvent)elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}ret=null;delete events[type];}}});}for(ret in events)break;if(!ret){var handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeData(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(type,data,elem,donative,extra){data=jQuery.makeArray(data);if(type.indexOf("!")>=0){type=type.slice(0,-1);var exclusive=true;}if(!elem){if(this.global[type])jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event){data.unshift({type:type,target:elem,preventDefault:function(){},stopPropagation:function(){},timeStamp:now()});data[0][expando]=true;}data[0].type=type;if(exclusive)data[0].exclusive=true;var handle=jQuery.data(elem,"handle");if(handle)val=handle.apply(elem,data);if((!fn||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)val=false;if(event)data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)val=ret;}if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}this.triggered=false;}return val;},handle:function(event){var val,ret,namespace,all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);namespace=event.type.split(".");event.type=namespace[0];namespace=namespace[1];all=!namespace&&!event.exclusive;handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||handler.type==namespace){event.handler=handler;event.data=handler.data;ret=handler.apply(this,arguments);if(val!==false)val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}return val;},fix:function(event){if(event[expando]==true)return event;var originalEvent=event;event={originalEvent:originalEvent};var props="altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which".split(" ");for(var i=props.length;i;i--)event[props[i]]=originalEvent[props[i]];event[expando]=true;event.preventDefault=function(){if(originalEvent.preventDefault)originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)originalEvent.stopPropagation();originalEvent.cancelBubble=true;};event.timeStamp=event.timeStamp||now();if(!event.target)event.target=event.srcElement||document;if(event.target.nodeType==3)event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0);}if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)event.metaKey=event.ctrlKey;if(!event.which&&event.button)event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},proxy:function(fn,proxy){proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:function(){bindReady();return;},teardown:function(){return;}},mouseenter:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseenter";return jQuery.event.handle.apply(this,arguments);}},mouseleave:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseleave";return jQuery.event.handle.apply(this,arguments);}}}};jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data);});},one:function(type,data,fn){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data,fn){return this.each(function(){jQuery.event.trigger(type,data,this,true,fn);});},triggerHandler:function(type,data,fn){return this[0]&&jQuery.event.trigger(type,data,this[0],false,fn);},toggle:function(fn){var args=arguments,i=1;while(i=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}callback=callback||function(){};var type="GET";if(params)if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")self.html(selector?jQuery("
").append(res.responseText.replace(//g,"")).find(selector):res.responseText);self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return jQuery.nodeName(this,"form")?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:val.constructor==Array?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null;}return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={};}return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{url:location.href,global:true,type:"GET",timeout:0,contentType:"application/x-www-form-urlencoded",processData:true,async:true,data:null,username:null,password:null,accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!="string")s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(type=="GET"){if(!s.url.match(jsre))s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?";}else if(!s.data||!s.data.match(jsre))s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";s.dataType="json";}if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;try{delete window[jsonp];}catch(e){}if(head)head.removeChild(script);};}if(s.dataType=="script"&&s.cache==null)s.cache=false;if(s.cache===false&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}if(s.global&&!jQuery.active++)jQuery.event.trigger("ajaxStart");var remote=/^(?:\w+:)?\/\/([^\/?#]+)/;if(s.dataType=="script"&&type=="GET"&&remote.test(s.url)&&remote.exec(s.url)[1]!=location.host){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();head.removeChild(script);}};}head.appendChild(script);return undefined;}var requestDone=false;var xhr=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();if(s.username)xhr.open(type,s.url,s.async,s.username,s.password);else +xhr.open(type,s.url,s.async);try{if(s.data)xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}if(s.beforeSend&&s.beforeSend(xhr,s)===false){s.global&&jQuery.active--;xhr.abort();return false;}if(s.global)jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xhr)&&"error"||s.ifModified&&jQuery.httpNotModified(xhr,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s.dataFilter);}catch(e){status="parsererror";}}if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}if(s.ifModified&&modRes)jQuery.lastModified[s.url]=modRes;if(!jsonp)success();}else +jQuery.handleError(s,xhr,status);complete();if(s.async)xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)setTimeout(function(){if(xhr){xhr.abort();if(!requestDone)onreadystatechange("timeout");}},s.timeout);}try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}if(!s.async)onreadystatechange();function success(){if(s.success)s.success(data,status);if(s.global)jQuery.event.trigger("ajaxSuccess",[xhr,s]);}function complete(){if(s.complete)s.complete(xhr,status);if(s.global)jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)jQuery.event.trigger("ajaxStop");}return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url]||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpData:function(xhr,type,filter){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")throw"parsererror";if(filter)data=filter(data,type);if(type=="script")jQuery.globalEval(data);if(type=="json")data=eval("("+data+")");return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value));});else +for(var j in a)if(a[j]&&a[j].constructor==Array)jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else +s.push(encodeURIComponent(j)+"="+encodeURIComponent(jQuery.isFunction(a[j])?a[j]():a[j]));return s.join("&").replace(/%20/g,"+");}});jQuery.fn.extend({show:function(speed,callback){return speed?this.animate({height:"show",width:"show",opacity:"show"},speed,callback):this.filter(":hidden").each(function(){this.style.display=this.oldblock||"";if(jQuery.css(this,"display")=="none"){var elem=jQuery("<"+this.tagName+" />").appendTo("body");this.style.display=elem.css("display");if(this.style.display=="none")this.style.display="block";elem.remove();}}).end();},hide:function(speed,callback){return speed?this.animate({height:"hide",width:"hide",opacity:"hide"},speed,callback):this.filter(":visible").each(function(){this.oldblock=this.oldblock||jQuery.css(this,"display");this.style.display="none";}).end();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn?this.animate({height:"toggle",width:"toggle",opacity:"toggle"},fn,fn2):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();});},slideDown:function(speed,callback){return this.animate({height:"show"},speed,callback);},slideUp:function(speed,callback){return this.animate({height:"hide"},speed,callback);},slideToggle:function(speed,callback){return this.animate({height:"toggle"},speed,callback);},fadeIn:function(speed,callback){return this.animate({opacity:"show"},speed,callback);},fadeOut:function(speed,callback){return this.animate({opacity:"hide"},speed,callback);},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);return this[optall.queue===false?"each":"queue"](function(){if(this.nodeType!=1)return false;var opt=jQuery.extend({},optall),p,hidden=jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)return opt.complete.call(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}}if(opt.overflow!=null)this.style.overflow="hidden";opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))e[val=="toggle"?hidden?"show":"hide":val](prop);else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}if(parts[1])end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else +e.custom(start,val,"");}});return true;});},queue:function(type,fn){if(jQuery.isFunction(type)||(type&&type.constructor==Array)){fn=type;type="fx";}if(!type||(typeof type=="string"&&!fn))return queue(this[0],type);return this.each(function(){if(fn.constructor==Array)queue(this,type,fn);else{queue(this,type).push(fn);if(queue(this,type).length==1)fn.call(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)if(timers[i].elem==this){if(gotoEnd)timers[i](true);timers.splice(i,1);}});if(!gotoEnd)this.dequeue();return this;}});var queue=function(elem,type,array){if(elem){type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)q=jQuery.data(elem,type+"queue",jQuery.makeArray(array));}return q;};jQuery.fn.dequeue=function(type){type=type||"fx";return this.each(function(){var q=queue(this,type);q.shift();if(q.length)q[0].call(this);});};jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&speed.constructor==Object?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&easing.constructor!=Function&&easing};opt.duration=(opt.duration&&opt.duration.constructor==Number?opt.duration:jQuery.fx.speeds[opt.duration])||jQuery.fx.speeds.def;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)jQuery(this).dequeue();if(jQuery.isFunction(opt.old))opt.old.call(this);};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],timerId:null,fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&this.elem.style[this.prop]==null)return this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:function(from,to,unit){this.startTime=now();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;this.update();var self=this;function t(gotoEnd){return self.step(gotoEnd);}t.elem=this.elem;jQuery.timers.push(t);if(jQuery.timerId==null){jQuery.timerId=setInterval(function(){var timers=jQuery.timers;for(var i=0;ithis.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim)if(this.options.curAnim[i]!==true)done=false;if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")this.elem.style.display="block";}if(this.options.hide)this.elem.style.display="none";if(this.options.hide||this.options.show)for(var p in this.options.curAnim)jQuery.attr(this.elem.style,p,this.options.orig[p]);}if(done)this.options.complete.call(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,def:400},step:{scrollLeft:function(fx){fx.elem.scrollLeft=fx.now;},scrollTop:function(fx){fx.elem.scrollTop=fx.now;},opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){fx.elem.style[fx.prop]=fx.now+fx.unit;}}});jQuery.fn.offset=function(){var left=0,top=0,elem=this[0],results;if(elem)with(jQuery.browser){var parent=elem.parentNode,offsetChild=elem,offsetParent=elem.offsetParent,doc=elem.ownerDocument,safari2=safari&&parseInt(version)<522&&!/adobeair/i.test(userAgent),css=jQuery.curCSS,fixed=css(elem,"position")=="fixed";if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)border(offsetParent);if(!fixed&&css(offsetParent,"position")=="fixed")fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(css(parent,"display")))add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&&css(parent,"overflow")!="visible")border(parent);parent=parent.parentNode;}if((safari2&&(fixed||css(offsetChild,"position")=="absolute"))||(mozilla&&css(offsetChild,"position")!="absolute"))add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}results={top:top,left:left};}function border(elem){add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS(elem,"borderTopWidth",true));}function add(l,t){left+=parseInt(l,10)||0;top+=parseInt(t,10)||0;}return results;};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}return results;},offsetParent:function(){var offsetParent=this[0].offsetParent;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))offsetParent=offsetParent.offsetParent;return jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return;return val!=undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method];};});jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom";jQuery.fn["inner"+name]=function(){return this[name.toLowerCase()]()+num(this,"padding"+tl)+num(this,"padding"+br);};jQuery.fn["outer"+name]=function(margin){return this["inner"+name]()+num(this,"border"+tl+"Width")+num(this,"border"+br+"Width")+(margin?num(this,"margin"+tl)+num(this,"margin"+br):0);};});})(); \ No newline at end of file diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/js/quicksearch.js b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/js/quicksearch.js new file mode 100644 index 00000000..70dbd33c --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/js/quicksearch.js @@ -0,0 +1,114 @@ +/** + * + * JQuery QuickSearch - Hook up a form field to hide non-matching elements. + * $Id: quicksearch.js 53 2009-01-07 02:52:03Z deveiant $ + * + * Author: Michael Granger + * + */ +jQuery.fn.quicksearch = function( target, searchElems, options ) { + // console.debug( "Quicksearch fn" ); + + var settings = { + delay: 250, + clearButton: false, + highlightMatches: false, + focusOnLoad: false, + noSearchResultsIndicator: null + }; + if ( options ) $.extend( settings, options ); + + return jQuery(this).each( function() { + // console.debug( "Creating a new quicksearch on %o for %o", this, searchElems ); + new jQuery.quicksearch( this, searchElems, settings ); + }); +}; + + +jQuery.quicksearch = function( searchBox, searchElems, settings ) { + var timeout; + var boxdiv = $(searchBox).parents('div').eq(0); + + function init() { + setupKeyEventHandlers(); + focusOnLoad(); + }; + + function setupKeyEventHandlers() { + // console.debug( "Hooking up the 'keypress' event to %o", searchBox ); + $(searchBox). + unbind( 'keyup' ). + keyup( function(e) { return onSearchKey( e.keyCode ); }); + $(searchBox). + unbind( 'keypress' ). + keypress( function(e) { + switch( e.which ) { + // Execute the search on Enter, Tab, or Newline + case 9: + case 13: + case 10: + clearTimeout( timeout ); + e.preventDefault(); + doQuickSearch(); + break; + + // Allow backspace + case 8: + return true; + break; + + // Only allow valid search characters + default: + return validQSChar( e.charCode ); + } + }); + }; + + function focusOnLoad() { + if ( !settings.focusOnLoad ) return false; + $(searchBox).focus(); + }; + + function onSearchKey ( code ) { + clearTimeout( timeout ); + // console.debug( "...scheduling search." ); + timeout = setTimeout( doQuickSearch, settings.delay ); + }; + + function validQSChar( code ) { + var c = String.fromCharCode( code ); + return ( + (c == ':') || + (c >= 'a' && c <= 'z') || + (c >= 'A' && c <= 'Z') + ); + }; + + function doQuickSearch() { + var searchText = searchBox.value; + var pat = new RegExp( searchText, "im" ); + var shownCount = 0; + + if ( settings.noSearchResultsIndicator ) { + $('#' + settings.noSearchResultsIndicator).hide(); + } + + // All elements start out hidden + $(searchElems).each( function(index) { + var str = $(this).text(); + + if ( pat.test(str) ) { + shownCount += 1; + $(this).fadeIn(); + } else { + $(this).hide(); + } + }); + + if ( shownCount == 0 && settings.noSearchResultsIndicator ) { + $('#' + settings.noSearchResultsIndicator).slideDown(); + } + }; + + init(); +}; diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/js/thickbox-compressed.js b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/js/thickbox-compressed.js new file mode 100644 index 00000000..3a3fdae1 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/js/thickbox-compressed.js @@ -0,0 +1,10 @@ +/* + * Thickbox 3 - One Box To Rule Them All. + * By Cody Lindley (http://www.codylindley.com) + * Copyright (c) 2007 cody lindley + * Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php +*/ + +var tb_pathToImage = "../images/loadingAnimation.gif"; + +eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('$(o).2S(9(){1u(\'a.18, 3n.18, 3i.18\');1w=1p 1t();1w.L=2H});9 1u(b){$(b).s(9(){6 t=X.Q||X.1v||M;6 a=X.u||X.23;6 g=X.1N||P;19(t,a,g);X.2E();H P})}9 19(d,f,g){3m{3(2t o.v.J.2i==="2g"){$("v","11").r({A:"28%",z:"28%"});$("11").r("22","2Z");3(o.1Y("1F")===M){$("v").q("<4 5=\'B\'><4 5=\'8\'>");$("#B").s(G)}}n{3(o.1Y("B")===M){$("v").q("<4 5=\'B\'><4 5=\'8\'>");$("#B").s(G)}}3(1K()){$("#B").1J("2B")}n{$("#B").1J("2z")}3(d===M){d=""}$("v").q("<4 5=\'K\'><1I L=\'"+1w.L+"\' />");$(\'#K\').2y();6 h;3(f.O("?")!==-1){h=f.3l(0,f.O("?"))}n{h=f}6 i=/\\.2s$|\\.2q$|\\.2m$|\\.2l$|\\.2k$/;6 j=h.1C().2h(i);3(j==\'.2s\'||j==\'.2q\'||j==\'.2m\'||j==\'.2l\'||j==\'.2k\'){1D="";1G="";14="";1z="";1x="";R="";1n="";1r=P;3(g){E=$("a[@1N="+g+"]").36();25(D=0;((D&1d;&1d;2T &2R;"}n{1D=E[D].Q;1G=E[D].u;14="<1e 5=\'1U\'>&1d;&1d;&2O; 2N"}}n{1r=1b;1n="1t "+(D+1)+" 2L "+(E.1c)}}}S=1p 1t();S.1g=9(){S.1g=M;6 a=2x();6 x=a[0]-1M;6 y=a[1]-1M;6 b=S.z;6 c=S.A;3(b>x){c=c*(x/b);b=x;3(c>y){b=b*(y/c);c=y}}n 3(c>y){b=b*(y/c);c=y;3(b>x){c=c*(x/b);b=x}}13=b+30;1a=c+2G;$("#8").q("<1I 5=\'2F\' L=\'"+f+"\' z=\'"+b+"\' A=\'"+c+"\' 23=\'"+d+"\'/>"+"<4 5=\'2D\'>"+d+"<4 5=\'2C\'>"+1n+14+R+"<4 5=\'2A\'>1l 1k 1j 1s");$("#Z").s(G);3(!(14==="")){9 12(){3($(o).N("s",12)){$(o).N("s",12)}$("#8").C();$("v").q("<4 5=\'8\'>");19(1D,1G,g);H P}$("#1U").s(12)}3(!(R==="")){9 1i(){$("#8").C();$("v").q("<4 5=\'8\'>");19(1z,1x,g);H P}$("#1X").s(1i)}o.1h=9(e){3(e==M){I=2w.2v}n{I=e.2u}3(I==27){G()}n 3(I==3k){3(!(R=="")){o.1h="";1i()}}n 3(I==3j){3(!(14=="")){o.1h="";12()}}};16();$("#K").C();$("#1L").s(G);$("#8").r({Y:"T"})};S.L=f}n{6 l=f.2r(/^[^\\?]+\\??/,\'\');6 m=2p(l);13=(m[\'z\']*1)+30||3h;1a=(m[\'A\']*1)+3g||3f;W=13-30;V=1a-3e;3(f.O(\'2j\')!=-1){1E=f.1B(\'3d\');$("#15").C();3(m[\'1A\']!="1b"){$("#8").q("<4 5=\'2f\'><4 5=\'1H\'>"+d+"<4 5=\'2e\'>1l 1k 1j 1s ")}n{$("#B").N();$("#8").q(" ")}}n{3($("#8").r("Y")!="T"){3(m[\'1A\']!="1b"){$("#8").q("<4 5=\'2f\'><4 5=\'1H\'>"+d+"<4 5=\'2e\'>1l 1k 1j 1s<4 5=\'F\' J=\'z:"+W+"p;A:"+V+"p\'>")}n{$("#B").N();$("#8").q("<4 5=\'F\' 3c=\'3b\' J=\'z:"+W+"p;A:"+V+"p;\'>")}}n{$("#F")[0].J.z=W+"p";$("#F")[0].J.A=V+"p";$("#F")[0].3a=0;$("#1H").11(d)}}$("#Z").s(G);3(f.O(\'37\')!=-1){$("#F").q($(\'#\'+m[\'26\']).1T());$("#8").24(9(){$(\'#\'+m[\'26\']).q($("#F").1T())});16();$("#K").C();$("#8").r({Y:"T"})}n 3(f.O(\'2j\')!=-1){16();3($.1q.35){$("#K").C();$("#8").r({Y:"T"})}}n{$("#F").34(f+="&1y="+(1p 33().32()),9(){16();$("#K").C();1u("#F a.18");$("#8").r({Y:"T"})})}}3(!m[\'1A\']){o.21=9(e){3(e==M){I=2w.2v}n{I=e.2u}3(I==27){G()}}}}31(e){}}9 1m(){$("#K").C();$("#8").r({Y:"T"})}9 G(){$("#2Y").N("s");$("#Z").N("s");$("#8").2X("2W",9(){$(\'#8,#B,#1F\').2V("24").N().C()});$("#K").C();3(2t o.v.J.2i=="2g"){$("v","11").r({A:"1Z",z:"1Z"});$("11").r("22","")}o.1h="";o.21="";H P}9 16(){$("#8").r({2U:\'-\'+20((13/2),10)+\'p\',z:13+\'p\'});3(!(1V.1q.2Q&&1V.1q.2P<7)){$("#8").r({38:\'-\'+20((1a/2),10)+\'p\'})}}9 2p(a){6 b={};3(!a){H b}6 c=a.1B(/[;&]/);25(6 i=0;i + + + + + + + File: capistrano.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+

+Capistrano task for Bundler. +

+

+Just add “require ‘bundler/capistrano’” in your +Capistrano deploy.rb, and Bundler will be +activated after each new deployment. +

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/cli_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/cli_rb.html new file mode 100644 index 00000000..03bc5a70 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/cli_rb.html @@ -0,0 +1,62 @@ + + + + + + + + File: cli.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • thor
  • + +
  • thor/actions
  • + +
  • rubygems/config_file
  • + +
  • bundler/setup
  • + +
  • irb
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/definition_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/definition_rb.html new file mode 100644 index 00000000..02229a09 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/definition_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: definition.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • digest/sha1
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/dependency_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/dependency_rb.html new file mode 100644 index 00000000..ed0770d5 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/dependency_rb.html @@ -0,0 +1,58 @@ + + + + + + + + File: dependency.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • rubygems/dependency
  • + +
  • bundler/shared_helpers
  • + +
  • bundler/rubygems_ext
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/dsl_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/dsl_rb.html new file mode 100644 index 00000000..cd2e3e6b --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/dsl_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: dsl.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • bundler/dependency
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/environment_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/environment_rb.html new file mode 100644 index 00000000..e38c509d --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/environment_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: environment.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/gem_helper_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/gem_helper_rb.html new file mode 100644 index 00000000..75c4a595 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/gem_helper_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: gem_helper.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • open3
  • + +
  • thor
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/graph_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/graph_rb.html new file mode 100644 index 00000000..7a021bcc --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/graph_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: graph.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • graphviz
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/index_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/index_rb.html new file mode 100644 index 00000000..38eadb22 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/index_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: index.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/installer_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/installer_rb.html new file mode 100644 index 00000000..1c4a79a0 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/installer_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: installer.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • erb
  • + +
  • rubygems/dependency_installer
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/lazy_specification_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/lazy_specification_rb.html new file mode 100644 index 00000000..f2ef28e2 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/lazy_specification_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: lazy_specification.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • uri
  • + +
  • rubygems/spec_fetcher
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/lockfile_parser_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/lockfile_parser_rb.html new file mode 100644 index 00000000..157bc802 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/lockfile_parser_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: lockfile_parser.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • strscan
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-config.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-config.html new file mode 100644 index 00000000..0e17c6d7 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-config.html @@ -0,0 +1,250 @@ + + + + + + + + File: bundle-config [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-config_txt.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-config_txt.html new file mode 100644 index 00000000..9c62c190 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-config_txt.html @@ -0,0 +1,250 @@ + + + + + + + + File: bundle-config.txt [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-exec.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-exec.html new file mode 100644 index 00000000..2ef0deba --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-exec.html @@ -0,0 +1,321 @@ + + + + + + + + File: bundle-exec [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

+." generated with Ronn/v0.7.3 ." github.com/rtomayko/ronn/tree/0.7.3 +. .TH “BUNDLE-EXEC” “1” “August 2010” +“” “” . .SH “NAME” fBbundle-execfR - +Execute a command in the context of the bundle . .SH “SYNOPSIS” +fBbundle execfR fIcommandfR . .SH “DESCRIPTION” This command +executes the command, making all gems specified in the fBGemfile(5)fR +available to fBrequirefR in Ruby programs. . .P Essentially, if you would +normally have run something like fBrspec spec/my_spec\.rbfR, and you want +to use the gems specified in the fBGemfile(5)fR and installed via bundle +install(1) fIbundle-install.1.htmlfR, you should run fBbundle exec rspec +spec/my_spec\.rbfR. . .P Note that fBbundle execfR does not require that an +executable is available on your shell's fB$PATHfR. . .SH “BUNDLE +INSTALL -\-BINSTUBS” If you use the fB-\-binstubsfR flag in bundle +install(1) fIbundle-install.1.htmlfR, Bundler will automatically create a +directory (which defaults to fBapp_root/bin\fR) containing all of the +executables available from gems in the bundle. . .P After using +fB-\-binstubsfR, fBbin/rspec spec/my_spec\.rbfR is identical to fBbundle +exec rspec spec/my_spec\.rbfR. . .SH “ENVIRONMENT +MODIFICATIONS” fBbundle execfR makes a number of changes to the shell +environment, then executes the command you specify in full. . .IP +“(bu” 4 make sure that it's still possible to shell out to +fBbundlefR from inside a command invoked by fBbundle execfR (using +fB$BUNDLE_BIN_PATH\fR) . .IP “(bu” 4 put the directory +containing executables (like fBrailsfR, fBrspecfR, fBrackupfR) for your +bundle on fB$PATHfR . .IP “(bu” 4 make sure that if bundler is +invoked in the subshell, it uses the same fBGemfilefR (by setting +fBBUNDLE_GEMFILE\fR) . .IP “(bu” 4 add fB-rbundler/setup\fR to +fB$RUBYOPTfR, which makes sure that Ruby programs invoked in the subshell +can see the gems in the bundle . .IP “” 0 . .P It also modifies +Rubygems: . .IP “(bu” 4 disallow loading additional gems not in +the bundle . .IP “(bu” 4 modify the fBgemfR method to be a +no-op if a gem matching the requirements is in the bundle, and to raise a +fBGem::LoadErrorfR if it's not . .IP “(bu” 4 Define +fBGem.refreshfR to be a no-op, since the source index is always frozen when +using bundler, and to prevent gems from the system leaking into the +environment . .IP “(bu” 4 Override fBGem.bin_path\fR to use the +gems in the bundle, making system executables work . .IP “(bu” +4 Add all gems in the bundle into Gem.loaded_specs . .IP “” 0 . +.SH “RUBYGEMS PLUGINS” At present, the Rubygems plugin system +requires all files named fBrubygems_plugin\.rbfR on the load path of +fIanyfR installed gem when any Ruby code requires fBrubygems.rbfR. This +includes executables installed into the system, like fBrailsfR, fBrackupfR, +and fBrspecfR. . .P Since Rubygems plugins can contain arbitrary Ruby code, +they commonly end up activating themselves or their dependencies. . .P For +instance, the fBgemcutter 0.5fR gem depended on fBjson_pure\fR. If you had +that version of gemcutter installed (even if you fIalsofR had a newer +version without this problem), Rubygems would activate fBgemcutter 0.5fR +and fBjson_pure fR. . .P If your Gemfile(5) also contained +fBjson_pure\fR (or a gem with a dependency on fBjson_pure\fR), the latest +version on your system might conflict with the version in your Gemfile(5), +or the snapshot version in your fBGemfile.lockfR. . .P If this happens, +bundler will say: . .IP “” 4 . .nf +

+

+You have already activated json_pure 1.4.6 but your Gemfile requires +json_pure 1.4.3. Consider using bundle exec. . .fi . .IP “” 0 . +.P In this situation, you almost certainly want to remove the underlying +gem with the problematic gem plugin. In general, the authors of these +plugins (in this case, the fBgemcutterfR gem) have released newer versions +that are more careful in their plugins. . .P You can find a list of all the +gems containing gem plugins by running . .IP “” 4 . .nf +

+

+ruby -rubygems -e “puts Gem.find_files('rubygems_plugin\.rb')” +. .fi . .IP “” 0 . .P At the very least, you should remove all +but the newest version of each gem plugin, and also remove all gem plugins +that you aren't using (fBgem uninstall gem_name\fR). +

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-exec_txt.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-exec_txt.html new file mode 100644 index 00000000..9181da83 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-exec_txt.html @@ -0,0 +1,369 @@ + + + + + + + + File: bundle-exec.txt [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

+BUNDLE-EXEC(1) +BUNDLE-EXEC(1) +

+

+NAME +

+
+       bundle-exec - Execute a command in the context of the bundle
+
+

+SYNOPSIS +

+
+       bundle exec command
+
+

+DESCRIPTION +

+
+       This  command  executes  the  command, making all gems specified in the
+       Gemfile(5) available to require in Ruby programs.
+
+       Essentially, if you  would  normally  have  run  something  like  rspec
+       spec/my_spec.rb,  and  you  want  to use the gems specified in the Gem-
+       file(5) and installed via bundle install(1) bundle-install.1.html,  you
+       should run bundle exec rspec spec/my_spec.rb.
+
+       Note  that bundle exec does not require that an executable is available
+       on your shell's $PATH.
+
+

+BUNDLE INSTALL —BINSTUBS +

+
+       If  you  use  the   --binstubs   flag   in   bundle   install(1)   bun-
+       dle-install.1.html,  Bundler  will  automatically  create  a  directory
+       (which defaults to app_root/bin)  containing  all  of  the  executables
+       available from gems in the bundle.
+
+       After  using --binstubs, bin/rspec spec/my_spec.rb is identical to bun-
+       dle exec rspec spec/my_spec.rb.
+
+

+ENVIRONMENT MODIFICATIONS +

+
+       bundle exec makes a number of changes to the  shell  environment,  then
+       executes the command you specify in full.
+
+       o   make  sure  that  it's  still  possible to shell out to bundle from
+           inside a command invoked by bundle exec (using $BUNDLE_BIN_PATH)
+
+       o   put  the  directory  containing  executables  (like  rails,  rspec,
+           rackup) for your bundle on $PATH
+
+       o   make  sure  that if bundler is invoked in the subshell, it uses the
+           same Gemfile (by setting BUNDLE_GEMFILE)
+
+       o   add -rbundler/setup to $RUBYOPT, which makes sure  that  Ruby  pro-
+           grams invoked in the subshell can see the gems in the bundle
+
+       It also modifies Rubygems:
+
+       o   disallow loading additional gems not in the bundle
+
+       o   modify  the gem method to be a no-op if a gem matching the require-
+           ments is in the bundle, and to raise a Gem::LoadError if it's not
+
+       o   Define Gem.refresh to be a no-op, since the source index is  always
+           frozen  when  using  bundler,  and  to prevent gems from the system
+           leaking into the environment
+
+       o   Override Gem.bin_path to use the gems in the bundle, making  system
+           executables work
+
+       o   Add all gems in the bundle into Gem.loaded_specs
+
+

+RUBYGEMS PLUGINS +

+
+       At  present,  the  Rubygems  plugin  system  requires  all  files named
+       rubygems_plugin.rb on the load path of any installed gem when any  Ruby
+       code requires rubygems.rb. This includes executables installed into the
+       system, like rails, rackup, and rspec.
+
+       Since Rubygems plugins can contain arbitrary Ruby code,  they  commonly
+       end up activating themselves or their dependencies.
+
+       For  instance,  the gemcutter 0.5 gem depended on json_pure. If you had
+       that version of gemcutter installed (even if you also had a newer  ver-
+       sion  without  this problem), Rubygems would activate gemcutter 0.5 and
+       json_pure <latest>.
+
+       If your Gemfile(5) also contained json_pure (or a gem with a dependency
+       on  json_pure),  the  latest version on your system might conflict with
+       the version in your Gemfile(5), or the snapshot version  in  your  Gem-
+       file.lock.
+
+       If this happens, bundler will say:
+
+           You have already activated json_pure 1.4.6 but your Gemfile
+           requires json_pure 1.4.3. Consider using bundle exec.
+
+       In  this  situation, you almost certainly want to remove the underlying
+       gem with the problematic gem plugin. In general, the authors  of  these
+       plugins  (in this case, the gemcutter gem) have released newer versions
+       that are more careful in their plugins.
+
+       You can find a list of all the gems containing gem plugins by running
+
+           ruby -rubygems -e "puts Gem.find_files('rubygems_plugin.rb')"
+
+       At the very least, you should remove all but the newest version of each
+       gem  plugin, and also remove all gem plugins that you aren't using (gem
+       uninstall gem_name).
+
+                                  August 2010                   BUNDLE-EXEC(1)
+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-install.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-install.html new file mode 100644 index 00000000..18b6dce3 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-install.html @@ -0,0 +1,472 @@ + + + + + + + + File: bundle-install [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

+." generated with Ronn/v0.7.3 ." github.com/rtomayko/ronn/tree/0.7.3 +. .TH “BUNDLE-INSTALL” “1” “August +2010” “” “” . .SH “NAME” +fBbundle-installfR - Install the dependencies specified in your Gemfile . +.SH “SYNOPSIS” fBbundle installfR [-\-local] [-\-quiet] +[-\-gemfile=GEMFILE] [-\-system] . .IP “” 4 . .nf +

+
+             [\-\-deployment] [\-\-frozen] [\-\-path]
+             [\-\-binstubs[=DIRECTORY]] [\-\-without=GROUP1[ GROUP2\.\.\.]]
+
+

+. .fi . .IP “” 0 . .SH “DESCRIPTION” Install the +gems specified in your Gemfile(5). If this is the first time you run bundle +install (and a fBGemfile.lockfR does not exist), bundler will fetch all +remote sources, resolve dependencies and install all needed gems. . .P If a +fBGemfile.lockfR does exist, and you have not updated your Gemfile(5), +bundler will fetch all remote sources, but use the dependencies specified +in the fBGemfile.lockfR instead of resolving dependencies. . .P If a +fBGemfile.lockfR does exist, and you have updated your Gemfile(5), bundler +will use the dependencies in the fBGemfile.lockfR for all gems that you did +not update, but will re-resolve the dependencies of gems that you did +update. You can find more information about this update process below under +fICONSERVATIVE UPDATINGfR. . .SH “OPTIONS” . .TP +fB-\-gemfile=fR The location of the Gemfile(5) that bundler should +use. This defaults to a gemfile in the current working directory. In +general, bundler will assume that the location of the Gemfile(5) is also +the project root, and will look for the fBGemfile.lockfR and +fBvendor/cache\fR relative to it. . .TP fB-\-path=fR The location to +install the gems in the bundle to. This defaults to the gem home, which is +the location that fBgem installfR installs gems to. This means that, by +default, gems installed without a fB-\-pathfR setting will show up in fBgem +listfR. This setting is a fIremembered optionfR. . .TP fB-\-systemfR +Installs the gems in the bundle to the system location. This overrides any +previous fIrememberedfR use of fB-\-pathfR. . .TP fB-\-without=fR A +space-separated list of groups to skip installing. This is a fIremembered +optionfR. . .TP fB-\-localfR Do not attempt to connect to fBrubygems.orgfR, +instead using just the gems located in fBvendor/cache\fR. Note that if a +more appropriate platform-specific gem exists on fBrubygems.orgfR, this +will bypass the normal lookup. . .TP fB-\-deploymentfR Switches bundler's +defaults into fIdeployment modefR. . .TP fB-\-binstubs[=]fR +Create a directory (defaults to fBbinfR) containing an executable that runs +in the context of the bundle. For instance, if the fBrailsfR gem comes with +a fBrailsfR executable, this flag will create a fBbin/rails\fR executable +that ensures that all dependencies used come from the bundled gems. . .SH +“DEPLOYMENT MODE” Bundler's defaults are optimized for +development. To switch to defaults optimized for deployment, use the +fB-\-deploymentfR flag. . .IP “1.” 4 A fBGemfile.lockfR is +required. . .IP To ensure that the same versions of the gems you developed +with and tested with are also used in deployments, a fBGemfile.lockfR is +required. . .IP This is mainly to ensure that you remember to check your +fBGemfile.lockfR into version control. . .IP “2.” 4 The +fBGemfile.lockfR must be up to date . .IP In development, you can modify +your Gemfile(5) and re-run fBbundle installfR to fIconservatively updatefR +your fBGemfile.lockfR snapshot. . .IP In deployment, your fBGemfile.lockfR +should be up-to-date with changes made in your Gemfile(5). . .IP +“3.” 4 Gems are installed to fBvendor/bundle\fR not your +default system location . .IP In development, it's convenient to share the +gems used in your application with other applications and other scripts run +on the system. . .IP In deployment, isolation is a more important default. +In addition, the user deploying the application may not have permission to +install gems to the system, or the web server may not have permission to +read them. . .IP As a result, fBbundle install -\-deploymentfR installs +gems to the fBvendor/bundle\fR directory in the application. This may be +overridden using the fB-\-pathfR option. . .IP “” 0 . .SH +“SUDO USAGE” By default, bundler installs gems to the same +location as fBgem installfR. . .P In some cases, that location may not be +writable by your Unix user. In that case, bundler will stage everything in +a temporary directory, then ask you for your fBsudofR password in order to +copy the gems into their system location. . .P From your perspective, this +is identical to installing them gems directly into the system. . .P You +should never use fBsudo bundle installfR. This is because several other +steps in fBbundle installfR must be performed as the current user: . .IP +“(bu” 4 Updating your fBGemfile.lockfR . .IP “(bu” +4 Updating your fBvendor/cache\fR, if necessary . .IP “(bu” 4 +Checking out private git repositories using your user's SSH keys . .IP +“” 0 . .P Of these three, the first two could theoretically be +performed by fBchownfRing the resulting files to fB$SUDO_USER\fR. The +third, however, can only be performed by actually invoking the fBgitfR +command as the current user. . .P As a result, you should run fBbundle +installfR as the current user, and bundler will ask for your password if it +is needed to perform the final step. . .SH “INSTALLING GROUPS” +By default, fBbundle installfR will install all gems in all groups in your +Gemfile(5), except those declared for a different platform. . .P However, +you can explicitly tell bundler to skip installing certain groups with the +fB-\-withoutfR option. This option takes a space-separated list of groups. +. .P While the fB-\-withoutfR option will skip fIinstallingfR the gems in +the specified groups, it will still fIdownloadfR those gems and use them to +resolve the dependencies of every gem in your Gemfile(5). . .P This is so +that installing a different set of groups on another machine (such as a +production server) will not change the gems and versions that you have +already developed and tested against. . .P fBBundler offers a rock-solid +guarantee that the third-party code you are running in development and +testing is also the third-party code you are running in production. You can +choose to exclude some of that code in different environments, but you will +never be caught flat-footed by different versions of third-party code being +used in different environments.\fR . .P For a simple illustration, consider +the following Gemfile(5): . .IP “” 4 . .nf +

+

+source “rubygems\.org“ +

+

+gem “sinatra“ +

+

+group :production do +

+
+  gem "rack\-perftools\-profiler"
+
+

+end . .fi . .IP “” 0 . .P In this case, fBsinatrafR depends on +any version of Rack (fB>= 1.0fR, while fBrack-perftools-profilerfR depends +on 1.x (fB~> 1.0fR). . .P When you run fBbundle install -\-without +productionfR in development, we look at the dependencies of +fBrack-perftools-profilerfR as well. That way, you do not spend all your +time developing against Rack 2.0, using new APIs unavailable in Rack 1.x, +only to have bundler switch to Rack 1.2 when the fBproductionfR group +fIisfR used. . .P This should not cause any problems in practice, because +we do not attempt to fBinstallfR the gems in the excluded groups, and only +evaluate as part of the dependency resolution process. . .P This also means +that you cannot include different versions of the same gem in different +groups, because doing so would result in different sets of dependencies +used in development and production. Because of the vagaries of the +dependency resolution process, this usually affects more than just the gems +you list in your Gemfile(5), and can (surprisingly) radically change the +gems you are using. . .SH “REMEMBERED OPTIONS” Some options +(marked above in the fIOPTIONSfR section) are remembered between calls to +fBbundle installfR, and by the Bundler +runtime. . .P For instance, if you run fBbundle install -\-without testfR, +a subsequent call to fBbundle installfR that does not include a +fB-\-withoutfR flag will remember your previous choice. . .P In addition, a +call to fBBundler.setupfR will not attempt to make the gems in those groups +available on the Ruby load path, as they were not installed. . .P The +settings that are remembered are: . .TP fB-\-deploymentfR At runtime, this +remembered setting will also result in Bundler raising an exception if the +fBGemfile.lockfR is out of date. . .TP fB-\-pathfR Subsequent calls to +fBbundle installfR will install gems to the directory originally passed to +fB-\-pathfR. The Bundler runtime will +look for gems in that location. You can revert this option by running +fBbundle install -\-systemfR. . .TP fB-\-binstubsfR Bundler will update the executables every +subsequent call to fBbundle installfR. . .TP fB-\-withoutfR As described +above, Bundler will skip the gems +specified by fB-\-withoutfR in subsequent calls to fBbundle installfR. The +Bundler runtime will also not try to +make the gems in the skipped groups available. . .SH “THE +GEMFILE.LOCK” When you run fBbundle installfR, Bundler will persist the full names and +versions of all gems that you used (including dependencies of the gems +specified in the Gemfile(5)) into a file called fBGemfile.lockfR. . .P Bundler uses this file in all subsequent +calls to fBbundle installfR, which guarantees that you always use the same +exact code, even as your application moves across machines. . .P Because of +the way dependency resolution works, even a seemingly small change (for +instance, an update to a point-release of a dependency of a gem in your +Gemfile(5)) can result in radically different gems being needed to satisfy +all dependencies. . .P As a result, you fBSHOULDfR check your +fBGemfile.lockfR into version control. If you do not, every machine that +checks out your repository (including your production server) will resolve +all dependencies again, which will result in different versions of +third-party code being used if fBanyfR of the gems in the Gemfile(5) or any +of their dependencies have been updated. . .SH “CONSERVATIVE +UPDATING” When you make a change to the Gemfile(5) and then run +fBbundle installfR, Bundler will update +only the gems that you modified. . .P In other words, if a gem that you +fBdid not modifyfR worked before you called fBbundle installfR, it will +continue to use the exact same versions of all dependencies as it used +before the update. . .P Let's take a look at an example. Here's your +original Gemfile(5): . .IP “” 4 . .nf +

+

+source “rubygems\.org“ +

+

+gem “actionpack”, “2.3.8” gem +“activemerchant” . .fi . .IP “” 0 . .P In this +case, both fBactionpackfR and fBactivemerchantfR depend on +fBactivesupportfR. The fBactionpackfR gem depends on fBactivesupport +2.3.8fR and fBrack ~> 1.1.0fR, while the fBactivemerchantfR gem depends on +fBactivesupport >= 2.3.2fR, fBbraintree >= 2.0.0fR, and fBbuilder >= +2.0.0fR. . .P When the dependencies are first resolved, Bundler will select fBactivesupport +2.3.8fR, which satisfies the requirements of both gems in your Gemfile(5). +. .P Next, you modify your Gemfile(5) to: . .IP “” 4 . .nf +

+

+source “rubygems\.org“ +

+

+gem “actionpack”, “3.0.0.rc” gem +“activemerchant” . .fi . .IP “” 0 . .P The +fBactionpack 3.0.0.rcfR gem has a number of new dependencies, and updates +the fBactivesupportfR dependency to fB= 3.0.0.rcfR and the fBrackfR +dependency to fB~> 1.2.1fR. . .P When you run fBbundle installfR, Bundler notices that you changed the +fBactionpackfR gem, but not the fBactivemerchantfR gem. It evaluates the +gems currently being used to satisfy its requirements: . .TP +fBactivesupport 2.3.8fR also used to satisfy a dependency in +fBactivemerchantfR, which is not being updated . .TP fBrack ~> 1.1.0fR not +currently being used to satify another dependency . .P Because you did not +explicitly ask to update fBactivemerchantfR, you would not expect it to +suddenly stop working after updating fBactionpackfR. However, satisfying +the new fBactivesupport 3.0.0.rcfR dependency of actionpack requires +updating one of its dependencies. . .P Even though fBactivemerchantfR +declares a very loose dependency that theoretically matches fBactivesupport +3.0.0.rcfR, bundler treats gems in your Gemfile(5) that have not changed as +an atomic unit together with their dependencies. In this case, the +fBactivemerchantfR dependency is treated as fBactivemerchant 1.7.1 + +activesupport 2.3.8fR, so fBbundle installfR will report that it cannot +update fBactionpackfR. . .P To explicitly update fBactionpackfR, including +its dependencies which other gems in the Gemfile(5) still depend on, run +fBbundle update actionpackfR (see fBbundle update(1)fR). . .P fBSummaryfR: +In general, after making a change to the Gemfile(5) , you should first try +to run fBbundle installfR, which will guarantee that no other gems in the +Gemfile(5) are impacted by the change. If that does not work, run bundle +update(1) fIbundle-update.1.htmlfR. +

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-install_txt.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-install_txt.html new file mode 100644 index 00000000..8828bc47 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-install_txt.html @@ -0,0 +1,589 @@ + + + + + + + + File: bundle-install.txt [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

+BUNDLE-INSTALL(1) +BUNDLE-INSTALL(1) +

+

+NAME +

+
+       bundle-install - Install the dependencies specified in your Gemfile
+
+

+SYNOPSIS +

+
+       bundle install [--local] [--quiet] [--gemfile=GEMFILE] [--system]
+
+                        [--deployment] [--frozen] [--path]
+                        [--binstubs[=DIRECTORY]] [--without=GROUP1[ GROUP2...]]
+
+

+DESCRIPTION +

+
+       Install  the  gems  specified  in your Gemfile(5). If this is the first
+       time you run bundle  install  (and  a  Gemfile.lock  does  not  exist),
+       bundler will fetch all remote sources, resolve dependencies and install
+       all needed gems.
+
+       If a Gemfile.lock does exist, and you have not updated your Gemfile(5),
+       bundler  will fetch all remote sources, but use the dependencies speci-
+       fied in the Gemfile.lock instead of resolving dependencies.
+
+       If a Gemfile.lock does exist, and you  have  updated  your  Gemfile(5),
+       bundler will use the dependencies in the Gemfile.lock for all gems that
+       you did not update, but will re-resolve the dependencies of  gems  that
+       you did update. You can find more information about this update process
+       below under CONSERVATIVE UPDATING.
+
+

+OPTIONS +

+
+       --gemfile=<gemfile>
+              The location of the Gemfile(5) that  bundler  should  use.  This
+              defaults  to a gemfile in the current working directory. In gen-
+              eral, bundler will assume that the location of the Gemfile(5) is
+              also  the  project  root, and will look for the Gemfile.lock and
+              vendor/cache relative to it.
+
+       --path=<path>
+              The location to install the gems in the bundle to. This defaults
+              to the gem home, which is the location that gem install installs
+              gems to. This means that, by default, gems installed  without  a
+              --path  setting  will  show  up  in  gem list. This setting is a
+              remembered option.
+
+       --system
+              Installs the gems in the bundle to  the  system  location.  This
+              overrides any previous remembered use of --path.
+
+       --without=<list>
+              A  space-separated  list of groups to skip installing. This is a
+              remembered option.
+
+       --local
+              Do not attempt to connect to rubygems.org,  instead  using  just
+              the  gems located in vendor/cache. Note that if a more appropri-
+              ate platform-specific gem  exists  on  rubygems.org,  this  will
+              bypass the normal lookup.
+
+       --deployment
+              Switches bundler's defaults into deployment mode.
+
+       --binstubs[=<directory>]
+              Create  a  directory  (defaults to bin) containing an executable
+              that runs in the context of the bundle.  For  instance,  if  the
+              rails gem comes with a rails executable, this flag will create a
+              bin/rails executable that ensures  that  all  dependencies  used
+              come from the bundled gems.
+
+

+DEPLOYMENT MODE +

+
+       Bundler's defaults are optimized for development. To switch to defaults
+       optimized for deployment, use the --deployment flag.
+
+       1.  A Gemfile.lock is required.
+
+           To ensure that the same versions of the gems you developed with and
+           tested  with  are  also  used  in  deployments,  a  Gemfile.lock is
+           required.
+
+           This is mainly to ensure that  you  remember  to  check  your  Gem-
+           file.lock into version control.
+
+       2.  The Gemfile.lock must be up to date
+
+           In  development,  you  can modify your Gemfile(5) and re-run bundle
+           install to conservatively update your Gemfile.lock snapshot.
+
+           In deployment, your Gemfile.lock should be up-to-date with  changes
+           made in your Gemfile(5).
+
+       3.  Gems  are  installed to vendor/bundle not your default system loca-
+           tion
+
+           In development, it's convenient to share  the  gems  used  in  your
+           application  with  other  applications and other scripts run on the
+           system.
+
+           In deployment, isolation is a more important default. In  addition,
+           the  user  deploying  the  application  may  not have permission to
+           install gems to the system, or the web server may not have  permis-
+           sion to read them.
+
+           As  a result, bundle install --deployment installs gems to the ven-
+           dor/bundle directory in the application.  This  may  be  overridden
+           using the --path option.
+
+

+SUDO USAGE +

+
+       By  default, bundler installs gems to the same location as gem install.
+
+       In some cases, that location may not be writable by your Unix user.  In
+       that case, bundler will stage everything in a temporary directory, then
+       ask you for your sudo password in order to copy  the  gems  into  their
+       system location.
+
+       From  your  perspective,  this  is  identical  to  installing them gems
+       directly into the system.
+
+       You should never use sudo bundle install. This is because several other
+       steps in bundle install must be performed as the current user:
+
+       o   Updating your Gemfile.lock
+
+       o   Updating your vendor/cache, if necessary
+
+       o   Checking out private git repositories using your user's SSH keys
+
+       Of  these  three,  the  first  two  could theoretically be performed by
+       chowning the resulting files to $SUDO_USER.  The  third,  however,  can
+       only  be  performed by actually invoking the git command as the current
+       user.
+
+       As a result, you should run bundle install as  the  current  user,  and
+       bundler will ask for your password if it is needed to perform the final
+       step.
+
+

+INSTALLING GROUPS +

+
+       By default, bundle install will install all gems in all groups in  your
+       Gemfile(5), except those declared for a different platform.
+
+       However,  you  can  explicitly  tell bundler to skip installing certain
+       groups with the --without option. This option takes  a  space-separated
+       list of groups.
+
+       While  the --without option will skip installing the gems in the speci-
+       fied groups, it will still download those gems and use them to  resolve
+       the dependencies of every gem in your Gemfile(5).
+
+       This is so that installing a different set of groups on another machine
+       (such as a production server) will not change  the  gems  and  versions
+       that you have already developed and tested against.
+
+       Bundler offers a rock-solid guarantee that the third-party code you are
+       running in development and testing is also the third-party code you are
+       running  in  production. You can choose to exclude some of that code in
+       different environments, but you will never  be  caught  flat-footed  by
+       different versions of third-party code being used in different environ-
+       ments.
+
+       For a simple illustration, consider the following Gemfile(5):
+
+           source "http://rubygems.org"
+
+           gem "sinatra"
+
+           group :production do
+             gem "rack-perftools-profiler"
+           end
+
+       In this case, sinatra depends on any version of  Rack  (>=  1.0,  while
+       rack-perftools-profiler depends on 1.x (~> 1.0).
+
+       When  you  run  bundle  install --without production in development, we
+       look at the dependencies of rack-perftools-profiler as well. That  way,
+       you  do  not spend all your time developing against Rack 2.0, using new
+       APIs unavailable in Rack 1.x, only to have bundler switch to  Rack  1.2
+       when the production group is used.
+
+       This  should  not  cause  any  problems  in practice, because we do not
+       attempt to install the gems in the excluded groups, and  only  evaluate
+       as part of the dependency resolution process.
+
+       This  also means that you cannot include different versions of the same
+       gem in different groups, because doing so  would  result  in  different
+       sets of dependencies used in development and production. Because of the
+       vagaries of the dependency resolution  process,  this  usually  affects
+       more  than just the gems you list in your Gemfile(5), and can (surpris-
+       ingly) radically change the gems you are using.
+
+

+REMEMBERED OPTIONS +

+
+       Some options (marked above  in  the  OPTIONS  section)  are  remembered
+       between calls to bundle install, and by the Bundler runtime.
+
+       For  instance,  if  you run bundle install --without test, a subsequent
+       call to bundle install that does not  include  a  --without  flag  will
+       remember your previous choice.
+
+       In  addition, a call to Bundler.setup will not attempt to make the gems
+       in those groups available on the Ruby  load  path,  as  they  were  not
+       installed.
+
+       The settings that are remembered are:
+
+       --deployment
+              At  runtime, this remembered setting will also result in Bundler
+              raising an exception if the Gemfile.lock is out of date.
+
+       --path Subsequent calls to bundle install  will  install  gems  to  the
+              directory  originally passed to --path. The Bundler runtime will
+              look for gems in that location. You can revert  this  option  by
+              running bundle install --system.
+
+       --binstubs
+              Bundler  will  update  the  executables every subsequent call to
+              bundle install.
+
+       --without
+              As described above, Bundler will  skip  the  gems  specified  by
+              --without  in  subsequent  calls  to bundle install. The Bundler
+              runtime will also not try to make the gems in the skipped groups
+              available.
+
+

+THE GEMFILE.LOCK +

+
+       When  you  run  bundle install, Bundler will persist the full names and
+       versions of all gems that you used (including dependencies of the  gems
+       specified in the Gemfile(5)) into a file called Gemfile.lock.
+
+       Bundler uses this file in all subsequent calls to bundle install, which
+       guarantees that you always use the same exact code, even as your appli-
+       cation moves across machines.
+
+       Because  of the way dependency resolution works, even a seemingly small
+       change (for instance, an update to a point-release of a dependency of a
+       gem  in  your  Gemfile(5)) can result in radically different gems being
+       needed to satisfy all dependencies.
+
+       As a result, you SHOULD check your Gemfile.lock into  version  control.
+       If you do not, every machine that checks out your repository (including
+       your production server) will resolve all dependencies again, which will
+       result  in  different versions of third-party code being used if any of
+       the gems in the Gemfile(5) or  any  of  their  dependencies  have  been
+       updated.
+
+

+CONSERVATIVE UPDATING +

+
+       When  you  make a change to the Gemfile(5) and then run bundle install,
+       Bundler will update only the gems that you modified.
+
+       In other words, if a gem that you did  not  modify  worked  before  you
+       called  bundle install, it will continue to use the exact same versions
+       of all dependencies as it used before the update.
+
+       Let's take a look at an example. Here's your original Gemfile(5):
+
+           source "http://rubygems.org"
+
+           gem "actionpack", "2.3.8"
+           gem "activemerchant"
+
+       In this case, both actionpack and activemerchant depend  on  activesup-
+       port.  The  actionpack  gem  depends on activesupport 2.3.8 and rack ~>
+       1.1.0, while the activemerchant gem depends on activesupport >=  2.3.2,
+       braintree >= 2.0.0, and builder >= 2.0.0.
+
+       When   the   dependencies  are  first  resolved,  Bundler  will  select
+       activesupport 2.3.8, which satisfies the requirements of both  gems  in
+       your Gemfile(5).
+
+       Next, you modify your Gemfile(5) to:
+
+           source "http://rubygems.org"
+
+           gem "actionpack", "3.0.0.rc"
+           gem "activemerchant"
+
+       The  actionpack  3.0.0.rc  gem  has  a  number of new dependencies, and
+       updates the activesupport dependency to = 3.0.0.rc and the rack  depen-
+       dency to ~> 1.2.1.
+
+       When  you  run  bundle  install,  Bundler  notices that you changed the
+       actionpack gem, but not the activemerchant gem. It evaluates  the  gems
+       currently being used to satisfy its requirements:
+
+       activesupport 2.3.8
+              also  used  to  satisfy a dependency in activemerchant, which is
+              not being updated
+
+       rack ~> 1.1.0
+              not currently being used to satify another dependency
+
+       Because you did not explicitly ask to update activemerchant, you  would
+       not  expect it to suddenly stop working after updating actionpack. How-
+       ever, satisfying the new activesupport 3.0.0.rc dependency  of  action-
+       pack requires updating one of its dependencies.
+
+       Even  though activemerchant declares a very loose dependency that theo-
+       retically matches activesupport 3.0.0.rc, bundler treats gems  in  your
+       Gemfile(5)  that have not changed as an atomic unit together with their
+       dependencies. In this case, the activemerchant dependency is treated as
+       activemerchant  1.7.1  +  activesupport  2.3.8,  so bundle install will
+       report that it cannot update actionpack.
+
+       To explicitly update actionpack, including its dependencies which other
+       gems  in  the  Gemfile(5) still depend on, run bundle update actionpack
+       (see bundle update(1)).
+
+       Summary: In general, after making a change  to  the  Gemfile(5)  ,  you
+       should  first  try  to run bundle install, which will guarantee that no
+       other gems in the Gemfile(5) are impacted by the change. If  that  does
+       not work, run bundle update(1) bundle-update.1.html.
+
+                                  August 2010                BUNDLE-INSTALL(1)
+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-package.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-package.html new file mode 100644 index 00000000..dc5ede56 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-package.html @@ -0,0 +1,297 @@ + + + + + + + + File: bundle-package [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

+." generated with Ronn/v0.7.3 ." github.com/rtomayko/ronn/tree/0.7.3 +. .TH “BUNDLE-PACKAGE” “1” “August +2010” “” “” . .SH “NAME” +fBbundle-packagefR - Package your needed fB.gemfR files into your +application . .SH “SYNOPSIS” fBbundle packagefR . .SH +“DESCRIPTION” Copy all of the fB.gemfR files needed to run the +application into the fBvendor/cache\fR directory. In the future, when +running bundle install(1) fIbundle-install.1.htmlfR, use the gems in the +cache in preference to the ones on fBrubygems.orgfR. . .SH “GIT AND +PATH GEMS” In Bundler 1.0, the +fBbundle packagefR command only packages fB.gemfR files, not gems specified +using the fB:gitfR or fB:pathfR options. This will likely change in the +future. . .SH “REMOTE FETCHING” By default, if you simply run +bundle install(1) fIbundle-install.1.htmlfR after running bundle package(1) +fIbundle-package.1.htmlfR, bundler will still connect to fBrubygems.orgfR +to check whether a platform-specific gem exists for any of the gems in +fBvendor/cache\fR. . .P For instance, consider this Gemfile(5): . .IP +“” 4 . .nf +

+

+source “rubygems\.org“ +

+

+gem “nokogiri” . .fi . .IP “” 0 . .P If you run +fBbundle packagefR under C Ruby, bundler will retrieve the version of +fBnokogirifR for the fB“ruby“fR platform. If you deploy to +JRuby and run fBbundle installfR, bundler is forced to check to see whether +a fB“java“fR platformed fBnokogirifR exists. . .P Even though +the fBnokogirifR gem for the Ruby platform is fItechnicallyfR acceptable on +JRuby, it actually has a C extension that does not run on JRuby. As a +result, bundler will, by default, still connect to fBrubygems.orgfR to +check whether it has a version of one of your gems more specific to your +platform. . .P This problem is also not just limited to the +fB“java“fR platform. A similar (common) problem can happen when +developing on Windows and deploying to Linux, or even when developing on +OSX and deploying to Linux. . .P If you know for sure that the gems +packaged in fBvendor/cache\fR are appropriate for the platform you are on, +you can run fBbundle install -\-localfR to skip checking for more +appropriate gems, and just use the ones in fBvendor/cache\fR. . .P One way +to be sure that you have the right platformed versions of all your gems is +to run fBbundle packagefR on an identical machine and check in the gems. +For instance, you can run fBbundle packagefR on an identical staging box +during your staging process, and check in the fBvendor/cache\fR before +deploying to production. +

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-package_txt.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-package_txt.html new file mode 100644 index 00000000..090326a4 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-package_txt.html @@ -0,0 +1,325 @@ + + + + + + + + File: bundle-package.txt [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

+BUNDLE-PACKAGE(1) +BUNDLE-PACKAGE(1) +

+

+NAME +

+
+       bundle-package - Package your needed .gem files into your application
+
+

+SYNOPSIS +

+
+       bundle package
+
+

+DESCRIPTION +

+
+       Copy  all of the .gem files needed to run the application into the ven-
+       dor/cache directory. In the future, when running bundle install(1) bun-
+       dle-install.1.html, use the gems in the cache in preference to the ones
+       on rubygems.org.
+
+

+GIT AND PATH GEMS +

+
+       In Bundler 1.0, the bundle package command only  packages  .gem  files,
+       not  gems  specified  using the :git or :path options. This will likely
+       change in the future.
+
+

+REMOTE FETCHING +

+
+       By default, if you simply run bundle  install(1)  bundle-install.1.html
+       after  running  bundle  package(1)  bundle-package.1.html, bundler will
+       still connect to rubygems.org to check whether a platform-specific  gem
+       exists for any of the gems in vendor/cache.
+
+       For instance, consider this Gemfile(5):
+
+           source "http://rubygems.org"
+
+           gem "nokogiri"
+
+       If  you run bundle package under C Ruby, bundler will retrieve the ver-
+       sion of nokogiri for the "ruby" platform. If you deploy  to  JRuby  and
+       run  bundle install, bundler is forced to check to see whether a "java"
+       platformed nokogiri exists.
+
+       Even though the nokogiri gem  for  the  Ruby  platform  is  technically
+       acceptable on JRuby, it actually has a C extension that does not run on
+       JRuby. As  a  result,  bundler  will,  by  default,  still  connect  to
+       rubygems.org to check whether it has a version of one of your gems more
+       specific to your platform.
+
+       This problem is also not just limited to the "java" platform. A similar
+       (common) problem can happen when developing on Windows and deploying to
+       Linux, or even when developing on OSX and deploying to Linux.
+
+       If you know for sure that the gems packaged in vendor/cache are  appro-
+       priate  for the platform you are on, you can run bundle install --local
+       to skip checking for more appropriate gems, and just use  the  ones  in
+       vendor/cache.
+
+       One  way  to be sure that you have the right platformed versions of all
+       your gems is to run bundle package on an identical machine and check in
+       the  gems.  For  instance,  you  can run bundle package on an identical
+       staging box during your staging process, and check in the  vendor/cache
+       before deploying to production.
+
+                                  August 2010                BUNDLE-PACKAGE(1)
+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-update.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-update.html new file mode 100644 index 00000000..e0bccd20 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-update.html @@ -0,0 +1,377 @@ + + + + + + + + File: bundle-update [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

+." generated with Ronn/v0.7.3 ." github.com/rtomayko/ronn/tree/0.7.3 +. .TH “BUNDLE-UPDATE” “1” “August 2010” +“” “” . .SH “NAME” fBbundle-updatefR - +Update your gems to the latest available versions . .SH +“SYNOPSIS” fBbundle updatefR fI*gemsfR [-\-source=NAME] . .SH +“DESCRIPTION” Update the gems specified (all gems, if none are +specified), ignoring the previously installed gems specified in the +fBGemfile.lockfR. In general, you should use bundle install(1) +fIbundle-install.1.htmlfR to install the same exact gems and versions +across machines. . .P You would use fBbundle updatefR to explicitly update +the version of a gem. . .SH “OPTIONS” . .TP +fB-\-source=fR The name of a fB:gitfR or fB:pathfR source used in the +Gemfile(5). For instance, with a fB:gitfR source of fBgithub\.com/rails/rails\.git\fR, +you would call fBbundle update -\-source railsfR . .SH “UPDATING ALL +GEMS” If you run fBbundle updatefR with no parameters, bundler will +ignore any previously installed gems and resolve all dependencies again +based on the latest versions of all gems available in the sources. . .P +Consider the following Gemfile(5): . .IP “” 4 . .nf +

+

+source “rubygems\.org“ +

+

+gem “rails”, “3.0.0.rc” gem “nokogiri” +. .fi . .IP “” 0 . .P When you run bundle install(1) +fIbundle-install.1.htmlfR the first time, bundler will resolve all of the +dependencies, all the way down, and install what you need: . .IP +“” 4 . .nf +

+

+Fetching source index for rubygems\.org/ +Installing rake (0.8.7) Installing abstract (1.0.0) Installing +activesupport (3.0.0.rc) Installing builder (2.1.2) Installing i18n (0.4.1) +Installing activemodel (3.0.0.rc) Installing erubis (2.6.6) Installing rack +(1.2.1) Installing rack-mount (0.6.9) Installing rack-test (0.5.4) +Installing tzinfo (0.3.22) Installing actionpack (3.0.0.rc) Installing +mime-types (1.16) Installing polyglot (0.3.1) Installing treetop (1.4.8) +Installing mail (2.2.5) Installing actionmailer (3.0.0.rc) Installing arel +(0.4.0) Installing activerecord (3.0.0.rc) Installing activeresource +(3.0.0.rc) Installing bundler (1.0.0.rc.3) Installing nokogiri (1.4.3.1) +with native extensions Installing thor (0.14.0) Installing railties +(3.0.0.rc) Installing rails (3.0.0.rc) +

+

+Your bundle is complete! Use `bundle show [gemname]` to see where a bundled +gem is installed. . .fi . .IP “” 0 . .P As you can see, even +though you have just two gems in the Gemfile(5), your application actually +needs 25 different gems in order to run. Bundler remembers the exact versions it +installed in fBGemfile.lockfR. The next time you run bundle install(1) +fIbundle-install.1.htmlfR, bundler skips the dependency resolution and +installs the same gems as it installed last time. . .P After checking in +the fBGemfile.lockfR into version control and cloning it on another +machine, running bundle install(1) fIbundle-install.1.htmlfR will fIstillfR +install the gems that you installed last time. You don't need to worry that +a new release of fBerubisfR or fBmailfR changes the gems you use. . .P +However, from time to time, you might want to update the gems you are using +to the newest versions that still match the gems in your Gemfile(5). . .P +To do this, run fBbundle updatefR, which will ignore the fBGemfile.lockfR, +and resolve all the dependencies again. Keep in mind that this process can +result in a significantly different set of the 25 gems, based on the +requirements of new gems that the gem authors released since the last time +you ran fBbundle updatefR. . .SH “UPDATING A LIST OF GEMS” +Sometimes, you want to update a single gem in the Gemfile(5), and leave the +rest of the gems that you specified locked to the versions in the +fBGemfile.lockfR. . .P For instance, in the scenario above, imagine that +fBnokogirifR releases version fB1.4.4fR, and you want to update it +fIwithoutfR updating Rails and all of its dependencies. To do this, run +fBbundle update nokogirifR. . .P Bundler will update fBnokogirifR and any +of its dependencies, but leave alone Rails and its dependencies. . .SH +“OVERLAPPING DEPENDENCIES” Sometimes, multiple gems declared in +your Gemfile(5) are satisfied by the same second-level dependency. For +instance, consider the case of fBthinfR and fBrack-perftools-profilerfR. . +.IP “” 4 . .nf +

+

+source “rubygems\.org“ +

+

+gem “thin” gem “rack-perftools-profiler” . .fi . +.IP “” 0 . .P The fBthinfR gem depends on fBrack >= 1.0fR, +while fBrack-perftools-profilerfR depends on fBrack ~> 1.0fR. If you run +bundle install, you get: . .IP “” 4 . .nf +

+

+Fetching source index for rubygems\.org/ +Installing daemons (1.1.0) Installing eventmachine (0.12.10) with native +extensions Installing open4 (1.0.1) Installing perftools.rb (0.4.7) with +native extensions Installing rack (1.2.1) Installing +rack-perftools_profiler (0.0.2) Installing thin (1.2.7) with native +extensions Using bundler (1.0.0.rc.3) . .fi . .IP “” 0 . .P In +this case, the two gems have their own set of dependencies, but they share +fBrackfR in common. If you run fBbundle update thinfR, bundler will update +fBdaemonsfR, fBeventmachinefR and fBrackfR, which are dependencies of +fBthinfR, but not fBopen4fR or fBperftools.rbfR, which are dependencies of +fBrack-perftools_profiler\fR. Note that fBbundle update thinfR will update +fBrackfR even though it's fIalsofR a dependency of +fBrack-perftools_profiler\fR. . .P fBIn shortfR, when you update a gem +using fBbundle updatefR, bundler will update all dependencies of that gem, +including those that are also dependencies of another gem. . .P In this +scenario, updating the fBthinfR version manually in the Gemfile(5), and +then running bundle install(1) fIbundle-install.1.htmlfR will only update +fBdaemonsfR and fBeventmachinefR, but not fBrackfR. For more information, +see the fBCONSERVATIVE UPDATINGfR section of bundle install(1) +fIbundle-install.1.htmlfR. . .SH “RECOMMENDED WORKFLOW” In +general, when working with an application managed with bundler, you should +use the following workflow: . .IP “(bu” 4 After you create your +Gemfile(5) for the first time, run . .IP $ bundle install . .IP +“(bu” 4 Check the resulting fBGemfile.lockfR into version +control . .IP $ git add Gemfile.lock . .IP “(bu” 4 When +checking out this repository on another development machine, run . .IP $ +bundle install . .IP “(bu” 4 When checking out this repository +on a deployment machine, run . .IP $ bundle install -\-deployment . .IP +“(bu” 4 After changing the Gemfile(5) to reflect a new or +update dependency, run . .IP $ bundle install . .IP “(bu” 4 +Make sure to check the updated fBGemfile.lockfR into version control . .IP +$ git add Gemfile.lock . .IP “(bu” 4 If bundle install(1) +fIbundle-install.1.htmlfR reports a conflict, manually update the specific +gems that you changed in the Gemfile(5) . .IP $ bundle update rails thin . +.IP “(bu” 4 If you want to update all the gems to the latest +possible versions that still match the gems listed in the Gemfile(5), run . +.IP $ bundle update . .IP “” 0 +

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-update_txt.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-update_txt.html new file mode 100644 index 00000000..ed7a5df3 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-update_txt.html @@ -0,0 +1,460 @@ + + + + + + + + File: bundle-update.txt [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

+BUNDLE-UPDATE(1) +BUNDLE-UPDATE(1) +

+

+NAME +

+
+       bundle-update - Update your gems to the latest available versions
+
+

+SYNOPSIS +

+
+       bundle update *gems [--source=NAME]
+
+

+DESCRIPTION +

+
+       Update  the  gems specified (all gems, if none are specified), ignoring
+       the previously installed gems specified in the  Gemfile.lock.  In  gen-
+       eral, you should use bundle install(1) bundle-install.1.html to install
+       the same exact gems and versions across machines.
+
+       You would use bundle update to explicitly update the version of a  gem.
+
+

+OPTIONS +

+
+       --source=<name>
+              The  name  of a :git or :path source used in the Gemfile(5). For
+              instance,       with       a        :git        source        of
+              http://github.com/rails/rails.git,  you would call bundle update
+              --source rails
+
+

+UPDATING ALL GEMS +

+
+       If you run bundle update with no parameters, bundler  will  ignore  any
+       previously  installed  gems and resolve all dependencies again based on
+       the latest versions of all gems available in the sources.
+
+       Consider the following Gemfile(5):
+
+           source "http://rubygems.org"
+
+           gem "rails", "3.0.0.rc"
+           gem "nokogiri"
+
+       When you run bundle install(1) bundle-install.1.html  the  first  time,
+       bundler  will  resolve  all  of the dependencies, all the way down, and
+       install what you need:
+
+           Fetching source index for http://rubygems.org/
+           Installing rake (0.8.7)
+           Installing abstract (1.0.0)
+           Installing activesupport (3.0.0.rc)
+           Installing builder (2.1.2)
+           Installing i18n (0.4.1)
+           Installing activemodel (3.0.0.rc)
+           Installing erubis (2.6.6)
+           Installing rack (1.2.1)
+           Installing rack-mount (0.6.9)
+           Installing rack-test (0.5.4)
+           Installing tzinfo (0.3.22)
+           Installing actionpack (3.0.0.rc)
+           Installing mime-types (1.16)
+           Installing polyglot (0.3.1)
+           Installing treetop (1.4.8)
+           Installing mail (2.2.5)
+           Installing actionmailer (3.0.0.rc)
+           Installing arel (0.4.0)
+           Installing activerecord (3.0.0.rc)
+           Installing activeresource (3.0.0.rc)
+           Installing bundler (1.0.0.rc.3)
+           Installing nokogiri (1.4.3.1) with native extensions
+           Installing thor (0.14.0)
+           Installing railties (3.0.0.rc)
+           Installing rails (3.0.0.rc)
+
+           Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.
+
+       As you can see, even though you have just two gems in  the  Gemfile(5),
+       your  application  actually  needs  25  different gems in order to run.
+       Bundler remembers the exact versions it installed in Gemfile.lock.  The
+       next  time  you  run  bundle  install(1) bundle-install.1.html, bundler
+       skips the dependency resolution  and  installs  the  same  gems  as  it
+       installed last time.
+
+       After  checking in the Gemfile.lock into version control and cloning it
+       on another machine,  running  bundle  install(1)  bundle-install.1.html
+       will  still  install  the  gems that you installed last time. You don't
+       need to worry that a new release of erubis or mail changes the gems you
+       use.
+
+       However,  from  time to time, you might want to update the gems you are
+       using to the newest versions that still match the  gems  in  your  Gem-
+       file(5).
+
+       To  do this, run bundle update, which will ignore the Gemfile.lock, and
+       resolve all the dependencies again. Keep in mind that this process  can
+       result  in  a  significantly different set of the 25 gems, based on the
+       requirements of new gems that the gem authors released since  the  last
+       time you ran bundle update.
+
+

+UPDATING A LIST OF GEMS +

+
+       Sometimes, you want to update a single gem in the Gemfile(5), and leave
+       the rest of the gems that you specified locked to the versions  in  the
+       Gemfile.lock.
+
+       For  instance,  in  the  scenario above, imagine that nokogiri releases
+       version 1.4.4, and you want to update it without updating Rails and all
+       of its dependencies. To do this, run bundle update nokogiri.
+
+       Bundler  will  update  nokogiri  and any of its dependencies, but leave
+       alone Rails and its dependencies.
+
+

+OVERLAPPING DEPENDENCIES +

+
+       Sometimes, multiple gems declared in your Gemfile(5) are  satisfied  by
+       the  same  second-level  dependency. For instance, consider the case of
+       thin and rack-perftools-profiler.
+
+           source "http://rubygems.org"
+
+           gem "thin"
+           gem "rack-perftools-profiler"
+
+       The thin gem depends on  rack  >=  1.0,  while  rack-perftools-profiler
+       depends on rack ~> 1.0. If you run bundle install, you get:
+
+           Fetching source index for http://rubygems.org/
+           Installing daemons (1.1.0)
+           Installing eventmachine (0.12.10) with native extensions
+           Installing open4 (1.0.1)
+           Installing perftools.rb (0.4.7) with native extensions
+           Installing rack (1.2.1)
+           Installing rack-perftools_profiler (0.0.2)
+           Installing thin (1.2.7) with native extensions
+           Using bundler (1.0.0.rc.3)
+
+       In this case, the two gems have their own set of dependencies, but they
+       share rack in common. If you  run  bundle  update  thin,  bundler  will
+       update  daemons, eventmachine and rack, which are dependencies of thin,
+       but  not   open4   or   perftools.rb,   which   are   dependencies   of
+       rack-perftools_profiler.  Note that bundle update thin will update rack
+       even though it's also a dependency of rack-perftools_profiler.
+
+       In short, when you update a  gem  using  bundle  update,  bundler  will
+       update  all  dependencies  of  that  gem, including those that are also
+       dependencies of another gem.
+
+       In this scenario, updating the thin version manually in the Gemfile(5),
+       and  then  running  bundle  install(1)  bundle-install.1.html will only
+       update daemons and eventmachine, but not rack.  For  more  information,
+       see  the  CONSERVATIVE  UPDATING  section  of  bundle  install(1)  bun-
+       dle-install.1.html.
+
+

+RECOMMENDED WORKFLOW +

+
+       In general, when working with an application managed with bundler,  you
+       should use the following workflow:
+
+       o   After you create your Gemfile(5) for the first time, run
+
+           $ bundle install
+
+       o   Check the resulting Gemfile.lock into version control
+
+           $ git add Gemfile.lock
+
+       o   When  checking  out this repository on another development machine,
+           run
+
+           $ bundle install
+
+       o   When checking out this repository on a deployment machine, run
+
+           $ bundle install --deployment
+
+       o   After changing the Gemfile(5) to reflect a  new  or  update  depen-
+           dency, run
+
+           $ bundle install
+
+       o   Make sure to check the updated Gemfile.lock into version control
+
+           $ git add Gemfile.lock
+
+       o   If bundle install(1) bundle-install.1.html reports a conflict, man-
+           ually update the specific gems that you changed in the Gemfile(5)
+
+           $ bundle update rails thin
+
+       o   If you want to update all the gems to the latest possible  versions
+           that still match the gems listed in the Gemfile(5), run
+
+           $ bundle update
+
+                                  August 2010                 BUNDLE-UPDATE(1)
+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle.html new file mode 100644 index 00000000..ea5ebf21 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle.html @@ -0,0 +1,287 @@ + + + + + + + + File: bundle [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

+." generated with Ronn/v0.7.3 ." github.com/rtomayko/ronn/tree/0.7.3 +. .TH “BUNDLE” “1” “August 2010” +“” “” . .SH “NAME” fBbundlefR - Ruby +Dependency Management . .SH “SYNOPSIS” fBbundlefR [-\-no-color] +COMMAND [ARGS] . .SH “DESCRIPTION” Bundler manages an fBapplication's +dependenciesfR through its entire life across many machines systematically +and repeatably. . .P See the bundler website fIgembundler\.com\fR for information on +getting started, and Gemfile(5) for more information on the fBGemfilefR +format. . .SH “OPTIONS” . .TP fB-\-no-colorfR Prints all output +without color . .SH “BUNDLE COMMANDS” We divide fBbundlefR +subcommands into primary commands and utilities. . .SH “PRIMARY +COMMANDS” . .TP bundle install(1) fIbundle-install.1.htmlfR Install +the gems specified by the fBGemfilefR or fBGemfile.lockfR . .TP bundle +update(1) fIbundle-update.1.htmlfR Update dependencies to their latest +versions . .TP bundle package(1) fIbundle-package.1.htmlfR Package the .gem +files required by your application into the fBvendor/cache\fR directory . +.TP bundle exec(1) fIbundle-exec.1.htmlfR Execute a script in the context +of the current bundle . .TP bundle config(1) fIbundle-config.1.htmlfR +Specify and read configuration options for bundler . .SH +“UTILITIES” . .TP fBbundle check(1)fR Determine whether the +requirements for your application are installed and available to bundler . +.TP fBbundle list(1)fR Show all of the gems in the current bundle . .TP +fBbundle show(1)fR Show the source location of a particular gem in the +bundle . .TP fBbundle console(1)fR Start an IRB session in the context of +the current bundle . .TP fBbundle open(1)fR Open an installed gem in the +editor . .TP fBbundle viz(1)fR Generate a visual representation of your +dependencies . .TP fBbundle init(1)fR Generate a simple fBGemfilefR, placed +in the current directory . .TP fBbundle gem(1)fR Create a simple gem, +suitable for development with bundler . .SH “OBSOLETE” These +commands are obsolete and should no longer be used . .IP “(bu” +4 fBbundle lock(1)fR . .IP “(bu” 4 fBbundle unlock(1)fR . .IP +“(bu” 4 fBbundle cache(1)fR . .IP “” 0 +

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle_txt.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle_txt.html new file mode 100644 index 00000000..82641b1f --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle_txt.html @@ -0,0 +1,352 @@ + + + + + + + + File: bundle.txt [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

+BUNDLE(1) +BUNDLE(1) +

+

+NAME +

+
+       bundle - Ruby Dependency Management
+
+

+SYNOPSIS +

+
+       bundle [--no-color] COMMAND [ARGS]
+
+

+DESCRIPTION +

+
+       Bundler  manages  an application's dependencies through its entire life
+       across many machines systematically and repeatably.
+
+       See the bundler website http://gembundler.com for information  on  get-
+       ting  started,  and Gemfile(5) for more information on the Gemfile for-
+       mat.
+
+

+OPTIONS +

+
+       --no-color
+              Prints all output without color
+
+

+BUNDLE COMMANDS +

+
+       We divide bundle subcommands into primary commands and utilities.
+
+

+PRIMARY COMMANDS +

+
+       bundle install(1) bundle-install.1.html
+              Install the gems specified by the Gemfile or Gemfile.lock
+
+       bundle update(1) bundle-update.1.html
+              Update dependencies to their latest versions
+
+       bundle package(1) bundle-package.1.html
+              Package the .gem files required by  your  application  into  the
+              vendor/cache directory
+
+       bundle exec(1) bundle-exec.1.html
+              Execute a script in the context of the current bundle
+
+       bundle config(1) bundle-config.1.html
+              Specify and read configuration options for bundler
+
+

+UTILITIES +

+
+       bundle check(1)
+              Determine  whether  the  requirements  for  your application are
+              installed and available to bundler
+
+       bundle list(1)
+              Show all of the gems in the current bundle
+
+       bundle show(1)
+              Show the source location of a particular gem in the bundle
+
+       bundle console(1)
+              Start an IRB session in the context of the current bundle
+
+       bundle open(1)
+              Open an installed gem in the editor
+
+       bundle viz(1)
+              Generate a visual representation of your dependencies
+
+       bundle init(1)
+              Generate a simple Gemfile, placed in the current directory
+
+       bundle gem(1)
+              Create a simple gem, suitable for development with bundler
+
+

+OBSOLETE +

+
+       These commands are obsolete and should no longer be used
+
+       o   bundle lock(1)
+
+       o   bundle unlock(1)
+
+       o   bundle cache(1)
+
+                                  August 2010                        BUNDLE(1)
+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/gemfile_5_txt.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/gemfile_5_txt.html new file mode 100644 index 00000000..3220188b --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/gemfile_5_txt.html @@ -0,0 +1,527 @@ + + + + + + + + File: gemfile.5.txt [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

+GEMFILE(5) +GEMFILE(5) +

+

+NAME +

+
+       Gemfile - A format for describing gem dependencies for Ruby programs
+
+

+SYNOPSIS +

+
+       A Gemfile describes the gem dependencies required to execute associated
+       Ruby code.
+
+       Place the Gemfile in the root of the directory containing  the  associ-
+       ated  code.  For instance, in a Rails application, place the Gemfile in
+       the same directory as the Rakefile.
+
+

+SYNTAX +

+
+       A Gemfile is evaluated as Ruby code, in a context which makes available
+       a number of methods used to describe the gem requirements.
+
+

+SOURCES (source) +

+
+       At  the  top of the Gemfile, add one line for each Rubygems source that
+       might contain the gems listed in the Gemfile.
+
+           source "http://rubygems.org"
+           source "http://gems.github.com"
+
+       Each of these _source_s MUST be a valid Rubygems repository.
+
+

+GEMS (gem) +

+
+       Specify gem requirements using the gem method, with the following argu-
+       ments. All parameters are OPTIONAL unless otherwise specified.
+
+   NAME (required)
+       For each gem requirement, list a single gem line.
+
+           gem "nokogiri"
+
+   VERSION
+       Each gem MAY have one or more version specifiers.
+
+           gem "nokogiri", ">= 1.4.2"
+           gem "RedCloth", ">= 4.1.0", "< 4.2.0"
+
+   REQUIRE AS (:require)
+       Each  gem  MAY specify its main file, which should be used when autore-
+       quiring (Bundler.require).
+
+           gem "sqlite3-ruby", :require => "sqlite3"
+
+       This defaults to the name of the gem itself. For  instance,  these  are
+       identical:
+
+           gem "nokogiri"
+           gem "nokogiri", :require => "nokogiri"
+
+   GROUPS (:group or :groups)
+       Each  gem  MAY  specify  membership in one or more groups. Any gem that
+       does not specify membership in any  group  is  placed  in  the  default
+       group.
+
+           gem "rspec", :group => :test
+           gem "wirble", :groups => [:development, :test]
+
+       The  Bundler  runtime  allows  its  two main methods, Bundler.setup and
+       Bundler.require, to limit their impact to particular groups.
+
+           # setup adds gems to Ruby's load path
+           Bundler.setup                    # defaults to all groups
+           require "bundler/setup"          # same as Bundler.setup
+           Bundler.setup(:default)          # only set up the _default_ group
+           Bundler.setup(:test)             # only set up the _test_ group (but `not` _default_)
+           Bundler.setup(:default, :test)   # set up the _default_ and _test_ groups, but no others
+
+           # require requires all of the gems in the specified groups
+           Bundler.require                  # defaults to just the _default_ group
+           Bundler.require(:default)        # identical
+           Bundler.require(:default, :test) # requires the _default_ and _test_ groups
+           Bundler.require(:test)           # requires just the _test_ group
+
+       The Bundler CLI allows you to specify a list of groups whose gems  bun-
+       dle  install  should  not install with the --without option. To specify
+       multiple groups to ignore, specify a list of groups separated  by  spa-
+       ces.
+
+           bundle install --without test
+           bundle install --without development test
+
+       After running bundle install --without test, bundler will remember that
+       you excluded the test group in the last installation. The next time you
+       run  bundle  install, without any --without option, bundler will recall
+       it.
+
+       Also, calling Bundler.setup with  no  parameters,  or  calling  require
+       "bundler/setup"  will setup all groups except for the ones you excluded
+       via --without (since they are obviously not available).
+
+       Note that on bundle install, bundler downloads and evaluates all  gems,
+       in  order to create a single canonical list of all of the required gems
+       and their dependencies. This means that you cannot list different  ver-
+       sions  of  the  same  gems  in  different groups. For more details, see
+       Understanding Bundler http://gembundler.com/v1.0/understanding.html.
+
+   PLATFORMS (:platforms)
+       If a gem should only be used in a particular platform or set  of  plat-
+       forms,  you  can  specify  them. Platforms are essentially identical to
+       groups, except that you do not need to use the  --without  install-time
+       flag to exclude groups of gems for other platforms.
+
+       There are a number of Gemfile platforms:
+
+       ruby   C Ruby (MRI) or Rubinius, but NOT Windows
+
+       ruby_18
+              ruby AND version 1.8
+
+       ruby_19
+              ruby AND version 1.9
+
+       mri    Same as ruby, but not Rubinius
+
+       mri_18 mri AND version 1.8
+
+       mri_19 mri AND version 1.9
+
+       jruby  JRuby
+
+       mswin  Windows
+
+       As with groups, you can specify one or more platforms:
+
+           gem "weakling",   :platforms => :jruby
+           gem "ruby-debug", :platforms => :mri_18
+           gem "nokogiri",   :platforms => [:mri_18, :jruby]
+
+       All   operations   involving  groups  (bundle  install,  Bundler.setup,
+       Bundler.require) behave exactly the same as if any groups not  matching
+       the current platform were explicitly excluded.
+
+   GIT (:git)
+       If necessary, you can specify that a gem is located at a particular git
+       repository.       The       repository       can       be        public
+       (http://github.com/rails/rails.git)              or             private
+       (git@github.com:rails/rails.git). If the  repository  is  private,  the
+       user  that you use to run bundle install MUST have the appropriate keys
+       available in their $HOME/.ssh.
+
+       Git repositories are specified using the  :git  parameter.  The  group,
+       platforms,  and  require  options  are available and behave exactly the
+       same as they would for a normal gem.
+
+           gem "rails", :git => "git://github.com/rails/rails.git"
+
+       A git repository SHOULD have at least one file,  at  the  root  of  the
+       directory  containing  the  gem, with the extension .gemspec. This file
+       MUST contain a valid gem specification, as expected by  the  gem  build
+       command.  It MUST NOT have any dependencies, other than on the files in
+       the git repository itself and any built-in  functionality  of  Ruby  or
+       Rubygems.
+
+       If  a  git repository does not have a .gemspec, bundler will attempt to
+       create one, but it will not contain any dependencies, executables, or C
+       extension  compilation  instructions. As a result, it may fail to prop-
+       erly integrate into your application.
+
+       If a git repository does have a .gemspec for the gem  you  attached  it
+       to,  a version specifier, if provided, means that the git repository is
+       only valid if the .gemspec specifies a  version  matching  the  version
+       specifier. If not, bundler will print a warning.
+
+           gem "rails", "2.3.8", :git => "git://github.com/rails/rails.git"
+           # bundle install will fail, because the .gemspec in the rails
+           # repository's master branch specifies version 3.0.0
+
+       If  a  git repository does not have a .gemspec for the gem you attached
+       it to, a version specifier MUST be provided. Bundler will use this ver-
+       sion in the simple .gemspec it creates.
+
+       Git repositories support a number of additional options.
+
+       branch, tag, and ref
+              You  MUST only specify at most one of these options. The default
+              is :branch => "master"
+
+       submodules
+              Specify :submodules => true to cause bundler to expand any  sub-
+              modules included in the git repository
+
+       If  a  git repository contains multiple .gemspecs, each .gemspec repre-
+       sents a gem located at the same place in the file system as  the  .gem-
+       spec.
+
+           |~rails                   [git root]
+           | |-rails.gemspec         [rails gem located here]
+           |~actionpack
+           | |-actionpack.gemspec    [actionpack gem located here]
+           |~activesupport
+           | |-activesupport.gemspec [activesupport gem located here]
+
+       To  install  a  gem located in a git repository, bundler changes to the
+       directory containing the gemspec, runs gem build name.gemspec and  then
+       installs the resulting gem. The gem build command, which comes standard
+       with Rubygems, evaluates the .gemspec in the context of  the  directory
+       in which it is located.
+
+   PATH (:path)
+       You  can  specify that a gem is located in a particular location on the
+       file system. Relative paths are resolved relative to the directory con-
+       taining the Gemfile.
+
+       Similar  to the semantics of the :git option, the :path option requires
+       that the directory in question either contains a .gemspec for the  gem,
+       or that you specify an explicit version that bundler should use.
+
+       Unlike  :git,  bundler does not compile C extensions for gems specified
+       as paths.
+
+           gem "rails", :path => "vendor/rails"
+
+

+BLOCK FORM OF GIT, PATH, GROUP and PLATFORMS +

+
+       The :git, :path, :group, and :platforms options may  be  applied  to  a
+       group of gems by using block form.
+
+           git "git://github.com/rails/rails.git" do
+             gem "activesupport"
+             gem "actionpack"
+           end
+
+           platforms :ruby do
+             gem "ruby-debug"
+             gem "sqlite3-ruby"
+           end
+
+           group :development do
+             gem "wirble"
+             gem "faker"
+           end
+
+       In  the  case of the git block form, the :ref, :branch, :tag, and :sub-
+       modules options may be passed to the git method, and all  gems  in  the
+       block will inherit those options.
+
+

+SOURCE PRIORITY +

+
+       When  attempting  to locate a gem to satisfy a gem requirement, bundler
+       uses the following priority order:
+
+       1.  The source explicitly attached to the gem (using :path or :git)
+
+       2.  For implicit gems (dependencies of explicit gems), any git or  path
+           repository otherwise declared. This results in bundler prioritizing
+           the ActiveSupport gem from the Rails git repository over ones  from
+           rubygems.org
+
+       3.  The  sources  specified via source, in the order in which they were
+           declared in the Gemfile.
+
+                                  August 2010                       GEMFILE(5)
+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/remote_specification_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/remote_specification_rb.html new file mode 100644 index 00000000..f1345e1e --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/remote_specification_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: remote_specification.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • uri
  • + +
  • rubygems/spec_fetcher
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/resolver_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/resolver_rb.html new file mode 100644 index 00000000..e1128895 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/resolver_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: resolver.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • set
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/rubygems_ext_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/rubygems_ext_rb.html new file mode 100644 index 00000000..2e9effe7 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/rubygems_ext_rb.html @@ -0,0 +1,58 @@ + + + + + + + + File: rubygems_ext.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • pathname
  • + +
  • rubygems
  • + +
  • rubygems/specification
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/runtime_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/runtime_rb.html new file mode 100644 index 00000000..2d391572 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/runtime_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: runtime.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • digest/sha1
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/settings_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/settings_rb.html new file mode 100644 index 00000000..f0ac1cd2 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/settings_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: settings.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/setup_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/setup_rb.html new file mode 100644 index 00000000..21cd3de1 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/setup_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: setup.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • bundler/shared_helpers
  • + +
  • bundler
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/shared_helpers_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/shared_helpers_rb.html new file mode 100644 index 00000000..853bf804 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/shared_helpers_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: shared_helpers.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • pathname
  • + +
  • rubygems
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/source_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/source_rb.html new file mode 100644 index 00000000..520d17dc --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/source_rb.html @@ -0,0 +1,64 @@ + + + + + + + + File: source.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • uri
  • + +
  • rubygems/installer
  • + +
  • rubygems/spec_fetcher
  • + +
  • rubygems/format
  • + +
  • digest/sha1
  • + +
  • open3
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/spec_set_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/spec_set_rb.html new file mode 100644 index 00000000..fbcfb488 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/spec_set_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: spec_set.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • tsort
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/templates/Gemfile.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/templates/Gemfile.html new file mode 100644 index 00000000..cd27fde4 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/templates/Gemfile.html @@ -0,0 +1,257 @@ + + + + + + + + File: Gemfile [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

+# A sample Gemfile source “rubygems.org“ +

+

+# gem “rails“ +

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/ui_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/ui_rb.html new file mode 100644 index 00000000..68e7e606 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/ui_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: ui.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions/create_file_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions/create_file_rb.html new file mode 100644 index 00000000..dfde173d --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions/create_file_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: create_file.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • thor/actions/empty_directory
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions/directory_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions/directory_rb.html new file mode 100644 index 00000000..212b7f24 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions/directory_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: directory.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • thor/actions/empty_directory
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions/empty_directory_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions/empty_directory_rb.html new file mode 100644 index 00000000..ff7fecf2 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions/empty_directory_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: empty_directory.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions/file_manipulation_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions/file_manipulation_rb.html new file mode 100644 index 00000000..9aab487b --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions/file_manipulation_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: file_manipulation.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • erb
  • + +
  • open-uri
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions/inject_into_file_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions/inject_into_file_rb.html new file mode 100644 index 00000000..93d64146 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions/inject_into_file_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: inject_into_file.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • thor/actions/empty_directory
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions_rb.html new file mode 100644 index 00000000..661d0be9 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions_rb.html @@ -0,0 +1,58 @@ + + + + + + + + File: actions.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • fileutils
  • + +
  • uri
  • + +
  • thor/core_ext/file_binary_read
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/base_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/base_rb.html new file mode 100644 index 00000000..63fd4811 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/base_rb.html @@ -0,0 +1,68 @@ + + + + + + + + File: base.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • thor/core_ext/hash_with_indifferent_access
  • + +
  • thor/core_ext/ordered_hash
  • + +
  • thor/error
  • + +
  • thor/shell
  • + +
  • thor/invocation
  • + +
  • thor/parser
  • + +
  • thor/task
  • + +
  • thor/util
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/core_ext/file_binary_read_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/core_ext/file_binary_read_rb.html new file mode 100644 index 00000000..814b1f4e --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/core_ext/file_binary_read_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: file_binary_read.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access_rb.html new file mode 100644 index 00000000..1d2d2d08 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: hash_with_indifferent_access.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/core_ext/ordered_hash_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/core_ext/ordered_hash_rb.html new file mode 100644 index 00000000..e8c515d7 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/core_ext/ordered_hash_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: ordered_hash.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/error_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/error_rb.html new file mode 100644 index 00000000..c1418406 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/error_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: error.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/invocation_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/invocation_rb.html new file mode 100644 index 00000000..c69d91eb --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/invocation_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: invocation.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/parser/argument_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/parser/argument_rb.html new file mode 100644 index 00000000..a273d8a0 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/parser/argument_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: argument.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/parser/arguments_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/parser/arguments_rb.html new file mode 100644 index 00000000..be82eaa6 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/parser/arguments_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: arguments.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/parser/option_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/parser/option_rb.html new file mode 100644 index 00000000..af604fcc --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/parser/option_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: option.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/parser/options_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/parser/options_rb.html new file mode 100644 index 00000000..96d5ca65 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/parser/options_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: options.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/parser_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/parser_rb.html new file mode 100644 index 00000000..1ef1a268 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/parser_rb.html @@ -0,0 +1,60 @@ + + + + + + + + File: parser.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • thor/parser/argument
  • + +
  • thor/parser/arguments
  • + +
  • thor/parser/option
  • + +
  • thor/parser/options
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/shell/basic_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/shell/basic_rb.html new file mode 100644 index 00000000..606c1ff2 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/shell/basic_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: basic.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • tempfile
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/shell/color_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/shell/color_rb.html new file mode 100644 index 00000000..a0dd6fd7 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/shell/color_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: color.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • thor/shell/basic
  • + +
  • diff/lcs
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/shell/html_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/shell/html_rb.html new file mode 100644 index 00000000..76079f4e --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/shell/html_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: html.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • thor/shell/basic
  • + +
  • diff/lcs
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/shell_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/shell_rb.html new file mode 100644 index 00000000..35d90bb8 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/shell_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: shell.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • rbconfig
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/task_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/task_rb.html new file mode 100644 index 00000000..7ea6960c --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/task_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: task.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/util_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/util_rb.html new file mode 100644 index 00000000..26b24aa5 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/util_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: util.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • rbconfig
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/version_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/version_rb.html new file mode 100644 index 00000000..a6ab258d --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/version_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: version.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor_rb.html new file mode 100644 index 00000000..f83c4702 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: thor.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • thor/base
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/version_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/version_rb.html new file mode 100644 index 00000000..29cacb0a --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/version_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: version.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler_rb.html new file mode 100644 index 00000000..e16c86bc --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler_rb.html @@ -0,0 +1,64 @@ + + + + + + + + File: bundler.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • rbconfig
  • + +
  • fileutils
  • + +
  • pathname
  • + +
  • yaml
  • + +
  • bundler/rubygems_ext
  • + +
  • bundler/version
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/rdoc.css b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/rdoc.css new file mode 100644 index 00000000..ffe99600 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/rdoc.css @@ -0,0 +1,706 @@ +/* + * "Darkfish" Rdoc CSS + * $Id: rdoc.css 54 2009-01-27 01:09:48Z deveiant $ + * + * Author: Michael Granger + * + */ + +/* Base Green is: #6C8C22 */ + +*{ padding: 0; margin: 0; } + +body { + background: #efefef; + font: 14px "Helvetica Neue", Helvetica, Tahoma, sans-serif; +} +body.class, body.module, body.file { + margin-left: 40px; +} +body.file-popup { + font-size: 90%; + margin-left: 0; +} + +h1 { + font-size: 300%; + text-shadow: rgba(135,145,135,0.65) 2px 2px 3px; + color: #6C8C22; +} +h2,h3,h4 { margin-top: 1.5em; } + +:link, +:visited { + color: #6C8C22; + text-decoration: none; +} +:link:hover, +:visited:hover { + border-bottom: 1px dotted #6C8C22; +} + +pre { + background: #ddd; + padding: 0.5em 0; +} + + +/* @group Generic Classes */ + +.initially-hidden { + display: none; +} + +.quicksearch-field { + width: 98%; + background: #ddd; + border: 1px solid #aaa; + height: 1.5em; + -webkit-border-radius: 4px; +} +.quicksearch-field:focus { + background: #f1edba; +} + +.missing-docs { + font-size: 120%; + background: white url(images/wrench_orange.png) no-repeat 4px center; + color: #ccc; + line-height: 2em; + border: 1px solid #d00; + opacity: 1; + padding-left: 20px; + text-indent: 24px; + letter-spacing: 3px; + font-weight: bold; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; +} + +.target-section { + border: 2px solid #dcce90; + border-left-width: 8px; + padding: 0 1em; + background: #fff3c2; +} + +/* @end */ + + +/* @group Index Page, Standalone file pages */ +body.indexpage { + margin: 1em 3em; +} +body.indexpage p, +body.indexpage div, +body.file p { + margin: 1em 0; +} + +.indexpage ul, +.file #documentation ul { + line-height: 160%; + list-style: none; +} +.indexpage ul :link, +.indexpage ul :visited { + font-size: 16px; +} + +.indexpage li, +.file #documentation li { + padding-left: 20px; + background: url(images/bullet_black.png) no-repeat left 4px; +} +.indexpage li.module { + background: url(images/package.png) no-repeat left 4px; +} +.indexpage li.class { + background: url(images/ruby.png) no-repeat left 4px; +} +.indexpage li.file { + background: url(images/page_white_text.png) no-repeat left 4px; +} +.file li p, +.indexpage li p { + margin: 0 0; +} + +/* @end */ + +/* @group Top-Level Structure */ + +.class #metadata, +.file #metadata, +.module #metadata { + float: left; + width: 260px; +} + +.class #documentation, +.file #documentation, +.module #documentation { + margin: 2em 1em 5em 300px; + min-width: 340px; +} + +.file #metadata { + margin: 0.8em; +} + +#validator-badges { + clear: both; + margin: 1em 1em 2em; +} + +/* @end */ + +/* @group Metadata Section */ +#metadata .section { + background-color: #dedede; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + border: 1px solid #aaa; + margin: 0 8px 16px; + font-size: 90%; + overflow: hidden; +} +#metadata h3.section-header { + margin: 0; + padding: 2px 8px; + background: #ccc; + color: #666; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-bottom: 1px solid #aaa; +} +#metadata #home-section h3.section-header { + border-bottom: 0; +} + +#metadata ul, +#metadata dl, +#metadata p { + padding: 8px; + list-style: none; +} + +#file-metadata ul { + padding-left: 28px; + list-style-image: url(images/page_green.png); +} + +dl.svninfo { + color: #666; + margin: 0; +} +dl.svninfo dt { + font-weight: bold; +} + +ul.link-list li { + white-space: nowrap; +} +ul.link-list .type { + font-size: 8px; + text-transform: uppercase; + color: white; + background: #969696; + padding: 2px 4px; + -webkit-border-radius: 5px; +} + +/* @end */ + + +/* @group Project Metadata Section */ +#project-metadata { + margin-top: 3em; +} + +.file #project-metadata { + margin-top: 0em; +} + +#project-metadata .section { + border: 1px solid #aaa; +} +#project-metadata h3.section-header { + border-bottom: 1px solid #aaa; + position: relative; +} +#project-metadata h3.section-header .search-toggle { + position: absolute; + right: 5px; +} + + +#project-metadata form { + color: #777; + background: #ccc; + padding: 8px 8px 16px; + border-bottom: 1px solid #bbb; +} +#project-metadata fieldset { + border: 0; +} + +#no-class-search-results { + margin: 0 auto 1em; + text-align: center; + font-size: 14px; + font-weight: bold; + color: #aaa; +} + +/* @end */ + + +/* @group Documentation Section */ +#description { + font-size: 100%; + color: #333; +} + +#description p { + margin: 1em 0.4em; +} + +#description li p { + margin: 0; +} + +#description ul { + margin-left: 1.5em; +} +#description ul li { + line-height: 1.4em; +} + +#description dl, +#documentation dl { + margin: 8px 1.5em; + border: 1px solid #ccc; +} +#description dl { + font-size: 14px; +} + +#description dt, +#documentation dt { + padding: 2px 4px; + font-weight: bold; + background: #ddd; +} +#description dd, +#documentation dd { + padding: 2px 12px; +} +#description dd + dt, +#documentation dd + dt { + margin-top: 0.7em; +} + +#documentation .section { + font-size: 90%; +} +#documentation h3.section-header { + margin-top: 2em; + padding: 0.75em 0.5em; + background-color: #dedede; + color: #333; + font-size: 150%; + border: 1px solid #bbb; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; +} + +#constants-list > dl, +#attributes-list > dl { + margin: 1em 0 2em; + border: 0; +} +#constants-list > dl dt, +#attributes-list > dl dt { + padding-left: 0; + font-weight: bold; + font-family: Monaco, "Andale Mono"; + background: inherit; +} +#constants-list > dl dt a, +#attributes-list > dl dt a { + color: inherit; +} +#constants-list > dl dd, +#attributes-list > dl dd { + margin: 0 0 1em 0; + padding: 0; + color: #666; +} + +/* @group Method Details */ + +#documentation .method-source-code { + display: none; +} + +#documentation .method-detail { + margin: 0.5em 0; + padding: 0.5em 0; + cursor: pointer; +} +#documentation .method-detail:hover { + background-color: #f1edba; +} +#documentation .method-heading { + position: relative; + padding: 2px 4px 0 20px; + font-size: 125%; + font-weight: bold; + color: #333; + background: url(images/brick.png) no-repeat left bottom; +} +#documentation .method-heading :link, +#documentation .method-heading :visited { + color: inherit; +} +#documentation .method-click-advice { + position: absolute; + top: 2px; + right: 5px; + font-size: 10px; + color: #9b9877; + visibility: hidden; + padding-right: 20px; + line-height: 20px; + background: url(images/zoom.png) no-repeat right top; +} +#documentation .method-detail:hover .method-click-advice { + visibility: visible; +} + +#documentation .method-alias .method-heading { + color: #666; + background: url(images/brick_link.png) no-repeat left bottom; +} + +#documentation .method-description, +#documentation .aliases { + margin: 0 20px; + line-height: 1.2em; + color: #666; +} +#documentation .aliases { + padding-top: 4px; + font-style: italic; + cursor: default; +} +#documentation .method-description p { + padding: 0; +} +#documentation .method-description p + p { + margin-bottom: 0.5em; +} +#documentation .method-description ul { + margin-left: 1.5em; +} + +#documentation .attribute-method-heading { + background: url(images/tag_green.png) no-repeat left bottom; +} +#documentation #attribute-method-details .method-detail:hover { + background-color: transparent; + cursor: default; +} +#documentation .attribute-access-type { + font-size: 60%; + text-transform: uppercase; + vertical-align: super; + padding: 0 2px; +} +/* @end */ + +/* @end */ + + + +/* @group Source Code */ + +div.method-source-code { + background: #262626; + color: #efefef; + margin: 1em; + padding: 0.5em; + border: 1px dashed #999; + overflow: hidden; +} + +div.method-source-code pre { + background: inherit; + padding: 0; + color: white; + overflow: auto; +} + +/* @group Ruby keyword styles */ + +.ruby-constant { color: #7fffd4; background: transparent; } +.ruby-keyword { color: #00ffff; background: transparent; } +.ruby-ivar { color: #eedd82; background: transparent; } +.ruby-operator { color: #00ffee; background: transparent; } +.ruby-identifier { color: #ffdead; background: transparent; } +.ruby-node { color: #ffa07a; background: transparent; } +.ruby-comment { color: #b22222; font-weight: bold; background: transparent; } +.ruby-regexp { color: #ffa07a; background: transparent; } +.ruby-value { color: #7fffd4; background: transparent; } + +/* @end */ +/* @end */ + + +/* @group File Popup Contents */ + +.file #metadata, +.file-popup #metadata { +} + +.file-popup dl { + font-size: 80%; + padding: 0.75em; + background-color: #dedede; + color: #333; + border: 1px solid #bbb; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; +} +.file dt { + font-weight: bold; + padding-left: 22px; + line-height: 20px; + background: url(images/page_white_width.png) no-repeat left top; +} +.file dt.modified-date { + background: url(images/date.png) no-repeat left top; +} +.file dt.requires { + background: url(images/plugin.png) no-repeat left top; +} +.file dt.scs-url { + background: url(images/wrench.png) no-repeat left top; +} + +.file dl dd { + margin: 0 0 1em 0; +} +.file #metadata dl dd ul { + list-style: circle; + margin-left: 20px; + padding-top: 0; +} +.file #metadata dl dd ul li { +} + + +.file h2 { + margin-top: 2em; + padding: 0.75em 0.5em; + background-color: #dedede; + color: #333; + font-size: 120%; + border: 1px solid #bbb; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; +} + +/* @end */ + + + + +/* @group ThickBox Styles */ +#TB_window { + font: 12px Arial, Helvetica, sans-serif; + color: #333333; +} + +#TB_secondLine { + font: 10px Arial, Helvetica, sans-serif; + color:#666666; +} + +#TB_window :link, +#TB_window :visited { color: #666666; } +#TB_window :link:hover, +#TB_window :visited:hover { color: #000; } +#TB_window :link:active, +#TB_window :visited:active { color: #666666; } +#TB_window :link:focus, +#TB_window :visited:focus { color: #666666; } + +#TB_overlay { + position: fixed; + z-index:100; + top: 0px; + left: 0px; + height:100%; + width:100%; +} + +.TB_overlayMacFFBGHack {background: url(images/macFFBgHack.png) repeat;} +.TB_overlayBG { + background-color:#000; + filter:alpha(opacity=75); + -moz-opacity: 0.75; + opacity: 0.75; +} + +* html #TB_overlay { /* ie6 hack */ + position: absolute; + height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px'); +} + +#TB_window { + position: fixed; + background: #ffffff; + z-index: 102; + color:#000000; + display:none; + border: 4px solid #525252; + text-align:left; + top:50%; + left:50%; +} + +* html #TB_window { /* ie6 hack */ +position: absolute; +margin-top: expression(0 - parseInt(this.offsetHeight / 2) + (TBWindowMargin = document.documentElement && document.documentElement.scrollTop || document.body.scrollTop) + 'px'); +} + +#TB_window img#TB_Image { + display:block; + margin: 15px 0 0 15px; + border-right: 1px solid #ccc; + border-bottom: 1px solid #ccc; + border-top: 1px solid #666; + border-left: 1px solid #666; +} + +#TB_caption{ + height:25px; + padding:7px 30px 10px 25px; + float:left; +} + +#TB_closeWindow{ + height:25px; + padding:11px 25px 10px 0; + float:right; +} + +#TB_closeAjaxWindow{ + padding:7px 10px 5px 0; + margin-bottom:1px; + text-align:right; + float:right; +} + +#TB_ajaxWindowTitle{ + float:left; + padding:7px 0 5px 10px; + margin-bottom:1px; + font-size: 22px; +} + +#TB_title{ + background-color: #6C8C22; + color: #dedede; + height:40px; +} +#TB_title :link, +#TB_title :visited { + color: white !important; + border-bottom: 1px dotted #dedede; +} + +#TB_ajaxContent{ + clear:both; + padding:2px 15px 15px 15px; + overflow:auto; + text-align:left; + line-height:1.4em; +} + +#TB_ajaxContent.TB_modal{ + padding:15px; +} + +#TB_ajaxContent p{ + padding:5px 0px 5px 0px; +} + +#TB_load{ + position: fixed; + display:none; + height:13px; + width:208px; + z-index:103; + top: 50%; + left: 50%; + margin: -6px 0 0 -104px; /* -height/2 0 0 -width/2 */ +} + +* html #TB_load { /* ie6 hack */ +position: absolute; +margin-top: expression(0 - parseInt(this.offsetHeight / 2) + (TBWindowMargin = document.documentElement && document.documentElement.scrollTop || document.body.scrollTop) + 'px'); +} + +#TB_HideSelect{ + z-index:99; + position:fixed; + top: 0; + left: 0; + background-color:#fff; + border:none; + filter:alpha(opacity=0); + -moz-opacity: 0; + opacity: 0; + height:100%; + width:100%; +} + +* html #TB_HideSelect { /* ie6 hack */ + position: absolute; + height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px'); +} + +#TB_iframeContent{ + clear:both; + border:none; + margin-bottom:-1px; + margin-top:1px; + _margin-bottom:1px; +} + +/* @end */ + +/* @group Debugging Section */ + +#debugging-toggle { + text-align: center; +} +#debugging-toggle img { + cursor: pointer; +} + +#rdoc-debugging-section-dump { + display: none; + margin: 0 2em 2em; + background: #ccc; + border: 1px solid #999; +} + + + +/* @end */ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/BundlerError/cdesc-BundlerError.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/BundlerError/cdesc-BundlerError.ri new file mode 100644 index 00000000..592fb932 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/BundlerError/cdesc-BundlerError.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/BundlerError/status_code-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/BundlerError/status_code-c.ri new file mode 100644 index 00000000..f849e1ac Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/BundlerError/status_code-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/cache-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/cache-i.ri new file mode 100644 index 00000000..b63c8bb2 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/cache-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/cdesc-CLI.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/cdesc-CLI.ri new file mode 100644 index 00000000..153e4031 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/cdesc-CLI.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/check-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/check-i.ri new file mode 100644 index 00000000..8e17f8c2 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/check-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/config-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/config-i.ri new file mode 100644 index 00000000..24738a5f Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/config-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/console-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/console-i.ri new file mode 100644 index 00000000..75970a9c Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/console-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/exec-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/exec-i.ri new file mode 100644 index 00000000..eb13ffba Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/exec-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/gem-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/gem-i.ri new file mode 100644 index 00000000..e4ae0824 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/gem-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/have_groff%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/have_groff%3f-i.ri new file mode 100644 index 00000000..937f4428 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/have_groff%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/help-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/help-i.ri new file mode 100644 index 00000000..22de1e82 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/help-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/init-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/init-i.ri new file mode 100644 index 00000000..5cdcb7c8 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/init-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/install-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/install-i.ri new file mode 100644 index 00000000..34f7dbeb Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/install-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/locate_gem-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/locate_gem-i.ri new file mode 100644 index 00000000..da308782 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/locate_gem-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/lock-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/lock-i.ri new file mode 100644 index 00000000..75af44e4 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/lock-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/new-c.ri new file mode 100644 index 00000000..2a93554c Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/new-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/open-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/open-i.ri new file mode 100644 index 00000000..07985ca7 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/open-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/package-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/package-i.ri new file mode 100644 index 00000000..947fb045 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/package-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/show-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/show-i.ri new file mode 100644 index 00000000..c9f85758 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/show-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/source_root-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/source_root-c.ri new file mode 100644 index 00000000..82941674 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/source_root-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/unlock-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/unlock-i.ri new file mode 100644 index 00000000..d0d4c46c Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/unlock-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/update-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/update-i.ri new file mode 100644 index 00000000..26e25b68 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/update-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/version-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/version-i.ri new file mode 100644 index 00000000..563dfce1 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/version-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/viz-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/viz-i.ri new file mode 100644 index 00000000..7ef06a84 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/viz-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/build-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/build-c.ri new file mode 100644 index 00000000..fe299ef2 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/build-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/cdesc-Definition.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/cdesc-Definition.ri new file mode 100644 index 00000000..4a051568 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/cdesc-Definition.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/converge_dependencies-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/converge_dependencies-i.ri new file mode 100644 index 00000000..9e93c103 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/converge_dependencies-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/converge_locked_specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/converge_locked_specs-i.ri new file mode 100644 index 00000000..90b55315 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/converge_locked_specs-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/converge_sources-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/converge_sources-i.ri new file mode 100644 index 00000000..5edb1ee4 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/converge_sources-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/current_dependencies-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/current_dependencies-i.ri new file mode 100644 index 00000000..c3ae5cb8 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/current_dependencies-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/dependencies-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/dependencies-i.ri new file mode 100644 index 00000000..04649c80 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/dependencies-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/ensure_equivalent_gemfile_and_lockfile-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/ensure_equivalent_gemfile_and_lockfile-i.ri new file mode 100644 index 00000000..101c4d90 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/ensure_equivalent_gemfile_and_lockfile-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/expand_dependencies-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/expand_dependencies-i.ri new file mode 100644 index 00000000..ec3c0813 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/expand_dependencies-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/expanded_dependencies-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/expanded_dependencies-i.ri new file mode 100644 index 00000000..7cb2fd27 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/expanded_dependencies-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/groups-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/groups-i.ri new file mode 100644 index 00000000..c58ee558 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/groups-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/in_locked_deps%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/in_locked_deps%3f-i.ri new file mode 100644 index 00000000..818b0498 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/in_locked_deps%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/index-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/index-i.ri new file mode 100644 index 00000000..300f0847 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/index-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/lock-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/lock-i.ri new file mode 100644 index 00000000..684b1c6a Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/lock-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/missing_specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/missing_specs-i.ri new file mode 100644 index 00000000..0e4027a9 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/missing_specs-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/new-c.ri new file mode 100644 index 00000000..60325ebf Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/new-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/new_platform%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/new_platform%3f-i.ri new file mode 100644 index 00000000..682190b8 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/new_platform%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/new_specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/new_specs-i.ri new file mode 100644 index 00000000..b4eb46db Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/new_specs-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/no_sources%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/no_sources%3f-i.ri new file mode 100644 index 00000000..29437f64 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/no_sources%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/platforms-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/platforms-i.ri new file mode 100644 index 00000000..03dac4df Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/platforms-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/pretty_dep-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/pretty_dep-i.ri new file mode 100644 index 00000000..5de05390 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/pretty_dep-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/removed_specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/removed_specs-i.ri new file mode 100644 index 00000000..3915b60c Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/removed_specs-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/requested_dependencies-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/requested_dependencies-i.ri new file mode 100644 index 00000000..2bbc5488 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/requested_dependencies-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/requested_specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/requested_specs-i.ri new file mode 100644 index 00000000..0b1c542c Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/requested_specs-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/resolve-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/resolve-i.ri new file mode 100644 index 00000000..3e9645a9 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/resolve-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/resolve_remotely%21-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/resolve_remotely%21-i.ri new file mode 100644 index 00000000..9f26de05 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/resolve_remotely%21-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/resolve_with_cache%21-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/resolve_with_cache%21-i.ri new file mode 100644 index 00000000..f13b03a0 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/resolve_with_cache%21-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/satisfies_locked_spec%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/satisfies_locked_spec%3f-i.ri new file mode 100644 index 00000000..974df0cf Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/satisfies_locked_spec%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/sorted_sources-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/sorted_sources-i.ri new file mode 100644 index 00000000..c154411f Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/sorted_sources-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/sources-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/sources-i.ri new file mode 100644 index 00000000..68285577 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/sources-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/specs-i.ri new file mode 100644 index 00000000..73b1a65a Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/specs-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/specs_for-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/specs_for-i.ri new file mode 100644 index 00000000..d22f0d03 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/specs_for-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/to_lock-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/to_lock-i.ri new file mode 100644 index 00000000..2526b1af Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/to_lock-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/%3d%3d-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/%3d%3d-i.ri new file mode 100644 index 00000000..cb251d8b Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/%3d%3d-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/__platform-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/__platform-i.ri new file mode 100644 index 00000000..982d69d7 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/__platform-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/cdesc-DepProxy.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/cdesc-DepProxy.ri new file mode 100644 index 00000000..064005e3 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/cdesc-DepProxy.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/dep-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/dep-i.ri new file mode 100644 index 00000000..afaf5436 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/dep-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/eql%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/eql%3f-i.ri new file mode 100644 index 00000000..85d72029 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/eql%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/hash-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/hash-i.ri new file mode 100644 index 00000000..567152e9 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/hash-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/method_missing-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/method_missing-i.ri new file mode 100644 index 00000000..0b324fb4 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/method_missing-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/new-c.ri new file mode 100644 index 00000000..bb978998 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/new-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/required_by-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/required_by-i.ri new file mode 100644 index 00000000..78d5fc2f Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/required_by-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/to_s-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/to_s-i.ri new file mode 100644 index 00000000..3606587f Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/to_s-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/type-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/type-i.ri new file mode 100644 index 00000000..379ccce6 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/type-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/autorequire-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/autorequire-i.ri new file mode 100644 index 00000000..ee9cf484 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/autorequire-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/cdesc-Dependency.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/cdesc-Dependency.ri new file mode 100644 index 00000000..7ae5f206 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/cdesc-Dependency.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/current_env%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/current_env%3f-i.ri new file mode 100644 index 00000000..09cbcd10 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/current_env%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/current_platform%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/current_platform%3f-i.ri new file mode 100644 index 00000000..6e248899 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/current_platform%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/gem_platforms-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/gem_platforms-i.ri new file mode 100644 index 00000000..ed64b7e6 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/gem_platforms-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/groups-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/groups-i.ri new file mode 100644 index 00000000..cb0091b2 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/groups-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/jruby%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/jruby%3f-i.ri new file mode 100644 index 00000000..11595942 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/jruby%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/mri%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/mri%3f-i.ri new file mode 100644 index 00000000..6450c31a Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/mri%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/mri_18%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/mri_18%3f-i.ri new file mode 100644 index 00000000..e22ae1a0 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/mri_18%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/mri_19%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/mri_19%3f-i.ri new file mode 100644 index 00000000..2ae10ec3 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/mri_19%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/mswin%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/mswin%3f-i.ri new file mode 100644 index 00000000..2e5ea73e Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/mswin%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/new-c.ri new file mode 100644 index 00000000..2fb7eb58 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/new-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/platforms-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/platforms-i.ri new file mode 100644 index 00000000..32bc1a68 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/platforms-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/ruby%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/ruby%3f-i.ri new file mode 100644 index 00000000..b6e608f4 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/ruby%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/ruby_18%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/ruby_18%3f-i.ri new file mode 100644 index 00000000..465c7562 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/ruby_18%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/ruby_19%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/ruby_19%3f-i.ri new file mode 100644 index 00000000..197e0c33 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/ruby_19%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/should_include%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/should_include%3f-i.ri new file mode 100644 index 00000000..e21cc197 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/should_include%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/to_lock-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/to_lock-i.ri new file mode 100644 index 00000000..f381af0d Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/to_lock-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DeprecatedError/cdesc-DeprecatedError.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DeprecatedError/cdesc-DeprecatedError.ri new file mode 100644 index 00000000..9f7d3849 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DeprecatedError/cdesc-DeprecatedError.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/_deprecated_options-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/_deprecated_options-i.ri new file mode 100644 index 00000000..4f1b02c2 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/_deprecated_options-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/_normalize_hash-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/_normalize_hash-i.ri new file mode 100644 index 00000000..6c6e1460 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/_normalize_hash-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/_normalize_options-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/_normalize_options-i.ri new file mode 100644 index 00000000..b1afbde5 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/_normalize_options-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/cdesc-Dsl.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/cdesc-Dsl.ri new file mode 100644 index 00000000..3bf6c579 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/cdesc-Dsl.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/deprecate-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/deprecate-c.ri new file mode 100644 index 00000000..9f2a4ce8 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/deprecate-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/env-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/env-i.ri new file mode 100644 index 00000000..723da870 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/env-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/evaluate-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/evaluate-c.ri new file mode 100644 index 00000000..99ee73ea Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/evaluate-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/gem-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/gem-i.ri new file mode 100644 index 00000000..f1041a86 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/gem-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/gemspec-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/gemspec-i.ri new file mode 100644 index 00000000..bf92d0c2 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/gemspec-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/git-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/git-i.ri new file mode 100644 index 00000000..af0cb498 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/git-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/group-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/group-i.ri new file mode 100644 index 00000000..77684219 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/group-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/new-c.ri new file mode 100644 index 00000000..538d703c Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/new-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/path-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/path-i.ri new file mode 100644 index 00000000..4d726924 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/path-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/platforms-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/platforms-i.ri new file mode 100644 index 00000000..f96ecb76 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/platforms-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/rubygems_source-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/rubygems_source-i.ri new file mode 100644 index 00000000..7e7f258c Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/rubygems_source-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/source-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/source-i.ri new file mode 100644 index 00000000..a0c866ed Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/source-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/to_definition-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/to_definition-i.ri new file mode 100644 index 00000000..c616e0a5 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/to_definition-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DslError/cdesc-DslError.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DslError/cdesc-DslError.ri new file mode 100644 index 00000000..bb32803d Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DslError/cdesc-DslError.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/cdesc-Environment.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/cdesc-Environment.ri new file mode 100644 index 00000000..86e0f83b Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/cdesc-Environment.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/current_dependencies-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/current_dependencies-i.ri new file mode 100644 index 00000000..90a73540 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/current_dependencies-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/dependencies-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/dependencies-i.ri new file mode 100644 index 00000000..071460db Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/dependencies-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/index-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/index-i.ri new file mode 100644 index 00000000..8a45f35c Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/index-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/inspect-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/inspect-i.ri new file mode 100644 index 00000000..580a1dcd Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/inspect-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/lock-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/lock-i.ri new file mode 100644 index 00000000..68868ed1 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/lock-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/new-c.ri new file mode 100644 index 00000000..1e100b7e Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/new-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/requested_specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/requested_specs-i.ri new file mode 100644 index 00000000..51bca7c7 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/requested_specs-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/root-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/root-i.ri new file mode 100644 index 00000000..328b2318 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/root-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/specs-i.ri new file mode 100644 index 00000000..02dc9612 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/specs-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/update-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/update-i.ri new file mode 100644 index 00000000..008b1097 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/update-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/base-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/base-i.ri new file mode 100644 index 00000000..25a8e8ab Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/base-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/build_gem-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/build_gem-i.ri new file mode 100644 index 00000000..5e76e0bf Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/build_gem-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/built_gem_path-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/built_gem_path-i.ri new file mode 100644 index 00000000..87e23fde Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/built_gem_path-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/cdesc-GemHelper.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/cdesc-GemHelper.ri new file mode 100644 index 00000000..2f42fcfd Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/cdesc-GemHelper.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/clean%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/clean%3f-i.ri new file mode 100644 index 00000000..6083c7cd Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/clean%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/gemspec-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/gemspec-i.ri new file mode 100644 index 00000000..a791b7df Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/gemspec-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/git_push-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/git_push-i.ri new file mode 100644 index 00000000..f4b0e6af Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/git_push-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/guard_already_tagged-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/guard_already_tagged-i.ri new file mode 100644 index 00000000..61371562 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/guard_already_tagged-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/guard_clean-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/guard_clean-i.ri new file mode 100644 index 00000000..4f546a80 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/guard_clean-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/install-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/install-i.ri new file mode 100644 index 00000000..9659e704 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/install-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/install_gem-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/install_gem-i.ri new file mode 100644 index 00000000..6f530b0a Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/install_gem-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/install_tasks-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/install_tasks-c.ri new file mode 100644 index 00000000..e9b4101c Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/install_tasks-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/name-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/name-i.ri new file mode 100644 index 00000000..b7ff1265 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/name-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/new-c.ri new file mode 100644 index 00000000..7b696ec6 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/new-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/perform_git_push-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/perform_git_push-i.ri new file mode 100644 index 00000000..38b2bea5 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/perform_git_push-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/release_gem-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/release_gem-i.ri new file mode 100644 index 00000000..c3407857 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/release_gem-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/rubygem_push-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/rubygem_push-i.ri new file mode 100644 index 00000000..35ce68f6 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/rubygem_push-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/sh-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/sh-i.ri new file mode 100644 index 00000000..bc064fba Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/sh-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/sh_with_code-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/sh_with_code-i.ri new file mode 100644 index 00000000..14ae78c3 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/sh_with_code-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/spec_path-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/spec_path-i.ri new file mode 100644 index 00000000..fdd0e7c7 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/spec_path-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/tag_version-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/tag_version-i.ri new file mode 100644 index 00000000..8c686795 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/tag_version-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/tagged_sha-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/tagged_sha-i.ri new file mode 100644 index 00000000..4fde3e52 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/tagged_sha-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/version-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/version-i.ri new file mode 100644 index 00000000..564b3c71 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/version-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/version_tag-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/version_tag-i.ri new file mode 100644 index 00000000..edd0448f Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/version_tag-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelpers/cdesc-GemHelpers.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelpers/cdesc-GemHelpers.ri new file mode 100644 index 00000000..9e8ae7f0 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelpers/cdesc-GemHelpers.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelpers/generic-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelpers/generic-i.ri new file mode 100644 index 00000000..7268fe46 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelpers/generic-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemNotFound/cdesc-GemNotFound.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemNotFound/cdesc-GemNotFound.ri new file mode 100644 index 00000000..87cd5fef Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemNotFound/cdesc-GemNotFound.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemfileError/cdesc-GemfileError.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemfileError/cdesc-GemfileError.ri new file mode 100644 index 00000000..d96fbbb6 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemfileError/cdesc-GemfileError.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemfileNotFound/cdesc-GemfileNotFound.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemfileNotFound/cdesc-GemfileNotFound.ri new file mode 100644 index 00000000..ac9c818f Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemfileNotFound/cdesc-GemfileNotFound.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemspecError/cdesc-GemspecError.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemspecError/cdesc-GemspecError.ri new file mode 100644 index 00000000..f34d1ec3 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemspecError/cdesc-GemspecError.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GitError/cdesc-GitError.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GitError/cdesc-GitError.ri new file mode 100644 index 00000000..25d17a9b Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GitError/cdesc-GitError.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Graph/cdesc-Graph.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Graph/cdesc-Graph.ri new file mode 100644 index 00000000..587762d5 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Graph/cdesc-Graph.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Graph/groups-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Graph/groups-i.ri new file mode 100644 index 00000000..a93bd6da Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Graph/groups-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Graph/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Graph/new-c.ri new file mode 100644 index 00000000..798f7d91 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Graph/new-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Graph/nodes-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Graph/nodes-i.ri new file mode 100644 index 00000000..47a1f610 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Graph/nodes-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Graph/populate-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Graph/populate-i.ri new file mode 100644 index 00000000..92629402 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Graph/populate-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Graph/viz-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Graph/viz-i.ri new file mode 100644 index 00000000..e7e7f4a9 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Graph/viz-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GraphNode/cdesc-GraphNode.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GraphNode/cdesc-GraphNode.ri new file mode 100644 index 00000000..91acbbf8 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GraphNode/cdesc-GraphNode.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GraphNode/dependencies-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GraphNode/dependencies-i.ri new file mode 100644 index 00000000..cfbc7ecb Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GraphNode/dependencies-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GraphNode/is_user-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GraphNode/is_user-i.ri new file mode 100644 index 00000000..6279b7f3 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GraphNode/is_user-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GraphNode/name-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GraphNode/name-i.ri new file mode 100644 index 00000000..7e28382b Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GraphNode/name-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GraphNode/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GraphNode/new-c.ri new file mode 100644 index 00000000..009766e8 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GraphNode/new-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GraphNode/version-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GraphNode/version-i.ri new file mode 100644 index 00000000..048f9f7d Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GraphNode/version-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/%3c%3c-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/%3c%3c-i.ri new file mode 100644 index 00000000..8f70d072 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/%3c%3c-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/%3d%3d-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/%3d%3d-i.ri new file mode 100644 index 00000000..3bb96a50 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/%3d%3d-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/%5b%5d-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/%5b%5d-i.ri new file mode 100644 index 00000000..38340c19 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/%5b%5d-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/build-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/build-c.ri new file mode 100644 index 00000000..53418bec Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/build-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/cdesc-Index.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/cdesc-Index.ri new file mode 100644 index 00000000..3f506cb6 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/cdesc-Index.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/each-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/each-i.ri new file mode 100644 index 00000000..7baa63a0 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/each-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/empty%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/empty%3f-i.ri new file mode 100644 index 00000000..ffdc2c4f Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/empty%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/initialize_copy-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/initialize_copy-i.ri new file mode 100644 index 00000000..43b9d464 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/initialize_copy-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/new-c.ri new file mode 100644 index 00000000..80112b6b Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/new-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/search-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/search-i.ri new file mode 100644 index 00000000..98e4a5bc Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/search-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/search_by_dependency-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/search_by_dependency-i.ri new file mode 100644 index 00000000..c1945474 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/search_by_dependency-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/search_by_spec-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/search_by_spec-i.ri new file mode 100644 index 00000000..4053b783 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/search_by_spec-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/search_for_all_platforms-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/search_for_all_platforms-i.ri new file mode 100644 index 00000000..d6913d25 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/search_for_all_platforms-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/sources-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/sources-i.ri new file mode 100644 index 00000000..c3dda7a9 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/sources-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/use-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/use-i.ri new file mode 100644 index 00000000..6b4a17eb Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/use-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Installer/cdesc-Installer.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Installer/cdesc-Installer.ri new file mode 100644 index 00000000..294b7ce1 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Installer/cdesc-Installer.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Installer/generate_bundler_executable_stubs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Installer/generate_bundler_executable_stubs-i.ri new file mode 100644 index 00000000..49855903 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Installer/generate_bundler_executable_stubs-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Installer/install-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Installer/install-c.ri new file mode 100644 index 00000000..5b50040f Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Installer/install-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Installer/run-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Installer/run-i.ri new file mode 100644 index 00000000..8a8cad79 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Installer/run-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/InvalidOption/cdesc-InvalidOption.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/InvalidOption/cdesc-InvalidOption.ri new file mode 100644 index 00000000..7bb36e1f Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/InvalidOption/cdesc-InvalidOption.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/InvalidSpecSet/cdesc-InvalidSpecSet.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/InvalidSpecSet/cdesc-InvalidSpecSet.ri new file mode 100644 index 00000000..a8710e8c Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/InvalidSpecSet/cdesc-InvalidSpecSet.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/__materialize__-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/__materialize__-i.ri new file mode 100644 index 00000000..aa6ba012 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/__materialize__-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/cdesc-LazySpecification.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/cdesc-LazySpecification.ri new file mode 100644 index 00000000..fc775a5e Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/cdesc-LazySpecification.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/dependencies-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/dependencies-i.ri new file mode 100644 index 00000000..18d5a7d2 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/dependencies-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/full_name-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/full_name-i.ri new file mode 100644 index 00000000..8cd97d57 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/full_name-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/method_missing-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/method_missing-i.ri new file mode 100644 index 00000000..a3f1dd91 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/method_missing-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/name-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/name-i.ri new file mode 100644 index 00000000..bf4391b6 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/name-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/new-c.ri new file mode 100644 index 00000000..f9496515 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/new-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/platform-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/platform-i.ri new file mode 100644 index 00000000..772ca647 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/platform-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/respond_to%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/respond_to%3f-i.ri new file mode 100644 index 00000000..861265a8 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/respond_to%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/satisfies%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/satisfies%3f-i.ri new file mode 100644 index 00000000..0457485c Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/satisfies%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/source-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/source-i.ri new file mode 100644 index 00000000..bc3eeaea Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/source-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/to_lock-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/to_lock-i.ri new file mode 100644 index 00000000..be50eeea Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/to_lock-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/to_s-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/to_s-i.ri new file mode 100644 index 00000000..57de04ef Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/to_s-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/version-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/version-i.ri new file mode 100644 index 00000000..56884e19 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/version-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/cdesc-LockfileParser.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/cdesc-LockfileParser.ri new file mode 100644 index 00000000..2fb46cba Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/cdesc-LockfileParser.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/dependencies-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/dependencies-i.ri new file mode 100644 index 00000000..55a19fc4 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/dependencies-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/new-c.ri new file mode 100644 index 00000000..525c71f7 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/new-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/parse_dependency-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/parse_dependency-i.ri new file mode 100644 index 00000000..c58a53f0 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/parse_dependency-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/parse_platform-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/parse_platform-i.ri new file mode 100644 index 00000000..d98b7c8a Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/parse_platform-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/parse_source-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/parse_source-i.ri new file mode 100644 index 00000000..7021fe52 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/parse_source-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/parse_spec-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/parse_spec-i.ri new file mode 100644 index 00000000..bd95e1f9 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/parse_spec-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/platforms-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/platforms-i.ri new file mode 100644 index 00000000..83b6c3bf Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/platforms-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/sources-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/sources-i.ri new file mode 100644 index 00000000..a3bceadd Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/sources-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/specs-i.ri new file mode 100644 index 00000000..849ea37f Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/specs-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/MatchPlatform/cdesc-MatchPlatform.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/MatchPlatform/cdesc-MatchPlatform.ri new file mode 100644 index 00000000..915775c4 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/MatchPlatform/cdesc-MatchPlatform.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/MatchPlatform/match_platform-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/MatchPlatform/match_platform-i.ri new file mode 100644 index 00000000..4e154c30 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/MatchPlatform/match_platform-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/PathError/cdesc-PathError.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/PathError/cdesc-PathError.ri new file mode 100644 index 00000000..db8b0d3f Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/PathError/cdesc-PathError.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/ProductionError/cdesc-ProductionError.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/ProductionError/cdesc-ProductionError.ri new file mode 100644 index 00000000..b6a54def Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/ProductionError/cdesc-ProductionError.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/__swap__-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/__swap__-i.ri new file mode 100644 index 00000000..c6463025 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/__swap__-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/_remote_specification-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/_remote_specification-i.ri new file mode 100644 index 00000000..60bfe6bc Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/_remote_specification-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/cdesc-RemoteSpecification.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/cdesc-RemoteSpecification.ri new file mode 100644 index 00000000..66af1115 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/cdesc-RemoteSpecification.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/fetch_platform-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/fetch_platform-i.ri new file mode 100644 index 00000000..9a561c7c Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/fetch_platform-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/full_name-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/full_name-i.ri new file mode 100644 index 00000000..048be774 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/full_name-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/method_missing-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/method_missing-i.ri new file mode 100644 index 00000000..ad08ff0b Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/method_missing-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/name-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/name-i.ri new file mode 100644 index 00000000..5feacebf Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/name-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/new-c.ri new file mode 100644 index 00000000..eafa56a6 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/new-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/platform-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/platform-i.ri new file mode 100644 index 00000000..e453ef34 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/platform-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/source-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/source-i.ri new file mode 100644 index 00000000..19bde132 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/source-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/version-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/version-i.ri new file mode 100644 index 00000000..c8a17f3b Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/version-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/__dependencies-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/__dependencies-i.ri new file mode 100644 index 00000000..6c924f83 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/__dependencies-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/activate_platform-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/activate_platform-i.ri new file mode 100644 index 00000000..c62bf402 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/activate_platform-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/activated-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/activated-i.ri new file mode 100644 index 00000000..940c15c1 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/activated-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/cdesc-SpecGroup.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/cdesc-SpecGroup.ri new file mode 100644 index 00000000..a33d8a1f Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/cdesc-SpecGroup.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/for%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/for%3f-i.ri new file mode 100644 index 00000000..fca4e029 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/for%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/initialize_copy-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/initialize_copy-i.ri new file mode 100644 index 00000000..bccd6398 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/initialize_copy-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/name-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/name-i.ri new file mode 100644 index 00000000..59258e01 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/name-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/new-c.ri new file mode 100644 index 00000000..ea7e08d4 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/new-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/required_by-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/required_by-i.ri new file mode 100644 index 00000000..c9bf8267 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/required_by-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/source-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/source-i.ri new file mode 100644 index 00000000..4e954482 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/source-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/to_s-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/to_s-i.ri new file mode 100644 index 00000000..097cfaf2 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/to_s-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/to_specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/to_specs-i.ri new file mode 100644 index 00000000..c049b3b7 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/to_specs-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/version-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/version-i.ri new file mode 100644 index 00000000..8287ebe1 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/version-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/cdesc-Resolver.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/cdesc-Resolver.ri new file mode 100644 index 00000000..a680b32c Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/cdesc-Resolver.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/clean_req-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/clean_req-i.ri new file mode 100644 index 00000000..93ce37cb Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/clean_req-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/debug-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/debug-i.ri new file mode 100644 index 00000000..8d8f40b5 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/debug-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/error_message-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/error_message-i.ri new file mode 100644 index 00000000..5ed96217 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/error_message-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/errors-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/errors-i.ri new file mode 100644 index 00000000..1a92a8dc Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/errors-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/gem_message-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/gem_message-i.ri new file mode 100644 index 00000000..6ee1b5d1 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/gem_message-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/new-c.ri new file mode 100644 index 00000000..605fbe75 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/new-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/resolve-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/resolve-c.ri new file mode 100644 index 00000000..482f0b92 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/resolve-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/resolve-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/resolve-i.ri new file mode 100644 index 00000000..b52c119f Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/resolve-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/resolve_requirement-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/resolve_requirement-i.ri new file mode 100644 index 00000000..8598919b Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/resolve_requirement-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/search-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/search-i.ri new file mode 100644 index 00000000..be7a667b Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/search-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/start-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/start-i.ri new file mode 100644 index 00000000..7bc46e62 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/start-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/successify-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/successify-i.ri new file mode 100644 index 00000000..1136b5ff Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/successify-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/version_conflict-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/version_conflict-i.ri new file mode 100644 index 00000000..57f0176f Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/version_conflict-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/cache-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/cache-i.ri new file mode 100644 index 00000000..8ab02dd3 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/cache-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/cache_path-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/cache_path-i.ri new file mode 100644 index 00000000..249e2292 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/cache_path-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/cdesc-Runtime.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/cdesc-Runtime.ri new file mode 100644 index 00000000..f78909ae Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/cdesc-Runtime.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/dependencies_for-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/dependencies_for-i.ri new file mode 100644 index 00000000..e5472c0f Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/dependencies_for-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/prune_cache-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/prune_cache-i.ri new file mode 100644 index 00000000..dc37845c Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/prune_cache-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/require-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/require-i.ri new file mode 100644 index 00000000..9fcb999e Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/require-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/setup-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/setup-i.ri new file mode 100644 index 00000000..6dbdce10 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/setup-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/setup_environment-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/setup_environment-i.ri new file mode 100644 index 00000000..9d8ef7de Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/setup_environment-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/%5b%5d%3d-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/%5b%5d%3d-i.ri new file mode 100644 index 00000000..0e22570a Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/%5b%5d%3d-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/%5b%5d-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/%5b%5d-i.ri new file mode 100644 index 00000000..b8e414da Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/%5b%5d-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/all-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/all-i.ri new file mode 100644 index 00000000..d82bf10b Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/all-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/allow_sudo%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/allow_sudo%3f-i.ri new file mode 100644 index 00000000..cd171ace Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/allow_sudo%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/cdesc-Settings.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/cdesc-Settings.ri new file mode 100644 index 00000000..e8d6f914 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/cdesc-Settings.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/delete-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/delete-i.ri new file mode 100644 index 00000000..b843c1cf Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/delete-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/global_config_file-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/global_config_file-i.ri new file mode 100644 index 00000000..6a36c743 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/global_config_file-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/key_for-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/key_for-i.ri new file mode 100644 index 00000000..c9eda013 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/key_for-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/local_config_file-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/local_config_file-i.ri new file mode 100644 index 00000000..07237a80 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/local_config_file-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/locations-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/locations-i.ri new file mode 100644 index 00000000..5332a9d1 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/locations-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/new-c.ri new file mode 100644 index 00000000..bc7521b4 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/new-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/path-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/path-i.ri new file mode 100644 index 00000000..febcb10e Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/path-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/pretty_values_for-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/pretty_values_for-i.ri new file mode 100644 index 00000000..31f34df7 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/pretty_values_for-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/set_global-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/set_global-i.ri new file mode 100644 index 00000000..b06fc1b3 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/set_global-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/set_key-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/set_key-i.ri new file mode 100644 index 00000000..a5b99d60 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/set_key-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/without%3d-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/without%3d-i.ri new file mode 100644 index 00000000..732b1619 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/without%3d-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/without-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/without-i.ri new file mode 100644 index 00000000..f4525ea2 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/without-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/Gem/SourceIndex/cdesc-SourceIndex.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/Gem/SourceIndex/cdesc-SourceIndex.ri new file mode 100644 index 00000000..2c5bc8a8 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/Gem/SourceIndex/cdesc-SourceIndex.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/Gem/cdesc-Gem.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/Gem/cdesc-Gem.ri new file mode 100644 index 00000000..0bad12cb Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/Gem/cdesc-Gem.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/cdesc-SharedHelpers.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/cdesc-SharedHelpers.ri new file mode 100644 index 00000000..806866a2 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/cdesc-SharedHelpers.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/clean_load_path-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/clean_load_path-i.ri new file mode 100644 index 00000000..8d06cc24 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/clean_load_path-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/cripple_rubygems-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/cripple_rubygems-i.ri new file mode 100644 index 00000000..73891550 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/cripple_rubygems-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/default_gemfile-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/default_gemfile-i.ri new file mode 100644 index 00000000..238c30a8 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/default_gemfile-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/default_lockfile-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/default_lockfile-i.ri new file mode 100644 index 00000000..5446c6ec Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/default_lockfile-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/find_gemfile-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/find_gemfile-i.ri new file mode 100644 index 00000000..6e87fafc Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/find_gemfile-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/gem-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/gem-i.ri new file mode 100644 index 00000000..ccbf743e Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/gem-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/gem_loaded-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/gem_loaded-i.ri new file mode 100644 index 00000000..c913c307 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/gem_loaded-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/in_bundle%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/in_bundle%3f-i.ri new file mode 100644 index 00000000..549f349b Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/in_bundle%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/reverse_rubygems_kernel_mixin-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/reverse_rubygems_kernel_mixin-i.ri new file mode 100644 index 00000000..87f5bde6 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/reverse_rubygems_kernel_mixin-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/%3d%3d-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/%3d%3d-i.ri new file mode 100644 index 00000000..b5f6b69b Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/%3d%3d-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/allow_git_ops%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/allow_git_ops%3f-i.ri new file mode 100644 index 00000000..d5eb9a02 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/allow_git_ops%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/base_name-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/base_name-i.ri new file mode 100644 index 00000000..f17705db Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/base_name-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/cache-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/cache-i.ri new file mode 100644 index 00000000..591b11ab Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/cache-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/cache_path-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/cache_path-i.ri new file mode 100644 index 00000000..c75422dd Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/cache_path-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/cached%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/cached%3f-i.ri new file mode 100644 index 00000000..4c3bc195 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/cached%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/cdesc-Git.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/cdesc-Git.ri new file mode 100644 index 00000000..507250ca Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/cdesc-Git.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/checkout-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/checkout-i.ri new file mode 100644 index 00000000..be3712c5 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/checkout-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/eql%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/eql%3f-i.ri new file mode 100644 index 00000000..aaee9219 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/eql%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/from_lock-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/from_lock-c.ri new file mode 100644 index 00000000..475da636 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/from_lock-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/git-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/git-i.ri new file mode 100644 index 00000000..527bc3e4 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/git-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/has_revision_cached%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/has_revision_cached%3f-i.ri new file mode 100644 index 00000000..57ded12e Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/has_revision_cached%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/in_cache-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/in_cache-i.ri new file mode 100644 index 00000000..137d07c7 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/in_cache-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/install-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/install-i.ri new file mode 100644 index 00000000..016937c9 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/install-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/load_spec_files-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/load_spec_files-i.ri new file mode 100644 index 00000000..6b4342e7 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/load_spec_files-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/name-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/name-i.ri new file mode 100644 index 00000000..bc5ac2fe Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/name-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/new-c.ri new file mode 100644 index 00000000..05032812 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/new-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/options-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/options-i.ri new file mode 100644 index 00000000..74114d76 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/options-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/path-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/path-i.ri new file mode 100644 index 00000000..8c231919 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/path-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/ref-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/ref-i.ri new file mode 100644 index 00000000..33a84f0b Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/ref-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/revision-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/revision-i.ri new file mode 100644 index 00000000..68981a04 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/revision-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/shortref_for_display-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/shortref_for_display-i.ri new file mode 100644 index 00000000..20474a06 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/shortref_for_display-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/shortref_for_path-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/shortref_for_path-i.ri new file mode 100644 index 00000000..e1563faf Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/shortref_for_path-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/specs-i.ri new file mode 100644 index 00000000..c06584fb Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/specs-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/submodules-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/submodules-i.ri new file mode 100644 index 00000000..b4b2790d Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/submodules-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/to_lock-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/to_lock-i.ri new file mode 100644 index 00000000..7aa2fea9 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/to_lock-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/to_s-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/to_s-i.ri new file mode 100644 index 00000000..d50719a9 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/to_s-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/unlock%21-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/unlock%21-i.ri new file mode 100644 index 00000000..575dcc1d Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/unlock%21-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/uri-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/uri-i.ri new file mode 100644 index 00000000..82094b80 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/uri-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/uri_hash-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/uri_hash-i.ri new file mode 100644 index 00000000..9fe2c4c6 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/uri_hash-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/%3d%3d-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/%3d%3d-i.ri new file mode 100644 index 00000000..4621032a Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/%3d%3d-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/Installer/cdesc-Installer.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/Installer/cdesc-Installer.ri new file mode 100644 index 00000000..0d1d0812 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/Installer/cdesc-Installer.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/Installer/generate_bin-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/Installer/generate_bin-i.ri new file mode 100644 index 00000000..40d3763b Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/Installer/generate_bin-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/Installer/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/Installer/new-c.ri new file mode 100644 index 00000000..d323535b Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/Installer/new-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/cache-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/cache-i.ri new file mode 100644 index 00000000..a3283e1f Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/cache-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/cached%21-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/cached%21-i.ri new file mode 100644 index 00000000..127d2d11 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/cached%21-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/cdesc-Path.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/cdesc-Path.ri new file mode 100644 index 00000000..f08a2885 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/cdesc-Path.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/eql%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/eql%3f-i.ri new file mode 100644 index 00000000..625ea1b7 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/eql%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/from_lock-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/from_lock-c.ri new file mode 100644 index 00000000..6842bfb8 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/from_lock-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/generate_bin-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/generate_bin-i.ri new file mode 100644 index 00000000..d87852c4 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/generate_bin-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/hash-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/hash-i.ri new file mode 100644 index 00000000..6055ea96 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/hash-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/install-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/install-i.ri new file mode 100644 index 00000000..7a23b424 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/install-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/load_spec_files-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/load_spec_files-i.ri new file mode 100644 index 00000000..36459291 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/load_spec_files-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/local_specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/local_specs-i.ri new file mode 100644 index 00000000..b97a870a Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/local_specs-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/name-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/name-i.ri new file mode 100644 index 00000000..54c63775 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/name-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/new-c.ri new file mode 100644 index 00000000..623bda28 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/new-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/options-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/options-i.ri new file mode 100644 index 00000000..29273e29 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/options-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/path-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/path-i.ri new file mode 100644 index 00000000..12467925 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/path-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/relative_path-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/relative_path-i.ri new file mode 100644 index 00000000..b05b658c Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/relative_path-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/remote%21-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/remote%21-i.ri new file mode 100644 index 00000000..5ccb52b5 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/remote%21-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/specs-i.ri new file mode 100644 index 00000000..b23322e1 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/specs-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/to_lock-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/to_lock-i.ri new file mode 100644 index 00000000..0d5bbb3c Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/to_lock-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/to_s-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/to_s-i.ri new file mode 100644 index 00000000..2250e6a8 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/to_s-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/version-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/version-i.ri new file mode 100644 index 00000000..b370686d Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/version-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/%3d%3d-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/%3d%3d-i.ri new file mode 100644 index 00000000..188e8d52 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/%3d%3d-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/add_remote-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/add_remote-i.ri new file mode 100644 index 00000000..2475eb51 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/add_remote-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/cache-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/cache-i.ri new file mode 100644 index 00000000..4d2cbb54 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/cache-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/cached%21-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/cached%21-i.ri new file mode 100644 index 00000000..3f68b193 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/cached%21-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/cached_gem-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/cached_gem-i.ri new file mode 100644 index 00000000..887f42ae Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/cached_gem-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/cached_specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/cached_specs-i.ri new file mode 100644 index 00000000..24f89c3f Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/cached_specs-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/cdesc-Rubygems.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/cdesc-Rubygems.ri new file mode 100644 index 00000000..09c86f88 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/cdesc-Rubygems.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/download_gem_from_uri-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/download_gem_from_uri-i.ri new file mode 100644 index 00000000..500184fc Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/download_gem_from_uri-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/eql%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/eql%3f-i.ri new file mode 100644 index 00000000..7ffa1b8e Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/eql%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/fetch-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/fetch-i.ri new file mode 100644 index 00000000..c7134307 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/fetch-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/fetch_all_remote_specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/fetch_all_remote_specs-i.ri new file mode 100644 index 00000000..1d1a4e07 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/fetch_all_remote_specs-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/fetch_specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/fetch_specs-i.ri new file mode 100644 index 00000000..63264955 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/fetch_specs-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/from_lock-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/from_lock-c.ri new file mode 100644 index 00000000..c29fa9bd Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/from_lock-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/hash-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/hash-i.ri new file mode 100644 index 00000000..b37771ed Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/hash-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/install-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/install-i.ri new file mode 100644 index 00000000..a502e466 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/install-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/installed_specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/installed_specs-i.ri new file mode 100644 index 00000000..b7012f97 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/installed_specs-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/merge_remotes-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/merge_remotes-i.ri new file mode 100644 index 00000000..dc47fa7b Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/merge_remotes-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/name-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/name-i.ri new file mode 100644 index 00000000..6d42e6a1 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/name-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/new-c.ri new file mode 100644 index 00000000..6443dfbf Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/new-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/normalize_uri-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/normalize_uri-i.ri new file mode 100644 index 00000000..11ac054f Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/normalize_uri-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/options-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/options-i.ri new file mode 100644 index 00000000..df48296c Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/options-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/remote%21-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/remote%21-i.ri new file mode 100644 index 00000000..6d6d3dab Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/remote%21-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/remote_specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/remote_specs-i.ri new file mode 100644 index 00000000..e3587242 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/remote_specs-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/remotes-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/remotes-i.ri new file mode 100644 index 00000000..a5893d1b Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/remotes-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/specs-i.ri new file mode 100644 index 00000000..b1d342c6 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/specs-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/sudo-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/sudo-i.ri new file mode 100644 index 00000000..86b380a5 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/sudo-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/to_lock-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/to_lock-i.ri new file mode 100644 index 00000000..0d51c229 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/to_lock-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/to_s-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/to_s-i.ri new file mode 100644 index 00000000..1e51e6a4 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/to_s-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/cdesc-Source.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/cdesc-Source.ri new file mode 100644 index 00000000..ed5f48df Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/cdesc-Source.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/%5b%5d%3d-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/%5b%5d%3d-i.ri new file mode 100644 index 00000000..df1147cf Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/%5b%5d%3d-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/%5b%5d-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/%5b%5d-i.ri new file mode 100644 index 00000000..3e1489ab Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/%5b%5d-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/cdesc-SpecSet.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/cdesc-SpecSet.ri new file mode 100644 index 00000000..3181cafd Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/cdesc-SpecSet.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/each-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/each-i.ri new file mode 100644 index 00000000..7b7d5d18 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/each-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/for-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/for-i.ri new file mode 100644 index 00000000..450bc37c Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/for-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/length-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/length-i.ri new file mode 100644 index 00000000..5c3a903b Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/length-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/lookup-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/lookup-i.ri new file mode 100644 index 00000000..657a73e1 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/lookup-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/materialize-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/materialize-i.ri new file mode 100644 index 00000000..2278d687 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/materialize-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/merge-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/merge-i.ri new file mode 100644 index 00000000..32adda0d Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/merge-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/new-c.ri new file mode 100644 index 00000000..6d57adc9 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/new-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/sorted-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/sorted-i.ri new file mode 100644 index 00000000..ed23c370 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/sorted-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/to_a-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/to_a-i.ri new file mode 100644 index 00000000..5ea840bb Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/to_a-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/to_hash-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/to_hash-i.ri new file mode 100644 index 00000000..1ca02758 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/to_hash-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/tsort_each_child-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/tsort_each_child-i.ri new file mode 100644 index 00000000..001f4767 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/tsort_each_child-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/tsort_each_node-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/tsort_each_node-i.ri new file mode 100644 index 00000000..5a682cdc Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/tsort_each_node-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/valid_for%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/valid_for%3f-i.ri new file mode 100644 index 00000000..b27a4d2b Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/valid_for%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/RGProxy/cdesc-RGProxy.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/RGProxy/cdesc-RGProxy.ri new file mode 100644 index 00000000..9cc16fb7 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/RGProxy/cdesc-RGProxy.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/RGProxy/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/RGProxy/new-c.ri new file mode 100644 index 00000000..bae04653 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/RGProxy/new-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/RGProxy/say-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/RGProxy/say-i.ri new file mode 100644 index 00000000..eae12022 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/RGProxy/say-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/be_quiet%21-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/be_quiet%21-i.ri new file mode 100644 index 00000000..079eda74 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/be_quiet%21-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/cdesc-Shell.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/cdesc-Shell.ri new file mode 100644 index 00000000..917aa224 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/cdesc-Shell.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/confirm-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/confirm-i.ri new file mode 100644 index 00000000..b2c4e894 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/confirm-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/debug-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/debug-i.ri new file mode 100644 index 00000000..176a604c Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/debug-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/error-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/error-i.ri new file mode 100644 index 00000000..3ee73ec4 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/error-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/info-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/info-i.ri new file mode 100644 index 00000000..b08c31cf Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/info-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/new-c.ri new file mode 100644 index 00000000..c6214e85 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/new-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/warn-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/warn-i.ri new file mode 100644 index 00000000..9f4e04f3 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/warn-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/cdesc-UI.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/cdesc-UI.ri new file mode 100644 index 00000000..749b251e Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/cdesc-UI.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/confirm-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/confirm-i.ri new file mode 100644 index 00000000..bd07fa89 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/confirm-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/error-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/error-i.ri new file mode 100644 index 00000000..4c41f9fc Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/error-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/info-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/info-i.ri new file mode 100644 index 00000000..ae1ceb8c Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/info-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/warn-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/warn-i.ri new file mode 100644 index 00000000..99345c8d Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/warn-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/VersionConflict/cdesc-VersionConflict.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/VersionConflict/cdesc-VersionConflict.ri new file mode 100644 index 00000000..536306e2 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/VersionConflict/cdesc-VersionConflict.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/VersionConflict/conflicts-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/VersionConflict/conflicts-i.ri new file mode 100644 index 00000000..c7f0afae Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/VersionConflict/conflicts-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/VersionConflict/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/VersionConflict/new-c.ri new file mode 100644 index 00000000..6813e487 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/VersionConflict/new-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/app_cache-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/app_cache-c.ri new file mode 100644 index 00000000..b6cc7044 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/app_cache-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/app_config_path-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/app_config_path-c.ri new file mode 100644 index 00000000..750a9715 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/app_config_path-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/bin_path-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/bin_path-c.ri new file mode 100644 index 00000000..851c59cc Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/bin_path-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/bundle_path-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/bundle_path-c.ri new file mode 100644 index 00000000..79b8925a Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/bundle_path-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/bundle_path-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/bundle_path-i.ri new file mode 100644 index 00000000..74a1103f Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/bundle_path-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/cache-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/cache-c.ri new file mode 100644 index 00000000..30fe8883 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/cache-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/cdesc-Bundler.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/cdesc-Bundler.ri new file mode 100644 index 00000000..026a6baa Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/cdesc-Bundler.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/configure-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/configure-c.ri new file mode 100644 index 00000000..01e36d2b Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/configure-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/configure_gem_home_and_path-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/configure_gem_home_and_path-c.ri new file mode 100644 index 00000000..3802f621 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/configure_gem_home_and_path-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/default_gemfile-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/default_gemfile-c.ri new file mode 100644 index 00000000..fd566c40 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/default_gemfile-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/default_lockfile-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/default_lockfile-c.ri new file mode 100644 index 00000000..660a22c5 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/default_lockfile-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/definition-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/definition-c.ri new file mode 100644 index 00000000..c8d4d4c6 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/definition-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/environment-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/environment-c.ri new file mode 100644 index 00000000..569b11ce Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/environment-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/home-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/home-c.ri new file mode 100644 index 00000000..4e6cc71b Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/home-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/install_path-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/install_path-c.ri new file mode 100644 index 00000000..cdeff76f Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/install_path-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/load-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/load-c.ri new file mode 100644 index 00000000..0e579f84 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/load-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/load_gemspec-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/load_gemspec-c.ri new file mode 100644 index 00000000..70e17035 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/load_gemspec-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/mkdir_p-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/mkdir_p-c.ri new file mode 100644 index 00000000..1c3947de Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/mkdir_p-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/read_file-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/read_file-c.ri new file mode 100644 index 00000000..971d80d4 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/read_file-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/require-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/require-c.ri new file mode 100644 index 00000000..2ef021d3 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/require-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/requires_sudo%3f-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/requires_sudo%3f-c.ri new file mode 100644 index 00000000..093d2d7d Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/requires_sudo%3f-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/root-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/root-c.ri new file mode 100644 index 00000000..09e5bcb3 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/root-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/ruby_scope-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/ruby_scope-c.ri new file mode 100644 index 00000000..1f2e6d9d Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/ruby_scope-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/settings-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/settings-c.ri new file mode 100644 index 00000000..a690cf0b Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/settings-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/setup-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/setup-c.ri new file mode 100644 index 00000000..ed0baf5a Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/setup-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/specs_path-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/specs_path-c.ri new file mode 100644 index 00000000..7ae2dc8d Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/specs_path-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/sudo-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/sudo-c.ri new file mode 100644 index 00000000..4e0da108 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/sudo-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/tmp-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/tmp-c.ri new file mode 100644 index 00000000..36d1b2c2 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/tmp-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/ui-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/ui-c.ri new file mode 100644 index 00000000..2f839173 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/ui-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/ui-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/ui-i.ri new file mode 100644 index 00000000..258a1414 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/ui-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/upgrade_lockfile-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/upgrade_lockfile-c.ri new file mode 100644 index 00000000..9fe3d735 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/upgrade_lockfile-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/user_bundle_path-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/user_bundle_path-c.ri new file mode 100644 index 00000000..b0452e32 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/user_bundle_path-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/with_clean_env-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/with_clean_env-c.ri new file mode 100644 index 00000000..f7f807c7 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/with_clean_env-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/File/cdesc-File.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/File/cdesc-File.ri new file mode 100644 index 00000000..cf591ff2 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/File/cdesc-File.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Dependency/cdesc-Dependency.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Dependency/cdesc-Dependency.ri new file mode 100644 index 00000000..e307d0c6 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Dependency/cdesc-Dependency.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Dependency/groups-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Dependency/groups-i.ri new file mode 100644 index 00000000..719b7be9 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Dependency/groups-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Dependency/required_by-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Dependency/required_by-i.ri new file mode 100644 index 00000000..e29c59ca Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Dependency/required_by-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Dependency/requirement-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Dependency/requirement-i.ri new file mode 100644 index 00000000..c64a96be Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Dependency/requirement-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Dependency/source-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Dependency/source-i.ri new file mode 100644 index 00000000..eb4fdc32 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Dependency/source-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Dependency/to_lock-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Dependency/to_lock-i.ri new file mode 100644 index 00000000..37b32e5b Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Dependency/to_lock-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Dependency/to_yaml_properties-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Dependency/to_yaml_properties-i.ri new file mode 100644 index 00000000..748acbe0 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Dependency/to_yaml_properties-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Platform/cdesc-Platform.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Platform/cdesc-Platform.ri new file mode 100644 index 00000000..bb58ac05 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Platform/cdesc-Platform.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Platform/hash-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Platform/hash-i.ri new file mode 100644 index 00000000..18e8d893 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Platform/hash-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/add_bundler_dependencies-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/add_bundler_dependencies-i.ri new file mode 100644 index 00000000..96aa511c Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/add_bundler_dependencies-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/cdesc-Specification.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/cdesc-Specification.ri new file mode 100644 index 00000000..55e3930c Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/cdesc-Specification.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/dependencies_to_gemfile-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/dependencies_to_gemfile-i.ri new file mode 100644 index 00000000..07f2404d Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/dependencies_to_gemfile-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/full_gem_path-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/full_gem_path-i.ri new file mode 100644 index 00000000..935d49bf Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/full_gem_path-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/git_version-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/git_version-i.ri new file mode 100644 index 00000000..3ccd1f61 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/git_version-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/groups-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/groups-i.ri new file mode 100644 index 00000000..b9b198fa Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/groups-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/load_paths-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/load_paths-i.ri new file mode 100644 index 00000000..d9c6a030 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/load_paths-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/loaded_from-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/loaded_from-i.ri new file mode 100644 index 00000000..61aac6eb Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/loaded_from-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/location-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/location-i.ri new file mode 100644 index 00000000..0fff02e3 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/location-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/nondevelopment_dependencies-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/nondevelopment_dependencies-i.ri new file mode 100644 index 00000000..639648d8 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/nondevelopment_dependencies-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/relative_loaded_from-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/relative_loaded_from-i.ri new file mode 100644 index 00000000..bd0c8140 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/relative_loaded_from-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/required_by-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/required_by-i.ri new file mode 100644 index 00000000..b5484341 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/required_by-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/rg_full_gem_path-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/rg_full_gem_path-i.ri new file mode 100644 index 00000000..bc431504 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/rg_full_gem_path-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/rg_loaded_from-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/rg_loaded_from-i.ri new file mode 100644 index 00000000..a13ade12 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/rg_loaded_from-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/source-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/source-i.ri new file mode 100644 index 00000000..9be1e3cf Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/source-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/to_gemfile-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/to_gemfile-i.ri new file mode 100644 index 00000000..6a741cbb Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/to_gemfile-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/cdesc-Gem.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/cdesc-Gem.ri new file mode 100644 index 00000000..7a164080 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/cdesc-Gem.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/ClassMethods/add_runtime_options%21-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/ClassMethods/add_runtime_options%21-i.ri new file mode 100644 index 00000000..90c8e7ea Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/ClassMethods/add_runtime_options%21-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/ClassMethods/cdesc-ClassMethods.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/ClassMethods/cdesc-ClassMethods.ri new file mode 100644 index 00000000..4056a140 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/ClassMethods/cdesc-ClassMethods.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/ClassMethods/source_paths-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/ClassMethods/source_paths-i.ri new file mode 100644 index 00000000..ecf2a266 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/ClassMethods/source_paths-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/ClassMethods/source_paths_for_search-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/ClassMethods/source_paths_for_search-i.ri new file mode 100644 index 00000000..1652b029 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/ClassMethods/source_paths_for_search-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/ClassMethods/source_root-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/ClassMethods/source_root-i.ri new file mode 100644 index 00000000..0d4fda76 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/ClassMethods/source_root-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/CreateFile/cdesc-CreateFile.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/CreateFile/cdesc-CreateFile.ri new file mode 100644 index 00000000..d4035d7f Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/CreateFile/cdesc-CreateFile.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/Directory/cdesc-Directory.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/Directory/cdesc-Directory.ri new file mode 100644 index 00000000..008da4b9 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/Directory/cdesc-Directory.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/EmptyDirectory/cdesc-EmptyDirectory.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/EmptyDirectory/cdesc-EmptyDirectory.ri new file mode 100644 index 00000000..350b3752 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/EmptyDirectory/cdesc-EmptyDirectory.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/InjectIntoFile/cdesc-InjectIntoFile.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/InjectIntoFile/cdesc-InjectIntoFile.ri new file mode 100644 index 00000000..038cec71 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/InjectIntoFile/cdesc-InjectIntoFile.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/add_file-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/add_file-i.ri new file mode 100644 index 00000000..71dc2038 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/add_file-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/append_file-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/append_file-i.ri new file mode 100644 index 00000000..da57302c Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/append_file-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/apply-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/apply-i.ri new file mode 100644 index 00000000..53b092a0 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/apply-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/behavior-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/behavior-i.ri new file mode 100644 index 00000000..0710d4bd Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/behavior-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/cdesc-Actions.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/cdesc-Actions.ri new file mode 100644 index 00000000..b552f096 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/cdesc-Actions.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/chmod-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/chmod-i.ri new file mode 100644 index 00000000..3bab5da8 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/chmod-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/copy_file-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/copy_file-i.ri new file mode 100644 index 00000000..f06513aa Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/copy_file-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/create_file-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/create_file-i.ri new file mode 100644 index 00000000..ecddf00f Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/create_file-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/destination_root%3d-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/destination_root%3d-i.ri new file mode 100644 index 00000000..e0519997 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/destination_root%3d-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/destination_root-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/destination_root-i.ri new file mode 100644 index 00000000..3bd9f284 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/destination_root-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/directory-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/directory-i.ri new file mode 100644 index 00000000..531287ce Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/directory-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/empty_directory-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/empty_directory-i.ri new file mode 100644 index 00000000..6a2c7cec Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/empty_directory-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/find_in_source_paths-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/find_in_source_paths-i.ri new file mode 100644 index 00000000..41632805 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/find_in_source_paths-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/get-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/get-i.ri new file mode 100644 index 00000000..a20487d3 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/get-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/gsub_file-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/gsub_file-i.ri new file mode 100644 index 00000000..fab38068 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/gsub_file-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/in_root-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/in_root-i.ri new file mode 100644 index 00000000..a22b9d49 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/in_root-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/inject_into_class-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/inject_into_class-i.ri new file mode 100644 index 00000000..fb1af0ed Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/inject_into_class-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/inject_into_file-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/inject_into_file-i.ri new file mode 100644 index 00000000..a89562c0 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/inject_into_file-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/inside-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/inside-i.ri new file mode 100644 index 00000000..eab79b8a Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/inside-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/new-c.ri new file mode 100644 index 00000000..5c271a41 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/new-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/prepend_file-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/prepend_file-i.ri new file mode 100644 index 00000000..89546fd3 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/prepend_file-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/relative_to_original_destination_root-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/relative_to_original_destination_root-i.ri new file mode 100644 index 00000000..7620d83a Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/relative_to_original_destination_root-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/remove_dir-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/remove_dir-i.ri new file mode 100644 index 00000000..24a89114 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/remove_dir-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/remove_file-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/remove_file-i.ri new file mode 100644 index 00000000..c703dd67 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/remove_file-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/run-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/run-i.ri new file mode 100644 index 00000000..ae58116e Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/run-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/run_ruby_script-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/run_ruby_script-i.ri new file mode 100644 index 00000000..5e4281ed Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/run_ruby_script-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/source_paths-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/source_paths-i.ri new file mode 100644 index 00000000..3ef442b4 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/source_paths-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/template-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/template-i.ri new file mode 100644 index 00000000..f19e9e29 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/template-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/thor-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/thor-i.ri new file mode 100644 index 00000000..3d760893 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/thor-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Argument/cdesc-Argument.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Argument/cdesc-Argument.ri new file mode 100644 index 00000000..54c67f2f Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Argument/cdesc-Argument.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Arguments/cdesc-Arguments.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Arguments/cdesc-Arguments.ri new file mode 100644 index 00000000..057d106c Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Arguments/cdesc-Arguments.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/all_tasks-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/all_tasks-i.ri new file mode 100644 index 00000000..5402fa93 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/all_tasks-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/argument-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/argument-i.ri new file mode 100644 index 00000000..d83e6aa1 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/argument-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/arguments-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/arguments-i.ri new file mode 100644 index 00000000..9bf4f7fa Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/arguments-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/cdesc-ClassMethods.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/cdesc-ClassMethods.ri new file mode 100644 index 00000000..ff3531a9 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/cdesc-ClassMethods.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/check_unknown_options%21-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/check_unknown_options%21-i.ri new file mode 100644 index 00000000..bb56d9ab Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/check_unknown_options%21-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/class_option-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/class_option-i.ri new file mode 100644 index 00000000..745154d2 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/class_option-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/class_options-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/class_options-i.ri new file mode 100644 index 00000000..e5a914f8 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/class_options-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/debugging-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/debugging-i.ri new file mode 100644 index 00000000..b7dec890 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/debugging-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/exit_on_failure%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/exit_on_failure%3f-i.ri new file mode 100644 index 00000000..2fa8d95e Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/exit_on_failure%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/from_superclass-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/from_superclass-i.ri new file mode 100644 index 00000000..8e9f63fa Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/from_superclass-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/group-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/group-i.ri new file mode 100644 index 00000000..397446ee Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/group-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/inherited-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/inherited-i.ri new file mode 100644 index 00000000..cc66823f Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/inherited-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/method_added-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/method_added-i.ri new file mode 100644 index 00000000..c00ca5e0 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/method_added-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/namespace-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/namespace-i.ri new file mode 100644 index 00000000..935862f8 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/namespace-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/no_tasks-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/no_tasks-i.ri new file mode 100644 index 00000000..1e9c3166 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/no_tasks-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/print_options-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/print_options-i.ri new file mode 100644 index 00000000..4e1b4cf8 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/print_options-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/remove_argument-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/remove_argument-i.ri new file mode 100644 index 00000000..c0d81783 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/remove_argument-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/remove_class_option-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/remove_class_option-i.ri new file mode 100644 index 00000000..1b87a011 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/remove_class_option-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/remove_task-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/remove_task-i.ri new file mode 100644 index 00000000..cbc9dc03 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/remove_task-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/start-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/start-i.ri new file mode 100644 index 00000000..c8c45712 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/start-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/tasks-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/tasks-i.ri new file mode 100644 index 00000000..27111d4b Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/tasks-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/cdesc-Base.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/cdesc-Base.ri new file mode 100644 index 00000000..defa94d2 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/cdesc-Base.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/new-c.ri new file mode 100644 index 00000000..ba5568cb Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/new-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/options-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/options-i.ri new file mode 100644 index 00000000..2bf720b4 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/options-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/shell%3d-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/shell%3d-c.ri new file mode 100644 index 00000000..8e6cbcf2 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/shell%3d-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/shell-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/shell-c.ri new file mode 100644 index 00000000..bdd9d483 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/shell-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/subclass_files-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/subclass_files-c.ri new file mode 100644 index 00000000..35e1314b Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/subclass_files-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/subclasses-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/subclasses-c.ri new file mode 100644 index 00000000..974c3ebb Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/subclasses-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/CoreExt/HashWithIndifferentAccess/cdesc-HashWithIndifferentAccess.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/CoreExt/HashWithIndifferentAccess/cdesc-HashWithIndifferentAccess.ri new file mode 100644 index 00000000..2567a6f8 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/CoreExt/HashWithIndifferentAccess/cdesc-HashWithIndifferentAccess.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/CoreExt/OrderedHash/cdesc-OrderedHash.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/CoreExt/OrderedHash/cdesc-OrderedHash.ri new file mode 100644 index 00000000..f6976ce7 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/CoreExt/OrderedHash/cdesc-OrderedHash.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/CoreExt/cdesc-CoreExt.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/CoreExt/cdesc-CoreExt.ri new file mode 100644 index 00000000..b41d651d Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/CoreExt/cdesc-CoreExt.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/DynamicTask/cdesc-DynamicTask.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/DynamicTask/cdesc-DynamicTask.ri new file mode 100644 index 00000000..2c5df136 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/DynamicTask/cdesc-DynamicTask.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/DynamicTask/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/DynamicTask/new-c.ri new file mode 100644 index 00000000..4edbd9ad Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/DynamicTask/new-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/DynamicTask/run-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/DynamicTask/run-i.ri new file mode 100644 index 00000000..395ecba4 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/DynamicTask/run-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Error/cdesc-Error.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Error/cdesc-Error.ri new file mode 100644 index 00000000..7579ccd0 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Error/cdesc-Error.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/HiddenTask/cdesc-HiddenTask.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/HiddenTask/cdesc-HiddenTask.ri new file mode 100644 index 00000000..d4c230b5 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/HiddenTask/cdesc-HiddenTask.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/HiddenTask/hidden%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/HiddenTask/hidden%3f-i.ri new file mode 100644 index 00000000..4c9c56de Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/HiddenTask/hidden%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Invocation/ClassMethods/cdesc-ClassMethods.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Invocation/ClassMethods/cdesc-ClassMethods.ri new file mode 100644 index 00000000..e1fae38f Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Invocation/ClassMethods/cdesc-ClassMethods.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Invocation/cdesc-Invocation.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Invocation/cdesc-Invocation.ri new file mode 100644 index 00000000..78d5e9b9 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Invocation/cdesc-Invocation.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Invocation/invoke-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Invocation/invoke-i.ri new file mode 100644 index 00000000..de3cad34 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Invocation/invoke-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Invocation/invoke_with_padding-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Invocation/invoke_with_padding-i.ri new file mode 100644 index 00000000..dfea5116 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Invocation/invoke_with_padding-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/InvocationError/cdesc-InvocationError.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/InvocationError/cdesc-InvocationError.ri new file mode 100644 index 00000000..3827dcb2 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/InvocationError/cdesc-InvocationError.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/MalformattedArgumentError/cdesc-MalformattedArgumentError.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/MalformattedArgumentError/cdesc-MalformattedArgumentError.ri new file mode 100644 index 00000000..40c40c77 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/MalformattedArgumentError/cdesc-MalformattedArgumentError.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Option/cdesc-Option.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Option/cdesc-Option.ri new file mode 100644 index 00000000..484cbd0f Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Option/cdesc-Option.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Options/cdesc-Options.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Options/cdesc-Options.ri new file mode 100644 index 00000000..7bf9e779 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Options/cdesc-Options.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/RequiredArgumentMissingError/cdesc-RequiredArgumentMissingError.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/RequiredArgumentMissingError/cdesc-RequiredArgumentMissingError.ri new file mode 100644 index 00000000..3f7dbdfd Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/RequiredArgumentMissingError/cdesc-RequiredArgumentMissingError.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Sandbox/cdesc-Sandbox.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Sandbox/cdesc-Sandbox.ri new file mode 100644 index 00000000..80a94339 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Sandbox/cdesc-Sandbox.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/ask-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/ask-i.ri new file mode 100644 index 00000000..327a3379 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/ask-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/base-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/base-i.ri new file mode 100644 index 00000000..5fb263d4 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/base-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/cdesc-Basic.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/cdesc-Basic.ri new file mode 100644 index 00000000..1d76c3fc Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/cdesc-Basic.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/dynamic_width-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/dynamic_width-i.ri new file mode 100644 index 00000000..5ac760ef Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/dynamic_width-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/dynamic_width_stty-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/dynamic_width_stty-i.ri new file mode 100644 index 00000000..97ec1ee5 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/dynamic_width_stty-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/dynamic_width_tput-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/dynamic_width_tput-i.ri new file mode 100644 index 00000000..c080ee8a Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/dynamic_width_tput-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/error-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/error-i.ri new file mode 100644 index 00000000..aee92398 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/error-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/file_collision-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/file_collision-i.ri new file mode 100644 index 00000000..8c014f5a Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/file_collision-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/no%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/no%3f-i.ri new file mode 100644 index 00000000..658043df Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/no%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/padding%3d-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/padding%3d-i.ri new file mode 100644 index 00000000..a30e4900 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/padding%3d-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/padding-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/padding-i.ri new file mode 100644 index 00000000..04800e1a Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/padding-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/print_table-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/print_table-i.ri new file mode 100644 index 00000000..7ddf6280 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/print_table-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/print_wrapped-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/print_wrapped-i.ri new file mode 100644 index 00000000..0fb36f83 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/print_wrapped-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/say-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/say-i.ri new file mode 100644 index 00000000..e9a7d735 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/say-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/say_status-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/say_status-i.ri new file mode 100644 index 00000000..9a64fcf9 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/say_status-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/terminal_width-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/terminal_width-i.ri new file mode 100644 index 00000000..a1ac37bf Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/terminal_width-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/truncate-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/truncate-i.ri new file mode 100644 index 00000000..7fc8ddb4 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/truncate-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/unix%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/unix%3f-i.ri new file mode 100644 index 00000000..5819921f Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/unix%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/yes%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/yes%3f-i.ri new file mode 100644 index 00000000..fa7810b1 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/yes%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Color/cdesc-Color.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Color/cdesc-Color.ri new file mode 100644 index 00000000..504872ef Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Color/cdesc-Color.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Color/set_color-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Color/set_color-i.ri new file mode 100644 index 00000000..33cb96b9 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Color/set_color-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/HTML/ask-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/HTML/ask-i.ri new file mode 100644 index 00000000..ffb51cd8 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/HTML/ask-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/HTML/cdesc-HTML.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/HTML/cdesc-HTML.ri new file mode 100644 index 00000000..83e37da5 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/HTML/cdesc-HTML.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/HTML/set_color-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/HTML/set_color-i.ri new file mode 100644 index 00000000..c981e1a5 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/HTML/set_color-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/cdesc-Shell.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/cdesc-Shell.ri new file mode 100644 index 00000000..45ad64ad Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/cdesc-Shell.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/new-c.ri new file mode 100644 index 00000000..3b0a0469 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/new-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/shell%3d-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/shell%3d-i.ri new file mode 100644 index 00000000..0c12878c Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/shell%3d-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/shell-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/shell-i.ri new file mode 100644 index 00000000..c0e704b3 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/shell-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/with_padding-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/with_padding-i.ri new file mode 100644 index 00000000..cd58143f Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/with_padding-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/cdesc-Task.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/cdesc-Task.ri new file mode 100644 index 00000000..08c6118a Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/cdesc-Task.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/formatted_usage-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/formatted_usage-i.ri new file mode 100644 index 00000000..0a5501c9 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/formatted_usage-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/handle_argument_error%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/handle_argument_error%3f-i.ri new file mode 100644 index 00000000..c35fd685 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/handle_argument_error%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/handle_no_method_error%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/handle_no_method_error%3f-i.ri new file mode 100644 index 00000000..625e524d Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/handle_no_method_error%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/hidden%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/hidden%3f-i.ri new file mode 100644 index 00000000..f4577a3f Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/hidden%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/new-c.ri new file mode 100644 index 00000000..c483226f Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/new-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/not_debugging%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/not_debugging%3f-i.ri new file mode 100644 index 00000000..d10b2d7e Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/not_debugging%3f-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/required_options-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/required_options-i.ri new file mode 100644 index 00000000..edce9c28 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/required_options-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/run-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/run-i.ri new file mode 100644 index 00000000..e4b99dcd Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/run-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/UndefinedTaskError/cdesc-UndefinedTaskError.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/UndefinedTaskError/cdesc-UndefinedTaskError.ri new file mode 100644 index 00000000..26c15f2a Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/UndefinedTaskError/cdesc-UndefinedTaskError.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/UnknownArgumentError/cdesc-UnknownArgumentError.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/UnknownArgumentError/cdesc-UnknownArgumentError.ri new file mode 100644 index 00000000..a14cd06b Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/UnknownArgumentError/cdesc-UnknownArgumentError.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/camel_case-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/camel_case-c.ri new file mode 100644 index 00000000..6d29fc71 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/camel_case-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/cdesc-Util.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/cdesc-Util.ri new file mode 100644 index 00000000..94680969 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/cdesc-Util.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/find_by_namespace-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/find_by_namespace-c.ri new file mode 100644 index 00000000..b8748e7d Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/find_by_namespace-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/find_class_and_task_by_namespace-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/find_class_and_task_by_namespace-c.ri new file mode 100644 index 00000000..8a3ebff2 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/find_class_and_task_by_namespace-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/globs_for-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/globs_for-c.ri new file mode 100644 index 00000000..81acebf4 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/globs_for-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/load_thorfile-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/load_thorfile-c.ri new file mode 100644 index 00000000..970aab57 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/load_thorfile-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/namespace_from_thor_class-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/namespace_from_thor_class-c.ri new file mode 100644 index 00000000..a0b2a291 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/namespace_from_thor_class-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/namespaces_in_content-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/namespaces_in_content-c.ri new file mode 100644 index 00000000..ad3f510e Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/namespaces_in_content-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/ruby_command-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/ruby_command-c.ri new file mode 100644 index 00000000..32d0c08d Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/ruby_command-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/snake_case-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/snake_case-c.ri new file mode 100644 index 00000000..7fa414aa Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/snake_case-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/thor_classes_in-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/thor_classes_in-c.ri new file mode 100644 index 00000000..3aec99af Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/thor_classes_in-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/thor_root-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/thor_root-c.ri new file mode 100644 index 00000000..8d45d545 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/thor_root-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/thor_root_glob-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/thor_root_glob-c.ri new file mode 100644 index 00000000..3533c86a Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/thor_root_glob-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/user_home-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/user_home-c.ri new file mode 100644 index 00000000..84327f42 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/user_home-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/banner-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/banner-c.ri new file mode 100644 index 00000000..c54112b6 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/banner-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/cdesc-Thor.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/cdesc-Thor.ri new file mode 100644 index 00000000..d68257fb Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/cdesc-Thor.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/check_unknown_options%21-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/check_unknown_options%21-c.ri new file mode 100644 index 00000000..f69fbd89 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/check_unknown_options%21-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/default_task-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/default_task-c.ri new file mode 100644 index 00000000..5c548fe2 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/default_task-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/desc-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/desc-c.ri new file mode 100644 index 00000000..eeef9670 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/desc-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/help-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/help-c.ri new file mode 100644 index 00000000..5d7b5f60 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/help-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/help-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/help-i.ri new file mode 100644 index 00000000..939da042 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/help-i.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/long_desc-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/long_desc-c.ri new file mode 100644 index 00000000..4417c1b7 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/long_desc-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/map-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/map-c.ri new file mode 100644 index 00000000..848eeb4e Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/map-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/method_option-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/method_option-c.ri new file mode 100644 index 00000000..c51ba249 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/method_option-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/method_options-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/method_options-c.ri new file mode 100644 index 00000000..f4be388a Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/method_options-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/printable_tasks-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/printable_tasks-c.ri new file mode 100644 index 00000000..0acee255 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/printable_tasks-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/subcommand-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/subcommand-c.ri new file mode 100644 index 00000000..b12dec79 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/subcommand-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/subcommand_help-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/subcommand_help-c.ri new file mode 100644 index 00000000..4d469186 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/subcommand_help-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/subcommands-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/subcommands-c.ri new file mode 100644 index 00000000..33e8d61d Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/subcommands-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/task_help-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/task_help-c.ri new file mode 100644 index 00000000..748ffaa2 Binary files /dev/null and b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/task_help-c.ri differ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/cache.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/cache.ri new file mode 100644 index 00000000..0f391dcf --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/cache.ri @@ -0,0 +1,47 @@ +{ +:class_methods{'"Bundler::LockfileParser["new"Bundler::Source::Rubygems["from_lock"new"Bundler::Source::Path["from_lock"new"Bundler::Dsl["deprecate" evaluate"new"Bundler::Resolver["new" resolve"%Bundler::Source::Path::Installer["new"Thor::Util["camel_case"find_by_namespace"%find_class_and_task_by_namespace"globs_for"load_thorfile"namespace_from_thor_class"namespaces_in_content"ruby_command"snake_case"thor_classes_in"thor_root"thor_root_glob"user_home"Bundler::SpecSet["new" Thor[" banner"check_unknown_options!"default_task" desc" help"long_desc"map"method_option"method_options"printable_tasks"subcommand"subcommand_help"subcommands"task_help"Bundler::GemHelper["install_tasks"new"Bundler::Index[" +build"new"Bundler::Installer[" install"!Bundler::RemoteSpecification["new"Thor::DynamicTask["new"Thor::Shell["new"Bundler::CLI["new"source_root"Bundler::Definition[" +build"new"Bundler::Environment["new"Bundler::UI::Shell["new"Bundler::GraphNode["new"Bundler::DepProxy["new"Bundler::Dependency["new"!Bundler::Resolver::SpecGroup["new"Bundler::Source::Git["from_lock"new"Thor::Actions["new"Bundler::Settings["new"Bundler::UI::RGProxy["new"Bundler::VersionConflict["new" Bundler[#"app_cache"app_config_path" bin_path"bundle_path" +cache"configure" configure_gem_home_and_path"default_gemfile"default_lockfile"definition"environment" home"install_path" load"load_gemspec" mkdir_p"read_file" require"requires_sudo?" root"ruby_scope" settings" +setup"specs_path" sudo"tmp"ui"upgrade_lockfile"user_bundle_path"with_clean_env"Bundler::LazySpecification["new"Thor::Base[ +"new" +shell" shell="subclass_files"subclasses"Bundler::Graph["new"Thor::Task["new"Bundler::BundlerError["status_code:attributes{@[ "attr_reader dependencies"attr_reader platforms"attr_reader sources"attr_reader specs"Gem::Specification["attr_accessor location"'attr_accessor relative_loaded_from"attr_accessor source@ +["attr_reader remotes@[ "attr_accessor version"attr_reader options"attr_reader path"attr_writer name"Thor::Shell::Basic["attr_accessor base"attr_accessor padding@["attr_reader errors"Thor::Base::ClassMethods["attr_accessor debugging@@["attr_reader base"attr_reader gemspec"attr_reader spec_path@K[ "attr_accessor source"attr_reader name"attr_reader platform"attr_reader version@X["attr_reader dependencies"attr_reader platforms"attr_reader sources@\["attr_reader root@b[ "attr_accessor is_user"attr_reader dependencies"attr_reader name"attr_reader version"Gem::Dependency["attr_accessor groups"attr_accessor source@e["attr_reader __platform"attr_reader dep"attr_reader required_by"Bundler::SharedHelpers["attr_accessor gem_loaded@h["attr_reader autorequire"attr_reader groups"attr_reader platforms@k["attr_reader activated"attr_reader required_by@n[ "attr_reader options"attr_reader ref"attr_reader submodules"attr_reader uri@r["attr_accessor behavior@{["attr_reader conflicts@~["attr_writer bundle_path"attr_writer ui@[ +"attr_accessor source"attr_reader dependencies"attr_reader name"attr_reader platform"attr_reader version@["attr_accessor options:instance_methods{4" Thor::Actions::ClassMethods[ "add_runtime_options!"source_paths"source_paths_for_search"source_root@[ "dependencies"parse_dependency"parse_platform"parse_source"parse_spec"platforms" sources" +specs@["add_bundler_dependencies"dependencies_to_gemfile"full_gem_path"git_version" groups"load_paths"loaded_from" location" nondevelopment_dependencies"relative_loaded_from"required_by"rg_full_gem_path"rg_loaded_from" source"to_gemfile@ +["=="add_remote" +cache" cached!"cached_gem"cached_specs"download_gem_from_uri" eql?" +fetch"fetch_all_remote_specs"fetch_specs" hash" install"installed_specs"merge_remotes" name"normalize_uri" options" remote!"remote_specs" remotes" +specs" sudo" to_lock" to_s@["==" +cache" cached!" eql?"generate_bin" hash" install"load_spec_files"local_specs" name" options" path"relative_path" remote!" +specs" to_lock" to_s" version@["ask" base"dynamic_width"dynamic_width_stty"dynamic_width_tput" +error"file_collision"no?" padding" padding="print_table"print_wrapped"say"say_status"terminal_width" truncate" +unix?" yes?"Thor::Shell::Color["set_color@["_deprecated_options"_normalize_hash"_normalize_options"env"gem" gemspec"git" +group" path"platforms"rubygems_source" source"to_definition@["clean_req" +debug"error_message" errors"gem_message" resolve"resolve_requirement" search" +start"successify"version_conflict@["generate_bin@-["[]"[]=" each"for" length" lookup"materialize" +merge" sorted" to_a" to_hash"tsort_each_child"tsort_each_node"valid_for?@0[" help@["all_tasks" argument"arguments"check_unknown_options!"class_option"class_options"debugging"exit_on_failure?"from_superclass" +group"inherited"method_added"namespace" no_tasks"print_options"remove_argument"remove_class_option"remove_task" +start" +tasks@@[" base"build_gem"built_gem_path" clean?" gemspec" git_push"guard_already_tagged"guard_clean" install"install_gem" name"perform_git_push"release_gem"rubygem_push"sh"sh_with_code"spec_path"tag_version"tagged_sha" version"version_tag@D["<<"=="[]" each" empty?"initialize_copy" search"search_by_dependency"search_by_spec"search_for_all_platforms" sources"use@H["&generate_bundler_executable_stubs"run@K[" __swap__"_remote_specification"fetch_platform"full_name"method_missing" name" platform" source" version@N["run@Q[" +shell" shell="with_padding@T[" +cache" +check" config" console" exec"gem"have_groff?" help" init" install"locate_gem" lock" open" package" show" unlock" update" version"viz@X[#"converge_dependencies"converge_locked_specs"converge_sources"current_dependencies"dependencies"+ensure_equivalent_gemfile_and_lockfile"expand_dependencies"expanded_dependencies" groups"in_locked_deps?" +index" lock"missing_specs"new_platform?"new_specs"no_sources?"platforms"pretty_dep"removed_specs"requested_dependencies"requested_specs" resolve"resolve_remotely!"resolve_with_cache!"satisfies_locked_spec?"sorted_sources" sources" +specs"specs_for" to_lock@\["current_dependencies"dependencies" +index" inspect" lock"requested_specs" root" +specs" update@_[ "be_quiet!" confirm" +debug" +error" info" warn@b[ "dependencies" is_user" name" version@[ " groups"required_by"requirement" source" to_lock"to_yaml_properties"Gem::Platform[" hash@e["=="__platform"dep" eql?" hash"method_missing"required_by" to_s" type"Bundler::Runtime[ " +cache"cache_path"dependencies_for"prune_cache" require" +setup"setup_environment"Thor::Shell::HTML["ask"set_color@["clean_load_path"cripple_rubygems"default_gemfile"default_lockfile"find_gemfile"gem"gem_loaded"in_bundle?""reverse_rubygems_kernel_mixin"Thor::Invocation[" invoke"invoke_with_padding@h["autorequire"current_env?"current_platform?"gem_platforms" groups" jruby?" mri?" mri_18?" mri_19?" mswin?"platforms" +ruby?" ruby_18?" ruby_19?"should_include?" to_lock@k["__dependencies"activate_platform"activated" for?"initialize_copy" name"required_by" source" to_s" to_specs" version@n[ "=="allow_git_ops?"base_name" +cache"cache_path" cached?" checkout" eql?"git"has_revision_cached?" in_cache" install"load_spec_files" name" options" path"ref" revision"shortref_for_display"shortref_for_path" +specs"submodules" to_lock" to_s" unlock!"uri" uri_hash@r[ " add_file"append_file" +apply" behavior" +chmod"copy_file"create_file"destination_root"destination_root="directory"empty_directory"find_in_source_paths"get"gsub_file" in_root"inject_into_class"inject_into_file" inside"prepend_file"*relative_to_original_destination_root"remove_dir"remove_file"run"run_ruby_script"source_paths" template" thor@u["[]"[]="all"allow_sudo?" delete"global_config_file" key_for"local_config_file"locations" path"pretty_values_for"set_global" set_key" without" without="Bundler::UI[ " confirm" +error" info" warn@x["say"Thor::HiddenTask[" hidden?@{["conflicts@~["bundle_path"ui@["__materialize__"dependencies"full_name"method_missing" name" platform"respond_to?"satisfies?" source" to_lock" to_s" version"Bundler::GemHelpers[" generic"Bundler::MatchPlatform["match_platform@[" options@[ " groups" +nodes" populate"viz@[ "formatted_usage"handle_argument_error?"handle_no_method_error?" hidden?"not_debugging?"required_options"run:ancestors{Y" File[" Object"-Bundler::SharedHelpers::Gem::SourceIndex[@[" Object"Thor::InvocationError["Thor::Error@ +[" Object@["Thor::Sandbox["Thor::CoreExt::OrderedHash[" ::Hash""Thor::Actions::EmptyDirectory[" Object"-Thor::CoreExt::HashWithIndifferentAccess[" ::Hash@b[" Object"Thor::UnknownArgumentError[@@K["MatchPlatform" Object@D["Enumerable" Object@[" Object@["GemHelpers@P[@[" Bundler::SharedHelpers::Gem["Thor::Actions::CreateFile[""Thor::Actions::EmptyDirectory"Bundler::DslError["Bundler::BundlerError"'Thor::RequiredArgumentMissingError["Thor::InvocationError@{[@@["Gem::Installer@[" Object""Thor::Actions::InjectIntoFile[@"Bundler::GitError[@"Thor::Actions::Directory[@@[" Object@a["Thor::Shell::Basic@Q[@["Bundler::PathError[@"Bundler::GemspecError[@@[" Object@["Gem["Thor::CoreExt[@["IStruct.new(:name, :description, :long_description, :usage, :options)"Bundler::GemNotFound[@@[" Object"Bundler::InvalidOption["Bundler::DslError@u[" Object@k["GemHelpers" +Array@[" Object@["Bundler::MatchPlatform" Object@~["Thor::Error["StandardError@_["Bundler::UI@H["Bundler::Environment"#Thor::Invocation::ClassMethods[@["MatchPlatform" Object"$Thor::MalformattedArgumentError[@@n["Bundler::Source::Path@B[@-@e[" Object@r["Bundler::GemfileError[@@\[" Object@[@["Thor::Task@["StandardError"Bundler::DeprecatedError[@@T["Thor::Actions" Thor"Bundler::GemfileNotFound[@@[@x["Gem::SilentUI@h["Gem::Dependency@9["SharedHelpers@U@N[@i@0["Thor::Base" Object@-[" +TSort"Enumerable" Object"Thor::Arguments[" Object"Thor::Option["Thor::Argument"Bundler::InvalidSpecSet["StandardError"Bundler::ProductionError[@@X["GemHelpers" Object@@[" Object"Thor::UndefinedTaskError[@@[" Object"Thor::Options["Thor::Arguments"Thor::Argument[" Object"Bundler::Source[@,[" Object: modules[Y"Bundler::InvalidSpecSet"Bundler::ProductionError"Thor::Actions::Directory@^"Bundler::Source::Rubygems"Gem::Specification"Bundler::LockfileParser"Bundler::GemfileNotFound"Thor::Shell::Color@-"Thor::Option@@"%Bundler::Source::Path::Installer"Bundler::Resolver"Bundler::Dsl"Bundler::GemspecError"Bundler::GemNotFound@"Thor::UndefinedTaskError@p"Bundler::SpecSet"Thor::DynamicTask"Thor::UnknownArgumentError"!Bundler::RemoteSpecification"Bundler::Installer"Bundler::Index"Bundler::GemHelper"Bundler::UI::Shell@U"Bundler::Definition"Bundler::CLI"Bundler::GitError"Bundler::GemfileError"Thor::Shell::HTML"Bundler::Runtime"Bundler::DepProxy"Gem::Platform@w"Bundler::GraphNode"Bundler::DeprecatedError"$Thor::MalformattedArgumentError"-Thor::CoreExt::HashWithIndifferentAccess"Bundler::Source::Git"!Bundler::Resolver::SpecGroup"Bundler::Dependency"Bundler::VersionConflict"Bundler::InvalidOption"Thor::HiddenTask@@"Bundler::UI::RGProxy@S"Bundler::Settings@C"Thor::Options"Thor::CoreExt::OrderedHash"Bundler::LazySpecification"Bundler::PathError@@i"'Thor::RequiredArgumentMissingError" File""Thor::Actions::InjectIntoFile"Thor::Actions::CreateFile"Bundler::Graph"Thor::CoreExt" Thor::Actions::ClassMethods"Bundler::Source" Bundler::SharedHelpers::Gem"#Thor::Invocation::ClassMethods"-Bundler::SharedHelpers::Gem::SourceIndex"Thor::Util"Thor::Base::ClassMethods"Gem"Thor::Sandbox"Thor::Shell"Thor::Invocation"Bundler::SharedHelpers@o" Bundler@|@L"Bundler::GemHelpers \ No newline at end of file diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/created.rid b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/created.rid new file mode 100644 index 00000000..036f6999 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/created.rid @@ -0,0 +1,65 @@ +Thu, 23 Sep 2010 23:33:43 -0500 +lib/bundler/vendor/thor.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/task.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/parser/options.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-update Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/environment.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/core_ext/ordered_hash.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/ui.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/shared_helpers.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/setup.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/rubygems_ext.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/index.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/dependency.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/version.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/shell/color.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/shell/basic.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/parser/argument.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/templates/Executable Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/remote_specification.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/gemfile.5.txt Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/actions.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/templates/Gemfile Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/spec_set.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/graph.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/gem_helper.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/version.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/util.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/actions/empty_directory.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/actions/create_file.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/source.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-update.txt Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-exec.txt Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-config Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/capistrano.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-package.txt Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-package Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-install Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/shell/html.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/runtime.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/resolver.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle.txt Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/definition.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/parser.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/core_ext/file_binary_read.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/actions/inject_into_file.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/settings.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-install.txt Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/lockfile_parser.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/lazy_specification.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/parser/option.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-config.txt Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/invocation.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/error.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/actions/directory.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/installer.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/cli.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/shell.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/parser/arguments.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/base.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/actions/file_manipulation.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-exec Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/dsl.rb Thu, 23 Sep 2010 23:33:39 -0500 diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/CHANGELOG.md b/vendor/plugins/bundler/gems/bundler-1.0.0/CHANGELOG.md new file mode 100644 index 00000000..488c35d2 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/CHANGELOG.md @@ -0,0 +1,503 @@ +## 1.0.0 + +Features + + - You can now define `:bundle_cmd` in the capistrano task + +Bugfixes: + + - Various bugfixes to the built-in rake helpers + - Fix a bug where shortrefs weren't unique enough and were + therfore colliding + - Fix a small bug involving checking whether a local git + clone is up to date + - Correctly handle explicit '=' dependencies with gems + pinned to a git source + - Fix an issue with Windows-generated lockfiles by reading + and writing the lockfile in binary mode + - Fix an issue with shelling out to git in Windows by + using double quotes around paths + - Detect new Rubygems sources in the Gemfile and update + the lockfile + +## 1.0.0.rc.6 + +Features: + + - Much better documentation for most of the commands and Gemfile + format + +Bugfixes: + + - Don't attempt to create directories if they already exist + - Fix the capistrano task so that it actually runs + - Update the Gemfile template to reference rubygems.org instead + of :gemcutter + - bundle exec should exit with a non zero exit code when the gem + binary does not exist or the file is not executable. + - Expand paths in Gemfile relative to the Gemfile and not the current + working directory. + +## 1.0.0.rc.5 + +Features: + + - Make the Capistrano task more concise. + +Bugfixes: + + - Fix a regression with determining whether or not to use sudo + - Allow using the --gemfile flag with the --deployment flag + +## 1.0.0.rc.4 + +Features: + + - `bundle gem NAME` command to generate a new gem with Gemfile + - Bundle config file location can be specified by BUNDLE_APP_CONFIG + - Add --frozen to disable updating the Gemfile.lock at runtime + (default with --deployment) + - Basic Capistrano task now added as 'bundler/capistrano' + +Bugfixes: + + - Multiple bundler process no longer share a tmp directory + - `bundle update GEM` always updates dependencies of GEM as well + - Deleting the cache directory no longer causes errors + - Moving the bundle after installation no longer causes git errors + - Bundle path is now correctly remembered on a read-only filesystem + - Gem binaries are installed to Gem.bindir, not #{Gem.dir}/bin + - Fetch gems from vendor/cache, even without --local + - Sort lockfile by platform as well as spec + +## 1.0.0.rc.3 (August 3, 2010) + +Features: + + - Deprecate --production flag for --deployment, since the former + was causing confusion with the :production group + - Add --gemfile option to `bundle check` + - Reduce memory usage of `bundle install` by 2-4x + - Improve message from `bundle check` under various conditions + - Better error when a changed Gemfile conflicts with Gemfile.lock + +Bugfixes: + + - Create bin/ directory if it is missing, then install binstubs + - Error nicely on the edge case of a pinned gem with no spec + - Do not require gems for other platforms + - Update git sources along with the gems they contain + +## 1.0.0.rc.2 (July 29, 2010) + + - `bundle install path` was causing confusion, so we now print + a clarifying warning. The preferred way to install to a path + (which will not print the warning) is + `bundle install --path path/to/install`. + - `bundle install --system` installs to the default system + location ($BUNDLE_PATH or $GEM_HOME) even if you previously + used `bundle install --path` + - completely remove `--disable-shared-gems`. If you install to + system, you will not be isolated, while if you install to + another path, you will be isolated from gems installed to + the system. This was mostly an internal option whose naming + and semantics were extremely confusing. + - Add a `--production` option to `bundle install`: + - by default, installs to `vendor/bundle`. This can be + overridden with the `--path` option + - uses `--local` if `vendor/cache` is found. This will + guarantee that Bundler does not attempt to connect to + Rubygems and will use the gems cached in `vendor/cache` + instead + - Raises an exception if a Gemfile.lock is not found + - Raises an exception if you modify your Gemfile in development + but do not check in an updated Gemfile.lock + - Fixes a bug where switching a source from Rubygems to git + would always say "the git source is not checked out" when + running `bundle install` + +NOTE: We received several reports of "the git source has not +been checked out. Please run bundle install". As far as we +can tell, these problems have two possible causes: + +1. `bundle install ~/.bundle` in one user, but actually running + the application as another user. Never install gems to a + directory scoped to a user (`~` or `$HOME`) in deployment. +2. A bug that happened when changing a gem to a git source. + +To mitigate several common causes of `(1)`, please use the +new `--production` flag. This flag is simply a roll-up of +the best practices we have been encouraging people to use +for deployment. + +If you want to share gems across deployments, and you use +Capistrano, symlink release_path/current/vendor/bundle to +release_path/shared/bundled_gems. This will keep deployments +snappy while maintaining the benefits of clean, deploy-time +isolation. + +## 1.0.0.rc.1 (July 26, 2010) + + - Fixed a bug with `bundle install` on multiple machines and git + +## 1.0.0.beta.10 (July 25, 2010) + + - Last release before 1.0.0.rc.1 + - Added :mri as a valid platform (platforms :mri { gem "ruby-debug" }) + - Fix `bundle install` immediately after modifying the :submodule option + - Don't write to Gemfile.lock if nothing has changed, fixing situations + where bundle install was run with a different user than the app + itself + - Fix a bug where other platforms were being wiped on `bundle update` + - Don't ask for root password on `bundle install` if not needed + - Avoid setting `$GEM_HOME` where not needed + - First solid pass of `bundle config` + - Add build options + - `bundle config build.mysql --with-mysql-config=/path/to/config` + +## 1.0.0.beta.9 (July 21, 2010) + + - Fix install failure when switching from a path to git source + - Fix `bundle exec bundle *` in a bundle with --disable-shared-gems + - Fix `bundle *` from inside a bundle with --disable-shared-gem + - Shim Gem.refresh. This is used by Unicorn + - Fix install failure when a path's dependencies changed + +## 1.0.0.beta.8 (July 20, 2010) + + - Fix a Beta 7 bug involving Ruby 1.9 + +## 1.0.0.beta.7 (July 20, 2010, yanked) + + - Running `bundle install` twice in a row with a git source always crashed + +## 1.0.0.beta.6 (July 20, 2010, yanked) + + - Create executables with bundle install --binstubs + - You can customize the location (default is app/bin) with --binstubs other/location + - Fix a bug where the Gemfile.lock would be deleted even if the update was exited + - Fix a bug where cached gems for other platforms were sometimes deleted + - Clean up output when nothing was deleted from cache (it previously said + "Removing outdated gems ...") + - Improve performance of bundle install if the git gem was already checked out, + and the revision being used already exists locally + - Fix bundle show bundler in some cases + - Fix bugs with bundle update + - Don't ever run git commands at runtime (fixes a number of common passenger issues) + - Fixes an obscure bug where switching the source of a gem could fail to correctly + change the source of its dependencies + - Support multiple version dependencies in the Gemfile + (gem "rails", ">= 3.0.0.beta1", "<= 3.0.0") + - Raise an exception for ambiguous uses of multiple declarations of the same gem + (for instance, with different versions or sources). + - Fix cases where the same dependency appeared several times in the Gemfile.lock + - Fix a bug where require errors were being swallowed during Bundler.require + +## BACKFILL COMING + +## 1.0.0.beta.1 + + - No `bundle lock` command. Locking happens automatically on install or update + - No .bundle/environment.rb. Require 'bundler/setup' instead. + - $BUNDLE_HOME defaults to $GEM_HOME instead of ~/.bundle + - Remove lockfiles generated by 0.9 + +## 0.9.26 + +Features: + + - error nicely on incompatible 0.10 lockfiles + +## 0.9.25 (May 3, 2010) + +Bugfixes: + + - explicitly coerce Pathname objects to Strings for Ruby 1.9 + - fix some newline weirdness in output from install command + +## 0.9.24 (April 22, 2010) + +Features: + + - fetch submodules for git sources + - limit the bundled version of bundler to the same as the one installing + - force relative paths in git gemspecs to avoid raising Gem::NameTooLong + - serialize GemCache sources correctly, so locking works + - raise Bundler::GemNotFound instead of calling exit! inside library code + - Rubygems 1.3.5 compatibility for the adventurous, not supported by me :) + +Bugfixes: + + - don't try to regenerate environment.rb if it is read-only + - prune outdated gems with the platform "ruby" + - prune cache without errors when there are directories or non-gem files + - don't re-write environment.rb if running after it has been loaded + - do not monkeypatch Specification#load_paths twice when inside a bundle + +## 0.9.23 (April 20, 2010) + +Bugfixes: + + - cache command no longer prunes gems created by an older rubygems version + - cache command no longer prunes gems that are for other platforms + +## 0.9.22 (April 20, 2010) + +Features: + + - cache command now prunes stale .gem files from vendor/cache + - init --gemspec command now generates development dependencies + - handle Polyglot's changes to Kernel#require with Bundler::ENV_LOADED (#287) + - remove .gem files generated after installing a gem from a :path (#286) + - improve install/lock messaging (#284) + +Bugfixes: + + - ignore cached gems that are for another platform (#288) + - install Windows gems that have no architecture set, like rcov (#277) + - exec command while locked now includes the bundler lib in $LOAD_PATH (#293) + - fix the `rake install` task + - add GemspecError so it can be raised without (further) error (#292) + - create a parent directory before cloning for git 1.5 compatibility (#285) + +## 0.9.21 (April 16, 2010) + +Bugfixes: + + - don't raise 'omg wtf' when lockfile is outdated + +## 0.9.20 (April 15, 2010) + +Features: + + - load YAML format gemspecs + - no backtraces when calling Bundler.setup if gems are missing + - no backtraces when trying to exec a file without the executable bit + +Bugfixes: + + - fix infinite recursion in Bundler.setup after loading a bundled Bundler gem + - request install instead of lock when env.rb is out of sync with Gemfile.lock + +## 0.9.19 (April 12, 2010) + +Features: + + - suggest `bundle install --relock` when the Gemfile has changed (#272) + - source support for Rubygems servers without prerelease gem indexes (#262) + +Bugfixes: + + - don't set up all groups every time Bundler.setup is called while locked (#263) + - fix #full_gem_path for git gems while locked (#268) + - eval gemspecs at the top level, not inside the Bundler class (#269) + + +## 0.9.18 (April 8, 2010) + +Features: + + - console command that runs irb with bundle (and optional group) already loaded + +Bugfixes: + + - Bundler.setup now fully disables system gems, even when unlocked (#266, #246) + - fixes Yard, which found plugins in Gem.source_index that it could not load + - makes behaviour of `Bundler.require` consistent between locked and unlocked loads + +## 0.9.17 (April 7, 2010) + +Features: + + - Bundler.require now calls Bundler.setup automatically + - Gem::Specification#add_bundler_dependencies added for gemspecs + +Bugfixes: + + - Gem paths are not longer duplicated while loading bundler + - exec no longer duplicates RUBYOPT if it is already set correctly + +## 0.9.16 (April 3, 2010) + +Features: + + - exit gracefully on INT signal + - resolver output now indicates whether remote sources were checked + - print error instead of backtrace when exec cannot find a binary (#241) + +Bugfixes: + + - show, check, and open commands work again while locked (oops) + - show command for git gems + - outputs branch names other than master + - gets the correct sha from the checkout + - doesn't print sha twice if :ref is set + - report errors from bundler/setup.rb without backtraces (#243) + - fix Gem::Spec#git_version to not error on unloaded specs + - improve deprecation, Gemfile, and command error messages (#242) + +## 0.9.15 (April 1, 2010) + +Features: + + - use the env_file if possible instead of doing a runtime resolve + - huge speedup when calling Bundler.setup while locked + - ensures bundle exec is fast while locked + - regenerates env_file if it was generated by an older version + - update cached/packed gems when you update gems via bundle install + +Bugfixes: + + - prep for Rubygems 1.3.7 changes + - install command now pulls git branches correctly (#211) + - raise errors on invalid options in the Gemfile + +## 0.9.14 (March 30, 2010) + +Features: + + - install command output vastly improved + - installation message now accurate, with 'using' and 'installing' + - bundler gems no longer listed as 'system gems' + - show command output now includes sha and branch name for git gems + - init command now takes --gemspec option for bootstrapping gem Gemfiles + - Bundler.with_clean_env for shelling out to ruby scripts + - show command now aliased as 'list' + - VISUAL env var respected for GUI editors + +Bugfixes: + + - exec command now finds binaries from gems with no gemspec + - note source of Gemfile resolver errors + - don't blow up if git urls are changed + +## 0.9.13 (March 23, 2010) + +Bugfixes: + + - exec command now finds binaries from gems installed via :path + - gem dependencies are pulled in even if their type is nil + - paths with spaces have double-quotes to work on Windows + - set GEM_PATH in environment.rb so generators work with Rails 2 + +## 0.9.12 (March 17, 2010) + + - refactoring, internal cleanup, more solid specs + +Features: + + - check command takes a --without option + - check command exits 1 if the check fails + +Bugfixes: + + - perform a topological sort on resolved gems (#191) + - gems from git work even when paths or repos have spaces (#196) + - Specification#loaded_from returns a String, like Gem::Specification (#197) + - specs eval from inside the gem directory, even when locked + - virtual gemspecs are now saved in environment.rb for use when loading + - unify the Installer's local index and the runtime index (#204) + +## 0.9.11 (March 9, 2010) + + - added roadmap with future development plans + +Features: + + - install command can take the path to the gemfile with --gemfile (#125) + - unknown command line options are now rejected (#163) + - exec command hugely sped up while locked (#177) + - show command prints the install path if you pass it a gem name (#148) + - open command edits an installed gem with $EDITOR (#148) + - Gemfile allows assigning an array of groups to a gem (#114) + - Gemfile allows :tag option on :git sources + - improve backtraces when a gemspec is invalid + - improve performance by installing gems from the cache if present + +Bugfixes: + + - normalize parameters to Bundler.require (#153) + - check now checks installed gems rather than cached gems (#162) + - don't update the gem index when installing after locking (#169) + - bundle parenthesises arguments for 1.8.6 (#179) + - gems can now be assigned to multiple groups without problems (#135) + - fix the warning when building extensions for a gem from git with Rubygems 1.3.6 + - fix a Dependency.to_yaml error due to accidentally including sources and groups + - don't reinstall packed gems + - fix gems with git sources that are private repositories + +## 0.9.10 (March 1, 2010) + + - depends on Rubygems 1.3.6 + +Bugfixes: + + - support locking after install --without + - don't reinstall gems from the cache if they're already in the bundle + - fixes for Ruby 1.8.7 and 1.9 + +## 0.9.9 (February 25, 2010) + +Bugfixes: + + - don't die if GEM_HOME is an empty string + - fixes for Ruby 1.8.6 and 1.9 + +## 0.9.8 (February 23, 2010) + +Features: + + - pack command which both caches and locks + - descriptive error if a cached gem is missing + - remember the --without option after installing + - expand paths given in the Gemfile via the :path option + - add block syntax to the git and group options in the Gemfile + - support gems with extensions that don't admit they depend on rake + - generate gems using gem build gemspec so git gems can have native extensions + - print a useful warning if building a gem fails + - allow manual configuration via BUNDLE_PATH + +Bugfixes: + + - eval gemspecs in the gem directory so relative paths work + - make default spec for git sources valid + - don't reinstall gems that are already packed + +## 0.9.7 (February 17, 2010) + +Bugfixes: + + - don't say that a gem from an excluded group is "installing" + - improve crippling rubygems in locked scenarios + +## 0.9.6 (February 16, 2010) + +Features: + + - allow String group names + - a number of improvements in the documentation and error messages + +Bugfixes: + + - set SourceIndex#spec_dirs to solve a problem involving Rails 2.3 in unlocked mode + - ensure Rubygems is fully loaded in Ruby 1.9 before patching it + - fix `bundle install` for a locked app without a .bundle directory + - require gems in the order that the resolver determines + - make the tests platform agnostic so we can confirm that they're green on JRuby + - fixes for Ruby 1.9 + +## 0.9.5 (Feburary 12, 2010) + +Features: + + - added support for :path => "relative/path" + - added support for older versions of git + - added `bundle install --disable-shared-gems` + - Bundler.require fails silently if a library does not have a file on the load path with its name + - Basic support for multiple rubies by namespacing the default bundle path using the version and engine + +Bugfixes: + + - if the bundle is locked and .bundle/environment.rb is not present when Bundler.setup is called, generate it + - same if it's not present with `bundle check` + - same if it's not present with `bundle install` diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/ISSUES.md b/vendor/plugins/bundler/gems/bundler-1.0.0/ISSUES.md new file mode 100644 index 00000000..da8ada72 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/ISSUES.md @@ -0,0 +1,32 @@ +# Bundler Issues + +## Troubleshooting + +Instructions for common Bundler use-cases can be found on the [Bundler documentation site](http://gembundler.com/v1.0/). Detailed information about each Bundler command, including help with common problems, can be found in the [Bundler man pages](http://gembundler.com/man/bundle.1.html). + +After reading the documentation, try these troubleshooting steps: + + rm -rf ~/.bundle/ ~/.gem/ .bundle/ Gemfile.lock + bundle install + +## Reporting unresolved problems + +If you are still having problems, please report issues to the [Bundler issue tracker](http://github.com/carlhuda/bundler/issues/). + +Instructions that allow the Bundler team to reproduce your issue are vitally important. When you report a bug, please create a gist of the following information and include a link in your ticket: + + - What version of bundler you are using + - What version of Ruby you are using + - Whether you are using RVM, and if so what version + - Your Gemfile + - Your Gemfile.lock + - If you are on 0.9, whether you have locked or not + - If you are on 1.0, the result of `bundle config` + - The command you ran to generate exception(s) + - The exception backtrace(s) + +If you are using Rails 2.3, please also include: + + - Your boot.rb file + - Your preinitializer.rb file + - Your environment.rb file diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/LICENSE b/vendor/plugins/bundler/gems/bundler-1.0.0/LICENSE new file mode 100644 index 00000000..41decca1 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/LICENSE @@ -0,0 +1,20 @@ +Copyright (c) 2009 Engine Yard + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/README.md b/vendor/plugins/bundler/gems/bundler-1.0.0/README.md new file mode 100644 index 00000000..1bb9b91b --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/README.md @@ -0,0 +1,27 @@ +# Bundler: a gem to bundle gems + +Bundler is a tool that manages gem dependencies for your ruby application. It +takes a gem manifest file and is able to fetch, download, and install the gems +and all child dependencies specified in this manifest. It can manage any update +to the gem manifest file and update the bundle's gems accordingly. It also lets +you run any ruby code in context of the bundle's gem environment. + +## Installation and usage + +See [gembundler.com](http://gembundler.com) for up-to-date installation and usage instructions. + +## Troubleshooting + +For help with common problems, see [ISSUES](http://github.com/carlhuda/bundler/blob/master/ISSUES.md). + +### Development + +To see what has changed in each version of bundler, starting with 0.9.5, see the [CHANGELOG](http://github.com/carlhuda/bundler/blob/master/CHANGELOG.md). For information about changes that will happen in the future, see the [ROADMAP](http://github.com/carlhuda/bundler/blob/master/ROADMAP.md). + +## Upgrading from Bundler 0.8 to 0.9 and above + +See [UPGRADING](http://github.com/carlhuda/bundler/blob/master/UPGRADING.md). + +## Other questions + +Feel free to chat with the Bundler core team (and many other users) on IRC in the [#bundler](irc://irc.freenode.net/bundler) channel on Freenode, or via email on the [Bundler mailing list](http://groups.google.com/group/ruby-bundler). diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/ROADMAP.md b/vendor/plugins/bundler/gems/bundler-1.0.0/ROADMAP.md new file mode 100644 index 00000000..2adf83fa --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/ROADMAP.md @@ -0,0 +1,36 @@ +# 1.0 + + - No breaking changes to the Gemfile are expected + - We expect to modify the format of Gemfile.lock. + - This should be the final change + - This means you will not be able to upgrade a locked app + directly from 0.9 to 1.0. + - Bundler will automatically generate Gemfile.lock when any + resolve is successful. + - This means the bundle lock command will no longer be needed. + - Bundler will conservatively update Gemfile.lock from the + last successful resolve if the Gemfile has been modified since + the last use of bundler. + - This means that adding a new gem to the Gemfile that does not + conflict with existing gems will not force an update of other + gems. + - This also means that we will not force an update to previously + resolved dependencies as long as they are compatible with some + valid version of the new dependency. + - When removing a gem, bundle install will simply remove it, without + recalculating all dependencies. + - We will be adding `bundle update` for the case where you -do- + wish to re-resolve all dependencies and update everything to the + latest version. + - bundle update will also take a gem name, if you want to force + an update to just a single gem (and its dependencies). + - There will be a way to install dependencies that require build options + - We will add groups that are opt-in at install-time, rather than opt-out. + - We will reduce open bug count to 0 for the final 1.0 release. + - Some additional features that require more thought. For details, + see http://github.com/carlhuda/bundler/issues/labels/1.0 + +# 1.1 + + - Stop upgrading 0.9 lockfiles + - Delete vestigial gems installed into ~/.bundle/ by 0.9 \ No newline at end of file diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/bin/bundle b/vendor/plugins/bundler/gems/bundler-1.0.0/bin/bundle new file mode 100755 index 00000000..f7b0dbc6 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/bin/bundle @@ -0,0 +1,21 @@ +#!/usr/bin/env ruby + +# Check if an older version of bundler is installed +require 'bundler' +$:.each do |path| + if path =~ %r'/bundler-0.(\d+)' && $1.to_i < 9 + abort "Please remove older versions of bundler. This can be done by running `gem cleanup bundler`." + end +end +require 'bundler/cli' + +begin + Bundler::CLI.start +rescue Bundler::BundlerError => e + Bundler.ui.error e.message + Bundler.ui.error e.backtrace.join("\n") if ENV["BUNDLE_DEBUG"] + exit e.status_code +rescue Interrupt + Bundler.ui.error "\nQuitting..." + exit 1 +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler.rb new file mode 100644 index 00000000..e25b7cae --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler.rb @@ -0,0 +1,283 @@ +require 'rbconfig' +require 'fileutils' +require 'pathname' +require 'yaml' +require 'bundler/rubygems_ext' +require 'bundler/version' + +module Bundler + ORIGINAL_ENV = ENV.to_hash + + autoload :Definition, 'bundler/definition' + autoload :Dependency, 'bundler/dependency' + autoload :Dsl, 'bundler/dsl' + autoload :Environment, 'bundler/environment' + autoload :GemHelper, 'bundler/gem_helper' + autoload :Graph, 'bundler/graph' + autoload :Index, 'bundler/index' + autoload :Installer, 'bundler/installer' + autoload :LazySpecification, 'bundler/lazy_specification' + autoload :LockfileParser, 'bundler/lockfile_parser' + autoload :RemoteSpecification, 'bundler/remote_specification' + autoload :Resolver, 'bundler/resolver' + autoload :Runtime, 'bundler/runtime' + autoload :Settings, 'bundler/settings' + autoload :SharedHelpers, 'bundler/shared_helpers' + autoload :SpecSet, 'bundler/spec_set' + autoload :Source, 'bundler/source' + autoload :Specification, 'bundler/shared_helpers' + autoload :UI, 'bundler/ui' + + class BundlerError < StandardError + def self.status_code(code = nil) + define_method(:status_code) { code } + end + end + + class GemfileNotFound < BundlerError; status_code(10) ; end + class GemNotFound < BundlerError; status_code(7) ; end + class GemfileError < BundlerError; status_code(4) ; end + class PathError < BundlerError; status_code(13) ; end + class GitError < BundlerError; status_code(11) ; end + class DeprecatedError < BundlerError; status_code(12) ; end + class GemspecError < BundlerError; status_code(14) ; end + class DslError < BundlerError; status_code(15) ; end + class ProductionError < BundlerError; status_code(16) ; end + class InvalidOption < DslError ; end + + + WINDOWS = RbConfig::CONFIG["host_os"] =~ %r!(msdos|mswin|djgpp|mingw)! + NULL = WINDOWS ? "NUL" : "/dev/null" + + + class VersionConflict < BundlerError + attr_reader :conflicts + + def initialize(conflicts, msg = nil) + super(msg) + @conflicts = conflicts + end + + status_code(6) + end + + # Internal errors, should be rescued + class InvalidSpecSet < StandardError; end + + class << self + attr_writer :ui, :bundle_path + + def configure + @configured ||= begin + configure_gem_home_and_path + true + end + end + + def ui + @ui ||= UI.new + end + + def bundle_path + # STDERR.puts settings.path + @bundle_path ||= Pathname.new(settings.path).expand_path(root) + end + + def bin_path + @bin_path ||= begin + path = settings[:bin] || "bin" + path = Pathname.new(path).expand_path(root) + FileUtils.mkdir_p(path) + Pathname.new(path).expand_path + end + end + + def setup(*groups) + return @setup if defined?(@setup) && @setup + + if groups.empty? + # Load all groups, but only once + @setup = load.setup + else + # Figure out which groups haven't been loaded yet + unloaded = groups - (@completed_groups || []) + # Record groups that are now loaded + @completed_groups = groups | (@completed_groups || []) + # Load any groups that are not yet loaded + unloaded.any? ? load.setup(*unloaded) : load + end + end + + def require(*groups) + setup(*groups).require(*groups) + end + + def load + @load ||= Runtime.new(root, definition) + end + + def environment + Bundler::Environment.new(root, definition) + end + + def definition(unlock = nil) + @definition = nil if unlock + @definition ||= begin + configure + upgrade_lockfile + Definition.build(default_gemfile, default_lockfile, unlock) + end + end + + def ruby_scope + "#{Gem.ruby_engine}/#{Gem::ConfigMap[:ruby_version]}" + end + + def user_bundle_path + Pathname.new(Gem.user_home).join(".bundler") + end + + def home + bundle_path.join("bundler") + end + + def install_path + home.join("gems") + end + + def specs_path + bundle_path.join("specifications") + end + + def cache + bundle_path.join("cache/bundler") + end + + def root + default_gemfile.dirname.expand_path + end + + def app_config_path + ENV['BUNDLE_APP_CONFIG'] ? + Pathname.new(ENV['BUNDLE_APP_CONFIG']).expand_path(root) : + root.join('.bundle') + end + + def app_cache + root.join("vendor/cache") + end + + def tmp + user_bundle_path.join("tmp", Process.pid.to_s) + end + + def settings + @settings ||= Settings.new(app_config_path) + end + + def with_clean_env + bundled_env = ENV.to_hash + ENV.replace(ORIGINAL_ENV) + yield + ensure + ENV.replace(bundled_env.to_hash) + end + + def default_gemfile + SharedHelpers.default_gemfile + end + + def default_lockfile + SharedHelpers.default_lockfile + end + + def requires_sudo? + path = bundle_path + path = path.parent until path.exist? + sudo_present = !`which sudo 2>#{NULL}`.empty? + + settings.allow_sudo? && !File.writable?(path) && sudo_present + end + + def mkdir_p(path) + if requires_sudo? + sudo "mkdir -p '#{path}'" unless File.exist?(path) + else + FileUtils.mkdir_p(path) + end + end + + def sudo(str) + `sudo -p 'Enter your password to install the bundled RubyGems to your system: ' #{str}` + end + + def read_file(file) + File.open(file, "rb") { |file| file.read } + end + + def load_gemspec(file) + path = Pathname.new(file) + # Eval the gemspec from its parent directory + Dir.chdir(path.dirname) do + begin + Gem::Specification.from_yaml(path.basename) + # Raises ArgumentError if the file is not valid YAML + rescue ArgumentError, SyntaxError, Gem::EndOfYAMLException, Gem::Exception + begin + eval(File.read(path.basename), TOPLEVEL_BINDING, path.expand_path.to_s) + rescue LoadError => e + original_line = e.backtrace.find { |line| line.include?(path.to_s) } + msg = "There was a LoadError while evaluating #{path.basename}:\n #{e.message}" + msg << " from\n #{original_line}" if original_line + msg << "\n" + + if RUBY_VERSION >= "1.9.0" + msg << "\nDoes it try to require a relative path? That doesn't work in Ruby 1.9." + end + + raise GemspecError, msg + end + end + end + end + + private + + def configure_gem_home_and_path + if settings[:disable_shared_gems] + ENV['GEM_PATH'] = '' + ENV['GEM_HOME'] = File.expand_path(bundle_path, root) + elsif Gem.dir != bundle_path.to_s + paths = [Gem.dir, Gem.path].flatten.compact.uniq.reject{|p| p.empty? } + ENV["GEM_PATH"] = paths.join(File::PATH_SEPARATOR) + ENV["GEM_HOME"] = bundle_path.to_s + end + + Gem.clear_paths + end + + def upgrade_lockfile + lockfile = default_lockfile + if lockfile.exist? && lockfile.read(3) == "---" + Bundler.ui.warn "Detected Gemfile.lock generated by 0.9, deleting..." + lockfile.rmtree + # lock = YAML.load_file(lockfile) + # + # source_uris = lock["sources"].map{|s| s["Rubygems"]["uri"] } + # sources = [Bundler::Source::Rubygems.new({"remotes" => source_uris})] + # + # deps = lock["dependencies"].map do |name, opts| + # version = opts.delete("version") + # Bundler::Dependency.new(name, version, opts) + # end + # + # definition = Bundler::Definition.new(nil, deps, sources, {}) + # + # File.open(lockfile, 'w') do |f| + # f.write definition.to_lock + # end + end + end + + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/capistrano.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/capistrano.rb new file mode 100644 index 00000000..3d85ea2f --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/capistrano.rb @@ -0,0 +1,40 @@ +# Capistrano task for Bundler. +# +# Just add "require 'bundler/capistrano'" in your Capistrano deploy.rb, and +# Bundler will be activated after each new deployment. + +Capistrano::Configuration.instance(:must_exist).load do + after "deploy:update_code", "bundle:install" + + namespace :bundle do + desc <<-DESC + Install the current Bundler environment. By default, gems will be \ + installed to the shared/bundle path. Gems in the development and \ + test group will not be installed. The install command is executed \ + with the --deployment and --quiet flags. You can override any of \ + these defaults by setting the variables shown below. If capistrano \ + can not find the 'bundle' cmd then you can override the bundle_cmd \ + variable to specifiy which one it should use. + + set :bundle_gemfile, "Gemfile" + set :bundle_dir, fetch(:shared_path)+"/bundle" + set :bundle_flags, "--deployment --quiet" + set :bundle_without, [:development, :test] + set :bundle_cmd, "bundle" # e.g. change to "/opt/ruby/bin/bundle" + DESC + task :install, :except => { :no_release => true } do + bundle_dir = fetch(:bundle_dir, " #{fetch(:shared_path)}/bundle") + bundle_without = [*fetch(:bundle_without, [:development, :test])].compact + bundle_flags = fetch(:bundle_flags, "--deployment --quiet") + bundle_gemfile = fetch(:bundle_gemfile, "Gemfile") + bundle_cmd = fetch(:bundle_cmd, "bundle") + + args = ["--gemfile #{fetch(:latest_release)}/#{bundle_gemfile}"] + args << "--path #{bundle_dir}" unless bundle_dir.to_s.empty? + args << bundle_flags.to_s + args << "--without #{bundle_without.join(" ")}" unless bundle_without.empty? + + run "#{bundle_cmd} install #{args.join(' ')}" + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/cli.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/cli.rb new file mode 100644 index 00000000..0102b124 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/cli.rb @@ -0,0 +1,498 @@ +$:.unshift File.expand_path('../vendor', __FILE__) +require 'thor' +require 'thor/actions' +require 'rubygems/config_file' + +# Work around a RubyGems bug +Gem.configuration + +module Bundler + class CLI < Thor + include Thor::Actions + + def initialize(*) + super + use_shell = options["no-color"] ? Thor::Shell::Basic.new : shell + + Bundler.ui = UI::Shell.new(use_shell) + Gem::DefaultUserInteraction.ui = UI::RGProxy.new(Bundler.ui) + end + + check_unknown_options! unless ARGV.include?("exec") || ARGV.include?("config") + + default_task :install + class_option "no-color", :type => :boolean, :banner => "Disable colorization in output" + + def help(cli = nil) + case cli + when "gemfile" then command = "gemfile.5" + when nil then command = "bundle" + else command = "bundle-#{cli}" + end + + manpages = %w( + bundle + bundle-config + bundle-exec + bundle-install + bundle-package + bundle-update + gemfile.5) + + if manpages.include?(command) + root = File.expand_path("../man", __FILE__) + + if have_groff? + groff = "groff -Wall -mtty-char -mandoc -Tascii" + pager = ENV['MANPAGER'] || ENV['PAGER'] || 'more' + + Kernel.exec "#{groff} #{root}/#{command} | #{pager}" + else + puts File.read("#{root}/#{command}.txt") + end + else + super + end + end + + desc "init", "Generates a Gemfile into the current working directory" + long_desc <<-D + Init generates a default Gemfile in the current working directory. When adding a + Gemfile to a gem with a gemspec, the --gemspec option will automatically add each + dependency listed in the gemspec file to the newly created Gemfile. + D + method_option "gemspec", :type => :string, :banner => "Use the specified .gemspec to create the Gemfile" + def init + opts = options.dup + if File.exist?("Gemfile") + Bundler.ui.error "Gemfile already exists at #{Dir.pwd}/Gemfile" + exit 1 + end + + if opts[:gemspec] + gemspec = File.expand_path(opts[:gemspec]) + unless File.exist?(gemspec) + Bundler.ui.error "Gem specification #{gemspec} doesn't exist" + exit 1 + end + spec = Gem::Specification.load(gemspec) + puts "Writing new Gemfile to #{Dir.pwd}/Gemfile" + File.open('Gemfile', 'wb') do |file| + file << "# Generated from #{gemspec}\n" + file << spec.to_gemfile + end + else + puts "Writing new Gemfile to #{Dir.pwd}/Gemfile" + FileUtils.cp(File.expand_path('../templates/Gemfile', __FILE__), 'Gemfile') + end + end + + desc "check", "Checks if the dependencies listed in Gemfile are satisfied by currently installed gems" + long_desc <<-D + Check searches the local machine for each of the gems requested in the Gemfile. If + all gems are found, Bundler prints a success message and exits with a status of 0. + If not, the first missing gem is listed and Bundler exits status 1. + D + method_option "gemfile", :type => :string, :banner => + "Use the specified gemfile instead of Gemfile" + def check + ENV['BUNDLE_GEMFILE'] = File.expand_path(options[:gemfile]) if options[:gemfile] + begin + not_installed = Bundler.definition.missing_specs + rescue GemNotFound, VersionConflict + Bundler.ui.error "Your Gemfile's dependencies could not be satisfied" + Bundler.ui.warn "Install missing gems with `bundle install`" + exit 1 + end + + if not_installed.any? + Bundler.ui.error "The following gems are missing" + not_installed.each { |s| Bundler.ui.error " * #{s.name} (#{s.version})" } + Bundler.ui.warn "Install missing gems with `bundle install`" + exit 1 + else + Bundler.load.lock + Bundler.ui.info "The Gemfile's dependencies are satisfied" + end + end + + desc "install", "Install the current environment to the system" + long_desc <<-D + Install will install all of the gems in the current bundle, making them available + for use. In a freshly checked out repository, this command will give you the same + gem versions as the last person who updated the Gemfile and ran `bundle update`. + + Passing [DIR] to install (e.g. vendor) will cause the unpacked gems to be installed + into the [DIR] directory rather than into system gems. + + If the bundle has already been installed, bundler will tell you so and then exit. + D + method_option "without", :type => :array, :banner => + "Exclude gems that are part of the specified named group." + method_option "disable-shared-gems", :type => :boolean, :banner => + "This option is deprecated. Please do not use it." + method_option "gemfile", :type => :string, :banner => + "Use the specified gemfile instead of Gemfile" + method_option "no-prune", :type => :boolean, :banner => + "Don't remove stale gems from the cache." + method_option "no-cache", :type => :boolean, :banner => + "Don't update the existing gem cache." + method_option "quiet", :type => :boolean, :banner => + "Only output warnings and errors." + method_option "local", :type => :boolean, :banner => + "Do not attempt to fetch gems remotely and use the gem cache instead" + method_option "binstubs", :type => :string, :lazy_default => "bin", :banner => + "Generate bin stubs for bundled gems to ./bin" + method_option "path", :type => :string, :banner => + "Specify a different path than the system default ($BUNDLE_PATH or $GEM_HOME). Bundler will remember this value for future installs on this machine" + method_option "system", :type => :boolean, :banner => + "Install to the system location ($BUNDLE_PATH or $GEM_HOME) even if the bundle was previously installed somewhere else for this application" + method_option "frozen", :type => :boolean, :banner => + "Do not allow the Gemfile.lock to be updated after this install" + method_option "deployment", :type => :boolean, :banner => + "Install using defaults tuned for deployment environments" + method_option "production", :type => :boolean, :banner => + "Deprecated, please use --deployment instead" + def install(path = nil) + opts = options.dup + opts[:without] ||= [] + opts[:without].map! { |g| g.to_sym } + + + ENV['BUNDLE_GEMFILE'] = File.expand_path(opts[:gemfile]) if opts[:gemfile] + + if opts[:production] + opts[:deployment] = true + Bundler.ui.warn "The --production option is deprecated, and will be removed in " \ + "the final release of Bundler 1.0. Please use --deployment instead." + end + + if (path || opts[:path] || opts[:deployment]) && opts[:system] + Bundler.ui.error "You have specified both a path to install your gems to, \n" \ + "as well as --system. Please choose." + exit 1 + end + + if path && opts[:path] + Bundler.ui.error "You have specified a path via `bundle install #{path}` as well as\n" \ + "by `bundle install --path #{options[:path]}`. These options are\n" \ + "equivalent, so please use one or the other." + exit 1 + end + + if opts["disable-shared-gems"] + Bundler.ui.error "The disable-shared-gem option is no longer available.\n\n" \ + "Instead, use `bundle install` to install to your system,\n" \ + "or `bundle install --path path/to/gems` to install to an isolated\n" \ + "location. Bundler will resolve relative paths relative to\n" \ + "your `Gemfile`." + exit 1 + end + + if opts[:deployment] || opts[:frozen] + Bundler.settings[:frozen] = '1' + + unless Bundler.default_lockfile.exist? + flag = opts[:deployment] ? '--deployment' : '--frozen' + raise ProductionError, "The #{flag} flag requires a Gemfile.lock. Please make " \ + "sure you have checked your Gemfile.lock into version control " \ + "before deploying." + end + + if Bundler.root.join("vendor/cache").exist? + opts[:local] = true + end + end + + # Can't use Bundler.settings for this because settings needs gemfile.dirname + Bundler.settings[:path] = nil if opts[:system] + Bundler.settings[:path] = "vendor/bundle" if opts[:deployment] + Bundler.settings[:path] = path if path + Bundler.settings[:path] = opts[:path] if opts[:path] + Bundler.settings[:bin] = opts["binstubs"] if opts[:binstubs] + Bundler.settings[:disable_shared_gems] = '1' if Bundler.settings[:path] + Bundler.settings.without = opts[:without] + Bundler.ui.be_quiet! if opts[:quiet] + + Installer.install(Bundler.root, Bundler.definition, opts) + Bundler.load.cache if Bundler.root.join("vendor/cache").exist? + Bundler.ui.confirm "Your bundle is complete! " + + "Use `bundle show [gemname]` to see where a bundled gem is installed." + + Bundler.ui.confirm "\nYour bundle was installed to `#{Bundler.settings[:path]}`" if Bundler.settings[:path] + + if path + Bundler.ui.warn "\nIf you meant to install it to your system, please remove the\n" \ + "`#{path}` directory and run `bundle install --system`" + end + rescue GemNotFound => e + if Bundler.definition.no_sources? + Bundler.ui.warn "Your Gemfile doesn't have any sources. You can add one with a line like 'source :gemcutter'" + end + raise e + end + + desc "update", "update the current environment" + long_desc <<-D + Update will install the newest versions of the gems listed in the Gemfile. Use + update when you have changed the Gemfile, or if you want to get the newest + possible versions of the gems in the bundle. + D + method_option "source", :type => :array, :banner => "Update a specific source (and all gems associated with it)" + def update(*gems) + sources = Array(options[:source]) + + if gems.empty? && sources.empty? + # We're doing a full update + Bundler.definition(true) + else + Bundler.definition(:gems => gems, :sources => sources) + end + + Installer.install Bundler.root, Bundler.definition, "update" => true + Bundler.load.cache if Bundler.root.join("vendor/cache").exist? + Bundler.ui.confirm "Your bundle is updated! " + + "Use `bundle show [gemname]` to see where a bundled gem is installed." + end + + desc "lock", "Locks the bundle to the current set of dependencies, including all child dependencies." + def lock + Bundler.ui.warn "Lock is deprecated. Your bundle is now locked whenever you run `bundle install`." + end + + desc "unlock", "Unlock the bundle. This allows gem versions to be changed." + def unlock + Bundler.ui.warn "Unlock is deprecated. To update to newer gem versions, use `bundle update`." + end + + desc "show [GEM]", "Shows all gems that are part of the bundle, or the path to a given gem" + long_desc <<-D + Show lists the names and versions of all gems that are required by your Gemfile. + Calling show with [GEM] will list the exact location of that gem on your machine. + D + def show(gem_name = nil) + Bundler.load.lock + + if gem_name + Bundler.ui.info locate_gem(gem_name) + else + Bundler.ui.info "Gems included by the bundle:" + Bundler.load.specs.sort_by { |s| s.name }.each do |s| + Bundler.ui.info " * #{s.name} (#{s.version}#{s.git_version})" + end + end + end + map %w(list) => "show" + + desc "cache", "Cache all the gems to vendor/cache", :hide => true + method_option "no-prune", :type => :boolean, :banner => "Don't remove stale gems from the cache." + def cache + Bundler.definition.resolve_with_cache! + Bundler.load.cache + Bundler.settings[:no_prune] = true if options[:no_prune] + Bundler.load.lock + rescue GemNotFound => e + Bundler.ui.error(e.message) + Bundler.ui.warn "Run `bundle install` to install missing gems." + exit 128 + end + + desc "package", "Locks and then caches all of the gems into vendor/cache" + method_option "no-prune", :type => :boolean, :banner => "Don't remove stale gems from the cache." + long_desc <<-D + The package command will copy the .gem files for every gem in the bundle into the + directory ./vendor/cache. If you then check that directory into your source + control repository, others who check out your source will be able to install the + bundle without having to download any additional gems. + D + def package + install + # TODO: move cache contents here now that all bundles are locked + Bundler.load.cache + end + map %w(pack) => :package + + desc "exec", "Run the command in context of the bundle" + long_desc <<-D + Exec runs a command, providing it access to the gems in the bundle. While using + bundle exec you can require and call the bundled gems as if they were installed + into the systemwide Rubygems repository. + D + def exec(*) + ARGV.delete("exec") + + Bundler.setup + + begin + # Run + Kernel.exec(*ARGV) + rescue Errno::EACCES + Bundler.ui.error "bundler: not executable: #{ARGV.first}" + exit 126 + rescue Errno::ENOENT + Bundler.ui.error "bundler: command not found: #{ARGV.first}" + Bundler.ui.warn "Install missing gem binaries with `bundle install`" + exit 127 + end + end + + desc "config NAME [VALUE]", "retrieve or set a configuration value" + long_desc <<-D + Retrieves or sets a configuration value. If only parameter is provided, retrieve the value. If two parameters are provided, replace the + existing value with the newly provided one. + + By default, setting a configuration value sets it for all projects + on the machine. + + If a global setting is superceded by local configuration, this command + will show the current value, as well as any superceded values and + where they were specified. + D + def config(name = nil, *args) + values = ARGV.dup + values.shift # remove config + values.shift # remove the name + + unless name + Bundler.ui.confirm "Settings are listed in order of priority. The top value will be used.\n" + + Bundler.settings.all.each do |setting| + Bundler.ui.confirm "#{setting}" + with_padding do + Bundler.settings.pretty_values_for(setting).each do |line| + Bundler.ui.info line + end + end + Bundler.ui.confirm "" + end + return + end + + if values.empty? + Bundler.ui.confirm "Settings for `#{name}` in order of priority. The top value will be used" + with_padding do + Bundler.settings.pretty_values_for(name).each { |line| Bundler.ui.info line } + end + else + locations = Bundler.settings.locations(name) + + if local = locations[:local] + Bundler.ui.info "Your application has set #{name} to #{local.inspect}. This will override the " \ + "system value you are currently setting" + end + + if global = locations[:global] + Bundler.ui.info "You are replacing the current system value of #{name}, which is currently #{global}" + end + + if env = locations[:env] + Bundler.ui.info "You have set a bundler environment variable for #{env}. This will take precedence " \ + "over the system value you are setting" + end + + Bundler.settings.set_global(name, values.join(" ")) + end + end + + desc "open GEM", "Opens the source directory of the given bundled gem" + def open(name) + editor = [ENV['BUNDLER_EDITOR'], ENV['VISUAL'], ENV['EDITOR']].find{|e| !e.nil? && !e.empty? } + if editor + command = "#{editor} #{locate_gem(name)}" + success = system(command) + Bundler.ui.info "Could not run '#{command}'" unless success + else + Bundler.ui.info("To open a bundled gem, set $EDITOR or $BUNDLER_EDITOR") + end + end + + desc "console [GROUP]", "Opens an IRB session with the bundle pre-loaded" + def console(group = nil) + require 'bundler/setup' + group ? Bundler.require(:default, group) : Bundler.require + ARGV.clear + + require 'irb' + IRB.start + end + + desc "version", "Prints the bundler's version information" + def version + Bundler.ui.info "Bundler version #{Bundler::VERSION}" + end + map %w(-v --version) => :version + + desc 'viz', "Generates a visual dependency graph" + long_desc <<-D + Viz generates a PNG file of the current Gemfile as a dependency graph. + Viz requires the ruby-graphviz gem (and its dependencies). + The associated gems must also be installed via 'bundle install'. + D + method_option :file, :type => :string, :default => 'gem_graph.png', :aliases => '-f', :banner => "The name to use for the generated png file." + method_option :version, :type => :boolean, :default => false, :aliases => '-v', :banner => "Set to show each gem version." + method_option :requirements, :type => :boolean, :default => false, :aliases => '-r', :banner => "Set to show the version of each required dependency." + def viz + output_file = File.expand_path(options[:file]) + graph = Graph.new( Bundler.load ) + + begin + graph.viz(output_file, options[:version], options[:requirements]) + Bundler.ui.info output_file + rescue LoadError => e + Bundler.ui.error e.inspect + Bundler.ui.warn "Make sure you have the graphviz ruby gem. You can install it with:" + Bundler.ui.warn "`gem install ruby-graphviz`" + rescue StandardError => e + if e.message =~ /GraphViz not installed or dot not in PATH/ + Bundler.ui.error e.message + Bundler.ui.warn "The ruby graphviz gem requires GraphViz to be installed" + else + raise + end + end + end + + desc "gem GEM", "Creates a skeleton for creating a rubygem" + def gem(name) + target = File.join(Dir.pwd, name) + if File.exist?(name) + Bundler.ui.error "File already exists at #{File.join(Dir.pwd, name)}" + exit 1 + end + + constant_name = name.split('_').map{|p| p.capitalize}.join + constant_name = constant_name.split('-').map{|q| q.capitalize}.join('::') if constant_name =~ /-/ + constant_array = constant_name.split('::') + FileUtils.mkdir_p(File.join(target, 'lib', name)) + opts = {:name => name, :constant_name => constant_name, :constant_array => constant_array} + template(File.join('newgem', 'Gemfile.tt'), File.join(target, 'Gemfile'), opts) + template(File.join('newgem', 'Rakefile.tt'), File.join(target, 'Rakefile'), opts) + template(File.join('newgem', 'gitignore.tt'), File.join(target, '.gitignore'), opts) + template(File.join('newgem', 'newgem.gemspec.tt'), File.join(target, "#{name}.gemspec"), opts) + template(File.join('newgem', 'lib', 'newgem.rb.tt'), File.join(target, 'lib', "#{name}.rb"), opts) + template(File.join('newgem', 'lib', 'newgem', 'version.rb.tt'), File.join(target, 'lib', name, 'version.rb'), opts) + Bundler.ui.info "Initializating git repo in #{target}" + Dir.chdir(target) { `git init`; `git add .` } + end + + def self.source_root + File.expand_path(File.join(File.dirname(__FILE__), 'templates')) + end + + private + + def have_groff? + `which groff 2>#{NULL}` + $? == 0 + end + + def locate_gem(name) + spec = Bundler.load.specs.find{|s| s.name == name } + raise GemNotFound, "Could not find gem '#{name}' in the current bundle." unless spec + if spec.name == 'bundler' + return File.expand_path('../../../', __FILE__) + end + spec.full_gem_path + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/definition.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/definition.rb new file mode 100644 index 00000000..7e01869f --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/definition.rb @@ -0,0 +1,421 @@ +require "digest/sha1" + +module Bundler + class Definition + include GemHelpers + + attr_reader :dependencies, :platforms, :sources + + def self.build(gemfile, lockfile, unlock) + unlock ||= {} + gemfile = Pathname.new(gemfile).expand_path + + unless gemfile.file? + raise GemfileNotFound, "#{gemfile} not found" + end + + # TODO: move this back into DSL + builder = Dsl.new + builder.instance_eval(Bundler.read_file(gemfile.to_s), gemfile.to_s, 1) + builder.to_definition(lockfile, unlock) + end + +=begin + How does the new system work? + === + * Load information from Gemfile and Lockfile + * Invalidate stale locked specs + * All specs from stale source are stale + * All specs that are reachable only through a stale + dependency are stale. + * If all fresh dependencies are satisfied by the locked + specs, then we can try to resolve locally. +=end + + def initialize(lockfile, dependencies, sources, unlock) + @dependencies, @sources, @unlock = dependencies, sources, unlock + @remote = false + @specs = nil + @lockfile_contents = "" + + if lockfile && File.exists?(lockfile) + @lockfile_contents = Bundler.read_file(lockfile) + locked = LockfileParser.new(@lockfile_contents) + @platforms = locked.platforms + + if unlock != true + @locked_deps = locked.dependencies + @locked_specs = SpecSet.new(locked.specs) + @locked_sources = locked.sources + else + @unlock = {} + @locked_deps = [] + @locked_specs = SpecSet.new([]) + @locked_sources = [] + end + else + @unlock = {} + @platforms = [] + @locked_deps = [] + @locked_specs = SpecSet.new([]) + @locked_sources = [] + end + + @unlock[:gems] ||= [] + @unlock[:sources] ||= [] + + current_platform = Gem.platforms.map { |p| generic(p) }.compact.last + @new_platform = !@platforms.include?(current_platform) + @platforms |= [current_platform] + + eager_unlock = expand_dependencies(@unlock[:gems]) + @unlock[:gems] = @locked_specs.for(eager_unlock).map { |s| s.name } + + converge_sources + converge_dependencies + end + + def resolve_with_cache! + raise "Specs already loaded" if @specs + @sources.each { |s| s.cached! } + specs + end + + def resolve_remotely! + raise "Specs already loaded" if @specs + @remote = true + @sources.each { |s| s.remote! } + specs + end + + def specs + @specs ||= begin + specs = resolve.materialize(requested_dependencies) + + unless specs["bundler"].any? + bundler = index.search(Gem::Dependency.new('bundler', VERSION)).last + specs["bundler"] = bundler if bundler + end + + specs + end + end + + def new_specs + specs - @locked_specs + end + + def removed_specs + @locked_specs - specs + end + + def new_platform? + @new_platform + end + + def missing_specs + missing = [] + resolve.materialize(requested_dependencies, missing) + missing + end + + def requested_specs + @requested_specs ||= begin + groups = self.groups - Bundler.settings.without + groups.map! { |g| g.to_sym } + specs_for(groups) + end + end + + def current_dependencies + dependencies.reject { |d| !d.should_include? } + end + + def specs_for(groups) + deps = dependencies.select { |d| (d.groups & groups).any? } + deps.delete_if { |d| !d.should_include? } + specs.for(expand_dependencies(deps)) + end + + def resolve + @resolve ||= begin + if Bundler.settings[:frozen] + @locked_specs + else + last_resolve = converge_locked_specs + source_requirements = {} + dependencies.each do |dep| + next unless dep.source + source_requirements[dep.name] = dep.source.specs + end + + # Run a resolve against the locally available gems + last_resolve.merge Resolver.resolve(expanded_dependencies, index, source_requirements, last_resolve) + end + end + end + + def index + @index ||= Index.build do |idx| + @sources.each do |s| + idx.use s.specs + end + end + end + + def no_sources? + @sources.length == 1 && @sources.first.remotes.empty? + end + + def groups + dependencies.map { |d| d.groups }.flatten.uniq + end + + def lock(file) + contents = to_lock + + return if @lockfile_contents == contents + + if Bundler.settings[:frozen] + # TODO: Warn here if we got here. + return + end + + File.open(file, 'wb') do |f| + f.puts contents + end + end + + def to_lock + out = "" + + sorted_sources.each do |source| + # Add the source header + out << source.to_lock + # Find all specs for this source + resolve. + select { |s| s.source == source }. + # This needs to be sorted by full name so that + # gems with the same name, but different platform + # are ordered consistantly + sort_by { |s| s.full_name }. + each do |spec| + next if spec.name == 'bundler' + out << spec.to_lock + end + out << "\n" + end + + out << "PLATFORMS\n" + + platforms.map { |p| p.to_s }.sort.each do |p| + out << " #{p}\n" + end + + out << "\n" + out << "DEPENDENCIES\n" + + handled = [] + dependencies. + sort_by { |d| d.name }. + each do |dep| + next if handled.include?(dep.name) + out << dep.to_lock + handled << dep.name + end + + out + end + + def ensure_equivalent_gemfile_and_lockfile + changes = false + + msg = "You have modified your Gemfile in development but did not check\n" \ + "the resulting snapshot (Gemfile.lock) into version control" + + added = [] + deleted = [] + changed = [] + + if @locked_sources != @sources + new_sources = @sources - @locked_sources + deleted_sources = @locked_sources - @sources + + if new_sources.any? + added.concat new_sources.map { |source| "* source: #{source}" } + end + + if deleted_sources.any? + deleted.concat deleted_sources.map { |source| "* source: #{source}" } + end + + changes = true + end + + both_sources = Hash.new { |h,k| h[k] = ["no specified source", "no specified source"] } + @dependencies.each { |d| both_sources[d.name][0] = d.source if d.source } + @locked_deps.each { |d| both_sources[d.name][1] = d.source if d.source } + both_sources.delete_if { |k,v| v[0] == v[1] } + + if @dependencies != @locked_deps + new_deps = @dependencies - @locked_deps + deleted_deps = @locked_deps - @dependencies + + if new_deps.any? + added.concat new_deps.map { |d| "* #{pretty_dep(d)}" } + end + + if deleted_deps.any? + deleted.concat deleted_deps.map { |d| "* #{pretty_dep(d)}" } + end + + both_sources.each do |name, sources| + changed << "* #{name} from `#{sources[0]}` to `#{sources[1]}`" + end + + changes = true + end + + msg << "\n\nYou have added to the Gemfile:\n" << added.join("\n") if added.any? + msg << "\n\nYou have deleted from the Gemfile:\n" << deleted.join("\n") if deleted.any? + msg << "\n\nYou have changed in the Gemfile:\n" << changed.join("\n") if changed.any? + + raise ProductionError, msg if added.any? || deleted.any? || changed.any? + end + + private + + def pretty_dep(dep, source = false) + msg = "#{dep.name}" + msg << " (#{dep.requirement})" unless dep.requirement == Gem::Requirement.default + msg << " from the `#{dep.source}` source" if source && dep.source + msg + end + + def converge_sources + locked_gem = @locked_sources.find { |s| Source::Rubygems === s } + actual_gem = @sources.find { |s| Source::Rubygems === s } + + if locked_gem && actual_gem + locked_gem.merge_remotes actual_gem + end + + @sources.map! do |source| + @locked_sources.find { |s| s == source } || source + end + + @sources.each do |source| + source.unlock! if source.respond_to?(:unlock!) && @unlock[:sources].include?(source.name) + end + end + + def converge_dependencies + (@dependencies + @locked_deps).each do |dep| + if dep.source + dep.source = @sources.find { |s| dep.source == s } + end + end + end + + # Remove elements from the locked specs that are expired. This will most + # commonly happen if the Gemfile has changed since the lockfile was last + # generated + def converge_locked_specs + deps = [] + + # Build a list of dependencies that are the same in the Gemfile + # and Gemfile.lock. If the Gemfile modified a dependency, but + # the gem in the Gemfile.lock still satisfies it, this is fine + # too. + @dependencies.each do |dep| + locked_dep = @locked_deps.find { |d| dep == d } + + if in_locked_deps?(dep, locked_dep) || satisfies_locked_spec?(dep) + deps << dep + elsif dep.source.is_a?(Source::Path) && (!locked_dep || dep.source != locked_dep.source) + @locked_specs.each do |s| + @unlock[:gems] << s.name if s.source == dep.source + end + + dep.source.unlock! if dep.source.respond_to?(:unlock!) + dep.source.specs.each { |s| @unlock[:gems] << s.name } + end + end + + converged = [] + @locked_specs.each do |s| + s.source = @sources.find { |src| s.source == src } + + # Don't add a spec to the list if its source is expired. For example, + # if you change a Git gem to Rubygems. + next if s.source.nil? || @unlock[:sources].include?(s.name) + # If the spec is from a path source and it doesn't exist anymore + # then we just unlock it. + + # Path sources have special logic + if s.source.instance_of?(Source::Path) + other = s.source.specs[s].first + + # If the spec is no longer in the path source, unlock it. This + # commonly happens if the version changed in the gemspec + next unless other + # If the dependencies of the path source have changed, unlock it + next unless s.dependencies.sort == other.dependencies.sort + end + + converged << s + end + + resolve = SpecSet.new(converged) + resolve = resolve.for(expand_dependencies(deps, true), @unlock[:gems]) + diff = @locked_specs.to_a - resolve.to_a + + # Now, we unlock any sources that do not have anymore gems pinned to it + @sources.each do |source| + next unless source.respond_to?(:unlock!) + + unless resolve.any? { |s| s.source == source } + source.unlock! if diff.any? { |s| s.source == source } + end + end + + resolve + end + + def in_locked_deps?(dep, d) + d && dep.source == d.source + end + + def satisfies_locked_spec?(dep) + @locked_specs.any? { |s| s.satisfies?(dep) && (!dep.source || s.source == dep.source) } + end + + def expanded_dependencies + @expanded_dependencies ||= expand_dependencies(dependencies, @remote) + end + + def expand_dependencies(dependencies, remote = false) + deps = [] + dependencies.each do |dep| + dep = Dependency.new(dep, ">= 0") unless dep.respond_to?(:name) + dep.gem_platforms(@platforms).each do |p| + deps << DepProxy.new(dep, p) if remote || p == generic(Gem::Platform.local) + end + end + deps + end + + def sorted_sources + @sources.sort_by do |s| + # Place GEM at the top + [ s.is_a?(Source::Rubygems) ? 1 : 0, s.to_s ] + end + end + + def requested_dependencies + groups = self.groups - Bundler.settings.without + groups.map! { |g| g.to_sym } + dependencies.reject { |d| !d.should_include? || (d.groups & groups).empty? } + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/dependency.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/dependency.rb new file mode 100644 index 00000000..358dfd5a --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/dependency.rb @@ -0,0 +1,114 @@ +require 'rubygems/dependency' +require 'bundler/shared_helpers' +require 'bundler/rubygems_ext' + +module Bundler + class Dependency < Gem::Dependency + attr_reader :autorequire + attr_reader :groups + attr_reader :platforms + + PLATFORM_MAP = { + :ruby => Gem::Platform::RUBY, + :ruby_18 => Gem::Platform::RUBY, + :ruby_19 => Gem::Platform::RUBY, + :mri => Gem::Platform::RUBY, + :mri_18 => Gem::Platform::RUBY, + :mri_19 => Gem::Platform::RUBY, + :jruby => Gem::Platform::JAVA, + :mswin => Gem::Platform::MSWIN + }.freeze + + def initialize(name, version, options = {}, &blk) + super(name, version) + + @autorequire = nil + @groups = Array(options["group"] || :default).map { |g| g.to_sym } + @source = options["source"] + @platforms = Array(options["platforms"]) + @env = options["env"] + + if options.key?('require') + @autorequire = Array(options['require'] || []) + end + end + + def gem_platforms(valid_platforms) + return valid_platforms if @platforms.empty? + + platforms = [] + @platforms.each do |p| + platform = PLATFORM_MAP[p] + next unless valid_platforms.include?(platform) + platforms |= [platform] + end + platforms + end + + def should_include? + current_env? && current_platform? + end + + def current_env? + return true unless @env + if Hash === @env + @env.all? do |key, val| + ENV[key.to_s] && (String === val ? ENV[key.to_s] == val : ENV[key.to_s] =~ val) + end + else + ENV[@env.to_s] + end + end + + def current_platform? + return true if @platforms.empty? + @platforms.any? { |p| send("#{p}?") } + end + + def to_lock + out = " #{name}" + + unless requirement == Gem::Requirement.default + out << " (#{requirement.to_s})" + end + + out << '!' if source + + out << "\n" + end + + private + + def ruby? + !mswin? && (!defined?(RUBY_ENGINE) || RUBY_ENGINE == "ruby" || RUBY_ENGINE == "rbx") + end + + def ruby_18? + ruby? && RUBY_VERSION < "1.9" + end + + def ruby_19? + ruby? && RUBY_VERSION >= "1.9" + end + + def mri? + !mswin? && (!defined?(RUBY_ENGINE) || RUBY_ENGINE == "ruby") + end + + def mri_18? + mri? && RUBY_VERSION < "1.9" + end + + def mri_19? + mri? && RUBY_VERSION >= "1.9" + end + + def jruby? + defined?(RUBY_ENGINE) && RUBY_ENGINE == "jruby" + end + + def mswin? + # w0t? + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/dsl.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/dsl.rb new file mode 100644 index 00000000..b5582311 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/dsl.rb @@ -0,0 +1,245 @@ +require 'bundler/dependency' + +module Bundler + class Dsl + def self.evaluate(gemfile) + builder = new + builder.instance_eval(Bundler.read_file(gemfile.to_s), gemfile.to_s, 1) + builder.to_definition + end + + VALID_PLATFORMS = Bundler::Dependency::PLATFORM_MAP.keys.freeze + + def initialize + @rubygems_source = Source::Rubygems.new + @source = nil + @sources = [] + @dependencies = [] + @groups = [] + @platforms = [] + @env = nil + end + + def gemspec(opts = nil) + path = opts && opts[:path] || '.' + name = opts && opts[:name] || '*' + development_group = opts && opts[:development_group] || :development + path = File.expand_path(path, Bundler.default_gemfile.dirname) + gemspecs = Dir[File.join(path, "#{name}.gemspec")] + + case gemspecs.size + when 1 + spec = Gem::Specification.load(gemspecs.first) + gem spec.name, :path => path + spec.runtime_dependencies.each do |dep| + gem dep.name, dep.requirement.to_s + end + group(development_group) do + spec.development_dependencies.each do |dep| + gem dep.name, dep.requirement.to_s + end + end + when 0 + raise InvalidOption, "There are no gemspecs at #{path}." + else + raise InvalidOption, "There are multiple gemspecs at #{path}. Please use the :name option to specify which one." + end + end + + def gem(name, *args) + if name.is_a?(Symbol) + raise GemfileError, %{You need to specify gem names as Strings. Use 'gem "#{name.to_s}"' instead.} + end + + options = Hash === args.last ? args.pop : {} + version = args || [">= 0"] + if group = options[:groups] || options[:group] + options[:group] = group + end + + _deprecated_options(options) + _normalize_options(name, version, options) + + dep = Dependency.new(name, version, options) + + if current = @dependencies.find { |d| d.name == dep.name } + if current.requirement != dep.requirement + raise DslError, "You cannot specify the same gem twice with different version requirements. " \ + "You specified: #{current.name} (#{current.requirement}) and " \ + "#{dep.name} (#{dep.requirement})" + end + + if current.source != dep.source + raise DslError, "You cannot specify the same gem twice coming from different sources. You " \ + "specified that #{dep.name} (#{dep.requirement}) should come from " \ + "#{current.source || 'an unspecfied source'} and #{dep.source}" + end + end + @dependencies << Dependency.new(name, version, options) + end + + def source(source, options = {}) + case source + when :gemcutter, :rubygems, :rubyforge then + rubygems_source "http://rubygems.org" + return + when String + rubygems_source source + return + end + + @source = source + options[:prepend] ? @sources.unshift(@source) : @sources << @source + + yield if block_given? + @source + ensure + @source = nil + end + + def path(path, options = {}, source_options = {}, &blk) + source Source::Path.new(_normalize_hash(options).merge("path" => Pathname.new(path))), source_options, &blk + end + + def git(uri, options = {}, source_options = {}, &blk) + unless block_given? + msg = "You can no longer specify a git source by itself. Instead, \n" \ + "either use the :git option on a gem, or specify the gems that \n" \ + "bundler should find in the git source by passing a block to \n" \ + "the git method, like: \n\n" \ + " git 'git://github.com/rails/rails.git' do\n" \ + " gem 'rails'\n" \ + " end" + raise DeprecatedError, msg + end + + source Source::Git.new(_normalize_hash(options).merge("uri" => uri)), source_options, &blk + end + + def to_definition(lockfile, unlock) + @sources << @rubygems_source + @sources.uniq! + Definition.new(lockfile, @dependencies, @sources, unlock) + end + + def group(*args, &blk) + @groups.concat args + yield + ensure + args.each { @groups.pop } + end + + def platforms(*platforms) + @platforms.concat platforms + yield + ensure + platforms.each { @platforms.pop } + end + + def env(name) + @env, old = name, @env + yield + ensure + @env = old + end + + # Deprecated methods + + def self.deprecate(name, replacement = nil) + define_method(name) do |*| + message = "'#{name}' has been removed from the Gemfile DSL, " + if replacement + message << "and has been replaced with '#{replacement}'." + else + message << "and is no longer supported." + end + message << "\nSee the README for more information on upgrading from Bundler 0.8." + raise DeprecatedError, message + end + end + + deprecate :only, :group + deprecate :except + deprecate :disable_system_gems + deprecate :disable_rubygems + deprecate :clear_sources + deprecate :bundle_path + deprecate :bin_path + + private + + def rubygems_source(source) + @rubygems_source.add_remote source + @sources << @rubygems_source + end + + def _normalize_hash(opts) + # Cannot modify a hash during an iteration in 1.9 + opts.keys.each do |k| + next if String === k + v = opts[k] + opts.delete(k) + opts[k.to_s] = v + end + opts + end + + def _normalize_options(name, version, opts) + _normalize_hash(opts) + + invalid_keys = opts.keys - %w(group git path name branch ref tag require submodules platforms) + if invalid_keys.any? + plural = invalid_keys.size > 1 + message = "You passed #{invalid_keys.map{|k| ':'+k }.join(", ")} " + if plural + message << "as options for gem '#{name}', but they are invalid." + else + message << "as an option for gem '#{name}', but it is invalid." + end + raise InvalidOption, message + end + + groups = @groups.dup + groups.concat Array(opts.delete("group")) + groups = [:default] if groups.empty? + + platforms = @platforms.dup + platforms.concat Array(opts.delete("platforms")) + platforms.map! { |p| p.to_sym } + platforms.each do |p| + next if VALID_PLATFORMS.include?(p) + raise DslError, "`#{p}` is not a valid platform. The available options are: #{VALID_PLATFORMS.inspect}" + end + + # Normalize git and path options + ["git", "path"].each do |type| + if param = opts[type] + if version.first && version.first =~ /^\s*=?\s*(\d[^\s]*)\s*$/ + options = opts.merge("name" => name, "version" => $1) + else + options = opts.dup + end + source = send(type, param, options, :prepend => true) {} + opts["source"] = source + end + end + + opts["source"] ||= @source + opts["env"] ||= @env + opts["platforms"] = @platforms.dup + opts["group"] = groups + end + + def _deprecated_options(options) + if options.include?(:require_as) + raise DeprecatedError, "Please replace :require_as with :require" + elsif options.include?(:vendored_at) + raise DeprecatedError, "Please replace :vendored_at with :path" + elsif options.include?(:only) + raise DeprecatedError, "Please replace :only with :group" + elsif options.include?(:except) + raise DeprecatedError, "The :except option is no longer supported" + end + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/environment.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/environment.rb new file mode 100644 index 00000000..d8219516 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/environment.rb @@ -0,0 +1,47 @@ +module Bundler + class Environment + attr_reader :root + + def initialize(root, definition) + @root = root + @definition = definition + + env_file = Bundler.app_config_path.join('environment.rb') + env_file.rmtree if env_file.exist? + end + + def inspect + @definition.to_lock.inspect + end + + # TODO: Remove this method. It's used in cli.rb still + def index + @definition.index + end + + def requested_specs + @definition.requested_specs + end + + def specs + @definition.specs + end + + def dependencies + @definition.dependencies + end + + def current_dependencies + @definition.current_dependencies + end + + def lock + @definition.lock(Bundler.default_lockfile) + end + + def update(*gems) + # Nothing + end + + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/gem_helper.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/gem_helper.rb new file mode 100644 index 00000000..022450b4 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/gem_helper.rb @@ -0,0 +1,150 @@ +$:.unshift File.expand_path('../vendor', __FILE__) +require 'open3' +require 'thor' + +module Bundler + class GemHelper + def self.install_tasks(opts = nil) + dir = caller.find{|c| /Rakefile:/}[/^(.*?)\/Rakefile:/, 1] + GemHelper.new(dir, opts && opts[:name]).install + end + + attr_reader :spec_path, :base, :gemspec + + def initialize(base, name = nil) + Bundler.ui = UI::Shell.new(Thor::Shell::Color.new) + @base = base + gemspecs = name ? [File.join(base, "#{name}.gemspec")] : Dir[File.join(base, "*.gemspec")] + raise "Unable to determine name from existing gemspec. Use :name => 'gemname' in #install_tasks to manually set it." unless gemspecs.size == 1 + @spec_path = gemspecs.first + @gemspec = Bundler.load_gemspec(@spec_path) + end + + def install + desc "Build #{name}-#{version}.gem into the pkg directory" + task 'build' do + build_gem + end + + desc "Build and install #{name}-#{version}.gem into system gems" + task 'install' do + install_gem + end + + desc "Create tag #{version_tag} and build and push #{name}-#{version}.gem to Rubygems" + task 'release' do + release_gem + end + end + + def build_gem + file_name = nil + sh("gem build #{spec_path}") { |out, err| + raise err if err[/ERROR/] + file_name = File.basename(built_gem_path) + FileUtils.mkdir_p(File.join(base, 'pkg')) + FileUtils.mv(built_gem_path, 'pkg') + Bundler.ui.confirm "#{name} #{version} built to pkg/#{file_name}" + } + File.join(base, 'pkg', file_name) + end + + def install_gem + built_gem_path = build_gem + out, err, code = sh_with_code("gem install #{built_gem_path}") + if err[/ERROR/] + Bundler.ui.error err + else + Bundler.ui.confirm "#{name} (#{version}) installed" + end + end + + def release_gem + guard_clean + guard_already_tagged + built_gem_path = build_gem + tag_version { + git_push + rubygem_push(built_gem_path) + } + end + + protected + def rubygem_push(path) + sh("gem push #{path}") + Bundler.ui.confirm "Pushed #{name} #{version} to rubygems.org" + end + + def built_gem_path + Dir[File.join(base, "#{name}-*.gem")].sort_by{|f| File.mtime(f)}.last + end + + def git_push + perform_git_push + perform_git_push ' --tags' + Bundler.ui.confirm "Pushed git commits and tags" + end + + def perform_git_push(options = '') + out, err, code = sh_with_code "git push --quiet#{options}" + raise err unless err == '' + end + + def guard_already_tagged + if sh('git tag').split(/\n/).include?(version_tag) + raise("This tag has already been committed to the repo.") + end + end + + def guard_clean + clean? or raise("There are files that need to be committed first.") + end + + def clean? + sh("git ls-files -dm").split("\n").size.zero? + end + + def tag_version + sh "git tag -am 'Version #{version}' #{version_tag}" + Bundler.ui.confirm "Tagged #{tagged_sha} with #{version_tag}" + yield if block_given? + rescue + Bundler.ui.error "Untagged #{tagged_sha} with #{version_tag} due to error" + sh "git tag -d #{version_tag}" + raise + end + + def tagged_sha + sh("git show-ref --tags #{version_tag}").split(' ').first[0, 8] + end + + def version + gemspec.version + end + + def version_tag + "v#{version}" + end + + def name + gemspec.name + end + + def sh(cmd, &block) + out, err, code = sh_with_code(cmd, &block) + code == 0 ? out : raise(out.empty? ? err : out) + end + + def sh_with_code(cmd, &block) + outbuf, errbuf = '', '' + Dir.chdir(base) { + stdin, stdout, stderr = *Open3.popen3(cmd) + if $? == 0 + outbuf, errbuf = stdout.read, stderr.read + block.call(outbuf, errbuf) if block + end + } + [outbuf, errbuf, $?] + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/graph.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/graph.rb new file mode 100644 index 00000000..32d6af47 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/graph.rb @@ -0,0 +1,130 @@ +module Bundler + class Graph + + USER_OPTIONS = {:style => 'filled, bold', :fillcolor => '#cccccc'}.freeze + + def initialize(env) + @env = env + end + + def nodes + populate + @nodes + end + + def groups + populate + @groups + end + + def viz(output_file, show_gem_versions = false, show_dependency_requirements = false) + require 'graphviz' + populate + + graph_viz = GraphViz::new('Gemfile', {:concentrate => true, :dpi => 65 } ) + graph_viz.edge[:fontname] = graph_viz.node[:fontname] = 'Arial, Helvetica, SansSerif' + graph_viz.edge[:fontsize] = 12 + + viz_nodes = {} + + # populate all of the nodes + nodes.each do |name, node| + label = name.dup + label << "\n#{node.version}" if show_gem_versions + options = { :label => label } + options.merge!( USER_OPTIONS ) if node.is_user + viz_nodes[name] = graph_viz.add_node( name, options ) + end + + group_nodes = {} + @groups.each do |name, dependencies| + group_nodes[name] = graph_viz.add_node(name.to_s, { :shape => 'folder', :fontsize => 16 }.merge(USER_OPTIONS)) + dependencies.each do |dependency| + options = { :weight => 2 } + if show_dependency_requirements && (dependency.requirement.to_s != ">= 0") + options[:label] = dependency.requirement.to_s + end + graph_viz.add_edge( group_nodes[name], viz_nodes[dependency.name], options ) + end + end + + @groups.keys.select { |group| group != :default }.each do |group| + graph_viz.add_edge( group_nodes[group], group_nodes[:default], { :weight => 2 } ) + end + + viz_nodes.each do |name, node| + nodes[name].dependencies.each do |dependency| + options = { } + if nodes[dependency.name].is_user + options[:constraint] = false + end + if show_dependency_requirements && (dependency.requirement.to_s != ">= 0") + options[:label] = dependency.requirement.to_s + end + + graph_viz.add_edge( node, viz_nodes[dependency.name], options ) + end + end + + graph_viz.output( :png => output_file ) + end + + private + + def populate + return if @populated + + # hash of name => GraphNode + @nodes = {} + @groups = {} + + # Populate @nodes + @env.specs.each { |spec| @nodes[spec.name] = GraphNode.new(spec.name, spec.version) } + + # For gems in Gemfile, add details + @env.current_dependencies.each do |dependency| + node = @nodes[dependency.name] + node.is_user = true + + dependency.groups.each do |group| + if @groups.has_key? group + group = @groups[group] + else + group = @groups[group] = [] + end + group << dependency + end + end + + # walk though a final time and add edges + @env.specs.each do |spec| + + from = @nodes[spec.name] + spec.runtime_dependencies.each do |dependency| + from.dependencies << dependency + end + + end + + @nodes.freeze + @groups.freeze + @populated = true + end + + end + + # Add version info + class GraphNode + + def initialize(name, version) + @name = name + @version = version + @is_user = false + @dependencies = [] + end + + attr_reader :name, :dependencies, :version + attr_accessor :is_user + + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/index.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/index.rb new file mode 100644 index 00000000..99621335 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/index.rb @@ -0,0 +1,114 @@ +module Bundler + class Index + include Enumerable + + def self.build + i = new + yield i + i + end + + def initialize + @cache = {} + @specs = Hash.new { |h,k| h[k] = [] } + end + + def initialize_copy(o) + super + @cache = {} + @specs = Hash.new { |h,k| h[k] = [] } + merge!(o) + end + + def empty? + each { return false } + true + end + + def search(query) + case query + when Gem::Specification, RemoteSpecification, LazySpecification then search_by_spec(query) + when String then @specs[query] + else search_by_dependency(query) + end + end + + def search_for_all_platforms(dependency, base = []) + specs = @specs[dependency.name] + base + + wants_prerelease = dependency.requirement.prerelease? + only_prerelease = specs.all? {|spec| spec.version.prerelease? } + found = specs.select { |spec| dependency =~ spec } + + unless wants_prerelease || only_prerelease + found.reject! { |spec| spec.version.prerelease? } + end + + found.sort_by {|s| [s.version, s.platform.to_s == 'ruby' ? "\0" : s.platform.to_s] } + end + + def sources + @specs.values.map do |specs| + specs.map{|s| s.source.class } + end.flatten.uniq + end + + alias [] search + + def <<(spec) + arr = @specs[spec.name] + + arr.delete_if do |s| + s.version == spec.version && s.platform == spec.platform + end + + arr << spec + spec + end + + def each(&blk) + @specs.values.each do |specs| + specs.each(&blk) + end + end + + def use(other) + return unless other + other.each do |s| + next if search_by_spec(s).any? + @specs[s.name] << s + end + self + end + + def ==(o) + all? do |s| + s2 = o[s].first and (s.dependencies & s2.dependencies).empty? + end + end + + private + + def search_by_spec(spec) + @specs[spec.name].select do |s| + s.version == spec.version && Gem::Platform.new(s.platform) == Gem::Platform.new(spec.platform) + end + end + + def search_by_dependency(dependency) + @cache[dependency.hash] ||= begin + specs = @specs[dependency.name] + + wants_prerelease = dependency.requirement.prerelease? + only_prerelease = specs.all? {|spec| spec.version.prerelease? } + found = specs.select { |spec| dependency =~ spec && Gem::Platform.match(spec.platform) } + + unless wants_prerelease || only_prerelease + found.reject! { |spec| spec.version.prerelease? } + end + + found.sort_by {|s| [s.version, s.platform.to_s == 'ruby' ? "\0" : s.platform.to_s] } + end + end + end +end \ No newline at end of file diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/installer.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/installer.rb new file mode 100644 index 00000000..01e2d0a5 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/installer.rb @@ -0,0 +1,83 @@ +require 'erb' +require 'rubygems/dependency_installer' + +module Bundler + class Installer < Environment + def self.install(root, definition, options = {}) + installer = new(root, definition) + installer.run(options) + installer + end + + def run(options) + if Bundler.settings[:frozen] + @definition.ensure_equivalent_gemfile_and_lockfile + end + + if dependencies.empty? + Bundler.ui.warn "The Gemfile specifies no dependencies" + return + end + + if Bundler.default_lockfile.exist? && !options["update"] + begin + tmpdef = Definition.build(Bundler.default_gemfile, Bundler.default_lockfile, nil) + local = true unless tmpdef.new_platform? || tmpdef.missing_specs.any? + rescue BundlerError + end + end + + # Since we are installing, we can resolve the definition + # using remote specs + unless local + options["local"] ? + @definition.resolve_with_cache! : + @definition.resolve_remotely! + end + + # Ensure that BUNDLE_PATH exists + Bundler.mkdir_p(Bundler.bundle_path) unless File.exist?(Bundler.bundle_path) + + # Must install gems in the order that the resolver provides + # as dependencies might actually affect the installation of + # the gem. + specs.each do |spec| + spec.source.fetch(spec) if spec.source.respond_to?(:fetch) + + # unless requested_specs.include?(spec) + # Bundler.ui.debug " * Not in requested group; skipping." + # next + # end + + begin + old_args = Gem::Command.build_args + Gem::Command.build_args = [Bundler.settings["build.#{spec.name}"]] + spec.source.install(spec) + ensure + Gem::Command.build_args = old_args + end + + Bundler.ui.info "" + generate_bundler_executable_stubs(spec) if Bundler.settings[:bin] + FileUtils.rm_rf(Bundler.tmp) + end + + lock + end + + private + + def generate_bundler_executable_stubs(spec) + bin_path = Bundler.bin_path + template = File.read(File.expand_path('../templates/Executable', __FILE__)) + relative_gemfile_path = Bundler.default_gemfile.relative_path_from(bin_path) + + spec.executables.each do |executable| + next if executable == "bundle" + File.open "#{bin_path}/#{executable}", 'w', 0755 do |f| + f.puts ERB.new(template, nil, '-').result(binding) + end + end + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/lazy_specification.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/lazy_specification.rb new file mode 100644 index 00000000..9db9b0ed --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/lazy_specification.rb @@ -0,0 +1,71 @@ +require "uri" +require "rubygems/spec_fetcher" + +module Bundler + class LazySpecification + include MatchPlatform + + attr_reader :name, :version, :dependencies, :platform + attr_accessor :source + + def initialize(name, version, platform, source = nil) + @name = name + @version = version + @dependencies = [] + @platform = platform + @source = source + @specification = nil + end + + def full_name + if platform == Gem::Platform::RUBY or platform.nil? then + "#{@name}-#{@version}" + else + "#{@name}-#{@version}-#{platform}" + end + end + + def satisfies?(dependency) + @name == dependency.name && dependency.requirement.satisfied_by?(Gem::Version.new(@version)) + end + + def to_lock + if platform == Gem::Platform::RUBY or platform.nil? + out = " #{name} (#{version})\n" + else + out = " #{name} (#{version}-#{platform})\n" + end + + dependencies.sort_by {|d| d.name }.each do |dep| + next if dep.type == :development + out << " #{dep.to_lock}\n" + end + + out + end + + def __materialize__ + @specification = source.specs.search(Gem::Dependency.new(name, version)).last + end + + def respond_to?(*args) + super || @specification.respond_to?(*args) + end + + def to_s + "#{name} (#{version})" + end + + private + + def method_missing(method, *args, &blk) + if Gem::Specification.new.respond_to?(method) + raise "LazySpecification has not been materialized yet (calling :#{method} #{args.inspect})" unless @specification + @specification.send(method, *args, &blk) + else + super + end + end + + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/lockfile_parser.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/lockfile_parser.rb new file mode 100644 index 00000000..10f8cbf2 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/lockfile_parser.rb @@ -0,0 +1,108 @@ +require "strscan" + +module Bundler + class LockfileParser + attr_reader :sources, :dependencies, :specs, :platforms + + def initialize(lockfile) + @platforms = [] + @sources = [] + @dependencies = [] + @specs = [] + @state = :source + + lockfile.split(/\n+/).each do |line| + if line == "DEPENDENCIES" + @state = :dependency + elsif line == "PLATFORMS" + @state = :platform + else + send("parse_#{@state}", line) + end + end + end + + private + + TYPES = { + "GIT" => Bundler::Source::Git, + "GEM" => Bundler::Source::Rubygems, + "PATH" => Bundler::Source::Path + } + + def parse_source(line) + case line + when "GIT", "GEM", "PATH" + @current_source = nil + @opts, @type = {}, line + when " specs:" + @current_source = TYPES[@type].from_lock(@opts) + @sources << @current_source + when /^ ([a-z]+): (.*)$/i + value = $2 + value = true if value == "true" + value = false if value == "false" + + key = $1 + + if @opts[key] + @opts[key] = Array(@opts[key]) + @opts[key] << value + else + @opts[key] = value + end + else + parse_spec(line) + end + end + + NAME_VERSION = '(?! )(.*?)(?: \(([^-]*)(?:-(.*))?\))?' + + def parse_dependency(line) + if line =~ %r{^ {2}#{NAME_VERSION}(!)?$} + name, version, pinned = $1, $2, $4 + version = version.split(",").map { |d| d.strip } if version + + dep = Bundler::Dependency.new(name, version) + + if pinned && dep.name != 'bundler' + spec = @specs.find { |s| s.name == dep.name } + dep.source = spec.source if spec + + # Path sources need to know what the default name / version + # to use in the case that there are no gemspecs present. A fake + # gemspec is created based on the version set on the dependency + # TODO: Use the version from the spec instead of from the dependency + if version && version.size == 1 && version.first =~ /^\s*= (.+)\s*$/ && dep.source.is_a?(Bundler::Source::Path) + dep.source.name = name + dep.source.version = $1 + end + end + + @dependencies << dep + end + end + + def parse_spec(line) + if line =~ %r{^ {4}#{NAME_VERSION}$} + name, version = $1, Gem::Version.new($2) + platform = $3 ? Gem::Platform.new($3) : Gem::Platform::RUBY + @current_spec = LazySpecification.new(name, version, platform) + @current_spec.source = @current_source + @specs << @current_spec + elsif line =~ %r{^ {6}#{NAME_VERSION}$} + name, version = $1, $2 + version = version.split(',').map { |d| d.strip } if version + dep = Gem::Dependency.new(name, version) + @current_spec.dependencies << dep + end + end + + def parse_platform(line) + if line =~ /^ (.*)$/ + @platforms << Gem::Platform.new($1) + end + end + + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle new file mode 100644 index 00000000..1b719336 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle @@ -0,0 +1,96 @@ +.\" generated with Ronn/v0.7.3 +.\" http://github.com/rtomayko/ronn/tree/0.7.3 +. +.TH "BUNDLE" "1" "August 2010" "" "" +. +.SH "NAME" +\fBbundle\fR \- Ruby Dependency Management +. +.SH "SYNOPSIS" +\fBbundle\fR [\-\-no\-color] COMMAND [ARGS] +. +.SH "DESCRIPTION" +Bundler manages an \fBapplication\'s dependencies\fR through its entire life across many machines systematically and repeatably\. +. +.P +See the bundler website \fIhttp://gembundler\.com\fR for information on getting started, and Gemfile(5) for more information on the \fBGemfile\fR format\. +. +.SH "OPTIONS" +. +.TP +\fB\-\-no\-color\fR +Prints all output without color +. +.SH "BUNDLE COMMANDS" +We divide \fBbundle\fR subcommands into primary commands and utilities\. +. +.SH "PRIMARY COMMANDS" +. +.TP +bundle install(1) \fIbundle\-install\.1\.html\fR +Install the gems specified by the \fBGemfile\fR or \fBGemfile\.lock\fR +. +.TP +bundle update(1) \fIbundle\-update\.1\.html\fR +Update dependencies to their latest versions +. +.TP +bundle package(1) \fIbundle\-package\.1\.html\fR +Package the \.gem files required by your application into the \fBvendor/cache\fR directory +. +.TP +bundle exec(1) \fIbundle\-exec\.1\.html\fR +Execute a script in the context of the current bundle +. +.TP +bundle config(1) \fIbundle\-config\.1\.html\fR +Specify and read configuration options for bundler +. +.SH "UTILITIES" +. +.TP +\fBbundle check(1)\fR +Determine whether the requirements for your application are installed and available to bundler +. +.TP +\fBbundle list(1)\fR +Show all of the gems in the current bundle +. +.TP +\fBbundle show(1)\fR +Show the source location of a particular gem in the bundle +. +.TP +\fBbundle console(1)\fR +Start an IRB session in the context of the current bundle +. +.TP +\fBbundle open(1)\fR +Open an installed gem in the editor +. +.TP +\fBbundle viz(1)\fR +Generate a visual representation of your dependencies +. +.TP +\fBbundle init(1)\fR +Generate a simple \fBGemfile\fR, placed in the current directory +. +.TP +\fBbundle gem(1)\fR +Create a simple gem, suitable for development with bundler +. +.SH "OBSOLETE" +These commands are obsolete and should no longer be used +. +.IP "\(bu" 4 +\fBbundle lock(1)\fR +. +.IP "\(bu" 4 +\fBbundle unlock(1)\fR +. +.IP "\(bu" 4 +\fBbundle cache(1)\fR +. +.IP "" 0 + diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-config b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-config new file mode 100644 index 00000000..e69de29b diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-config.txt b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-config.txt new file mode 100644 index 00000000..a02dc256 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-config.txt @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-exec b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-exec new file mode 100644 index 00000000..e498d93d --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-exec @@ -0,0 +1,107 @@ +.\" generated with Ronn/v0.7.3 +.\" http://github.com/rtomayko/ronn/tree/0.7.3 +. +.TH "BUNDLE\-EXEC" "1" "August 2010" "" "" +. +.SH "NAME" +\fBbundle\-exec\fR \- Execute a command in the context of the bundle +. +.SH "SYNOPSIS" +\fBbundle exec\fR \fIcommand\fR +. +.SH "DESCRIPTION" +This command executes the command, making all gems specified in the \fBGemfile(5)\fR available to \fBrequire\fR in Ruby programs\. +. +.P +Essentially, if you would normally have run something like \fBrspec spec/my_spec\.rb\fR, and you want to use the gems specified in the \fBGemfile(5)\fR and installed via bundle install(1) \fIbundle\-install\.1\.html\fR, you should run \fBbundle exec rspec spec/my_spec\.rb\fR\. +. +.P +Note that \fBbundle exec\fR does not require that an executable is available on your shell\'s \fB$PATH\fR\. +. +.SH "BUNDLE INSTALL \-\-BINSTUBS" +If you use the \fB\-\-binstubs\fR flag in bundle install(1) \fIbundle\-install\.1\.html\fR, Bundler will automatically create a directory (which defaults to \fBapp_root/bin\fR) containing all of the executables available from gems in the bundle\. +. +.P +After using \fB\-\-binstubs\fR, \fBbin/rspec spec/my_spec\.rb\fR is identical to \fBbundle exec rspec spec/my_spec\.rb\fR\. +. +.SH "ENVIRONMENT MODIFICATIONS" +\fBbundle exec\fR makes a number of changes to the shell environment, then executes the command you specify in full\. +. +.IP "\(bu" 4 +make sure that it\'s still possible to shell out to \fBbundle\fR from inside a command invoked by \fBbundle exec\fR (using \fB$BUNDLE_BIN_PATH\fR) +. +.IP "\(bu" 4 +put the directory containing executables (like \fBrails\fR, \fBrspec\fR, \fBrackup\fR) for your bundle on \fB$PATH\fR +. +.IP "\(bu" 4 +make sure that if bundler is invoked in the subshell, it uses the same \fBGemfile\fR (by setting \fBBUNDLE_GEMFILE\fR) +. +.IP "\(bu" 4 +add \fB\-rbundler/setup\fR to \fB$RUBYOPT\fR, which makes sure that Ruby programs invoked in the subshell can see the gems in the bundle +. +.IP "" 0 +. +.P +It also modifies Rubygems: +. +.IP "\(bu" 4 +disallow loading additional gems not in the bundle +. +.IP "\(bu" 4 +modify the \fBgem\fR method to be a no\-op if a gem matching the requirements is in the bundle, and to raise a \fBGem::LoadError\fR if it\'s not +. +.IP "\(bu" 4 +Define \fBGem\.refresh\fR to be a no\-op, since the source index is always frozen when using bundler, and to prevent gems from the system leaking into the environment +. +.IP "\(bu" 4 +Override \fBGem\.bin_path\fR to use the gems in the bundle, making system executables work +. +.IP "\(bu" 4 +Add all gems in the bundle into Gem\.loaded_specs +. +.IP "" 0 +. +.SH "RUBYGEMS PLUGINS" +At present, the Rubygems plugin system requires all files named \fBrubygems_plugin\.rb\fR on the load path of \fIany\fR installed gem when any Ruby code requires \fBrubygems\.rb\fR\. This includes executables installed into the system, like \fBrails\fR, \fBrackup\fR, and \fBrspec\fR\. +. +.P +Since Rubygems plugins can contain arbitrary Ruby code, they commonly end up activating themselves or their dependencies\. +. +.P +For instance, the \fBgemcutter 0\.5\fR gem depended on \fBjson_pure\fR\. If you had that version of gemcutter installed (even if you \fIalso\fR had a newer version without this problem), Rubygems would activate \fBgemcutter 0\.5\fR and \fBjson_pure \fR\. +. +.P +If your Gemfile(5) also contained \fBjson_pure\fR (or a gem with a dependency on \fBjson_pure\fR), the latest version on your system might conflict with the version in your Gemfile(5), or the snapshot version in your \fBGemfile\.lock\fR\. +. +.P +If this happens, bundler will say: +. +.IP "" 4 +. +.nf + +You have already activated json_pure 1\.4\.6 but your Gemfile +requires json_pure 1\.4\.3\. Consider using bundle exec\. +. +.fi +. +.IP "" 0 +. +.P +In this situation, you almost certainly want to remove the underlying gem with the problematic gem plugin\. In general, the authors of these plugins (in this case, the \fBgemcutter\fR gem) have released newer versions that are more careful in their plugins\. +. +.P +You can find a list of all the gems containing gem plugins by running +. +.IP "" 4 +. +.nf + +ruby \-rubygems \-e "puts Gem\.find_files(\'rubygems_plugin\.rb\')" +. +.fi +. +.IP "" 0 +. +.P +At the very least, you should remove all but the newest version of each gem plugin, and also remove all gem plugins that you aren\'t using (\fBgem uninstall gem_name\fR)\. diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-exec.txt b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-exec.txt new file mode 100644 index 00000000..b725015b --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-exec.txt @@ -0,0 +1,115 @@ +BUNDLE-EXEC(1) BUNDLE-EXEC(1) + + + +NAME + bundle-exec - Execute a command in the context of the bundle + +SYNOPSIS + bundle exec command + +DESCRIPTION + This command executes the command, making all gems specified in the + Gemfile(5) available to require in Ruby programs. + + Essentially, if you would normally have run something like rspec + spec/my_spec.rb, and you want to use the gems specified in the Gem- + file(5) and installed via bundle install(1) bundle-install.1.html, you + should run bundle exec rspec spec/my_spec.rb. + + Note that bundle exec does not require that an executable is available + on your shell's $PATH. + +BUNDLE INSTALL --BINSTUBS + If you use the --binstubs flag in bundle install(1) bun- + dle-install.1.html, Bundler will automatically create a directory + (which defaults to app_root/bin) containing all of the executables + available from gems in the bundle. + + After using --binstubs, bin/rspec spec/my_spec.rb is identical to bun- + dle exec rspec spec/my_spec.rb. + +ENVIRONMENT MODIFICATIONS + bundle exec makes a number of changes to the shell environment, then + executes the command you specify in full. + + o make sure that it's still possible to shell out to bundle from + inside a command invoked by bundle exec (using $BUNDLE_BIN_PATH) + + o put the directory containing executables (like rails, rspec, + rackup) for your bundle on $PATH + + o make sure that if bundler is invoked in the subshell, it uses the + same Gemfile (by setting BUNDLE_GEMFILE) + + o add -rbundler/setup to $RUBYOPT, which makes sure that Ruby pro- + grams invoked in the subshell can see the gems in the bundle + + + + It also modifies Rubygems: + + o disallow loading additional gems not in the bundle + + o modify the gem method to be a no-op if a gem matching the require- + ments is in the bundle, and to raise a Gem::LoadError if it's not + + o Define Gem.refresh to be a no-op, since the source index is always + frozen when using bundler, and to prevent gems from the system + leaking into the environment + + o Override Gem.bin_path to use the gems in the bundle, making system + executables work + + o Add all gems in the bundle into Gem.loaded_specs + + + +RUBYGEMS PLUGINS + At present, the Rubygems plugin system requires all files named + rubygems_plugin.rb on the load path of any installed gem when any Ruby + code requires rubygems.rb. This includes executables installed into the + system, like rails, rackup, and rspec. + + Since Rubygems plugins can contain arbitrary Ruby code, they commonly + end up activating themselves or their dependencies. + + For instance, the gemcutter 0.5 gem depended on json_pure. If you had + that version of gemcutter installed (even if you also had a newer ver- + sion without this problem), Rubygems would activate gemcutter 0.5 and + json_pure . + + If your Gemfile(5) also contained json_pure (or a gem with a dependency + on json_pure), the latest version on your system might conflict with + the version in your Gemfile(5), or the snapshot version in your Gem- + file.lock. + + If this happens, bundler will say: + + + + You have already activated json_pure 1.4.6 but your Gemfile + requires json_pure 1.4.3. Consider using bundle exec. + + + + In this situation, you almost certainly want to remove the underlying + gem with the problematic gem plugin. In general, the authors of these + plugins (in this case, the gemcutter gem) have released newer versions + that are more careful in their plugins. + + You can find a list of all the gems containing gem plugins by running + + + + ruby -rubygems -e "puts Gem.find_files('rubygems_plugin.rb')" + + + + At the very least, you should remove all but the newest version of each + gem plugin, and also remove all gem plugins that you aren't using (gem + uninstall gem_name). + + + + August 2010 BUNDLE-EXEC(1) diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-install b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-install new file mode 100644 index 00000000..7cfb0860 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-install @@ -0,0 +1,280 @@ +.\" generated with Ronn/v0.7.3 +.\" http://github.com/rtomayko/ronn/tree/0.7.3 +. +.TH "BUNDLE\-INSTALL" "1" "August 2010" "" "" +. +.SH "NAME" +\fBbundle\-install\fR \- Install the dependencies specified in your Gemfile +. +.SH "SYNOPSIS" +\fBbundle install\fR [\-\-local] [\-\-quiet] [\-\-gemfile=GEMFILE] [\-\-system] +. +.IP "" 4 +. +.nf + + [\-\-deployment] [\-\-frozen] [\-\-path] + [\-\-binstubs[=DIRECTORY]] [\-\-without=GROUP1[ GROUP2\.\.\.]] +. +.fi +. +.IP "" 0 +. +.SH "DESCRIPTION" +Install the gems specified in your Gemfile(5)\. If this is the first time you run bundle install (and a \fBGemfile\.lock\fR does not exist), bundler will fetch all remote sources, resolve dependencies and install all needed gems\. +. +.P +If a \fBGemfile\.lock\fR does exist, and you have not updated your Gemfile(5), bundler will fetch all remote sources, but use the dependencies specified in the \fBGemfile\.lock\fR instead of resolving dependencies\. +. +.P +If a \fBGemfile\.lock\fR does exist, and you have updated your Gemfile(5), bundler will use the dependencies in the \fBGemfile\.lock\fR for all gems that you did not update, but will re\-resolve the dependencies of gems that you did update\. You can find more information about this update process below under \fICONSERVATIVE UPDATING\fR\. +. +.SH "OPTIONS" +. +.TP +\fB\-\-gemfile=\fR +The location of the Gemfile(5) that bundler should use\. This defaults to a gemfile in the current working directory\. In general, bundler will assume that the location of the Gemfile(5) is also the project root, and will look for the \fBGemfile\.lock\fR and \fBvendor/cache\fR relative to it\. +. +.TP +\fB\-\-path=\fR +The location to install the gems in the bundle to\. This defaults to the gem home, which is the location that \fBgem install\fR installs gems to\. This means that, by default, gems installed without a \fB\-\-path\fR setting will show up in \fBgem list\fR\. This setting is a \fIremembered option\fR\. +. +.TP +\fB\-\-system\fR +Installs the gems in the bundle to the system location\. This overrides any previous \fIremembered\fR use of \fB\-\-path\fR\. +. +.TP +\fB\-\-without=\fR +A space\-separated list of groups to skip installing\. This is a \fIremembered option\fR\. +. +.TP +\fB\-\-local\fR +Do not attempt to connect to \fBrubygems\.org\fR, instead using just the gems located in \fBvendor/cache\fR\. Note that if a more appropriate platform\-specific gem exists on \fBrubygems\.org\fR, this will bypass the normal lookup\. +. +.TP +\fB\-\-deployment\fR +Switches bundler\'s defaults into \fIdeployment mode\fR\. +. +.TP +\fB\-\-binstubs[=]\fR +Create a directory (defaults to \fBbin\fR) containing an executable that runs in the context of the bundle\. For instance, if the \fBrails\fR gem comes with a \fBrails\fR executable, this flag will create a \fBbin/rails\fR executable that ensures that all dependencies used come from the bundled gems\. +. +.SH "DEPLOYMENT MODE" +Bundler\'s defaults are optimized for development\. To switch to defaults optimized for deployment, use the \fB\-\-deployment\fR flag\. +. +.IP "1." 4 +A \fBGemfile\.lock\fR is required\. +. +.IP +To ensure that the same versions of the gems you developed with and tested with are also used in deployments, a \fBGemfile\.lock\fR is required\. +. +.IP +This is mainly to ensure that you remember to check your \fBGemfile\.lock\fR into version control\. +. +.IP "2." 4 +The \fBGemfile\.lock\fR must be up to date +. +.IP +In development, you can modify your Gemfile(5) and re\-run \fBbundle install\fR to \fIconservatively update\fR your \fBGemfile\.lock\fR snapshot\. +. +.IP +In deployment, your \fBGemfile\.lock\fR should be up\-to\-date with changes made in your Gemfile(5)\. +. +.IP "3." 4 +Gems are installed to \fBvendor/bundle\fR not your default system location +. +.IP +In development, it\'s convenient to share the gems used in your application with other applications and other scripts run on the system\. +. +.IP +In deployment, isolation is a more important default\. In addition, the user deploying the application may not have permission to install gems to the system, or the web server may not have permission to read them\. +. +.IP +As a result, \fBbundle install \-\-deployment\fR installs gems to the \fBvendor/bundle\fR directory in the application\. This may be overridden using the \fB\-\-path\fR option\. +. +.IP "" 0 +. +.SH "SUDO USAGE" +By default, bundler installs gems to the same location as \fBgem install\fR\. +. +.P +In some cases, that location may not be writable by your Unix user\. In that case, bundler will stage everything in a temporary directory, then ask you for your \fBsudo\fR password in order to copy the gems into their system location\. +. +.P +From your perspective, this is identical to installing them gems directly into the system\. +. +.P +You should never use \fBsudo bundle install\fR\. This is because several other steps in \fBbundle install\fR must be performed as the current user: +. +.IP "\(bu" 4 +Updating your \fBGemfile\.lock\fR +. +.IP "\(bu" 4 +Updating your \fBvendor/cache\fR, if necessary +. +.IP "\(bu" 4 +Checking out private git repositories using your user\'s SSH keys +. +.IP "" 0 +. +.P +Of these three, the first two could theoretically be performed by \fBchown\fRing the resulting files to \fB$SUDO_USER\fR\. The third, however, can only be performed by actually invoking the \fBgit\fR command as the current user\. +. +.P +As a result, you should run \fBbundle install\fR as the current user, and bundler will ask for your password if it is needed to perform the final step\. +. +.SH "INSTALLING GROUPS" +By default, \fBbundle install\fR will install all gems in all groups in your Gemfile(5), except those declared for a different platform\. +. +.P +However, you can explicitly tell bundler to skip installing certain groups with the \fB\-\-without\fR option\. This option takes a space\-separated list of groups\. +. +.P +While the \fB\-\-without\fR option will skip \fIinstalling\fR the gems in the specified groups, it will still \fIdownload\fR those gems and use them to resolve the dependencies of every gem in your Gemfile(5)\. +. +.P +This is so that installing a different set of groups on another machine (such as a production server) will not change the gems and versions that you have already developed and tested against\. +. +.P +\fBBundler offers a rock\-solid guarantee that the third\-party code you are running in development and testing is also the third\-party code you are running in production\. You can choose to exclude some of that code in different environments, but you will never be caught flat\-footed by different versions of third\-party code being used in different environments\.\fR +. +.P +For a simple illustration, consider the following Gemfile(5): +. +.IP "" 4 +. +.nf + +source "http://rubygems\.org" + +gem "sinatra" + +group :production do + gem "rack\-perftools\-profiler" +end +. +.fi +. +.IP "" 0 +. +.P +In this case, \fBsinatra\fR depends on any version of Rack (\fB>= 1\.0\fR, while \fBrack\-perftools\-profiler\fR depends on 1\.x (\fB~> 1\.0\fR)\. +. +.P +When you run \fBbundle install \-\-without production\fR in development, we look at the dependencies of \fBrack\-perftools\-profiler\fR as well\. That way, you do not spend all your time developing against Rack 2\.0, using new APIs unavailable in Rack 1\.x, only to have bundler switch to Rack 1\.2 when the \fBproduction\fR group \fIis\fR used\. +. +.P +This should not cause any problems in practice, because we do not attempt to \fBinstall\fR the gems in the excluded groups, and only evaluate as part of the dependency resolution process\. +. +.P +This also means that you cannot include different versions of the same gem in different groups, because doing so would result in different sets of dependencies used in development and production\. Because of the vagaries of the dependency resolution process, this usually affects more than just the gems you list in your Gemfile(5), and can (surprisingly) radically change the gems you are using\. +. +.SH "REMEMBERED OPTIONS" +Some options (marked above in the \fIOPTIONS\fR section) are remembered between calls to \fBbundle install\fR, and by the Bundler runtime\. +. +.P +For instance, if you run \fBbundle install \-\-without test\fR, a subsequent call to \fBbundle install\fR that does not include a \fB\-\-without\fR flag will remember your previous choice\. +. +.P +In addition, a call to \fBBundler\.setup\fR will not attempt to make the gems in those groups available on the Ruby load path, as they were not installed\. +. +.P +The settings that are remembered are: +. +.TP +\fB\-\-deployment\fR +At runtime, this remembered setting will also result in Bundler raising an exception if the \fBGemfile\.lock\fR is out of date\. +. +.TP +\fB\-\-path\fR +Subsequent calls to \fBbundle install\fR will install gems to the directory originally passed to \fB\-\-path\fR\. The Bundler runtime will look for gems in that location\. You can revert this option by running \fBbundle install \-\-system\fR\. +. +.TP +\fB\-\-binstubs\fR +Bundler will update the executables every subsequent call to \fBbundle install\fR\. +. +.TP +\fB\-\-without\fR +As described above, Bundler will skip the gems specified by \fB\-\-without\fR in subsequent calls to \fBbundle install\fR\. The Bundler runtime will also not try to make the gems in the skipped groups available\. +. +.SH "THE GEMFILE\.LOCK" +When you run \fBbundle install\fR, Bundler will persist the full names and versions of all gems that you used (including dependencies of the gems specified in the Gemfile(5)) into a file called \fBGemfile\.lock\fR\. +. +.P +Bundler uses this file in all subsequent calls to \fBbundle install\fR, which guarantees that you always use the same exact code, even as your application moves across machines\. +. +.P +Because of the way dependency resolution works, even a seemingly small change (for instance, an update to a point\-release of a dependency of a gem in your Gemfile(5)) can result in radically different gems being needed to satisfy all dependencies\. +. +.P +As a result, you \fBSHOULD\fR check your \fBGemfile\.lock\fR into version control\. If you do not, every machine that checks out your repository (including your production server) will resolve all dependencies again, which will result in different versions of third\-party code being used if \fBany\fR of the gems in the Gemfile(5) or any of their dependencies have been updated\. +. +.SH "CONSERVATIVE UPDATING" +When you make a change to the Gemfile(5) and then run \fBbundle install\fR, Bundler will update only the gems that you modified\. +. +.P +In other words, if a gem that you \fBdid not modify\fR worked before you called \fBbundle install\fR, it will continue to use the exact same versions of all dependencies as it used before the update\. +. +.P +Let\'s take a look at an example\. Here\'s your original Gemfile(5): +. +.IP "" 4 +. +.nf + +source "http://rubygems\.org" + +gem "actionpack", "2\.3\.8" +gem "activemerchant" +. +.fi +. +.IP "" 0 +. +.P +In this case, both \fBactionpack\fR and \fBactivemerchant\fR depend on \fBactivesupport\fR\. The \fBactionpack\fR gem depends on \fBactivesupport 2\.3\.8\fR and \fBrack ~> 1\.1\.0\fR, while the \fBactivemerchant\fR gem depends on \fBactivesupport >= 2\.3\.2\fR, \fBbraintree >= 2\.0\.0\fR, and \fBbuilder >= 2\.0\.0\fR\. +. +.P +When the dependencies are first resolved, Bundler will select \fBactivesupport 2\.3\.8\fR, which satisfies the requirements of both gems in your Gemfile(5)\. +. +.P +Next, you modify your Gemfile(5) to: +. +.IP "" 4 +. +.nf + +source "http://rubygems\.org" + +gem "actionpack", "3\.0\.0\.rc" +gem "activemerchant" +. +.fi +. +.IP "" 0 +. +.P +The \fBactionpack 3\.0\.0\.rc\fR gem has a number of new dependencies, and updates the \fBactivesupport\fR dependency to \fB= 3\.0\.0\.rc\fR and the \fBrack\fR dependency to \fB~> 1\.2\.1\fR\. +. +.P +When you run \fBbundle install\fR, Bundler notices that you changed the \fBactionpack\fR gem, but not the \fBactivemerchant\fR gem\. It evaluates the gems currently being used to satisfy its requirements: +. +.TP +\fBactivesupport 2\.3\.8\fR +also used to satisfy a dependency in \fBactivemerchant\fR, which is not being updated +. +.TP +\fBrack ~> 1\.1\.0\fR +not currently being used to satify another dependency +. +.P +Because you did not explicitly ask to update \fBactivemerchant\fR, you would not expect it to suddenly stop working after updating \fBactionpack\fR\. However, satisfying the new \fBactivesupport 3\.0\.0\.rc\fR dependency of actionpack requires updating one of its dependencies\. +. +.P +Even though \fBactivemerchant\fR declares a very loose dependency that theoretically matches \fBactivesupport 3\.0\.0\.rc\fR, bundler treats gems in your Gemfile(5) that have not changed as an atomic unit together with their dependencies\. In this case, the \fBactivemerchant\fR dependency is treated as \fBactivemerchant 1\.7\.1 + activesupport 2\.3\.8\fR, so \fBbundle install\fR will report that it cannot update \fBactionpack\fR\. +. +.P +To explicitly update \fBactionpack\fR, including its dependencies which other gems in the Gemfile(5) still depend on, run \fBbundle update actionpack\fR (see \fBbundle update(1)\fR)\. +. +.P +\fBSummary\fR: In general, after making a change to the Gemfile(5) , you should first try to run \fBbundle install\fR, which will guarantee that no other gems in the Gemfile(5) are impacted by the change\. If that does not work, run bundle update(1) \fIbundle\-update\.1\.html\fR\. diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-install.txt b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-install.txt new file mode 100644 index 00000000..0f22e268 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-install.txt @@ -0,0 +1,331 @@ +BUNDLE-INSTALL(1) BUNDLE-INSTALL(1) + + + +NAME + bundle-install - Install the dependencies specified in your Gemfile + +SYNOPSIS + bundle install [--local] [--quiet] [--gemfile=GEMFILE] [--system] + + + + [--deployment] [--frozen] [--path] + [--binstubs[=DIRECTORY]] [--without=GROUP1[ GROUP2...]] + + + +DESCRIPTION + Install the gems specified in your Gemfile(5). If this is the first + time you run bundle install (and a Gemfile.lock does not exist), + bundler will fetch all remote sources, resolve dependencies and install + all needed gems. + + If a Gemfile.lock does exist, and you have not updated your Gemfile(5), + bundler will fetch all remote sources, but use the dependencies speci- + fied in the Gemfile.lock instead of resolving dependencies. + + If a Gemfile.lock does exist, and you have updated your Gemfile(5), + bundler will use the dependencies in the Gemfile.lock for all gems that + you did not update, but will re-resolve the dependencies of gems that + you did update. You can find more information about this update process + below under CONSERVATIVE UPDATING. + +OPTIONS + --gemfile= + The location of the Gemfile(5) that bundler should use. This + defaults to a gemfile in the current working directory. In gen- + eral, bundler will assume that the location of the Gemfile(5) is + also the project root, and will look for the Gemfile.lock and + vendor/cache relative to it. + + --path= + The location to install the gems in the bundle to. This defaults + to the gem home, which is the location that gem install installs + gems to. This means that, by default, gems installed without a + --path setting will show up in gem list. This setting is a + remembered option. + + --system + Installs the gems in the bundle to the system location. This + overrides any previous remembered use of --path. + + --without= + A space-separated list of groups to skip installing. This is a + remembered option. + + --local + Do not attempt to connect to rubygems.org, instead using just + the gems located in vendor/cache. Note that if a more appropri- + ate platform-specific gem exists on rubygems.org, this will + bypass the normal lookup. + + --deployment + Switches bundler's defaults into deployment mode. + + --binstubs[=] + Create a directory (defaults to bin) containing an executable + that runs in the context of the bundle. For instance, if the + rails gem comes with a rails executable, this flag will create a + bin/rails executable that ensures that all dependencies used + come from the bundled gems. + +DEPLOYMENT MODE + Bundler's defaults are optimized for development. To switch to defaults + optimized for deployment, use the --deployment flag. + + 1. A Gemfile.lock is required. + + To ensure that the same versions of the gems you developed with and + tested with are also used in deployments, a Gemfile.lock is + required. + + This is mainly to ensure that you remember to check your Gem- + file.lock into version control. + + 2. The Gemfile.lock must be up to date + + In development, you can modify your Gemfile(5) and re-run bundle + install to conservatively update your Gemfile.lock snapshot. + + In deployment, your Gemfile.lock should be up-to-date with changes + made in your Gemfile(5). + + 3. Gems are installed to vendor/bundle not your default system loca- + tion + + In development, it's convenient to share the gems used in your + application with other applications and other scripts run on the + system. + + In deployment, isolation is a more important default. In addition, + the user deploying the application may not have permission to + install gems to the system, or the web server may not have permis- + sion to read them. + + As a result, bundle install --deployment installs gems to the ven- + dor/bundle directory in the application. This may be overridden + using the --path option. + + + +SUDO USAGE + By default, bundler installs gems to the same location as gem install. + + In some cases, that location may not be writable by your Unix user. In + that case, bundler will stage everything in a temporary directory, then + ask you for your sudo password in order to copy the gems into their + system location. + + From your perspective, this is identical to installing them gems + directly into the system. + + You should never use sudo bundle install. This is because several other + steps in bundle install must be performed as the current user: + + o Updating your Gemfile.lock + + o Updating your vendor/cache, if necessary + + o Checking out private git repositories using your user's SSH keys + + + + Of these three, the first two could theoretically be performed by + chowning the resulting files to $SUDO_USER. The third, however, can + only be performed by actually invoking the git command as the current + user. + + As a result, you should run bundle install as the current user, and + bundler will ask for your password if it is needed to perform the final + step. + +INSTALLING GROUPS + By default, bundle install will install all gems in all groups in your + Gemfile(5), except those declared for a different platform. + + However, you can explicitly tell bundler to skip installing certain + groups with the --without option. This option takes a space-separated + list of groups. + + While the --without option will skip installing the gems in the speci- + fied groups, it will still download those gems and use them to resolve + the dependencies of every gem in your Gemfile(5). + + This is so that installing a different set of groups on another machine + (such as a production server) will not change the gems and versions + that you have already developed and tested against. + + Bundler offers a rock-solid guarantee that the third-party code you are + running in development and testing is also the third-party code you are + running in production. You can choose to exclude some of that code in + different environments, but you will never be caught flat-footed by + different versions of third-party code being used in different environ- + ments. + + For a simple illustration, consider the following Gemfile(5): + + + + source "http://rubygems.org" + + gem "sinatra" + + group :production do + gem "rack-perftools-profiler" + end + + + + In this case, sinatra depends on any version of Rack (>= 1.0, while + rack-perftools-profiler depends on 1.x (~> 1.0). + + When you run bundle install --without production in development, we + look at the dependencies of rack-perftools-profiler as well. That way, + you do not spend all your time developing against Rack 2.0, using new + APIs unavailable in Rack 1.x, only to have bundler switch to Rack 1.2 + when the production group is used. + + This should not cause any problems in practice, because we do not + attempt to install the gems in the excluded groups, and only evaluate + as part of the dependency resolution process. + + This also means that you cannot include different versions of the same + gem in different groups, because doing so would result in different + sets of dependencies used in development and production. Because of the + vagaries of the dependency resolution process, this usually affects + more than just the gems you list in your Gemfile(5), and can (surpris- + ingly) radically change the gems you are using. + +REMEMBERED OPTIONS + Some options (marked above in the OPTIONS section) are remembered + between calls to bundle install, and by the Bundler runtime. + + For instance, if you run bundle install --without test, a subsequent + call to bundle install that does not include a --without flag will + remember your previous choice. + + In addition, a call to Bundler.setup will not attempt to make the gems + in those groups available on the Ruby load path, as they were not + installed. + + The settings that are remembered are: + + --deployment + At runtime, this remembered setting will also result in Bundler + raising an exception if the Gemfile.lock is out of date. + + --path Subsequent calls to bundle install will install gems to the + directory originally passed to --path. The Bundler runtime will + look for gems in that location. You can revert this option by + running bundle install --system. + + --binstubs + Bundler will update the executables every subsequent call to + bundle install. + + --without + As described above, Bundler will skip the gems specified by + --without in subsequent calls to bundle install. The Bundler + runtime will also not try to make the gems in the skipped groups + available. + +THE GEMFILE.LOCK + When you run bundle install, Bundler will persist the full names and + versions of all gems that you used (including dependencies of the gems + specified in the Gemfile(5)) into a file called Gemfile.lock. + + Bundler uses this file in all subsequent calls to bundle install, which + guarantees that you always use the same exact code, even as your appli- + cation moves across machines. + + Because of the way dependency resolution works, even a seemingly small + change (for instance, an update to a point-release of a dependency of a + gem in your Gemfile(5)) can result in radically different gems being + needed to satisfy all dependencies. + + As a result, you SHOULD check your Gemfile.lock into version control. + If you do not, every machine that checks out your repository (including + your production server) will resolve all dependencies again, which will + result in different versions of third-party code being used if any of + the gems in the Gemfile(5) or any of their dependencies have been + updated. + +CONSERVATIVE UPDATING + When you make a change to the Gemfile(5) and then run bundle install, + Bundler will update only the gems that you modified. + + In other words, if a gem that you did not modify worked before you + called bundle install, it will continue to use the exact same versions + of all dependencies as it used before the update. + + Let's take a look at an example. Here's your original Gemfile(5): + + + + source "http://rubygems.org" + + gem "actionpack", "2.3.8" + gem "activemerchant" + + + + In this case, both actionpack and activemerchant depend on activesup- + port. The actionpack gem depends on activesupport 2.3.8 and rack ~> + 1.1.0, while the activemerchant gem depends on activesupport >= 2.3.2, + braintree >= 2.0.0, and builder >= 2.0.0. + + When the dependencies are first resolved, Bundler will select + activesupport 2.3.8, which satisfies the requirements of both gems in + your Gemfile(5). + + Next, you modify your Gemfile(5) to: + + + + source "http://rubygems.org" + + gem "actionpack", "3.0.0.rc" + gem "activemerchant" + + + + The actionpack 3.0.0.rc gem has a number of new dependencies, and + updates the activesupport dependency to = 3.0.0.rc and the rack depen- + dency to ~> 1.2.1. + + When you run bundle install, Bundler notices that you changed the + actionpack gem, but not the activemerchant gem. It evaluates the gems + currently being used to satisfy its requirements: + + activesupport 2.3.8 + also used to satisfy a dependency in activemerchant, which is + not being updated + + rack ~> 1.1.0 + not currently being used to satify another dependency + + Because you did not explicitly ask to update activemerchant, you would + not expect it to suddenly stop working after updating actionpack. How- + ever, satisfying the new activesupport 3.0.0.rc dependency of action- + pack requires updating one of its dependencies. + + Even though activemerchant declares a very loose dependency that theo- + retically matches activesupport 3.0.0.rc, bundler treats gems in your + Gemfile(5) that have not changed as an atomic unit together with their + dependencies. In this case, the activemerchant dependency is treated as + activemerchant 1.7.1 + activesupport 2.3.8, so bundle install will + report that it cannot update actionpack. + + To explicitly update actionpack, including its dependencies which other + gems in the Gemfile(5) still depend on, run bundle update actionpack + (see bundle update(1)). + + Summary: In general, after making a change to the Gemfile(5) , you + should first try to run bundle install, which will guarantee that no + other gems in the Gemfile(5) are impacted by the change. If that does + not work, run bundle update(1) bundle-update.1.html. + + + + August 2010 BUNDLE-INSTALL(1) diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-package b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-package new file mode 100644 index 00000000..f102505f --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-package @@ -0,0 +1,49 @@ +.\" generated with Ronn/v0.7.3 +.\" http://github.com/rtomayko/ronn/tree/0.7.3 +. +.TH "BUNDLE\-PACKAGE" "1" "August 2010" "" "" +. +.SH "NAME" +\fBbundle\-package\fR \- Package your needed \fB\.gem\fR files into your application +. +.SH "SYNOPSIS" +\fBbundle package\fR +. +.SH "DESCRIPTION" +Copy all of the \fB\.gem\fR files needed to run the application into the \fBvendor/cache\fR directory\. In the future, when running bundle install(1) \fIbundle\-install\.1\.html\fR, use the gems in the cache in preference to the ones on \fBrubygems\.org\fR\. +. +.SH "GIT AND PATH GEMS" +In Bundler 1\.0, the \fBbundle package\fR command only packages \fB\.gem\fR files, not gems specified using the \fB:git\fR or \fB:path\fR options\. This will likely change in the future\. +. +.SH "REMOTE FETCHING" +By default, if you simply run bundle install(1) \fIbundle\-install\.1\.html\fR after running bundle package(1) \fIbundle\-package\.1\.html\fR, bundler will still connect to \fBrubygems\.org\fR to check whether a platform\-specific gem exists for any of the gems in \fBvendor/cache\fR\. +. +.P +For instance, consider this Gemfile(5): +. +.IP "" 4 +. +.nf + +source "http://rubygems\.org" + +gem "nokogiri" +. +.fi +. +.IP "" 0 +. +.P +If you run \fBbundle package\fR under C Ruby, bundler will retrieve the version of \fBnokogiri\fR for the \fB"ruby"\fR platform\. If you deploy to JRuby and run \fBbundle install\fR, bundler is forced to check to see whether a \fB"java"\fR platformed \fBnokogiri\fR exists\. +. +.P +Even though the \fBnokogiri\fR gem for the Ruby platform is \fItechnically\fR acceptable on JRuby, it actually has a C extension that does not run on JRuby\. As a result, bundler will, by default, still connect to \fBrubygems\.org\fR to check whether it has a version of one of your gems more specific to your platform\. +. +.P +This problem is also not just limited to the \fB"java"\fR platform\. A similar (common) problem can happen when developing on Windows and deploying to Linux, or even when developing on OSX and deploying to Linux\. +. +.P +If you know for sure that the gems packaged in \fBvendor/cache\fR are appropriate for the platform you are on, you can run \fBbundle install \-\-local\fR to skip checking for more appropriate gems, and just use the ones in \fBvendor/cache\fR\. +. +.P +One way to be sure that you have the right platformed versions of all your gems is to run \fBbundle package\fR on an identical machine and check in the gems\. For instance, you can run \fBbundle package\fR on an identical staging box during your staging process, and check in the \fBvendor/cache\fR before deploying to production\. diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-package.txt b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-package.txt new file mode 100644 index 00000000..0ce28cb8 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-package.txt @@ -0,0 +1,66 @@ +BUNDLE-PACKAGE(1) BUNDLE-PACKAGE(1) + + + +NAME + bundle-package - Package your needed .gem files into your application + +SYNOPSIS + bundle package + +DESCRIPTION + Copy all of the .gem files needed to run the application into the ven- + dor/cache directory. In the future, when running bundle install(1) bun- + dle-install.1.html, use the gems in the cache in preference to the ones + on rubygems.org. + +GIT AND PATH GEMS + In Bundler 1.0, the bundle package command only packages .gem files, + not gems specified using the :git or :path options. This will likely + change in the future. + +REMOTE FETCHING + By default, if you simply run bundle install(1) bundle-install.1.html + after running bundle package(1) bundle-package.1.html, bundler will + still connect to rubygems.org to check whether a platform-specific gem + exists for any of the gems in vendor/cache. + + For instance, consider this Gemfile(5): + + + + source "http://rubygems.org" + + gem "nokogiri" + + + + If you run bundle package under C Ruby, bundler will retrieve the ver- + sion of nokogiri for the "ruby" platform. If you deploy to JRuby and + run bundle install, bundler is forced to check to see whether a "java" + platformed nokogiri exists. + + Even though the nokogiri gem for the Ruby platform is technically + acceptable on JRuby, it actually has a C extension that does not run on + JRuby. As a result, bundler will, by default, still connect to + rubygems.org to check whether it has a version of one of your gems more + specific to your platform. + + This problem is also not just limited to the "java" platform. A similar + (common) problem can happen when developing on Windows and deploying to + Linux, or even when developing on OSX and deploying to Linux. + + If you know for sure that the gems packaged in vendor/cache are appro- + priate for the platform you are on, you can run bundle install --local + to skip checking for more appropriate gems, and just use the ones in + vendor/cache. + + One way to be sure that you have the right platformed versions of all + your gems is to run bundle package on an identical machine and check in + the gems. For instance, you can run bundle package on an identical + staging box during your staging process, and check in the vendor/cache + before deploying to production. + + + + August 2010 BUNDLE-PACKAGE(1) diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-update b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-update new file mode 100644 index 00000000..78e4b48b --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-update @@ -0,0 +1,202 @@ +.\" generated with Ronn/v0.7.3 +.\" http://github.com/rtomayko/ronn/tree/0.7.3 +. +.TH "BUNDLE\-UPDATE" "1" "August 2010" "" "" +. +.SH "NAME" +\fBbundle\-update\fR \- Update your gems to the latest available versions +. +.SH "SYNOPSIS" +\fBbundle update\fR \fI*gems\fR [\-\-source=NAME] +. +.SH "DESCRIPTION" +Update the gems specified (all gems, if none are specified), ignoring the previously installed gems specified in the \fBGemfile\.lock\fR\. In general, you should use bundle install(1) \fIbundle\-install\.1\.html\fR to install the same exact gems and versions across machines\. +. +.P +You would use \fBbundle update\fR to explicitly update the version of a gem\. +. +.SH "OPTIONS" +. +.TP +\fB\-\-source=\fR +The name of a \fB:git\fR or \fB:path\fR source used in the Gemfile(5)\. For instance, with a \fB:git\fR source of \fBhttp://github\.com/rails/rails\.git\fR, you would call \fBbundle update \-\-source rails\fR +. +.SH "UPDATING ALL GEMS" +If you run \fBbundle update\fR with no parameters, bundler will ignore any previously installed gems and resolve all dependencies again based on the latest versions of all gems available in the sources\. +. +.P +Consider the following Gemfile(5): +. +.IP "" 4 +. +.nf + +source "http://rubygems\.org" + +gem "rails", "3\.0\.0\.rc" +gem "nokogiri" +. +.fi +. +.IP "" 0 +. +.P +When you run bundle install(1) \fIbundle\-install\.1\.html\fR the first time, bundler will resolve all of the dependencies, all the way down, and install what you need: +. +.IP "" 4 +. +.nf + +Fetching source index for http://rubygems\.org/ +Installing rake (0\.8\.7) +Installing abstract (1\.0\.0) +Installing activesupport (3\.0\.0\.rc) +Installing builder (2\.1\.2) +Installing i18n (0\.4\.1) +Installing activemodel (3\.0\.0\.rc) +Installing erubis (2\.6\.6) +Installing rack (1\.2\.1) +Installing rack\-mount (0\.6\.9) +Installing rack\-test (0\.5\.4) +Installing tzinfo (0\.3\.22) +Installing actionpack (3\.0\.0\.rc) +Installing mime\-types (1\.16) +Installing polyglot (0\.3\.1) +Installing treetop (1\.4\.8) +Installing mail (2\.2\.5) +Installing actionmailer (3\.0\.0\.rc) +Installing arel (0\.4\.0) +Installing activerecord (3\.0\.0\.rc) +Installing activeresource (3\.0\.0\.rc) +Installing bundler (1\.0\.0\.rc\.3) +Installing nokogiri (1\.4\.3\.1) with native extensions +Installing thor (0\.14\.0) +Installing railties (3\.0\.0\.rc) +Installing rails (3\.0\.0\.rc) + +Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed\. +. +.fi +. +.IP "" 0 +. +.P +As you can see, even though you have just two gems in the Gemfile(5), your application actually needs 25 different gems in order to run\. Bundler remembers the exact versions it installed in \fBGemfile\.lock\fR\. The next time you run bundle install(1) \fIbundle\-install\.1\.html\fR, bundler skips the dependency resolution and installs the same gems as it installed last time\. +. +.P +After checking in the \fBGemfile\.lock\fR into version control and cloning it on another machine, running bundle install(1) \fIbundle\-install\.1\.html\fR will \fIstill\fR install the gems that you installed last time\. You don\'t need to worry that a new release of \fBerubis\fR or \fBmail\fR changes the gems you use\. +. +.P +However, from time to time, you might want to update the gems you are using to the newest versions that still match the gems in your Gemfile(5)\. +. +.P +To do this, run \fBbundle update\fR, which will ignore the \fBGemfile\.lock\fR, and resolve all the dependencies again\. Keep in mind that this process can result in a significantly different set of the 25 gems, based on the requirements of new gems that the gem authors released since the last time you ran \fBbundle update\fR\. +. +.SH "UPDATING A LIST OF GEMS" +Sometimes, you want to update a single gem in the Gemfile(5), and leave the rest of the gems that you specified locked to the versions in the \fBGemfile\.lock\fR\. +. +.P +For instance, in the scenario above, imagine that \fBnokogiri\fR releases version \fB1\.4\.4\fR, and you want to update it \fIwithout\fR updating Rails and all of its dependencies\. To do this, run \fBbundle update nokogiri\fR\. +. +.P +Bundler will update \fBnokogiri\fR and any of its dependencies, but leave alone Rails and its dependencies\. +. +.SH "OVERLAPPING DEPENDENCIES" +Sometimes, multiple gems declared in your Gemfile(5) are satisfied by the same second\-level dependency\. For instance, consider the case of \fBthin\fR and \fBrack\-perftools\-profiler\fR\. +. +.IP "" 4 +. +.nf + +source "http://rubygems\.org" + +gem "thin" +gem "rack\-perftools\-profiler" +. +.fi +. +.IP "" 0 +. +.P +The \fBthin\fR gem depends on \fBrack >= 1\.0\fR, while \fBrack\-perftools\-profiler\fR depends on \fBrack ~> 1\.0\fR\. If you run bundle install, you get: +. +.IP "" 4 +. +.nf + +Fetching source index for http://rubygems\.org/ +Installing daemons (1\.1\.0) +Installing eventmachine (0\.12\.10) with native extensions +Installing open4 (1\.0\.1) +Installing perftools\.rb (0\.4\.7) with native extensions +Installing rack (1\.2\.1) +Installing rack\-perftools_profiler (0\.0\.2) +Installing thin (1\.2\.7) with native extensions +Using bundler (1\.0\.0\.rc\.3) +. +.fi +. +.IP "" 0 +. +.P +In this case, the two gems have their own set of dependencies, but they share \fBrack\fR in common\. If you run \fBbundle update thin\fR, bundler will update \fBdaemons\fR, \fBeventmachine\fR and \fBrack\fR, which are dependencies of \fBthin\fR, but not \fBopen4\fR or \fBperftools\.rb\fR, which are dependencies of \fBrack\-perftools_profiler\fR\. Note that \fBbundle update thin\fR will update \fBrack\fR even though it\'s \fIalso\fR a dependency of \fBrack\-perftools_profiler\fR\. +. +.P +\fBIn short\fR, when you update a gem using \fBbundle update\fR, bundler will update all dependencies of that gem, including those that are also dependencies of another gem\. +. +.P +In this scenario, updating the \fBthin\fR version manually in the Gemfile(5), and then running bundle install(1) \fIbundle\-install\.1\.html\fR will only update \fBdaemons\fR and \fBeventmachine\fR, but not \fBrack\fR\. For more information, see the \fBCONSERVATIVE UPDATING\fR section of bundle install(1) \fIbundle\-install\.1\.html\fR\. +. +.SH "RECOMMENDED WORKFLOW" +In general, when working with an application managed with bundler, you should use the following workflow: +. +.IP "\(bu" 4 +After you create your Gemfile(5) for the first time, run +. +.IP +$ bundle install +. +.IP "\(bu" 4 +Check the resulting \fBGemfile\.lock\fR into version control +. +.IP +$ git add Gemfile\.lock +. +.IP "\(bu" 4 +When checking out this repository on another development machine, run +. +.IP +$ bundle install +. +.IP "\(bu" 4 +When checking out this repository on a deployment machine, run +. +.IP +$ bundle install \-\-deployment +. +.IP "\(bu" 4 +After changing the Gemfile(5) to reflect a new or update dependency, run +. +.IP +$ bundle install +. +.IP "\(bu" 4 +Make sure to check the updated \fBGemfile\.lock\fR into version control +. +.IP +$ git add Gemfile\.lock +. +.IP "\(bu" 4 +If bundle install(1) \fIbundle\-install\.1\.html\fR reports a conflict, manually update the specific gems that you changed in the Gemfile(5) +. +.IP +$ bundle update rails thin +. +.IP "\(bu" 4 +If you want to update all the gems to the latest possible versions that still match the gems listed in the Gemfile(5), run +. +.IP +$ bundle update +. +.IP "" 0 + diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-update.txt b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-update.txt new file mode 100644 index 00000000..91446cf2 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-update.txt @@ -0,0 +1,207 @@ +BUNDLE-UPDATE(1) BUNDLE-UPDATE(1) + + + +NAME + bundle-update - Update your gems to the latest available versions + +SYNOPSIS + bundle update *gems [--source=NAME] + +DESCRIPTION + Update the gems specified (all gems, if none are specified), ignoring + the previously installed gems specified in the Gemfile.lock. In gen- + eral, you should use bundle install(1) bundle-install.1.html to install + the same exact gems and versions across machines. + + You would use bundle update to explicitly update the version of a gem. + +OPTIONS + --source= + The name of a :git or :path source used in the Gemfile(5). For + instance, with a :git source of + http://github.com/rails/rails.git, you would call bundle update + --source rails + +UPDATING ALL GEMS + If you run bundle update with no parameters, bundler will ignore any + previously installed gems and resolve all dependencies again based on + the latest versions of all gems available in the sources. + + Consider the following Gemfile(5): + + + + source "http://rubygems.org" + + gem "rails", "3.0.0.rc" + gem "nokogiri" + + + + When you run bundle install(1) bundle-install.1.html the first time, + bundler will resolve all of the dependencies, all the way down, and + install what you need: + + + + Fetching source index for http://rubygems.org/ + Installing rake (0.8.7) + Installing abstract (1.0.0) + Installing activesupport (3.0.0.rc) + Installing builder (2.1.2) + Installing i18n (0.4.1) + Installing activemodel (3.0.0.rc) + Installing erubis (2.6.6) + Installing rack (1.2.1) + Installing rack-mount (0.6.9) + Installing rack-test (0.5.4) + Installing tzinfo (0.3.22) + Installing actionpack (3.0.0.rc) + Installing mime-types (1.16) + Installing polyglot (0.3.1) + Installing treetop (1.4.8) + Installing mail (2.2.5) + Installing actionmailer (3.0.0.rc) + Installing arel (0.4.0) + Installing activerecord (3.0.0.rc) + Installing activeresource (3.0.0.rc) + Installing bundler (1.0.0.rc.3) + Installing nokogiri (1.4.3.1) with native extensions + Installing thor (0.14.0) + Installing railties (3.0.0.rc) + Installing rails (3.0.0.rc) + + Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed. + + + + As you can see, even though you have just two gems in the Gemfile(5), + your application actually needs 25 different gems in order to run. + Bundler remembers the exact versions it installed in Gemfile.lock. The + next time you run bundle install(1) bundle-install.1.html, bundler + skips the dependency resolution and installs the same gems as it + installed last time. + + After checking in the Gemfile.lock into version control and cloning it + on another machine, running bundle install(1) bundle-install.1.html + will still install the gems that you installed last time. You don't + need to worry that a new release of erubis or mail changes the gems you + use. + + However, from time to time, you might want to update the gems you are + using to the newest versions that still match the gems in your Gem- + file(5). + + To do this, run bundle update, which will ignore the Gemfile.lock, and + resolve all the dependencies again. Keep in mind that this process can + result in a significantly different set of the 25 gems, based on the + requirements of new gems that the gem authors released since the last + time you ran bundle update. + +UPDATING A LIST OF GEMS + Sometimes, you want to update a single gem in the Gemfile(5), and leave + the rest of the gems that you specified locked to the versions in the + Gemfile.lock. + + For instance, in the scenario above, imagine that nokogiri releases + version 1.4.4, and you want to update it without updating Rails and all + of its dependencies. To do this, run bundle update nokogiri. + + Bundler will update nokogiri and any of its dependencies, but leave + alone Rails and its dependencies. + +OVERLAPPING DEPENDENCIES + Sometimes, multiple gems declared in your Gemfile(5) are satisfied by + the same second-level dependency. For instance, consider the case of + thin and rack-perftools-profiler. + + + + source "http://rubygems.org" + + gem "thin" + gem "rack-perftools-profiler" + + + + The thin gem depends on rack >= 1.0, while rack-perftools-profiler + depends on rack ~> 1.0. If you run bundle install, you get: + + + + Fetching source index for http://rubygems.org/ + Installing daemons (1.1.0) + Installing eventmachine (0.12.10) with native extensions + Installing open4 (1.0.1) + Installing perftools.rb (0.4.7) with native extensions + Installing rack (1.2.1) + Installing rack-perftools_profiler (0.0.2) + Installing thin (1.2.7) with native extensions + Using bundler (1.0.0.rc.3) + + + + In this case, the two gems have their own set of dependencies, but they + share rack in common. If you run bundle update thin, bundler will + update daemons, eventmachine and rack, which are dependencies of thin, + but not open4 or perftools.rb, which are dependencies of + rack-perftools_profiler. Note that bundle update thin will update rack + even though it's also a dependency of rack-perftools_profiler. + + In short, when you update a gem using bundle update, bundler will + update all dependencies of that gem, including those that are also + dependencies of another gem. + + In this scenario, updating the thin version manually in the Gemfile(5), + and then running bundle install(1) bundle-install.1.html will only + update daemons and eventmachine, but not rack. For more information, + see the CONSERVATIVE UPDATING section of bundle install(1) bun- + dle-install.1.html. + +RECOMMENDED WORKFLOW + In general, when working with an application managed with bundler, you + should use the following workflow: + + o After you create your Gemfile(5) for the first time, run + + $ bundle install + + o Check the resulting Gemfile.lock into version control + + $ git add Gemfile.lock + + o When checking out this repository on another development machine, + run + + $ bundle install + + o When checking out this repository on a deployment machine, run + + $ bundle install --deployment + + o After changing the Gemfile(5) to reflect a new or update depen- + dency, run + + $ bundle install + + o Make sure to check the updated Gemfile.lock into version control + + $ git add Gemfile.lock + + o If bundle install(1) bundle-install.1.html reports a conflict, man- + ually update the specific gems that you changed in the Gemfile(5) + + $ bundle update rails thin + + o If you want to update all the gems to the latest possible versions + that still match the gems listed in the Gemfile(5), run + + $ bundle update + + + + + + + August 2010 BUNDLE-UPDATE(1) diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle.txt b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle.txt new file mode 100644 index 00000000..9a014ec8 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle.txt @@ -0,0 +1,83 @@ +BUNDLE(1) BUNDLE(1) + + + +NAME + bundle - Ruby Dependency Management + +SYNOPSIS + bundle [--no-color] COMMAND [ARGS] + +DESCRIPTION + Bundler manages an application's dependencies through its entire life + across many machines systematically and repeatably. + + See the bundler website http://gembundler.com for information on get- + ting started, and Gemfile(5) for more information on the Gemfile for- + mat. + +OPTIONS + --no-color + Prints all output without color + +BUNDLE COMMANDS + We divide bundle subcommands into primary commands and utilities. + +PRIMARY COMMANDS + bundle install(1) bundle-install.1.html + Install the gems specified by the Gemfile or Gemfile.lock + + bundle update(1) bundle-update.1.html + Update dependencies to their latest versions + + bundle package(1) bundle-package.1.html + Package the .gem files required by your application into the + vendor/cache directory + + bundle exec(1) bundle-exec.1.html + Execute a script in the context of the current bundle + + bundle config(1) bundle-config.1.html + Specify and read configuration options for bundler + +UTILITIES + bundle check(1) + Determine whether the requirements for your application are + installed and available to bundler + + bundle list(1) + Show all of the gems in the current bundle + + bundle show(1) + Show the source location of a particular gem in the bundle + + bundle console(1) + Start an IRB session in the context of the current bundle + + bundle open(1) + Open an installed gem in the editor + + bundle viz(1) + Generate a visual representation of your dependencies + + bundle init(1) + Generate a simple Gemfile, placed in the current directory + + bundle gem(1) + Create a simple gem, suitable for development with bundler + +OBSOLETE + These commands are obsolete and should no longer be used + + o bundle lock(1) + + o bundle unlock(1) + + o bundle cache(1) + + + + + + + August 2010 BUNDLE(1) diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/gemfile.5 b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/gemfile.5 new file mode 100644 index 00000000..0b431ac5 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/gemfile.5 @@ -0,0 +1,343 @@ +.\" generated with Ronn/v0.7.3 +.\" http://github.com/rtomayko/ronn/tree/0.7.3 +. +.TH "GEMFILE" "5" "August 2010" "" "" +. +.SH "NAME" +\fBGemfile\fR \- A format for describing gem dependencies for Ruby programs +. +.SH "SYNOPSIS" +A \fBGemfile\fR describes the gem dependencies required to execute associated Ruby code\. +. +.P +Place the \fBGemfile\fR in the root of the directory containing the associated code\. For instance, in a Rails application, place the \fBGemfile\fR in the same directory as the \fBRakefile\fR\. +. +.SH "SYNTAX" +A \fBGemfile\fR is evaluated as Ruby code, in a context which makes available a number of methods used to describe the gem requirements\. +. +.SH "SOURCES (#source)" +At the top of the \fBGemfile\fR, add one line for each \fBRubygems\fR source that might contain the gems listed in the \fBGemfile\fR\. +. +.IP "" 4 +. +.nf + +source "http://rubygems\.org" +source "http://gems\.github\.com" +. +.fi +. +.IP "" 0 +. +.P +Each of these _source_s \fBMUST\fR be a valid Rubygems repository\. +. +.SH "GEMS (#gem)" +Specify gem requirements using the \fBgem\fR method, with the following arguments\. All parameters are \fBOPTIONAL\fR unless otherwise specified\. +. +.SS "NAME (required)" +For each gem requirement, list a single \fIgem\fR line\. +. +.IP "" 4 +. +.nf + +gem "nokogiri" +. +.fi +. +.IP "" 0 +. +.SS "VERSION" +Each \fIgem\fR \fBMAY\fR have one or more version specifiers\. +. +.IP "" 4 +. +.nf + +gem "nokogiri", ">= 1\.4\.2" +gem "RedCloth", ">= 4\.1\.0", "< 4\.2\.0" +. +.fi +. +.IP "" 0 +. +.SS "REQUIRE AS (:require)" +Each \fIgem\fR \fBMAY\fR specify its main file, which should be used when autorequiring (\fBBundler\.require\fR)\. +. +.IP "" 4 +. +.nf + +gem "sqlite3\-ruby", :require => "sqlite3" +. +.fi +. +.IP "" 0 +. +.P +This defaults to the name of the gem itself\. For instance, these are identical: +. +.IP "" 4 +. +.nf + +gem "nokogiri" +gem "nokogiri", :require => "nokogiri" +. +.fi +. +.IP "" 0 +. +.SS "GROUPS (:group or :groups)" +Each \fIgem\fR \fBMAY\fR specify membership in one or more groups\. Any \fIgem\fR that does not specify membership in any group is placed in the \fBdefault\fR group\. +. +.IP "" 4 +. +.nf + +gem "rspec", :group => :test +gem "wirble", :groups => [:development, :test] +. +.fi +. +.IP "" 0 +. +.P +The Bundler runtime allows its two main methods, \fBBundler\.setup\fR and \fBBundler\.require\fR, to limit their impact to particular groups\. +. +.IP "" 4 +. +.nf + +# setup adds gems to Ruby\'s load path +Bundler\.setup # defaults to all groups +require "bundler/setup" # same as Bundler\.setup +Bundler\.setup(:default) # only set up the _default_ group +Bundler\.setup(:test) # only set up the _test_ group (but `not` _default_) +Bundler\.setup(:default, :test) # set up the _default_ and _test_ groups, but no others + +# require requires all of the gems in the specified groups +Bundler\.require # defaults to just the _default_ group +Bundler\.require(:default) # identical +Bundler\.require(:default, :test) # requires the _default_ and _test_ groups +Bundler\.require(:test) # requires just the _test_ group +. +.fi +. +.IP "" 0 +. +.P +The Bundler CLI allows you to specify a list of groups whose gems \fBbundle install\fR should not install with the \fB\-\-without\fR option\. To specify multiple groups to ignore, specify a list of groups separated by spaces\. +. +.IP "" 4 +. +.nf + +bundle install \-\-without test +bundle install \-\-without development test +. +.fi +. +.IP "" 0 +. +.P +After running \fBbundle install \-\-without test\fR, bundler will remember that you excluded the test group in the last installation\. The next time you run \fBbundle install\fR, without any \fB\-\-without option\fR, bundler will recall it\. +. +.P +Also, calling \fBBundler\.setup\fR with no parameters, or calling \fBrequire "bundler/setup"\fR will setup all groups except for the ones you excluded via \fB\-\-without\fR (since they are obviously not available)\. +. +.P +Note that on \fBbundle install\fR, bundler downloads and evaluates all gems, in order to create a single canonical list of all of the required gems and their dependencies\. This means that you cannot list different versions of the same gems in different groups\. For more details, see Understanding Bundler \fIhttp://gembundler\.com/v1\.0/understanding\.html\fR\. +. +.SS "PLATFORMS (:platforms)" +If a gem should only be used in a particular platform or set of platforms, you can specify them\. Platforms are essentially identical to groups, except that you do not need to use the \fB\-\-without\fR install\-time flag to exclude groups of gems for other platforms\. +. +.P +There are a number of \fBGemfile\fR platforms: +. +.TP +\fBruby\fR +C Ruby (MRI) or Rubinius, but \fBNOT\fR Windows +. +.TP +\fBruby_18\fR +\fIruby\fR \fBAND\fR version 1\.8 +. +.TP +\fBruby_19\fR +\fIruby\fR \fBAND\fR version 1\.9 +. +.TP +\fBmri\fR +Same as \fIruby\fR, but not Rubinius +. +.TP +\fBmri_18\fR +\fImri\fR \fBAND\fR version 1\.8 +. +.TP +\fBmri_19\fR +\fImri\fR \fBAND\fR version 1\.9 +. +.TP +\fBjruby\fR +JRuby +. +.TP +\fBmswin\fR +Windows +. +.P +As with groups, you can specify one or more platforms: +. +.IP "" 4 +. +.nf + +gem "weakling", :platforms => :jruby +gem "ruby\-debug", :platforms => :mri_18 +gem "nokogiri", :platforms => [:mri_18, :jruby] +. +.fi +. +.IP "" 0 +. +.P +All operations involving groups (\fBbundle install\fR, \fBBundler\.setup\fR, \fBBundler\.require\fR) behave exactly the same as if any groups not matching the current platform were explicitly excluded\. +. +.SS "GIT (:git)" +If necessary, you can specify that a gem is located at a particular git repository\. The repository can be public (\fBhttp://github\.com/rails/rails\.git\fR) or private (\fBgit@github\.com:rails/rails\.git\fR)\. If the repository is private, the user that you use to run \fBbundle install\fR \fBMUST\fR have the appropriate keys available in their \fB$HOME/\.ssh\fR\. +. +.P +Git repositories are specified using the \fB:git\fR parameter\. The \fBgroup\fR, \fBplatforms\fR, and \fBrequire\fR options are available and behave exactly the same as they would for a normal gem\. +. +.IP "" 4 +. +.nf + +gem "rails", :git => "git://github\.com/rails/rails\.git" +. +.fi +. +.IP "" 0 +. +.P +A git repository \fBSHOULD\fR have at least one file, at the root of the directory containing the gem, with the extension \fB\.gemspec\fR\. This file \fBMUST\fR contain a valid gem specification, as expected by the \fBgem build\fR command\. It \fBMUST NOT\fR have any dependencies, other than on the files in the git repository itself and any built\-in functionality of Ruby or Rubygems\. +. +.P +If a git repository does not have a \fB\.gemspec\fR, bundler will attempt to create one, but it will not contain any dependencies, executables, or C extension compilation instructions\. As a result, it may fail to properly integrate into your application\. +. +.P +If a git repository does have a \fB\.gemspec\fR for the gem you attached it to, a version specifier, if provided, means that the git repository is only valid if the \fB\.gemspec\fR specifies a version matching the version specifier\. If not, bundler will print a warning\. +. +.IP "" 4 +. +.nf + +gem "rails", "2\.3\.8", :git => "git://github\.com/rails/rails\.git" +# bundle install will fail, because the \.gemspec in the rails +# repository\'s master branch specifies version 3\.0\.0 +. +.fi +. +.IP "" 0 +. +.P +If a git repository does \fBnot\fR have a \fB\.gemspec\fR for the gem you attached it to, a version specifier \fBMUST\fR be provided\. Bundler will use this version in the simple \fB\.gemspec\fR it creates\. +. +.P +Git repositories support a number of additional options\. +. +.TP +\fBbranch\fR, \fBtag\fR, and \fBref\fR +You \fBMUST\fR only specify at most one of these options\. The default is \fB:branch => "master"\fR +. +.TP +\fBsubmodules\fR +Specify \fB:submodules => true\fR to cause bundler to expand any submodules included in the git repository +. +.P +If a git repository contains multiple \fB\.gemspecs\fR, each \fB\.gemspec\fR represents a gem located at the same place in the file system as the \fB\.gemspec\fR\. +. +.IP "" 4 +. +.nf + +|~rails [git root] +| |\-rails\.gemspec [rails gem located here] +|~actionpack +| |\-actionpack\.gemspec [actionpack gem located here] +|~activesupport +| |\-activesupport\.gemspec [activesupport gem located here] +\.\.\. +. +.fi +. +.IP "" 0 +. +.P +To install a gem located in a git repository, bundler changes to the directory containing the gemspec, runs \fBgem build name\.gemspec\fR and then installs the resulting gem\. The \fBgem build\fR command, which comes standard with Rubygems, evaluates the \fB\.gemspec\fR in the context of the directory in which it is located\. +. +.SS "PATH (:path)" +You can specify that a gem is located in a particular location on the file system\. Relative paths are resolved relative to the directory containing the \fBGemfile\fR\. +. +.P +Similar to the semantics of the \fB:git\fR option, the \fB:path\fR option requires that the directory in question either contains a \fB\.gemspec\fR for the gem, or that you specify an explicit version that bundler should use\. +. +.P +Unlike \fB:git\fR, bundler does not compile C extensions for gems specified as paths\. +. +.IP "" 4 +. +.nf + +gem "rails", :path => "vendor/rails" +. +.fi +. +.IP "" 0 +. +.SH "BLOCK FORM OF GIT, PATH, GROUP and PLATFORMS" +The \fB:git\fR, \fB:path\fR, \fB:group\fR, and \fB:platforms\fR options may be applied to a group of gems by using block form\. +. +.IP "" 4 +. +.nf + +git "git://github\.com/rails/rails\.git" do + gem "activesupport" + gem "actionpack" +end + +platforms :ruby do + gem "ruby\-debug" + gem "sqlite3\-ruby" +end + +group :development do + gem "wirble" + gem "faker" +end +. +.fi +. +.IP "" 0 +. +.P +In the case of the \fBgit\fR block form, the \fB:ref\fR, \fB:branch\fR, \fB:tag\fR, and \fB:submodules\fR options may be passed to the \fBgit\fR method, and all gems in the block will inherit those options\. +. +.SH "SOURCE PRIORITY" +When attempting to locate a gem to satisfy a gem requirement, bundler uses the following priority order: +. +.IP "1." 4 +The source explicitly attached to the gem (using \fB:path\fR or \fB:git\fR) +. +.IP "2." 4 +For implicit gems (dependencies of explicit gems), any git or path repository otherwise declared\. This results in bundler prioritizing the ActiveSupport gem from the Rails git repository over ones from \fBrubygems\.org\fR +. +.IP "3." 4 +The sources specified via \fBsource\fR, in the order in which they were declared in the \fBGemfile\fR\. +. +.IP "" 0 + diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/gemfile.5.txt b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/gemfile.5.txt new file mode 100644 index 00000000..27f7d51f --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/gemfile.5.txt @@ -0,0 +1,317 @@ +GEMFILE(5) GEMFILE(5) + + + +NAME + Gemfile - A format for describing gem dependencies for Ruby programs + +SYNOPSIS + A Gemfile describes the gem dependencies required to execute associated + Ruby code. + + Place the Gemfile in the root of the directory containing the associ- + ated code. For instance, in a Rails application, place the Gemfile in + the same directory as the Rakefile. + +SYNTAX + A Gemfile is evaluated as Ruby code, in a context which makes available + a number of methods used to describe the gem requirements. + +SOURCES (#source) + At the top of the Gemfile, add one line for each Rubygems source that + might contain the gems listed in the Gemfile. + + + + source "http://rubygems.org" + source "http://gems.github.com" + + + + Each of these _source_s MUST be a valid Rubygems repository. + +GEMS (#gem) + Specify gem requirements using the gem method, with the following argu- + ments. All parameters are OPTIONAL unless otherwise specified. + + NAME (required) + For each gem requirement, list a single gem line. + + + + gem "nokogiri" + + + + VERSION + Each gem MAY have one or more version specifiers. + + + + gem "nokogiri", ">= 1.4.2" + gem "RedCloth", ">= 4.1.0", "< 4.2.0" + + + + REQUIRE AS (:require) + Each gem MAY specify its main file, which should be used when autore- + quiring (Bundler.require). + + + + gem "sqlite3-ruby", :require => "sqlite3" + + + + This defaults to the name of the gem itself. For instance, these are + identical: + + + + gem "nokogiri" + gem "nokogiri", :require => "nokogiri" + + + + GROUPS (:group or :groups) + Each gem MAY specify membership in one or more groups. Any gem that + does not specify membership in any group is placed in the default + group. + + + + gem "rspec", :group => :test + gem "wirble", :groups => [:development, :test] + + + + The Bundler runtime allows its two main methods, Bundler.setup and + Bundler.require, to limit their impact to particular groups. + + + + # setup adds gems to Ruby's load path + Bundler.setup # defaults to all groups + require "bundler/setup" # same as Bundler.setup + Bundler.setup(:default) # only set up the _default_ group + Bundler.setup(:test) # only set up the _test_ group (but `not` _default_) + Bundler.setup(:default, :test) # set up the _default_ and _test_ groups, but no others + + # require requires all of the gems in the specified groups + Bundler.require # defaults to just the _default_ group + Bundler.require(:default) # identical + Bundler.require(:default, :test) # requires the _default_ and _test_ groups + Bundler.require(:test) # requires just the _test_ group + + + + The Bundler CLI allows you to specify a list of groups whose gems bun- + dle install should not install with the --without option. To specify + multiple groups to ignore, specify a list of groups separated by spa- + ces. + + + + bundle install --without test + bundle install --without development test + + + + After running bundle install --without test, bundler will remember that + you excluded the test group in the last installation. The next time you + run bundle install, without any --without option, bundler will recall + it. + + Also, calling Bundler.setup with no parameters, or calling require + "bundler/setup" will setup all groups except for the ones you excluded + via --without (since they are obviously not available). + + Note that on bundle install, bundler downloads and evaluates all gems, + in order to create a single canonical list of all of the required gems + and their dependencies. This means that you cannot list different ver- + sions of the same gems in different groups. For more details, see + Understanding Bundler http://gembundler.com/v1.0/understanding.html. + + PLATFORMS (:platforms) + If a gem should only be used in a particular platform or set of plat- + forms, you can specify them. Platforms are essentially identical to + groups, except that you do not need to use the --without install-time + flag to exclude groups of gems for other platforms. + + There are a number of Gemfile platforms: + + ruby C Ruby (MRI) or Rubinius, but NOT Windows + + ruby_18 + ruby AND version 1.8 + + ruby_19 + ruby AND version 1.9 + + mri Same as ruby, but not Rubinius + + mri_18 mri AND version 1.8 + + mri_19 mri AND version 1.9 + + jruby JRuby + + mswin Windows + + As with groups, you can specify one or more platforms: + + + + gem "weakling", :platforms => :jruby + gem "ruby-debug", :platforms => :mri_18 + gem "nokogiri", :platforms => [:mri_18, :jruby] + + + + All operations involving groups (bundle install, Bundler.setup, + Bundler.require) behave exactly the same as if any groups not matching + the current platform were explicitly excluded. + + GIT (:git) + If necessary, you can specify that a gem is located at a particular git + repository. The repository can be public + (http://github.com/rails/rails.git) or private + (git@github.com:rails/rails.git). If the repository is private, the + user that you use to run bundle install MUST have the appropriate keys + available in their $HOME/.ssh. + + Git repositories are specified using the :git parameter. The group, + platforms, and require options are available and behave exactly the + same as they would for a normal gem. + + + + gem "rails", :git => "git://github.com/rails/rails.git" + + + + A git repository SHOULD have at least one file, at the root of the + directory containing the gem, with the extension .gemspec. This file + MUST contain a valid gem specification, as expected by the gem build + command. It MUST NOT have any dependencies, other than on the files in + the git repository itself and any built-in functionality of Ruby or + Rubygems. + + If a git repository does not have a .gemspec, bundler will attempt to + create one, but it will not contain any dependencies, executables, or C + extension compilation instructions. As a result, it may fail to prop- + erly integrate into your application. + + If a git repository does have a .gemspec for the gem you attached it + to, a version specifier, if provided, means that the git repository is + only valid if the .gemspec specifies a version matching the version + specifier. If not, bundler will print a warning. + + + + gem "rails", "2.3.8", :git => "git://github.com/rails/rails.git" + # bundle install will fail, because the .gemspec in the rails + # repository's master branch specifies version 3.0.0 + + + + If a git repository does not have a .gemspec for the gem you attached + it to, a version specifier MUST be provided. Bundler will use this ver- + sion in the simple .gemspec it creates. + + Git repositories support a number of additional options. + + branch, tag, and ref + You MUST only specify at most one of these options. The default + is :branch => "master" + + submodules + Specify :submodules => true to cause bundler to expand any sub- + modules included in the git repository + + If a git repository contains multiple .gemspecs, each .gemspec repre- + sents a gem located at the same place in the file system as the .gem- + spec. + + + + |~rails [git root] + | |-rails.gemspec [rails gem located here] + |~actionpack + | |-actionpack.gemspec [actionpack gem located here] + |~activesupport + | |-activesupport.gemspec [activesupport gem located here] + + + + To install a gem located in a git repository, bundler changes to the + directory containing the gemspec, runs gem build name.gemspec and then + installs the resulting gem. The gem build command, which comes standard + with Rubygems, evaluates the .gemspec in the context of the directory + in which it is located. + + PATH (:path) + You can specify that a gem is located in a particular location on the + file system. Relative paths are resolved relative to the directory con- + taining the Gemfile. + + Similar to the semantics of the :git option, the :path option requires + that the directory in question either contains a .gemspec for the gem, + or that you specify an explicit version that bundler should use. + + Unlike :git, bundler does not compile C extensions for gems specified + as paths. + + + + gem "rails", :path => "vendor/rails" + + + +BLOCK FORM OF GIT, PATH, GROUP and PLATFORMS + The :git, :path, :group, and :platforms options may be applied to a + group of gems by using block form. + + + + git "git://github.com/rails/rails.git" do + gem "activesupport" + gem "actionpack" + end + + platforms :ruby do + gem "ruby-debug" + gem "sqlite3-ruby" + end + + group :development do + gem "wirble" + gem "faker" + end + + + + In the case of the git block form, the :ref, :branch, :tag, and :sub- + modules options may be passed to the git method, and all gems in the + block will inherit those options. + +SOURCE PRIORITY + When attempting to locate a gem to satisfy a gem requirement, bundler + uses the following priority order: + + 1. The source explicitly attached to the gem (using :path or :git) + + 2. For implicit gems (dependencies of explicit gems), any git or path + repository otherwise declared. This results in bundler prioritizing + the ActiveSupport gem from the Rails git repository over ones from + rubygems.org + + 3. The sources specified via source, in the order in which they were + declared in the Gemfile. + + + + + + + August 2010 GEMFILE(5) diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/remote_specification.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/remote_specification.rb new file mode 100644 index 00000000..3851014c --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/remote_specification.rb @@ -0,0 +1,59 @@ +require "uri" +require "rubygems/spec_fetcher" + +module Bundler + # Represents a lazily loaded gem specification, where the full specification + # is on the source server in rubygems' "quick" index. The proxy object is to + # be seeded with what we're given from the source's abbreviated index - the + # full specification will only be fetched when necesary. + class RemoteSpecification + include MatchPlatform + + attr_reader :name, :version, :platform + attr_accessor :source + + def initialize(name, version, platform, source_uri) + @name = name + @version = version + @platform = platform + @source_uri = source_uri + end + + # Needed before installs, since the arch matters then and quick + # specs don't bother to include the arch in the platform string + def fetch_platform + @platform = _remote_specification.platform + end + + def full_name + if platform == Gem::Platform::RUBY or platform.nil? then + "#{@name}-#{@version}" + else + "#{@name}-#{@version}-#{platform}" + end + end + + # Because Rubyforge cannot be trusted to provide valid specifications + # once the remote gem is downloaded, the backend specification will + # be swapped out. + def __swap__(spec) + @specification = spec + end + + private + + def _remote_specification + @specification ||= begin + Gem::SpecFetcher.new.fetch_spec([@name, @version, @platform], URI(@source_uri.to_s)) + end + end + + def method_missing(method, *args, &blk) + if Gem::Specification.new.respond_to?(method) + _remote_specification.send(method, *args, &blk) + else + super + end + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/resolver.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/resolver.rb new file mode 100644 index 00000000..81ecb7ae --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/resolver.rb @@ -0,0 +1,455 @@ +require 'set' +# This is the latest iteration of the gem dependency resolving algorithm. As of now, +# it can resolve (as a success or failure) any set of gem dependencies we throw at it +# in a reasonable amount of time. The most iterations I've seen it take is about 150. +# The actual implementation of the algorithm is not as good as it could be yet, but that +# can come later. + +# Extending Gem classes to add necessary tracking information +module Gem + class Specification + def required_by + @required_by ||= [] + end + end + class Dependency + def required_by + @required_by ||= [] + end + end +end + +module Bundler + class Resolver + ALL = [ Gem::Platform::RUBY, + Gem::Platform::JAVA, + Gem::Platform::MSWIN, + Gem::Platform::MING] + + class SpecGroup < Array + include GemHelpers + + attr_reader :activated, :required_by + + def initialize(a) + super + @required_by = [] + @activated = [] + @dependencies = nil + @specs = {} + + ALL.each do |p| + @specs[p] = reverse.find { |s| s.match_platform(p) } + end + end + + def initialize_copy(o) + super + @required_by = o.required_by.dup + @activated = o.activated.dup + end + + def to_specs + specs = {} + + @activated.each do |p| + if s = @specs[p] + platform = generic(Gem::Platform.new(s.platform)) + next if specs[platform] + + lazy_spec = LazySpecification.new(name, version, platform, source) + lazy_spec.dependencies.replace s.dependencies + specs[platform] = lazy_spec + end + end + specs.values + end + + def activate_platform(platform) + unless @activated.include?(platform) + @activated << platform + return __dependencies[platform] || [] + end + [] + end + + def name + @name ||= first.name + end + + def version + @version ||= first.version + end + + def source + @source ||= first.source + end + + def for?(platform) + @specs[platform] + end + + def to_s + "#{name} (#{version})" + end + + private + + def __dependencies + @dependencies ||= begin + dependencies = {} + ALL.each do |p| + if spec = @specs[p] + dependencies[p] = [] + spec.dependencies.each do |dep| + next if dep.type == :development + dependencies[p] << DepProxy.new(dep, p) + end + end + end + dependencies + end + end + end + + attr_reader :errors + + # Figures out the best possible configuration of gems that satisfies + # the list of passed dependencies and any child dependencies without + # causing any gem activation errors. + # + # ==== Parameters + # *dependencies:: The list of dependencies to resolve + # + # ==== Returns + # ,nil:: If the list of dependencies can be resolved, a + # collection of gemspecs is returned. Otherwise, nil is returned. + def self.resolve(requirements, index, source_requirements = {}, base = []) + base = SpecSet.new(base) unless base.is_a?(SpecSet) + resolver = new(index, source_requirements, base) + result = catch(:success) do + resolver.start(requirements) + raise resolver.version_conflict + nil + end + SpecSet.new(result) + end + + def initialize(index, source_requirements, base) + @errors = {} + @stack = [] + @base = base + @index = index + @missing_gems = Hash.new(0) + @source_requirements = source_requirements + end + + def debug + if ENV['DEBUG_RESOLVER'] + debug_info = yield + debug_info = debug_info.inpsect unless debug_info.is_a?(String) + $stderr.puts debug_info + end + end + + def successify(activated) + activated.values.map { |s| s.to_specs }.flatten.compact + end + + def start(reqs) + activated = {} + + resolve(reqs, activated) + end + + def resolve(reqs, activated) + # If the requirements are empty, then we are in a success state. Aka, all + # gem dependencies have been resolved. + throw :success, successify(activated) if reqs.empty? + + debug { print "\e[2J\e[f" ; "==== Iterating ====\n\n" } + + # Sort dependencies so that the ones that are easiest to resolve are first. + # Easiest to resolve is defined by: + # 1) Is this gem already activated? + # 2) Do the version requirements include prereleased gems? + # 3) Sort by number of gems available in the source. + reqs = reqs.sort_by do |a| + [ activated[a.name] ? 0 : 1, + a.requirement.prerelease? ? 0 : 1, + @errors[a.name] ? 0 : 1, + activated[a.name] ? 0 : search(a).size ] + end + + debug { "Activated:\n" + activated.values.map { |a| " #{a.name} (#{a.version})" }.join("\n") } + debug { "Requirements:\n" + reqs.map { |r| " #{r.name} (#{r.requirement})"}.join("\n") } + + activated = activated.dup + + # Pull off the first requirement so that we can resolve it + current = reqs.shift + + debug { "Attempting:\n #{current.name} (#{current.requirement})"} + + # Check if the gem has already been activated, if it has, we will make sure + # that the currently activated gem satisfies the requirement. + existing = activated[current.name] + if existing || current.name == 'bundler' + # Force the current + if current.name == 'bundler' && !existing + existing = search(DepProxy.new(Gem::Dependency.new('bundler', VERSION), Gem::Platform::RUBY)).first + activated['bundler'] = existing + raise GemNotFound, %Q{Bundler could not find gem "bundler" (#{VERSION})} unless existing + end + + if current.requirement.satisfied_by?(existing.version) + debug { " * [SUCCESS] Already activated" } + @errors.delete(existing.name) + # Since the current requirement is satisfied, we can continue resolving + # the remaining requirements. + + # I have no idea if this is the right way to do it, but let's see if it works + # The current requirement might activate some other platforms, so let's try + # adding those requirements here. + reqs.concat existing.activate_platform(current.__platform) + + resolve(reqs, activated) + else + debug { " * [FAIL] Already activated" } + @errors[existing.name] = [existing, current] + debug { current.required_by.map {|d| " * #{d.name} (#{d.requirement})" }.join("\n") } + # debug { " * All current conflicts:\n" + @errors.keys.map { |c| " - #{c}" }.join("\n") } + # Since the current requirement conflicts with an activated gem, we need + # to backtrack to the current requirement's parent and try another version + # of it (maybe the current requirement won't be present anymore). If the + # current requirement is a root level requirement, we need to jump back to + # where the conflicting gem was activated. + parent = current.required_by.last + # `existing` could not respond to required_by if it is part of the base set + # of specs that was passed to the resolver (aka, instance of LazySpecification) + parent ||= existing.required_by.last if existing.respond_to?(:required_by) + # We track the spot where the current gem was activated because we need + # to keep a list of every spot a failure happened. + debug { " -> Jumping to: #{parent.name}" } + if parent + throw parent.name, existing.respond_to?(:required_by) && existing.required_by.last.name + else + # The original set of dependencies conflict with the base set of specs + # passed to the resolver. This is by definition an impossible resolve. + raise version_conflict + end + end + else + # There are no activated gems for the current requirement, so we are going + # to find all gems that match the current requirement and try them in decending + # order. We also need to keep a set of all conflicts that happen while trying + # this gem. This is so that if no versions work, we can figure out the best + # place to backtrack to. + conflicts = Set.new + + # Fetch all gem versions matching the requirement + # + # TODO: Warn / error when no matching versions are found. + matching_versions = search(current) + + if matching_versions.empty? + if current.required_by.empty? + if base = @base[current.name] and !base.empty? + version = base.first.version + message = "You have requested:\n" \ + " #{current.name} #{current.requirement}\n\n" \ + "The bundle currently has #{current.name} locked at #{version}.\n" \ + "Try running `bundle update #{current.name}`" + elsif current.source + name = current.name + versions = @source_requirements[name][name].map { |s| s.version } + message = "Could not find gem '#{current}' in #{current.source}.\n" + if versions.any? + message << "Source contains '#{name}' at: #{versions.join(', ')}" + else + message << "Source does not contain any versions of '#{current}'" + end + else + message = "Could not find gem '#{current}' " + if @index.sources.include?(Bundler::Source::Rubygems) + message << "in any of the gem sources." + else + message << "in the gems available on this machine." + end + end + raise GemNotFound, message + else + if @missing_gems[current] >= 5 + message = "Bundler could not find find gem #{current.required_by.last}," + message << "which is required by gem #{current}." + raise GemNotFound, message + end + @missing_gems[current] += 1 + + debug { " Could not find #{current} by #{current.required_by.last}" } + @errors[current.name] = [nil, current] + end + end + + matching_versions.reverse_each do |spec_group| + conflict = resolve_requirement(spec_group, current, reqs.dup, activated.dup) + conflicts << conflict if conflict + end + # If the current requirement is a root level gem and we have conflicts, we + # can figure out the best spot to backtrack to. + if current.required_by.empty? && !conflicts.empty? + # Check the current "catch" stack for the first one that is included in the + # conflicts set. That is where the parent of the conflicting gem was required. + # By jumping back to this spot, we can try other version of the parent of + # the conflicting gem, hopefully finding a combination that activates correctly. + @stack.reverse_each do |savepoint| + if conflicts.include?(savepoint) + debug { " -> Jumping to: #{savepoint}" } + throw savepoint + end + end + end + end + end + + def resolve_requirement(spec_group, requirement, reqs, activated) + # We are going to try activating the spec. We need to keep track of stack of + # requirements that got us to the point of activating this gem. + spec_group.required_by.replace requirement.required_by + spec_group.required_by << requirement + + activated[spec_group.name] = spec_group + debug { " Activating: #{spec_group.name} (#{spec_group.version})" } + debug { spec_group.required_by.map { |d| " * #{d.name} (#{d.requirement})" }.join("\n") } + + dependencies = spec_group.activate_platform(requirement.__platform) + + # Now, we have to loop through all child dependencies and add them to our + # array of requirements. + debug { " Dependencies"} + dependencies.each do |dep| + next if dep.type == :development + debug { " * #{dep.name} (#{dep.requirement})" } + dep.required_by.replace(requirement.required_by) + dep.required_by << requirement + reqs << dep + end + + # We create a savepoint and mark it by the name of the requirement that caused + # the gem to be activated. If the activated gem ever conflicts, we are able to + # jump back to this point and try another version of the gem. + length = @stack.length + @stack << requirement.name + retval = catch(requirement.name) do + resolve(reqs, activated) + end + # Since we're doing a lot of throw / catches. A push does not necessarily match + # up to a pop. So, we simply slice the stack back to what it was before the catch + # block. + @stack.slice!(length..-1) + retval + end + + def search(dep) + if base = @base[dep.name] and base.any? + d = Gem::Dependency.new(base.first.name, *[dep.requirement.as_list, base.first.version].flatten) + else + d = dep.dep + end + index = @source_requirements[d.name] || @index + results = index.search_for_all_platforms(d, @base[d.name]) + + if results.any? + version = results.first.version + nested = [[]] + results.each do |spec| + if spec.version != version + nested << [] + version = spec.version + end + nested.last << spec + end + nested.map { |a| SpecGroup.new(a) }.select { |sg| sg.for?(dep.__platform) } + else + [] + end + end + + def clean_req(req) + if req.to_s.include?(">= 0") + req.to_s.gsub(/ \(.*?\)$/, '') + else + req.to_s.gsub(/\, (runtime|development)\)$/, ')') + end + end + + def version_conflict + VersionConflict.new(errors.keys, error_message) + end + + # For a given conflicted requirement, print out what exactly went wrong + def gem_message(requirement) + m = "" + + # A requirement that is required by itself is actually in the Gemfile, and does + # not "depend on" itself + if requirement.required_by.first && requirement.required_by.first.name != requirement.name + m << " #{clean_req(requirement.required_by.first)} depends on\n" + m << " #{clean_req(requirement)}\n" + else + m << " #{clean_req(requirement)}\n" + end + m << "\n" + end + + def error_message + output = errors.inject("") do |o, (conflict, (origin, requirement))| + + # origin is the SpecSet of specs from the Gemfile that is conflicted with + if origin + + o << %{Bundler could not find compatible versions for gem "#{origin.name}":\n} + o << " In Gemfile:\n" + + o << gem_message(requirement) + + # If the origin is a LockfileParser, it does not respond_to :required_by + unless origin.respond_to?(:required_by) && required_by = origin.required_by.first + o << " In snapshot (Gemfile.lock):\n" + end + + o << gem_message(origin) + + # origin is nil if the required gem and version cannot be found in any of + # the specified sources + else + + # if the gem cannot be found because of a version conflict between lockfile and gemfile, + # print a useful error that suggests running `bundle update`, which may fix things + # + # @base is a SpecSet of the gems in the lockfile + # conflict is the name of the gem that could not be found + if locked = @base[conflict].first + o << "Bundler could not find compatible versions for gem #{conflict.inspect}:\n" + o << " In snapshot (Gemfile.lock):\n" + o << " #{clean_req(locked)}\n\n" + + o << " In Gemfile:\n" + o << gem_message(requirement) + o << "Running `bundle update` will rebuild your snapshot from scratch, using only\n" + o << "the gems in your Gemfile, which may resolve the conflict.\n" + + # the rest of the time, the gem cannot be found because it does not exist in the known sources + else + if requirement.required_by.first + o << "Could not find gem '#{clean_req(requirement)}', required by '#{clean_req(requirement.required_by.first)}', in any of the sources\n" + else + o << "Could not find gem '#{clean_req(requirement)} in any of the sources\n" + end + end + + end + end + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/rubygems_ext.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/rubygems_ext.rb new file mode 100644 index 00000000..5c62c1c7 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/rubygems_ext.rb @@ -0,0 +1,203 @@ +require 'pathname' + +if defined?(Gem::QuickLoader) + # Gem Prelude makes me a sad panda :'( + Gem::QuickLoader.load_full_rubygems_library +end + +require 'rubygems' +require 'rubygems/specification' + +module Gem + @loaded_stacks = Hash.new { |h,k| h[k] = [] } + + class Specification + attr_accessor :source, :location, :relative_loaded_from + + alias_method :rg_full_gem_path, :full_gem_path + alias_method :rg_loaded_from, :loaded_from + + def full_gem_path + source.respond_to?(:path) ? + Pathname.new(loaded_from).dirname.expand_path.to_s : + rg_full_gem_path + end + + def loaded_from + relative_loaded_from ? + source.path.join(relative_loaded_from).to_s : + rg_loaded_from + end + + def load_paths + require_paths.map do |require_path| + if require_path.include?(full_gem_path) + require_path + else + File.join(full_gem_path, require_path) + end + end + end + + def groups + @groups ||= [] + end + + def git_version + if @loaded_from && File.exist?(File.join(full_gem_path, ".git")) + sha = Dir.chdir(full_gem_path){ `git rev-parse HEAD`.strip } + " #{sha[0..6]}" + end + end + + def to_gemfile(path = nil) + gemfile = "source :gemcutter\n" + gemfile << dependencies_to_gemfile(nondevelopment_dependencies) + unless development_dependencies.empty? + gemfile << "\n" + gemfile << dependencies_to_gemfile(development_dependencies, :development) + end + gemfile + end + + def nondevelopment_dependencies + dependencies - development_dependencies + end + + def add_bundler_dependencies(*groups) + Bundler.ui.warn "#add_bundler_dependencies is deprecated and will " \ + "be removed in Bundler 1.0. Instead, please use the #gemspec method " \ + "in your Gemfile, which will pull in any dependencies specified in " \ + "your gemspec" + + groups = [:default] if groups.empty? + Bundler.definition.dependencies.each do |dep| + if dep.groups.include?(:development) + self.add_development_dependency(dep.name, dep.requirement.to_s) + elsif (dep.groups & groups).any? + self.add_dependency(dep.name, dep.requirement.to_s) + end + end + end + + private + + def dependencies_to_gemfile(dependencies, group = nil) + gemfile = '' + if dependencies.any? + gemfile << "group :#{group} do\n" if group + dependencies.each do |dependency| + gemfile << ' ' if group + gemfile << %|gem "#{dependency.name}"| + req = dependency.requirements_list.first + gemfile << %|, "#{req}"| if req + gemfile << "\n" + end + gemfile << "end\n" if group + end + gemfile + end + + end + + class Dependency + attr_accessor :source, :groups + + alias eql? == + + def to_yaml_properties + instance_variables.reject { |p| ["@source", "@groups"].include?(p.to_s) } + end + + def to_lock + out = " #{name}" + unless requirement == Gem::Requirement.default + out << " (#{requirement.to_s})" + end + out + end + end + + class Platform + JAVA = Gem::Platform.new('java') + MSWIN = Gem::Platform.new('mswin32') + MING = Gem::Platform.new('x86-mingw32') + + def hash + @cpu.hash + @os.hash + @version.hash + end + + alias eql? == + end +end + +module Bundler + class DepProxy + + attr_reader :required_by, :__platform, :dep + + def initialize(dep, platform) + @dep, @__platform, @required_by = dep, platform, [] + end + + def hash + @hash ||= dep.hash + end + + def ==(o) + dep == o.dep && __platform == o.__platform + end + + alias eql? == + + def type + @dep.type + end + + def to_s + @dep.to_s + end + + private + + def method_missing(*args) + @dep.send(*args) + end + + end + + module GemHelpers + + GENERIC_CACHE = {} + GENERICS = [ + Gem::Platform::JAVA, + Gem::Platform::MSWIN, + Gem::Platform::MING, + Gem::Platform::RUBY + ] + + def generic(p) + if p == Gem::Platform::RUBY + return p + end + + GENERIC_CACHE[p] ||= GENERICS.find { |p2| p =~ p2 } || Gem::Platform::RUBY + end + end + + module MatchPlatform + include GemHelpers + + def match_platform(p) + Gem::Platform::RUBY == platform or + platform.nil? or p == platform or + generic(Gem::Platform.new(platform)) == p + end + end +end + +module Gem + class Specification + include Bundler::MatchPlatform + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/runtime.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/runtime.rb new file mode 100644 index 00000000..61d46b0b --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/runtime.rb @@ -0,0 +1,148 @@ +require "digest/sha1" + +module Bundler + class Runtime < Environment + include SharedHelpers + + def setup(*groups) + # Has to happen first + clean_load_path + + specs = groups.any? ? @definition.specs_for(groups) : requested_specs + + setup_environment + cripple_rubygems(specs) + + # Activate the specs + specs.each do |spec| + unless spec.loaded_from + raise GemNotFound, "#{spec.full_name} is missing. Run `bundle` to get it." + end + + if activated_spec = Gem.loaded_specs[spec.name] and activated_spec.version != spec.version + e = Gem::LoadError.new "You have already activated #{activated_spec.name} #{activated_spec.version}, " \ + "but your Gemfile requires #{spec.name} #{spec.version}. Consider using bundle exec." + e.name = spec.name + e.version_requirement = Gem::Requirement.new(spec.version.to_s) + raise e + end + + Gem.loaded_specs[spec.name] = spec + load_paths = spec.load_paths.reject {|path| $LOAD_PATH.include?(path)} + $LOAD_PATH.unshift(*load_paths) + end + + lock + + self + end + + REGEXPS = [ + /^no such file to load -- (.+)$/i, + /^Missing \w+ (?:file\s*)?([^\s]+.rb)$/i, + /^Missing API definition file in (.+)$/i, + /^cannot load such file -- (.+)$/i, + ] + + def require(*groups) + groups.map! { |g| g.to_sym } + groups = [:default] if groups.empty? + + @definition.dependencies.each do |dep| + # Skip the dependency if it is not in any of the requested + # groups + next unless ((dep.groups & groups).any? && dep.current_platform?) + + required_file = nil + + begin + # Loop through all the specified autorequires for the + # dependency. If there are none, use the dependency's name + # as the autorequire. + Array(dep.autorequire || dep.name).each do |file| + required_file = file + Kernel.require file + end + rescue LoadError => e + REGEXPS.find { |r| r =~ e.message } + raise if dep.autorequire || $1 != required_file + end + end + end + + def dependencies_for(*groups) + if groups.empty? + dependencies + else + dependencies.select { |d| (groups & d.groups).any? } + end + end + + alias gems specs + + def cache + FileUtils.mkdir_p(cache_path) + + Bundler.ui.info "Updating .gem files in vendor/cache" + specs.each do |spec| + next if spec.name == 'bundler' + spec.source.cache(spec) if spec.source.respond_to?(:cache) + end + prune_cache unless Bundler.settings[:no_prune] + end + + def prune_cache + FileUtils.mkdir_p(cache_path) + + resolve = @definition.resolve + cached = Dir["#{cache_path}/*.gem"] + + cached = cached.delete_if do |path| + spec = Gem::Format.from_file_by_path(path).spec + + resolve.any? do |s| + s.name == spec.name && s.version == spec.version + end + end + + if cached.any? + Bundler.ui.info "Removing outdated .gem files from vendor/cache" + + cached.each do |path| + Bundler.ui.info " * #{File.basename(path)}" + File.delete(path) + end + end + end + + private + + def cache_path + root.join("vendor/cache") + end + + def setup_environment + begin + ENV["BUNDLE_BIN_PATH"] = Gem.bin_path("bundler", "bundle", VERSION) + rescue Gem::GemNotFoundException + ENV["BUNDLE_BIN_PATH"] = File.expand_path("../../../bin/bundle", __FILE__) + end + + # Set PATH + paths = (ENV["PATH"] || "").split(File::PATH_SEPARATOR) + paths.unshift "#{Bundler.bundle_path}/bin" + ENV["PATH"] = paths.uniq.join(File::PATH_SEPARATOR) + + # Set BUNDLE_GEMFILE + ENV["BUNDLE_GEMFILE"] = default_gemfile.to_s + + # Set RUBYOPT + rubyopt = [ENV["RUBYOPT"]].compact + if rubyopt.empty? || rubyopt.first !~ /-rbundler\/setup/ + rubyopt.unshift "-rbundler/setup" + rubyopt.unshift "-I#{File.expand_path('../..', __FILE__)}" + ENV["RUBYOPT"] = rubyopt.join(' ') + end + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/settings.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/settings.rb new file mode 100644 index 00000000..d4b8dcbb --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/settings.rb @@ -0,0 +1,117 @@ +module Bundler + class Settings + def initialize(root) + @root = root + @local_config = File.exist?(local_config_file) ? YAML.load_file(local_config_file) : {} + @global_config = File.exist?(global_config_file) ? YAML.load_file(global_config_file) : {} + end + + def [](key) + key = key_for(key) + @local_config[key] || ENV[key] || @global_config[key] + end + + def []=(key, value) + set_key(key, value, @local_config, local_config_file) + end + + def delete(key) + @local_config + end + + def set_global(key, value) + set_key(key, value, @global_config, global_config_file) + end + + def all + env_keys = ENV.keys.select { |k| k =~ /BUNDLE_.*/ } + keys = @global_config.keys | @local_config.keys | env_keys + + keys.map do |key| + key.sub(/^BUNDLE_/, '').gsub(/__/, ".").downcase + end + end + + def locations(key) + locations = {} + + locations[:local] = @local_config[key] if @local_config.key?(key) + locations[:env] = ENV[key] if ENV[key] + locations[:global] = @global_config[key] if @global_config.key?(key) + locations + end + + def pretty_values_for(exposed_key) + key = key_for(exposed_key) + + locations = [] + if @local_config.key?(key) + locations << "Set for your local app (#{local_config_file}): #{@local_config[key].inspect}" + end + + if value = ENV[key] + locations << "Set via $#{key_for(key)}: #{value.inspect}" + end + + if @global_config.key?(key) + locations << "Set for the current user (#{global_config_file}): #{@global_config[key].inspect}" + end + + return ["You have not configured a value for `#{exposed_key}`"] if locations.empty? + locations + end + + def without=(array) + unless array.empty? && without.empty? + self[:without] = array.join(":") + end + end + + def without + self[:without] ? self[:without].split(":").map { |w| w.to_sym } : [] + end + + # @local_config["BUNDLE_PATH"] should be prioritized over ENV["BUNDLE_PATH"] + def path + path = ENV[key_for(:path)] || @global_config[key_for(:path)] + return path if path && !@local_config.key?(key_for(:path)) + + if path = self[:path] + "#{path}/#{Bundler.ruby_scope}" + else + Gem.dir + end + end + + def allow_sudo? + !@local_config.key?(key_for(:path)) + end + + private + def key_for(key) + key = key.to_s.sub(".", "__").upcase + "BUNDLE_#{key}" + end + + def set_key(key, value, hash, file) + key = key_for(key) + + unless hash[key] == value + hash[key] = value + hash.delete(key) if value.nil? + FileUtils.mkdir_p(file.dirname) + File.open(file, "w") { |f| f.puts hash.to_yaml } + end + value + end + + def global_config_file + file = ENV["BUNDLE_CONFIG"] || File.join(Gem.user_home, ".bundle/config") + Pathname.new(file) + end + + def local_config_file + Pathname.new("#{@root}/config") + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/setup.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/setup.rb new file mode 100644 index 00000000..9650f07e --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/setup.rb @@ -0,0 +1,15 @@ +require 'bundler/shared_helpers' + +if Bundler::SharedHelpers.in_bundle? + require 'bundler' + begin + Bundler.setup + rescue Bundler::BundlerError => e + puts "\e[31m#{e.message}\e[0m" + exit e.status_code + end + + # Add bundler to the load path after disabling system gems + bundler_lib = File.expand_path("../..", __FILE__) + $LOAD_PATH.unshift(bundler_lib) unless $LOAD_PATH.include?(bundler_lib) +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/shared_helpers.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/shared_helpers.rb new file mode 100644 index 00000000..d71b1ccc --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/shared_helpers.rb @@ -0,0 +1,153 @@ +require 'pathname' +require 'rubygems' +Gem.source_index # ensure Rubygems is fully loaded in Ruby 1.9 + +module Gem + class Dependency + if !instance_methods.map { |m| m.to_s }.include?("requirement") + def requirement + version_requirements + end + end + end +end + +module Bundler + module SharedHelpers + attr_accessor :gem_loaded + + def default_gemfile + gemfile = find_gemfile + gemfile or raise GemfileNotFound, "Could not locate Gemfile" + Pathname.new(gemfile) + end + + def default_lockfile + Pathname.new("#{default_gemfile}.lock") + end + + def in_bundle? + find_gemfile + end + + private + + def find_gemfile + return ENV['BUNDLE_GEMFILE'] if ENV['BUNDLE_GEMFILE'] + + previous = nil + current = File.expand_path(Dir.pwd) + + until !File.directory?(current) || current == previous + filename = File.join(current, 'Gemfile') + return filename if File.file?(filename) + current, previous = File.expand_path("..", current), current + end + end + + def clean_load_path + # handle 1.9 where system gems are always on the load path + if defined?(::Gem) + me = File.expand_path("../../", __FILE__) + $LOAD_PATH.reject! do |p| + next if File.expand_path(p).include?(me) + p != File.dirname(__FILE__) && + Gem.path.any? { |gp| p.include?(gp) } + end + $LOAD_PATH.uniq! + end + end + + def reverse_rubygems_kernel_mixin + # Disable rubygems' gem activation system + ::Kernel.class_eval do + if private_method_defined?(:gem_original_require) + alias rubygems_require require + alias require gem_original_require + end + + undef gem + end + end + + def cripple_rubygems(specs) + reverse_rubygems_kernel_mixin + + executables = specs.map { |s| s.executables }.flatten + Gem.source_index # ensure RubyGems is fully loaded + + ::Kernel.class_eval do + private + def gem(*) ; end + end + + ::Kernel.send(:define_method, :gem) do |dep, *reqs| + if executables.include? File.basename(caller.first.split(':').first) + return + end + opts = reqs.last.is_a?(Hash) ? reqs.pop : {} + + unless dep.respond_to?(:name) && dep.respond_to?(:requirement) + dep = Gem::Dependency.new(dep, reqs) + end + + spec = specs.find { |s| s.name == dep.name } + + if spec.nil? + e = Gem::LoadError.new "#{dep.name} is not part of the bundle. Add it to Gemfile." + e.name = dep.name + e.version_requirement = dep.requirement + raise e + elsif dep !~ spec + e = Gem::LoadError.new "can't activate #{dep}, already activated #{spec.full_name}. " \ + "Make sure all dependencies are added to Gemfile." + e.name = dep.name + e.version_requirement = dep.requirement + raise e + end + + true + end + + # === Following hacks are to improve on the generated bin wrappers === + + # Yeah, talk about a hack + source_index_class = (class << Gem::SourceIndex ; self ; end) + source_index_class.send(:define_method, :from_gems_in) do |*args| + source_index = Gem::SourceIndex.new + source_index.spec_dirs = *args + source_index.add_specs(*specs) + source_index + end + + # OMG more hacks + gem_class = (class << Gem ; self ; end) + gem_class.send(:define_method, :refresh) { } + gem_class.send(:define_method, :bin_path) do |name, *args| + exec_name, *reqs = args + + if exec_name == 'bundle' + return ENV['BUNDLE_BIN_PATH'] + end + + spec = nil + + if exec_name + spec = specs.find { |s| s.executables.include?(exec_name) } + spec or raise Gem::Exception, "can't find executable #{exec_name}" + else + spec = specs.find { |s| s.name == name } + exec_name = spec.default_executable or raise Gem::Exception, "no default executable for #{spec.full_name}" + end + + gem_bin = File.join(spec.full_gem_path, spec.bindir, exec_name) + gem_from_path_bin = File.join(File.dirname(spec.loaded_from), spec.bindir, exec_name) + File.exist?(gem_bin) ? gem_bin : gem_from_path_bin + end + + Gem.clear_paths + end + + extend self + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/source.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/source.rb new file mode 100644 index 00000000..31555893 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/source.rb @@ -0,0 +1,660 @@ +require "uri" +require "rubygems/installer" +require "rubygems/spec_fetcher" +require "rubygems/format" +require "digest/sha1" +require "open3" + +module Bundler + module Source + # TODO: Refactor this class + class Rubygems + attr_reader :remotes + + def initialize(options = {}) + @options = options + @remotes = (options["remotes"] || []).map { |r| normalize_uri(r) } + @allow_remote = false + @allow_cached = false + # Hardcode the paths for now + @caches = [ Bundler.app_cache ] + Gem.path.map { |p| File.expand_path("#{p}/cache") } + @spec_fetch_map = {} + end + + def remote! + @allow_remote = true + end + + def cached! + @allow_cached = true + end + + def hash + Rubygems.hash + end + + def eql?(o) + Rubygems === o + end + + alias == eql? + + # Not really needed, but it seems good to implement this method for interface + # consistency. Source name is mostly used to identify Path & Git sources + def name + ":gems" + end + + def options + { "remotes" => @remotes.map { |r| r.to_s } } + end + + def self.from_lock(options) + s = new(options) + Array(options["remote"]).each { |r| s.add_remote(r) } + s + end + + def to_lock + out = "GEM\n" + out << remotes.map {|r| " remote: #{r}\n" }.join + out << " specs:\n" + end + + def to_s + remotes = self.remotes.map { |r| r.to_s }.join(', ') + "rubygems repository #{remotes}" + end + + def specs + @specs ||= fetch_specs + end + + def fetch(spec) + spec, uri = @spec_fetch_map[spec.full_name] + if spec + path = download_gem_from_uri(spec, uri) + s = Gem::Format.from_file_by_path(path).spec + spec.__swap__(s) + end + end + + def install(spec) + path = cached_gem(spec) + + if installed_specs[spec].any? + Bundler.ui.info "Using #{spec.name} (#{spec.version}) " + return + end + + Bundler.ui.info "Installing #{spec.name} (#{spec.version}) " + + install_path = Bundler.requires_sudo? ? Bundler.tmp : Gem.dir + options = { :install_dir => install_path, + :ignore_dependencies => true, + :wrappers => true, + :env_shebang => true } + options.merge!(:bin_dir => "#{install_path}/bin") unless spec.executables.nil? || spec.executables.empty? + + installer = Gem::Installer.new path, options + installer.install + + # SUDO HAX + if Bundler.requires_sudo? + sudo "mkdir -p #{Gem.dir}/gems #{Gem.dir}/specifications" + sudo "cp -R #{Bundler.tmp}/gems/#{spec.full_name} #{Gem.dir}/gems/" + sudo "cp -R #{Bundler.tmp}/specifications/#{spec.full_name}.gemspec #{Gem.dir}/specifications/" + spec.executables.each do |exe| + sudo "mkdir -p #{Gem.bindir}" + sudo "cp -R #{Bundler.tmp}/bin/#{exe} #{Gem.bindir}" + end + end + + spec.loaded_from = "#{Gem.dir}/specifications/#{spec.full_name}.gemspec" + end + + def sudo(str) + Bundler.sudo(str) + end + + def cache(spec) + cached_path = cached_gem(spec) + raise GemNotFound, "Missing gem file '#{spec.full_name}.gem'." unless cached_path + return if File.dirname(cached_path) == Bundler.app_cache.to_s + Bundler.ui.info " * #{File.basename(cached_path)}" + FileUtils.cp(cached_path, Bundler.app_cache) + end + + def add_remote(source) + @remotes << normalize_uri(source) + end + + def merge_remotes(source) + @remotes = [] + source.remotes.each do |r| + add_remote r.to_s + end + end + + private + + def cached_gem(spec) + possibilities = @caches.map { |p| "#{p}/#{spec.full_name}.gem" } + possibilities.find { |p| File.exist?(p) } + end + + def normalize_uri(uri) + uri = uri.to_s + uri = "#{uri}/" unless uri =~ %r'/$' + uri = URI(uri) + raise ArgumentError, "The source must be an absolute URI" unless uri.absolute? + uri + end + + def fetch_specs + Index.build do |idx| + idx.use installed_specs + idx.use cached_specs if @allow_cached || @allow_remote + idx.use remote_specs if @allow_remote + end + end + + def installed_specs + @installed_specs ||= begin + idx = Index.new + have_bundler = false + Gem::SourceIndex.from_installed_gems.to_a.reverse.each do |dont_use_this_var, spec| + next if spec.name == 'bundler' && spec.version.to_s != VERSION + have_bundler = true if spec.name == 'bundler' + spec.source = self + idx << spec + end + + # Always have bundler locally + unless have_bundler + # We're running bundler directly from the source + # so, let's create a fake gemspec for it (it's a path) + # gemspec + bundler = Gem::Specification.new do |s| + s.name = 'bundler' + s.version = VERSION + s.platform = Gem::Platform::RUBY + s.source = self + # TODO: Remove this + s.loaded_from = 'w0t' + end + idx << bundler + end + idx + end + end + + def cached_specs + @cached_specs ||= begin + idx = Index.new + @caches.each do |path| + Dir["#{path}/*.gem"].each do |gemfile| + next if name == 'bundler' + s = Gem::Format.from_file_by_path(gemfile).spec + s.source = self + idx << s + end + end + idx + end + end + + def remote_specs + @remote_specs ||= begin + idx = Index.new + old = Gem.sources + + remotes.each do |uri| + Bundler.ui.info "Fetching source index for #{uri}" + Gem.sources = ["#{uri}"] + fetch_all_remote_specs do |n,v| + v.each do |name, version, platform| + next if name == 'bundler' + spec = RemoteSpecification.new(name, version, platform, uri) + spec.source = self + @spec_fetch_map[spec.full_name] = [spec, uri] + idx << spec + end + end + end + idx + ensure + Gem.sources = old + end + end + + def fetch_all_remote_specs(&blk) + begin + # Fetch all specs, minus prerelease specs + Gem::SpecFetcher.new.list(true, false).each(&blk) + # Then fetch the prerelease specs + begin + Gem::SpecFetcher.new.list(false, true).each(&blk) + rescue Gem::RemoteFetcher::FetchError + Bundler.ui.warn "Could not fetch prerelease specs from #{self}" + end + rescue Gem::RemoteFetcher::FetchError + Bundler.ui.warn "Could not reach #{self}" + end + end + + def download_gem_from_uri(spec, uri) + spec.fetch_platform + + download_path = Bundler.requires_sudo? ? Bundler.tmp : Gem.dir + gem_path = "#{Gem.dir}/cache/#{spec.full_name}.gem" + + FileUtils.mkdir_p("#{download_path}/cache") + Gem::RemoteFetcher.fetcher.download(spec, uri, download_path) + + if Bundler.requires_sudo? + sudo "mkdir -p #{Gem.dir}/cache" + sudo "mv #{Bundler.tmp}/cache/#{spec.full_name}.gem #{gem_path}" + end + + gem_path + end + end + + class Path + attr_reader :path, :options + # Kind of a hack, but needed for the lock file parser + attr_writer :name + attr_accessor :version + + DEFAULT_GLOB = "{,*/}*.gemspec" + + def initialize(options) + @options = options + @glob = options["glob"] || DEFAULT_GLOB + + @allow_cached = false + @allow_remote = false + + if options["path"] + @path = Pathname.new(options["path"]).expand_path(Bundler.root) + end + + @name = options["name"] + @version = options["version"] + end + + def remote! + @allow_remote = true + end + + def cached! + @allow_cached = true + end + + def self.from_lock(options) + new(options.merge("path" => options.delete("remote"))) + end + + def to_lock + out = "PATH\n" + out << " remote: #{relative_path}\n" + out << " glob: #{@glob}\n" unless @glob == DEFAULT_GLOB + out << " specs:\n" + end + + def to_s + "source at #{@path}" + end + + def hash + self.class.hash + end + + def eql?(o) + o.instance_of?(Path) && + path == o.path && + name == o.name && + version == o.version + end + + alias == eql? + + def name + File.basename(@path.to_s) + end + + def load_spec_files + index = Index.new + + if File.directory?(path) + Dir["#{path}/#{@glob}"].each do |file| + spec = Bundler.load_gemspec(file) + if spec + spec.loaded_from = file.to_s + spec.source = self + index << spec + end + end + + if index.empty? && @name && @version + index << Gem::Specification.new do |s| + s.name = @name + s.source = self + s.version = Gem::Version.new(@version) + s.platform = Gem::Platform::RUBY + s.summary = "Fake gemspec for #{@name}" + s.relative_loaded_from = "#{@name}.gemspec" + if path.join("bin").exist? + binaries = path.join("bin").children.map{|c| c.basename.to_s } + s.executables = binaries + end + end + end + else + raise PathError, "The path `#{path}` does not exist." + end + + index + end + + def local_specs + @local_specs ||= load_spec_files + end + + class Installer < Gem::Installer + def initialize(spec, options = {}) + @spec = spec + @bin_dir = Bundler.requires_sudo? ? "#{Bundler.tmp}/bin" : "#{Gem.dir}/bin" + @gem_dir = spec.full_gem_path + @wrappers = options[:wrappers] || true + @env_shebang = options[:env_shebang] || true + @format_executable = options[:format_executable] || false + end + + def generate_bin + return if spec.executables.nil? || spec.executables.empty? + + if Bundler.requires_sudo? + FileUtils.mkdir_p("#{Bundler.tmp}/bin") unless File.exist?("#{Bundler.tmp}/bin") + end + super + if Bundler.requires_sudo? + Bundler.mkdir_p "#{Gem.dir}/bin" + spec.executables.each do |exe| + Bundler.sudo "cp -R #{Bundler.tmp}/bin/#{exe} #{Gem.dir}/bin/" + end + end + end + end + + def install(spec) + Bundler.ui.info "Using #{spec.name} (#{spec.version}) from #{to_s} " + # Let's be honest, when we're working from a path, we can't + # really expect native extensions to work because the whole point + # is to just be able to modify what's in that path and go. So, let's + # not put ourselves through the pain of actually trying to generate + # the full gem. + Installer.new(spec).generate_bin + end + + alias specs local_specs + + def cache(spec) + unless path.to_s.index(Bundler.root.to_s) == 0 + Bundler.ui.warn " * #{spec.name} at `#{path}` will not be cached." + end + end + + private + + def relative_path + if path.to_s.include?(Bundler.root.to_s) + return path.relative_path_from(Bundler.root) + end + + path + end + + def generate_bin(spec) + gem_dir = Pathname.new(spec.full_gem_path) + + # Some gem authors put absolute paths in their gemspec + # and we have to save them from themselves + spec.files = spec.files.map do |p| + next if File.directory?(p) + begin + Pathname.new(p).relative_path_from(gem_dir).to_s + rescue ArgumentError + p + end + end.compact + + gem_file = Dir.chdir(gem_dir){ Gem::Builder.new(spec).build } + + installer = Installer.new(spec, :env_shebang => false) + installer.build_extensions + installer.generate_bin + rescue Gem::InvalidSpecificationException => e + Bundler.ui.warn "\n#{spec.name} at #{spec.full_gem_path} did not have a valid gemspec.\n" \ + "This prevents bundler from installing bins or native extensions, but " \ + "that may not affect its functionality." + + if !spec.extensions.empty? && !spec.email.empty? + Bundler.ui.warn "If you need to use this package without installing it from a gem " \ + "repository, please contact #{spec.email} and ask them " \ + "to modify their .gemspec so it can work with `gem build`." + end + + Bundler.ui.warn "The validation message from Rubygems was:\n #{e.message}" + ensure + Dir.chdir(gem_dir){ FileUtils.rm_rf(gem_file) if gem_file && File.exist?(gem_file) } + end + + end + + class Git < Path + attr_reader :uri, :ref, :options, :submodules + + def initialize(options) + super + @uri = options["uri"] + @ref = options["ref"] || options["branch"] || options["tag"] || 'master' + @revision = options["revision"] + @submodules = options["submodules"] + @update = false + end + + def self.from_lock(options) + new(options.merge("uri" => options.delete("remote"))) + end + + def to_lock + out = "GIT\n" + out << " remote: #{@uri}\n" + out << " revision: #{revision}\n" + %w(ref branch tag submodules).each do |opt| + out << " #{opt}: #{options[opt]}\n" if options[opt] + end + out << " glob: #{@glob}\n" unless @glob == DEFAULT_GLOB + out << " specs:\n" + end + + def eql?(o) + Git === o && + uri == o.uri && + ref == o.ref && + name == o.name && + version == o.version && + submodules == o.submodules + end + + alias == eql? + + def to_s + ref = @options["ref"] ? shortref_for_display(@options["ref"]) : @ref + "#{@uri} (at #{ref})" + end + + def name + File.basename(@uri, '.git') + end + + def path + @install_path ||= begin + git_scope = "#{base_name}-#{shortref_for_path(revision)}" + + if Bundler.requires_sudo? + Bundler.user_bundle_path.join(Bundler.ruby_scope).join(git_scope) + else + Bundler.install_path.join(git_scope) + end + end + end + + def unlock! + @revision = nil + end + + # TODO: actually cache git specs + def specs + if allow_git_ops? && !@update + # Start by making sure the git cache is up to date + cache + checkout + @update = true + end + local_specs + end + + def install(spec) + Bundler.ui.info "Using #{spec.name} (#{spec.version}) from #{to_s} " + + unless @installed + Bundler.ui.debug " * Checking out revision: #{ref}" + checkout if allow_git_ops? + @installed = true + end + generate_bin(spec) + end + + def load_spec_files + super + rescue PathError, GitError + raise GitError, "#{to_s} is not checked out. Please run `bundle install`" + end + + private + + def git(command) + if allow_git_ops? + out = %x{git #{command}} + + if $? != 0 + raise GitError, "An error has occurred in git when running `git #{command}. Cannot complete bundling." + end + out + else + raise GitError, "Bundler is trying to run a `git #{command}` at runtime. You probably need to run `bundle install`. However, " \ + "this error message could probably be more useful. Please submit a ticket at http://github.com/carlhuda/bundler/issues " \ + "with steps to reproduce as well as the following\n\nCALLER: #{caller.join("\n")}" + end + end + + def base_name + File.basename(uri.sub(%r{^(\w+://)?([^/:]+:)},''), ".git") + end + + def shortref_for_display(ref) + ref[0..6] + end + + def shortref_for_path(ref) + ref[0..11] + end + + def uri_hash + if uri =~ %r{^\w+://(\w+@)?} + # Downcase the domain component of the URI + # and strip off a trailing slash, if one is present + input = URI.parse(uri).normalize.to_s.sub(%r{/$},'') + else + # If there is no URI scheme, assume it is an ssh/git URI + input = uri + end + Digest::SHA1.hexdigest(input) + end + + def cache_path + @cache_path ||= begin + git_scope = "#{base_name}-#{uri_hash}" + + if Bundler.requires_sudo? + Bundler.user_bundle_path.join("cache/git", git_scope) + else + Bundler.cache.join("git", git_scope) + end + end + end + + def cache + if cached? + return if has_revision_cached? + Bundler.ui.info "Updating #{uri}" + in_cache { git %|fetch --force --quiet "#{uri}" refs/heads/*:refs/heads/*| } + else + Bundler.ui.info "Fetching #{uri}" + FileUtils.mkdir_p(cache_path.dirname) + git %|clone "#{uri}" "#{cache_path}" --bare --no-hardlinks| + end + end + + def checkout + unless File.exist?(path.join(".git")) + FileUtils.mkdir_p(path.dirname) + git %|clone --no-checkout "#{cache_path}" "#{path}"| + end + Dir.chdir(path) do + git %|fetch --force --quiet "#{cache_path}"| + git "reset --hard #{revision}" + + if @submodules + git "submodule init" + git "submodule update" + end + end + end + + def has_revision_cached? + return unless @revision + in_cache { git %|cat-file -e #{@revision}| } + true + rescue GitError + false + end + + def allow_git_ops? + @allow_remote || @allow_cached + end + + def revision + @revision ||= begin + if allow_git_ops? + in_cache { git("rev-parse #{ref}").strip } + else + raise GitError, "The git source #{uri} is not yet checked out. Please run `bundle install` before trying to start your application" + end + end + end + + def cached? + cache_path.exist? + end + + def in_cache(&blk) + cache unless cached? + Dir.chdir(cache_path, &blk) + end + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/spec_set.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/spec_set.rb new file mode 100644 index 00000000..901888a1 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/spec_set.rb @@ -0,0 +1,134 @@ +require 'tsort' + +module Bundler + class SpecSet + include TSort, Enumerable + + def initialize(specs) + @specs = specs.sort_by { |s| s.name } + end + + def each + sorted.each { |s| yield s } + end + + def length + @specs.length + end + + def for(dependencies, skip = [], check = false, match_current_platform = false) + handled, deps, specs = {}, dependencies.dup, [] + skip << 'bundler' + + until deps.empty? + dep = deps.shift + next if handled[dep] || skip.include?(dep.name) + + spec = lookup[dep.name].find do |s| + match_current_platform ? + Gem::Platform.match(s.platform) : + s.match_platform(dep.__platform) + end + + handled[dep] = true + + if spec + specs << spec + + spec.dependencies.each do |d| + next if d.type == :development + d = DepProxy.new(d, dep.__platform) unless match_current_platform + deps << d + end + elsif check + return false + end + end + + if spec = lookup['bundler'].first + specs << spec + end + + check ? true : SpecSet.new(specs) + end + + def valid_for?(deps) + self.for(deps, [], true) + end + + def [](key) + key = key.name if key.respond_to?(:name) + lookup[key].reverse + end + + def []=(key, value) + @specs << value + @lookup = nil + @sorted = nil + value + end + + def to_a + sorted.dup + end + + def to_hash + lookup.dup + end + + def materialize(deps, missing_specs = nil) + materialized = self.for(deps, [], false, true).to_a + materialized.map! do |s| + next s unless s.is_a?(LazySpecification) + spec = s.__materialize__ + if missing_specs + missing_specs << s unless spec + else + raise GemNotFound, "Could not find #{s.full_name} in any of the sources" unless spec + end + spec if spec + end + SpecSet.new(materialized.compact) + end + + def merge(set) + arr = sorted.dup + set.each do |s| + next if arr.any? { |s2| s2.name == s.name && s2.version == s.version && s2.platform == s.platform } + arr << s + end + SpecSet.new(arr) + end + + private + + def sorted + rake = @specs.find { |s| s.name == 'rake' } + @sorted ||= ([rake] + tsort).compact.uniq + end + + def lookup + @lookup ||= begin + lookup = Hash.new { |h,k| h[k] = [] } + specs = @specs.sort_by do |s| + s.platform.to_s == 'ruby' ? "\0" : s.platform.to_s + end + specs.reverse_each do |s| + lookup[s.name] << s + end + lookup + end + end + + def tsort_each_node + @specs.each { |s| yield s } + end + + def tsort_each_child(s) + s.dependencies.sort_by { |d| d.name }.each do |d| + next if d.type == :development + lookup[d.name].each { |s2| yield s2 } + end + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/Executable b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/Executable new file mode 100644 index 00000000..935ddfa6 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/Executable @@ -0,0 +1,14 @@ +#!/usr/bin/env ruby +# +# This file was generated by Bundler. +# +# The application '<%= executable %>' is installed as part of a gem, and +# this file is here to facilitate running it. +# + +ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../<%= relative_gemfile_path %>", __FILE__) + +require 'rubygems' +require 'bundler/setup' + +load Gem.bin_path('<%= spec.name %>', '<%= executable %>') diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/Gemfile b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/Gemfile new file mode 100644 index 00000000..b8fa4033 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/Gemfile @@ -0,0 +1,4 @@ +# A sample Gemfile +source "http://rubygems.org" + +# gem "rails" diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/Gemfile.tt b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/Gemfile.tt new file mode 100644 index 00000000..b44c02ea --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/Gemfile.tt @@ -0,0 +1,4 @@ +source :gemcutter + +# Specify your gem's dependencies in <%=config[:name]%>.gemspec +gemspec diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/Rakefile.tt b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/Rakefile.tt new file mode 100644 index 00000000..14cfe0b5 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/Rakefile.tt @@ -0,0 +1,2 @@ +require 'bundler' +Bundler::GemHelper.install_tasks diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/gitignore.tt b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/gitignore.tt new file mode 100644 index 00000000..9f30a350 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/gitignore.tt @@ -0,0 +1,3 @@ +pkg/* +*.gem +.bundle diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/lib/newgem.rb.tt b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/lib/newgem.rb.tt new file mode 100644 index 00000000..d54b2367 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/lib/newgem.rb.tt @@ -0,0 +1,7 @@ +<%- config[:constant_array].each_with_index do |c,i| -%> +<%= ' '*i %>module <%= c %> +<%- end -%> +<%= ' '*config[:constant_array].size %># Your code goes here... +<%- (config[:constant_array].size-1).downto(0) do |i| -%> +<%= ' '*i %>end +<%- end -%> diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/lib/newgem/version.rb.tt b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/lib/newgem/version.rb.tt new file mode 100644 index 00000000..fe9b5fc5 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/lib/newgem/version.rb.tt @@ -0,0 +1,7 @@ +<%- config[:constant_array].each_with_index do |c,i| -%> +<%= ' '*i %>module <%= c %> +<%- end -%> +<%= ' '*config[:constant_array].size %>VERSION = "0.0.1" +<%- (config[:constant_array].size-1).downto(0) do |i| -%> +<%= ' '*i %>end +<%- end -%> diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/newgem.gemspec.tt b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/newgem.gemspec.tt new file mode 100644 index 00000000..10255c0a --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/newgem.gemspec.tt @@ -0,0 +1,22 @@ +# -*- encoding: utf-8 -*- +require File.expand_path("../lib/<%=config[:name]%>/version", __FILE__) + +Gem::Specification.new do |s| + s.name = <%=config[:name].inspect%> + s.version = <%=config[:constant_name]%>::VERSION + s.platform = Gem::Platform::RUBY + s.authors = [] + s.email = [] + s.homepage = "http://rubygems.org/gems/<%=config[:name]%>" + s.summary = "TODO: Write a gem summary" + s.description = "TODO: Write a gem description" + + s.required_rubygems_version = ">= 1.3.6" + s.rubyforge_project = <%=config[:name].inspect%> + + s.add_development_dependency "bundler", ">= <%=Bundler::VERSION%>" + + s.files = `git ls-files`.split("\n") + s.executables = `git ls-files`.split("\n").map{|f| f =~ /^bin\/(.*)/ ? $1 : nil}.compact + s.require_path = 'lib' +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/ui.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/ui.rb new file mode 100644 index 00000000..df2199d7 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/ui.rb @@ -0,0 +1,60 @@ +module Bundler + class UI + def warn(message) + end + + def error(message) + end + + def info(message) + end + + def confirm(message) + end + + class Shell < UI + def initialize(shell) + @shell = shell + @quiet = false + end + + def debug(msg) + @shell.say(msg) if ENV['DEBUG'] && !@quiet + end + + def info(msg) + @shell.say(msg) if !@quiet + end + + def confirm(msg) + @shell.say(msg, :green) if !@quiet + end + + def warn(msg) + @shell.say(msg, :yellow) + end + + def error(msg) + @shell.say(msg, :red) + end + + def be_quiet! + @quiet = true + end + end + + class RGProxy < Gem::SilentUI + def initialize(ui) + @ui = ui + end + + def say(message) + if message =~ /native extensions/ + @ui.info "with native extensions " + else + @ui.debug(message) + end + end + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor.rb new file mode 100755 index 00000000..d9399f78 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor.rb @@ -0,0 +1,319 @@ +require 'thor/base' + +class Thor + class << self + # Sets the default task when thor is executed without an explicit task to be called. + # + # ==== Parameters + # meth:: name of the defaut task + # + def default_task(meth=nil) + case meth + when :none + @default_task = 'help' + when nil + @default_task ||= from_superclass(:default_task, 'help') + else + @default_task = meth.to_s + end + end + + # Defines the usage and the description of the next task. + # + # ==== Parameters + # usage + # description + # options + # + def desc(usage, description, options={}) + if options[:for] + task = find_and_refresh_task(options[:for]) + task.usage = usage if usage + task.description = description if description + else + @usage, @desc, @hide = usage, description, options[:hide] || false + end + end + + # Defines the long description of the next task. + # + # ==== Parameters + # long description + # + def long_desc(long_description, options={}) + if options[:for] + task = find_and_refresh_task(options[:for]) + task.long_description = long_description if long_description + else + @long_desc = long_description + end + end + + # Maps an input to a task. If you define: + # + # map "-T" => "list" + # + # Running: + # + # thor -T + # + # Will invoke the list task. + # + # ==== Parameters + # Hash[String|Array => Symbol]:: Maps the string or the strings in the array to the given task. + # + def map(mappings=nil) + @map ||= from_superclass(:map, {}) + + if mappings + mappings.each do |key, value| + if key.respond_to?(:each) + key.each {|subkey| @map[subkey] = value} + else + @map[key] = value + end + end + end + + @map + end + + # Declares the options for the next task to be declared. + # + # ==== Parameters + # Hash[Symbol => Object]:: The hash key is the name of the option and the value + # is the type of the option. Can be :string, :array, :hash, :boolean, :numeric + # or :required (string). If you give a value, the type of the value is used. + # + def method_options(options=nil) + @method_options ||= {} + build_options(options, @method_options) if options + @method_options + end + + # Adds an option to the set of method options. If :for is given as option, + # it allows you to change the options from a previous defined task. + # + # def previous_task + # # magic + # end + # + # method_option :foo => :bar, :for => :previous_task + # + # def next_task + # # magic + # end + # + # ==== Parameters + # name:: The name of the argument. + # options:: Described below. + # + # ==== Options + # :desc - Description for the argument. + # :required - If the argument is required or not. + # :default - Default value for this argument. It cannot be required and have default values. + # :aliases - Aliases for this option. + # :type - The type of the argument, can be :string, :hash, :array, :numeric or :boolean. + # :banner - String to show on usage notes. + # + def method_option(name, options={}) + scope = if options[:for] + find_and_refresh_task(options[:for]).options + else + method_options + end + + build_option(name, options, scope) + end + + # Prints help information for the given task. + # + # ==== Parameters + # shell + # task_name + # + def task_help(shell, task_name) + meth = normalize_task_name(task_name) + task = all_tasks[meth] + handle_no_task_error(meth) unless task + + shell.say "Usage:" + shell.say " #{banner(task)}" + shell.say + class_options_help(shell, nil => task.options.map { |_, o| o }) + if task.long_description + shell.say "Description:" + shell.print_wrapped(task.long_description, :ident => 2) + else + shell.say task.description + end + end + + # Prints help information for this class. + # + # ==== Parameters + # shell + # + def help(shell, subcommand = false) + list = printable_tasks(true, subcommand) + Thor::Util.thor_classes_in(self).each do |klass| + list += klass.printable_tasks(false) + end + list.sort!{ |a,b| a[0] <=> b[0] } + + shell.say "Tasks:" + shell.print_table(list, :ident => 2, :truncate => true) + shell.say + class_options_help(shell) + end + + # Returns tasks ready to be printed. + def printable_tasks(all = true, subcommand = false) + (all ? all_tasks : tasks).map do |_, task| + next if task.hidden? + item = [] + item << banner(task, false, subcommand) + item << (task.description ? "# #{task.description.gsub(/\s+/m,' ')}" : "") + item + end.compact + end + + def subcommands + @subcommands ||= from_superclass(:subcommands, []) + end + + def subcommand(subcommand, subcommand_class) + self.subcommands << subcommand.to_s + subcommand_class.subcommand_help subcommand + define_method(subcommand) { |*args| invoke subcommand_class, args } + end + + # Extend check unknown options to accept a hash of conditions. + # + # === Parameters + # options: A hash containing :only and/or :except keys + def check_unknown_options!(options={}) + @check_unknown_options ||= Hash.new + options.each do |key, value| + if value + @check_unknown_options[key] = Array(value) + else + @check_unknown_options.delete(key) + end + end + @check_unknown_options + end + + # Overwrite check_unknown_options? to take subcommands and options into account. + def check_unknown_options?(config) #:nodoc: + options = check_unknown_options + return false unless options + + task = config[:current_task] + return true unless task + + name = task.name + + if subcommands.include?(name) + false + elsif options[:except] + !options[:except].include?(name.to_sym) + elsif options[:only] + options[:only].include?(name.to_sym) + else + true + end + end + + protected + + # The method responsible for dispatching given the args. + def dispatch(meth, given_args, given_opts, config) #:nodoc: + meth ||= retrieve_task_name(given_args) + task = all_tasks[normalize_task_name(meth)] + + if task + args, opts = Thor::Options.split(given_args) + else + args, opts = given_args, nil + task = Thor::DynamicTask.new(meth) + end + + opts = given_opts || opts || [] + config.merge!(:current_task => task, :task_options => task.options) + + trailing = args[Range.new(arguments.size, -1)] + new(args, opts, config).invoke_task(task, trailing || []) + end + + # The banner for this class. You can customize it if you are invoking the + # thor class by another ways which is not the Thor::Runner. It receives + # the task that is going to be invoked and a boolean which indicates if + # the namespace should be displayed as arguments. + # + def banner(task, namespace = nil, subcommand = false) + base = File.basename($0).split(" ").first + "#{base} #{task.formatted_usage(self, $thor_runner, subcommand)}" + end + + def baseclass #:nodoc: + Thor + end + + def create_task(meth) #:nodoc: + if @usage && @desc + base_class = @hide ? Thor::HiddenTask : Thor::Task + tasks[meth] = base_class.new(meth, @desc, @long_desc, @usage, method_options) + @usage, @desc, @long_desc, @method_options, @hide = nil + true + elsif self.all_tasks[meth] || meth == "method_missing" + true + else + puts "[WARNING] Attempted to create task #{meth.inspect} without usage or description. " << + "Call desc if you want this method to be available as task or declare it inside a " << + "no_tasks{} block. Invoked from #{caller[1].inspect}." + false + end + end + + def initialize_added #:nodoc: + class_options.merge!(method_options) + @method_options = nil + end + + # Retrieve the task name from given args. + def retrieve_task_name(args) #:nodoc: + meth = args.first.to_s unless args.empty? + + if meth && (map[meth] || meth !~ /^\-/) + args.shift + else + nil + end + end + + # Receives a task name (can be nil), and try to get a map from it. + # If a map can't be found use the sent name or the default task. + def normalize_task_name(meth) #:nodoc: + meth = map[meth.to_s] || meth || default_task + meth.to_s.gsub('-','_') # treat foo-bar > foo_bar + end + + def subcommand_help(cmd) + desc "help [COMMAND]", "Describe subcommands or one specific subcommand" + class_eval <<-RUBY + def help(task = nil, subcommand = true); super; end + RUBY + end + + end + + include Thor::Base + + map HELP_MAPPINGS => :help + + desc "help [TASK]", "Describe available tasks or one specific task" + def help(task = nil, subcommand = false) + task ? self.class.task_help(shell, task) : self.class.help(shell, subcommand) + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions.rb new file mode 100755 index 00000000..bfccbf8f --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions.rb @@ -0,0 +1,297 @@ +require 'fileutils' +require 'uri' +require 'thor/core_ext/file_binary_read' + +Dir[File.join(File.dirname(__FILE__), "actions", "*.rb")].each do |action| + require action +end + +class Thor + module Actions + attr_accessor :behavior + + def self.included(base) #:nodoc: + base.extend ClassMethods + end + + module ClassMethods + # Hold source paths for one Thor instance. source_paths_for_search is the + # method responsible to gather source_paths from this current class, + # inherited paths and the source root. + # + def source_paths + @_source_paths ||= [] + end + + # Stores and return the source root for this class + def source_root(path=nil) + @_source_root = path if path + @_source_root + end + + # Returns the source paths in the following order: + # + # 1) This class source paths + # 2) Source root + # 3) Parents source paths + # + def source_paths_for_search + paths = [] + paths += self.source_paths + paths << self.source_root if self.source_root + paths += from_superclass(:source_paths, []) + paths + end + + # Add runtime options that help actions execution. + # + def add_runtime_options! + class_option :force, :type => :boolean, :aliases => "-f", :group => :runtime, + :desc => "Overwrite files that already exist" + + class_option :pretend, :type => :boolean, :aliases => "-p", :group => :runtime, + :desc => "Run but do not make any changes" + + class_option :quiet, :type => :boolean, :aliases => "-q", :group => :runtime, + :desc => "Supress status output" + + class_option :skip, :type => :boolean, :aliases => "-s", :group => :runtime, + :desc => "Skip files that already exist" + end + end + + # Extends initializer to add more configuration options. + # + # ==== Configuration + # behavior:: The actions default behavior. Can be :invoke or :revoke. + # It also accepts :force, :skip and :pretend to set the behavior + # and the respective option. + # + # destination_root:: The root directory needed for some actions. + # + def initialize(args=[], options={}, config={}) + self.behavior = case config[:behavior].to_s + when "force", "skip" + _cleanup_options_and_set(options, config[:behavior]) + :invoke + when "revoke" + :revoke + else + :invoke + end + + super + self.destination_root = config[:destination_root] + end + + # Wraps an action object and call it accordingly to the thor class behavior. + # + def action(instance) #:nodoc: + if behavior == :revoke + instance.revoke! + else + instance.invoke! + end + end + + # Returns the root for this thor class (also aliased as destination root). + # + def destination_root + @destination_stack.last + end + + # Sets the root for this thor class. Relatives path are added to the + # directory where the script was invoked and expanded. + # + def destination_root=(root) + @destination_stack ||= [] + @destination_stack[0] = File.expand_path(root || '') + end + + # Returns the given path relative to the absolute root (ie, root where + # the script started). + # + def relative_to_original_destination_root(path, remove_dot=true) + path = path.gsub(@destination_stack[0], '.') + remove_dot ? (path[2..-1] || '') : path + end + + # Holds source paths in instance so they can be manipulated. + # + def source_paths + @source_paths ||= self.class.source_paths_for_search + end + + # Receives a file or directory and search for it in the source paths. + # + def find_in_source_paths(file) + relative_root = relative_to_original_destination_root(destination_root, false) + + source_paths.each do |source| + source_file = File.expand_path(file, File.join(source, relative_root)) + return source_file if File.exists?(source_file) + end + + message = "Could not find #{file.inspect} in any of your source paths. " + + unless self.class.source_root + message << "Please invoke #{self.class.name}.source_root(PATH) with the PATH containing your templates. " + end + + if source_paths.empty? + message << "Currently you have no source paths." + else + message << "Your current source paths are: \n#{source_paths.join("\n")}" + end + + raise Error, message + end + + # Do something in the root or on a provided subfolder. If a relative path + # is given it's referenced from the current root. The full path is yielded + # to the block you provide. The path is set back to the previous path when + # the method exits. + # + # ==== Parameters + # dir:: the directory to move to. + # config:: give :verbose => true to log and use padding. + # + def inside(dir='', config={}, &block) + verbose = config.fetch(:verbose, false) + + say_status :inside, dir, verbose + shell.padding += 1 if verbose + @destination_stack.push File.expand_path(dir, destination_root) + + FileUtils.mkdir_p(destination_root) unless File.exist?(destination_root) + FileUtils.cd(destination_root) { block.arity == 1 ? yield(destination_root) : yield } + + @destination_stack.pop + shell.padding -= 1 if verbose + end + + # Goes to the root and execute the given block. + # + def in_root + inside(@destination_stack.first) { yield } + end + + # Loads an external file and execute it in the instance binding. + # + # ==== Parameters + # path:: The path to the file to execute. Can be a web address or + # a relative path from the source root. + # + # ==== Examples + # + # apply "http://gist.github.com/103208" + # + # apply "recipes/jquery.rb" + # + def apply(path, config={}) + verbose = config.fetch(:verbose, true) + is_uri = path =~ /^https?\:\/\// + path = find_in_source_paths(path) unless is_uri + + say_status :apply, path, verbose + shell.padding += 1 if verbose + + if is_uri + contents = open(path, "Accept" => "application/x-thor-template") {|io| io.read } + else + contents = open(path) {|io| io.read } + end + + instance_eval(contents, path) + shell.padding -= 1 if verbose + end + + # Executes a command returning the contents of the command. + # + # ==== Parameters + # command:: the command to be executed. + # config:: give :verbose => false to not log the status. Specify :with + # to append an executable to command executation. + # + # ==== Example + # + # inside('vendor') do + # run('ln -s ~/edge rails') + # end + # + def run(command, config={}) + return unless behavior == :invoke + + destination = relative_to_original_destination_root(destination_root, false) + desc = "#{command} from #{destination.inspect}" + + if config[:with] + desc = "#{File.basename(config[:with].to_s)} #{desc}" + command = "#{config[:with]} #{command}" + end + + say_status :run, desc, config.fetch(:verbose, true) + `#{command}` unless options[:pretend] + end + + # Executes a ruby script (taking into account WIN32 platform quirks). + # + # ==== Parameters + # command:: the command to be executed. + # config:: give :verbose => false to not log the status. + # + def run_ruby_script(command, config={}) + return unless behavior == :invoke + run command, config.merge(:with => Thor::Util.ruby_command) + end + + # Run a thor command. A hash of options can be given and it's converted to + # switches. + # + # ==== Parameters + # task:: the task to be invoked + # args:: arguments to the task + # config:: give :verbose => false to not log the status. Other options + # are given as parameter to Thor. + # + # ==== Examples + # + # thor :install, "http://gist.github.com/103208" + # #=> thor install http://gist.github.com/103208 + # + # thor :list, :all => true, :substring => 'rails' + # #=> thor list --all --substring=rails + # + def thor(task, *args) + config = args.last.is_a?(Hash) ? args.pop : {} + verbose = config.key?(:verbose) ? config.delete(:verbose) : true + pretend = config.key?(:pretend) ? config.delete(:pretend) : false + + args.unshift task + args.push Thor::Options.to_switches(config) + command = args.join(' ').strip + + run command, :with => :thor, :verbose => verbose, :pretend => pretend + end + + protected + + # Allow current root to be shared between invocations. + # + def _shared_configuration #:nodoc: + super.merge!(:destination_root => self.destination_root) + end + + def _cleanup_options_and_set(options, key) #:nodoc: + case options + when Array + %w(--force -f --skip -s).each { |i| options.delete(i) } + options << "--#{key}" + when Hash + [:force, :skip, "force", "skip"].each { |i| options.delete(i) } + options.merge!(key => true) + end + end + + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions/create_file.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions/create_file.rb new file mode 100755 index 00000000..5541ad5f --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions/create_file.rb @@ -0,0 +1,105 @@ +require 'thor/actions/empty_directory' + +class Thor + module Actions + + # Create a new file relative to the destination root with the given data, + # which is the return value of a block or a data string. + # + # ==== Parameters + # destination:: the relative path to the destination root. + # data:: the data to append to the file. + # config:: give :verbose => false to not log the status. + # + # ==== Examples + # + # create_file "lib/fun_party.rb" do + # hostname = ask("What is the virtual hostname I should use?") + # "vhost.name = #{hostname}" + # end + # + # create_file "config/apach.conf", "your apache config" + # + def create_file(destination, *args, &block) + config = args.last.is_a?(Hash) ? args.pop : {} + data = args.first + action CreateFile.new(self, destination, block || data.to_s, config) + end + alias :add_file :create_file + + # AddFile is a subset of Template, which instead of rendering a file with + # ERB, it gets the content from the user. + # + class CreateFile < EmptyDirectory #:nodoc: + attr_reader :data + + def initialize(base, destination, data, config={}) + @data = data + super(base, destination, config) + end + + # Checks if the content of the file at the destination is identical to the rendered result. + # + # ==== Returns + # Boolean:: true if it is identical, false otherwise. + # + def identical? + exists? && File.binread(destination) == render + end + + # Holds the content to be added to the file. + # + def render + @render ||= if data.is_a?(Proc) + data.call + else + data + end + end + + def invoke! + invoke_with_conflict_check do + FileUtils.mkdir_p(File.dirname(destination)) + File.open(destination, 'wb') { |f| f.write render } + end + given_destination + end + + protected + + # Now on conflict we check if the file is identical or not. + # + def on_conflict_behavior(&block) + if identical? + say_status :identical, :blue + else + options = base.options.merge(config) + force_or_skip_or_conflict(options[:force], options[:skip], &block) + end + end + + # If force is true, run the action, otherwise check if it's not being + # skipped. If both are false, show the file_collision menu, if the menu + # returns true, force it, otherwise skip. + # + def force_or_skip_or_conflict(force, skip, &block) + if force + say_status :force, :yellow + block.call unless pretend? + elsif skip + say_status :skip, :yellow + else + say_status :conflict, :red + force_or_skip_or_conflict(force_on_collision?, true, &block) + end + end + + # Shows the file collision menu to the user and gets the result. + # + def force_on_collision? + base.shell.file_collision(destination){ render } + end + + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions/directory.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions/directory.rb new file mode 100755 index 00000000..717508eb --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions/directory.rb @@ -0,0 +1,93 @@ +require 'thor/actions/empty_directory' + +class Thor + module Actions + + # Copies recursively the files from source directory to root directory. + # If any of the files finishes with .tt, it's considered to be a template + # and is placed in the destination without the extension .tt. If any + # empty directory is found, it's copied and all .empty_directory files are + # ignored. Remember that file paths can also be encoded, let's suppose a doc + # directory with the following files: + # + # doc/ + # components/.empty_directory + # README + # rdoc.rb.tt + # %app_name%.rb + # + # When invoked as: + # + # directory "doc" + # + # It will create a doc directory in the destination with the following + # files (assuming that the app_name is "blog"): + # + # doc/ + # components/ + # README + # rdoc.rb + # blog.rb + # + # ==== Parameters + # source:: the relative path to the source root. + # destination:: the relative path to the destination root. + # config:: give :verbose => false to not log the status. + # If :recursive => false, does not look for paths recursively. + # + # ==== Examples + # + # directory "doc" + # directory "doc", "docs", :recursive => false + # + def directory(source, *args, &block) + config = args.last.is_a?(Hash) ? args.pop : {} + destination = args.first || source + action Directory.new(self, source, destination || source, config, &block) + end + + class Directory < EmptyDirectory #:nodoc: + attr_reader :source + + def initialize(base, source, destination=nil, config={}, &block) + @source = File.expand_path(base.find_in_source_paths(source.to_s)) + @block = block + super(base, destination, { :recursive => true }.merge(config)) + end + + def invoke! + base.empty_directory given_destination, config + execute! + end + + def revoke! + execute! + end + + protected + + def execute! + lookup = config[:recursive] ? File.join(source, '**') : source + lookup = File.join(lookup, '{*,.[a-z]*}') + + Dir[lookup].each do |file_source| + next if File.directory?(file_source) + file_destination = File.join(given_destination, file_source.gsub(source, '.')) + file_destination.gsub!('/./', '/') + + case file_source + when /\.empty_directory$/ + dirname = File.dirname(file_destination).gsub(/\/\.$/, '') + next if dirname == given_destination + base.empty_directory(dirname, config) + when /\.tt$/ + destination = base.template(file_source, file_destination[0..-4], config, &@block) + else + destination = base.copy_file(file_source, file_destination, config, &@block) + end + end + end + + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions/empty_directory.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions/empty_directory.rb new file mode 100755 index 00000000..484cb820 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions/empty_directory.rb @@ -0,0 +1,134 @@ +class Thor + module Actions + + # Creates an empty directory. + # + # ==== Parameters + # destination:: the relative path to the destination root. + # config:: give :verbose => false to not log the status. + # + # ==== Examples + # + # empty_directory "doc" + # + def empty_directory(destination, config={}) + action EmptyDirectory.new(self, destination, config) + end + + # Class which holds create directory logic. This is the base class for + # other actions like create_file and directory. + # + # This implementation is based in Templater actions, created by Jonas Nicklas + # and Michael S. Klishin under MIT LICENSE. + # + class EmptyDirectory #:nodoc: + attr_reader :base, :destination, :given_destination, :relative_destination, :config + + # Initializes given the source and destination. + # + # ==== Parameters + # base:: A Thor::Base instance + # source:: Relative path to the source of this file + # destination:: Relative path to the destination of this file + # config:: give :verbose => false to not log the status. + # + def initialize(base, destination, config={}) + @base, @config = base, { :verbose => true }.merge(config) + self.destination = destination + end + + # Checks if the destination file already exists. + # + # ==== Returns + # Boolean:: true if the file exists, false otherwise. + # + def exists? + ::File.exists?(destination) + end + + def invoke! + invoke_with_conflict_check do + ::FileUtils.mkdir_p(destination) + end + end + + def revoke! + say_status :remove, :red + ::FileUtils.rm_rf(destination) if !pretend? && exists? + given_destination + end + + protected + + # Shortcut for pretend. + # + def pretend? + base.options[:pretend] + end + + # Sets the absolute destination value from a relative destination value. + # It also stores the given and relative destination. Let's suppose our + # script is being executed on "dest", it sets the destination root to + # "dest". The destination, given_destination and relative_destination + # are related in the following way: + # + # inside "bar" do + # empty_directory "baz" + # end + # + # destination #=> dest/bar/baz + # relative_destination #=> bar/baz + # given_destination #=> baz + # + def destination=(destination) + if destination + @given_destination = convert_encoded_instructions(destination.to_s) + @destination = ::File.expand_path(@given_destination, base.destination_root) + @relative_destination = base.relative_to_original_destination_root(@destination) + end + end + + # Filenames in the encoded form are converted. If you have a file: + # + # %class_name%.rb + # + # It gets the class name from the base and replace it: + # + # user.rb + # + def convert_encoded_instructions(filename) + filename.gsub(/%(.*?)%/) do |string| + instruction = $1.strip + base.respond_to?(instruction) ? base.send(instruction) : string + end + end + + # Receives a hash of options and just execute the block if some + # conditions are met. + # + def invoke_with_conflict_check(&block) + if exists? + on_conflict_behavior(&block) + else + say_status :create, :green + block.call unless pretend? + end + + destination + end + + # What to do when the destination file already exists. + # + def on_conflict_behavior(&block) + say_status :exist, :blue + end + + # Shortcut to say_status shell method. + # + def say_status(status, color) + base.shell.say_status status, relative_destination, color if config[:verbose] + end + + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions/file_manipulation.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions/file_manipulation.rb new file mode 100755 index 00000000..e9494626 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions/file_manipulation.rb @@ -0,0 +1,229 @@ +require 'erb' +require 'open-uri' + +class Thor + module Actions + + # Copies the file from the relative source to the relative destination. If + # the destination is not given it's assumed to be equal to the source. + # + # ==== Parameters + # source:: the relative path to the source root. + # destination:: the relative path to the destination root. + # config:: give :verbose => false to not log the status. + # + # ==== Examples + # + # copy_file "README", "doc/README" + # + # copy_file "doc/README" + # + def copy_file(source, *args, &block) + config = args.last.is_a?(Hash) ? args.pop : {} + destination = args.first || source + source = File.expand_path(find_in_source_paths(source.to_s)) + + create_file destination, nil, config do + content = File.binread(source) + content = block.call(content) if block + content + end + end + + # Gets the content at the given address and places it at the given relative + # destination. If a block is given instead of destination, the content of + # the url is yielded and used as location. + # + # ==== Parameters + # source:: the address of the given content. + # destination:: the relative path to the destination root. + # config:: give :verbose => false to not log the status. + # + # ==== Examples + # + # get "http://gist.github.com/103208", "doc/README" + # + # get "http://gist.github.com/103208" do |content| + # content.split("\n").first + # end + # + def get(source, *args, &block) + config = args.last.is_a?(Hash) ? args.pop : {} + destination = args.first + + source = File.expand_path(find_in_source_paths(source.to_s)) unless source =~ /^http\:\/\// + render = open(source) {|input| input.binmode.read } + + destination ||= if block_given? + block.arity == 1 ? block.call(render) : block.call + else + File.basename(source) + end + + create_file destination, render, config + end + + # Gets an ERB template at the relative source, executes it and makes a copy + # at the relative destination. If the destination is not given it's assumed + # to be equal to the source removing .tt from the filename. + # + # ==== Parameters + # source:: the relative path to the source root. + # destination:: the relative path to the destination root. + # config:: give :verbose => false to not log the status. + # + # ==== Examples + # + # template "README", "doc/README" + # + # template "doc/README" + # + def template(source, *args, &block) + config = args.last.is_a?(Hash) ? args.pop : {} + destination = args.first || source + + source = File.expand_path(find_in_source_paths(source.to_s)) + context = instance_eval('binding') + + create_file destination, nil, config do + content = ERB.new(::File.binread(source), nil, '-').result(context) + content = block.call(content) if block + content + end + end + + # Changes the mode of the given file or directory. + # + # ==== Parameters + # mode:: the file mode + # path:: the name of the file to change mode + # config:: give :verbose => false to not log the status. + # + # ==== Example + # + # chmod "script/*", 0755 + # + def chmod(path, mode, config={}) + return unless behavior == :invoke + path = File.expand_path(path, destination_root) + say_status :chmod, relative_to_original_destination_root(path), config.fetch(:verbose, true) + FileUtils.chmod_R(mode, path) unless options[:pretend] + end + + # Prepend text to a file. Since it depends on inject_into_file, it's reversible. + # + # ==== Parameters + # path:: path of the file to be changed + # data:: the data to prepend to the file, can be also given as a block. + # config:: give :verbose => false to not log the status. + # + # ==== Example + # + # prepend_file 'config/environments/test.rb', 'config.gem "rspec"' + # + # prepend_file 'config/environments/test.rb' do + # 'config.gem "rspec"' + # end + # + def prepend_file(path, *args, &block) + config = args.last.is_a?(Hash) ? args.pop : {} + config.merge!(:after => /\A/) + inject_into_file(path, *(args << config), &block) + end + + # Append text to a file. Since it depends on inject_into_file, it's reversible. + # + # ==== Parameters + # path:: path of the file to be changed + # data:: the data to append to the file, can be also given as a block. + # config:: give :verbose => false to not log the status. + # + # ==== Example + # + # append_file 'config/environments/test.rb', 'config.gem "rspec"' + # + # append_file 'config/environments/test.rb' do + # 'config.gem "rspec"' + # end + # + def append_file(path, *args, &block) + config = args.last.is_a?(Hash) ? args.pop : {} + config.merge!(:before => /\z/) + inject_into_file(path, *(args << config), &block) + end + + # Injects text right after the class definition. Since it depends on + # inject_into_file, it's reversible. + # + # ==== Parameters + # path:: path of the file to be changed + # klass:: the class to be manipulated + # data:: the data to append to the class, can be also given as a block. + # config:: give :verbose => false to not log the status. + # + # ==== Examples + # + # inject_into_class "app/controllers/application_controller.rb", " filter_parameter :password\n" + # + # inject_into_class "app/controllers/application_controller.rb", ApplicationController do + # " filter_parameter :password\n" + # end + # + def inject_into_class(path, klass, *args, &block) + config = args.last.is_a?(Hash) ? args.pop : {} + config.merge!(:after => /class #{klass}\n|class #{klass} .*\n/) + inject_into_file(path, *(args << config), &block) + end + + # Run a regular expression replacement on a file. + # + # ==== Parameters + # path:: path of the file to be changed + # flag:: the regexp or string to be replaced + # replacement:: the replacement, can be also given as a block + # config:: give :verbose => false to not log the status. + # + # ==== Example + # + # gsub_file 'app/controllers/application_controller.rb', /#\s*(filter_parameter_logging :password)/, '\1' + # + # gsub_file 'README', /rake/, :green do |match| + # match << " no more. Use thor!" + # end + # + def gsub_file(path, flag, *args, &block) + return unless behavior == :invoke + config = args.last.is_a?(Hash) ? args.pop : {} + + path = File.expand_path(path, destination_root) + say_status :gsub, relative_to_original_destination_root(path), config.fetch(:verbose, true) + + unless options[:pretend] + content = File.binread(path) + content.gsub!(flag, *args, &block) + File.open(path, 'wb') { |file| file.write(content) } + end + end + + # Removes a file at the given location. + # + # ==== Parameters + # path:: path of the file to be changed + # config:: give :verbose => false to not log the status. + # + # ==== Example + # + # remove_file 'README' + # remove_file 'app/controllers/application_controller.rb' + # + def remove_file(path, config={}) + return unless behavior == :invoke + path = File.expand_path(path, destination_root) + + say_status :remove, relative_to_original_destination_root(path), config.fetch(:verbose, true) + ::FileUtils.rm_rf(path) if !options[:pretend] && File.exists?(path) + end + alias :remove_dir :remove_file + + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions/inject_into_file.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions/inject_into_file.rb new file mode 100755 index 00000000..812c2e7d --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions/inject_into_file.rb @@ -0,0 +1,104 @@ +require 'thor/actions/empty_directory' + +class Thor + module Actions + + # Injects the given content into a file. Different from gsub_file, this + # method is reversible. + # + # ==== Parameters + # destination:: Relative path to the destination root + # data:: Data to add to the file. Can be given as a block. + # config:: give :verbose => false to not log the status and the flag + # for injection (:after or :before) or :force => true for + # insert two or more times the same content. + # + # ==== Examples + # + # inject_into_file "config/environment.rb", "config.gem :thor", :after => "Rails::Initializer.run do |config|\n" + # + # inject_into_file "config/environment.rb", :after => "Rails::Initializer.run do |config|\n" do + # gems = ask "Which gems would you like to add?" + # gems.split(" ").map{ |gem| " config.gem :#{gem}" }.join("\n") + # end + # + def inject_into_file(destination, *args, &block) + if block_given? + data, config = block, args.shift + else + data, config = args.shift, args.shift + end + action InjectIntoFile.new(self, destination, data, config) + end + + class InjectIntoFile < EmptyDirectory #:nodoc: + attr_reader :replacement, :flag, :behavior + + def initialize(base, destination, data, config) + super(base, destination, { :verbose => true }.merge(config)) + + @behavior, @flag = if @config.key?(:after) + [:after, @config.delete(:after)] + else + [:before, @config.delete(:before)] + end + + @replacement = data.is_a?(Proc) ? data.call : data + @flag = Regexp.escape(@flag) unless @flag.is_a?(Regexp) + end + + def invoke! + say_status :invoke + + content = if @behavior == :after + '\0' + replacement + else + replacement + '\0' + end + + replace!(/#{flag}/, content, config[:force]) + end + + def revoke! + say_status :revoke + + regexp = if @behavior == :after + content = '\1\2' + /(#{flag})(.*)(#{Regexp.escape(replacement)})/m + else + content = '\2\3' + /(#{Regexp.escape(replacement)})(.*)(#{flag})/m + end + + replace!(regexp, content, true) + end + + protected + + def say_status(behavior) + status = if flag == /\A/ + behavior == :invoke ? :prepend : :unprepend + elsif flag == /\z/ + behavior == :invoke ? :append : :unappend + else + behavior == :invoke ? :inject : :deinject + end + + super(status, config[:verbose]) + end + + # Adds the content to the file. + # + def replace!(regexp, string, force) + unless base.options[:pretend] + content = File.binread(destination) + if force || !content.include?(replacement) + content.gsub!(regexp, string) + File.open(destination, 'wb') { |file| file.write(content) } + end + end + end + + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/base.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/base.rb new file mode 100755 index 00000000..6412ace6 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/base.rb @@ -0,0 +1,556 @@ +require 'thor/core_ext/hash_with_indifferent_access' +require 'thor/core_ext/ordered_hash' +require 'thor/error' +require 'thor/shell' +require 'thor/invocation' +require 'thor/parser' +require 'thor/task' +require 'thor/util' + +class Thor + autoload :Actions, 'thor/actions' + autoload :RakeCompat, 'thor/rake_compat' + + # Shortcuts for help. + HELP_MAPPINGS = %w(-h -? --help -D) + + # Thor methods that should not be overwritten by the user. + THOR_RESERVED_WORDS = %w(invoke shell options behavior root destination_root relative_root + action add_file create_file in_root inside run run_ruby_script) + + module Base + attr_accessor :options + + # It receives arguments in an Array and two hashes, one for options and + # other for configuration. + # + # Notice that it does not check if all required arguments were supplied. + # It should be done by the parser. + # + # ==== Parameters + # args:: An array of objects. The objects are applied to their + # respective accessors declared with argument. + # + # options:: An options hash that will be available as self.options. + # The hash given is converted to a hash with indifferent + # access, magic predicates (options.skip?) and then frozen. + # + # config:: Configuration for this Thor class. + # + def initialize(args=[], options={}, config={}) + args = Thor::Arguments.parse(self.class.arguments, args) + args.each { |key, value| send("#{key}=", value) } + + parse_options = self.class.class_options + + if options.is_a?(Array) + task_options = config.delete(:task_options) # hook for start + parse_options = parse_options.merge(task_options) if task_options + array_options, hash_options = options, {} + else + array_options, hash_options = [], options + end + + opts = Thor::Options.new(parse_options, hash_options) + self.options = opts.parse(array_options) + opts.check_unknown! if self.class.check_unknown_options?(config) + end + + class << self + def included(base) #:nodoc: + base.send :extend, ClassMethods + base.send :include, Invocation + base.send :include, Shell + end + + # Returns the classes that inherits from Thor or Thor::Group. + # + # ==== Returns + # Array[Class] + # + def subclasses + @subclasses ||= [] + end + + # Returns the files where the subclasses are kept. + # + # ==== Returns + # Hash[path => Class] + # + def subclass_files + @subclass_files ||= Hash.new{ |h,k| h[k] = [] } + end + + # Whenever a class inherits from Thor or Thor::Group, we should track the + # class and the file on Thor::Base. This is the method responsable for it. + # + def register_klass_file(klass) #:nodoc: + file = caller[1].match(/(.*):\d+/)[1] + Thor::Base.subclasses << klass unless Thor::Base.subclasses.include?(klass) + + file_subclasses = Thor::Base.subclass_files[File.expand_path(file)] + file_subclasses << klass unless file_subclasses.include?(klass) + end + end + + module ClassMethods + attr_accessor :debugging + + def attr_reader(*) #:nodoc: + no_tasks { super } + end + + def attr_writer(*) #:nodoc: + no_tasks { super } + end + + def attr_accessor(*) #:nodoc: + no_tasks { super } + end + + # If you want to raise an error for unknown options, call check_unknown_options! + # This is disabled by default to allow dynamic invocations. + def check_unknown_options! + @check_unknown_options = true + end + + def check_unknown_options #:nodoc: + @check_unknown_options ||= from_superclass(:check_unknown_options, false) + end + + def check_unknown_options?(config) #:nodoc: + !!check_unknown_options + end + + # Adds an argument to the class and creates an attr_accessor for it. + # + # Arguments are different from options in several aspects. The first one + # is how they are parsed from the command line, arguments are retrieved + # from position: + # + # thor task NAME + # + # Instead of: + # + # thor task --name=NAME + # + # Besides, arguments are used inside your code as an accessor (self.argument), + # while options are all kept in a hash (self.options). + # + # Finally, arguments cannot have type :default or :boolean but can be + # optional (supplying :optional => :true or :required => false), although + # you cannot have a required argument after a non-required argument. If you + # try it, an error is raised. + # + # ==== Parameters + # name:: The name of the argument. + # options:: Described below. + # + # ==== Options + # :desc - Description for the argument. + # :required - If the argument is required or not. + # :optional - If the argument is optional or not. + # :type - The type of the argument, can be :string, :hash, :array, :numeric. + # :default - Default value for this argument. It cannot be required and have default values. + # :banner - String to show on usage notes. + # + # ==== Errors + # ArgumentError:: Raised if you supply a required argument after a non required one. + # + def argument(name, options={}) + is_thor_reserved_word?(name, :argument) + no_tasks { attr_accessor name } + + required = if options.key?(:optional) + !options[:optional] + elsif options.key?(:required) + options[:required] + else + options[:default].nil? + end + + remove_argument name + + arguments.each do |argument| + next if argument.required? + raise ArgumentError, "You cannot have #{name.to_s.inspect} as required argument after " << + "the non-required argument #{argument.human_name.inspect}." + end if required + + arguments << Thor::Argument.new(name, options[:desc], required, options[:type], + options[:default], options[:banner]) + end + + # Returns this class arguments, looking up in the ancestors chain. + # + # ==== Returns + # Array[Thor::Argument] + # + def arguments + @arguments ||= from_superclass(:arguments, []) + end + + # Adds a bunch of options to the set of class options. + # + # class_options :foo => false, :bar => :required, :baz => :string + # + # If you prefer more detailed declaration, check class_option. + # + # ==== Parameters + # Hash[Symbol => Object] + # + def class_options(options=nil) + @class_options ||= from_superclass(:class_options, {}) + build_options(options, @class_options) if options + @class_options + end + + # Adds an option to the set of class options + # + # ==== Parameters + # name:: The name of the argument. + # options:: Described below. + # + # ==== Options + # :desc - Description for the argument. + # :required - If the argument is required or not. + # :default - Default value for this argument. + # :group - The group for this options. Use by class options to output options in different levels. + # :aliases - Aliases for this option. + # :type - The type of the argument, can be :string, :hash, :array, :numeric or :boolean. + # :banner - String to show on usage notes. + # + def class_option(name, options={}) + build_option(name, options, class_options) + end + + # Removes a previous defined argument. If :undefine is given, undefine + # accessors as well. + # + # ==== Paremeters + # names:: Arguments to be removed + # + # ==== Examples + # + # remove_argument :foo + # remove_argument :foo, :bar, :baz, :undefine => true + # + def remove_argument(*names) + options = names.last.is_a?(Hash) ? names.pop : {} + + names.each do |name| + arguments.delete_if { |a| a.name == name.to_s } + undef_method name, "#{name}=" if options[:undefine] + end + end + + # Removes a previous defined class option. + # + # ==== Paremeters + # names:: Class options to be removed + # + # ==== Examples + # + # remove_class_option :foo + # remove_class_option :foo, :bar, :baz + # + def remove_class_option(*names) + names.each do |name| + class_options.delete(name) + end + end + + # Defines the group. This is used when thor list is invoked so you can specify + # that only tasks from a pre-defined group will be shown. Defaults to standard. + # + # ==== Parameters + # name + # + def group(name=nil) + case name + when nil + @group ||= from_superclass(:group, 'standard') + else + @group = name.to_s + end + end + + # Returns the tasks for this Thor class. + # + # ==== Returns + # OrderedHash:: An ordered hash with tasks names as keys and Thor::Task + # objects as values. + # + def tasks + @tasks ||= Thor::CoreExt::OrderedHash.new + end + + # Returns the tasks for this Thor class and all subclasses. + # + # ==== Returns + # OrderedHash:: An ordered hash with tasks names as keys and Thor::Task + # objects as values. + # + def all_tasks + @all_tasks ||= from_superclass(:all_tasks, Thor::CoreExt::OrderedHash.new) + @all_tasks.merge(tasks) + end + + # Removes a given task from this Thor class. This is usually done if you + # are inheriting from another class and don't want it to be available + # anymore. + # + # By default it only remove the mapping to the task. But you can supply + # :undefine => true to undefine the method from the class as well. + # + # ==== Parameters + # name:: The name of the task to be removed + # options:: You can give :undefine => true if you want tasks the method + # to be undefined from the class as well. + # + def remove_task(*names) + options = names.last.is_a?(Hash) ? names.pop : {} + + names.each do |name| + tasks.delete(name.to_s) + all_tasks.delete(name.to_s) + undef_method name if options[:undefine] + end + end + + # All methods defined inside the given block are not added as tasks. + # + # So you can do: + # + # class MyScript < Thor + # no_tasks do + # def this_is_not_a_task + # end + # end + # end + # + # You can also add the method and remove it from the task list: + # + # class MyScript < Thor + # def this_is_not_a_task + # end + # remove_task :this_is_not_a_task + # end + # + def no_tasks + @no_tasks = true + yield + ensure + @no_tasks = false + end + + # Sets the namespace for the Thor or Thor::Group class. By default the + # namespace is retrieved from the class name. If your Thor class is named + # Scripts::MyScript, the help method, for example, will be called as: + # + # thor scripts:my_script -h + # + # If you change the namespace: + # + # namespace :my_scripts + # + # You change how your tasks are invoked: + # + # thor my_scripts -h + # + # Finally, if you change your namespace to default: + # + # namespace :default + # + # Your tasks can be invoked with a shortcut. Instead of: + # + # thor :my_task + # + def namespace(name=nil) + case name + when nil + @namespace ||= Thor::Util.namespace_from_thor_class(self) + else + @namespace = name.to_s + end + end + + # Parses the task and options from the given args, instantiate the class + # and invoke the task. This method is used when the arguments must be parsed + # from an array. If you are inside Ruby and want to use a Thor class, you + # can simply initialize it: + # + # script = MyScript.new(args, options, config) + # script.invoke(:task, first_arg, second_arg, third_arg) + # + def start(given_args=ARGV, config={}) + self.debugging = given_args.delete("--debug") + config[:shell] ||= Thor::Base.shell.new + dispatch(nil, given_args.dup, nil, config) + rescue Thor::Error => e + debugging ? (raise e) : config[:shell].error(e.message) + exit(1) if exit_on_failure? + end + + def handle_no_task_error(task) #:nodoc: + if $thor_runner + raise UndefinedTaskError, "Could not find task #{task.inspect} in #{namespace.inspect} namespace." + else + raise UndefinedTaskError, "Could not find task #{task.inspect}." + end + end + + def handle_argument_error(task, error) #:nodoc: + raise InvocationError, "#{task.name.inspect} was called incorrectly. Call as #{self.banner(task).inspect}." + end + + protected + + # Prints the class options per group. If an option does not belong to + # any group, it's printed as Class option. + # + def class_options_help(shell, groups={}) #:nodoc: + # Group options by group + class_options.each do |_, value| + groups[value.group] ||= [] + groups[value.group] << value + end + + # Deal with default group + global_options = groups.delete(nil) || [] + print_options(shell, global_options) + + # Print all others + groups.each do |group_name, options| + print_options(shell, options, group_name) + end + end + + # Receives a set of options and print them. + def print_options(shell, options, group_name=nil) + return if options.empty? + + list = [] + padding = options.collect{ |o| o.aliases.size }.max.to_i * 4 + + options.each do |option| + item = [ option.usage(padding) ] + item.push(option.description ? "# #{option.description}" : "") + + list << item + list << [ "", "# Default: #{option.default}" ] if option.show_default? + end + + shell.say(group_name ? "#{group_name} options:" : "Options:") + shell.print_table(list, :ident => 2) + shell.say "" + end + + # Raises an error if the word given is a Thor reserved word. + def is_thor_reserved_word?(word, type) #:nodoc: + return false unless THOR_RESERVED_WORDS.include?(word.to_s) + raise "#{word.inspect} is a Thor reserved word and cannot be defined as #{type}" + end + + # Build an option and adds it to the given scope. + # + # ==== Parameters + # name:: The name of the argument. + # options:: Described in both class_option and method_option. + def build_option(name, options, scope) #:nodoc: + scope[name] = Thor::Option.new(name, options[:desc], options[:required], + options[:type], options[:default], options[:banner], + options[:lazy_default], options[:group], options[:aliases]) + end + + # Receives a hash of options, parse them and add to the scope. This is a + # fast way to set a bunch of options: + # + # build_options :foo => true, :bar => :required, :baz => :string + # + # ==== Parameters + # Hash[Symbol => Object] + def build_options(options, scope) #:nodoc: + options.each do |key, value| + scope[key] = Thor::Option.parse(key, value) + end + end + + # Finds a task with the given name. If the task belongs to the current + # class, just return it, otherwise dup it and add the fresh copy to the + # current task hash. + def find_and_refresh_task(name) #:nodoc: + task = if task = tasks[name.to_s] + task + elsif task = all_tasks[name.to_s] + tasks[name.to_s] = task.clone + else + raise ArgumentError, "You supplied :for => #{name.inspect}, but the task #{name.inspect} could not be found." + end + end + + # Everytime someone inherits from a Thor class, register the klass + # and file into baseclass. + def inherited(klass) + Thor::Base.register_klass_file(klass) + end + + # Fire this callback whenever a method is added. Added methods are + # tracked as tasks by invoking the create_task method. + def method_added(meth) + meth = meth.to_s + + if meth == "initialize" + initialize_added + return + end + + # Return if it's not a public instance method + return unless public_instance_methods.include?(meth) || + public_instance_methods.include?(meth.to_sym) + + return if @no_tasks || !create_task(meth) + + is_thor_reserved_word?(meth, :task) + Thor::Base.register_klass_file(self) + end + + # Retrieves a value from superclass. If it reaches the baseclass, + # returns default. + def from_superclass(method, default=nil) + if self == baseclass || !superclass.respond_to?(method, true) + default + else + value = superclass.send(method) + value.dup if value + end + end + + # A flag that makes the process exit with status 1 if any error happens. + def exit_on_failure? + false + end + + # SIGNATURE: Sets the baseclass. This is where the superclass lookup + # finishes. + def baseclass #:nodoc: + end + + # SIGNATURE: Creates a new task if valid_task? is true. This method is + # called when a new method is added to the class. + def create_task(meth) #:nodoc: + end + + # SIGNATURE: Defines behavior when the initialize method is added to the + # class. + def initialize_added #:nodoc: + end + + # SIGNATURE: The hook invoked by start. + def dispatch(task, given_args, given_opts, config) #:nodoc: + raise NotImplementedError + end + + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/core_ext/file_binary_read.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/core_ext/file_binary_read.rb new file mode 100755 index 00000000..d6af7e44 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/core_ext/file_binary_read.rb @@ -0,0 +1,9 @@ +class File #:nodoc: + + unless File.respond_to?(:binread) + def self.binread(file) + File.open(file, 'rb') { |f| f.read } + end + end + +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access.rb new file mode 100755 index 00000000..40d201d9 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access.rb @@ -0,0 +1,75 @@ +class Thor + module CoreExt #:nodoc: + + # A hash with indifferent access and magic predicates. + # + # hash = Thor::CoreExt::HashWithIndifferentAccess.new 'foo' => 'bar', 'baz' => 'bee', 'force' => true + # + # hash[:foo] #=> 'bar' + # hash['foo'] #=> 'bar' + # hash.foo? #=> true + # + class HashWithIndifferentAccess < ::Hash #:nodoc: + + def initialize(hash={}) + super() + hash.each do |key, value| + self[convert_key(key)] = value + end + end + + def [](key) + super(convert_key(key)) + end + + def []=(key, value) + super(convert_key(key), value) + end + + def delete(key) + super(convert_key(key)) + end + + def values_at(*indices) + indices.collect { |key| self[convert_key(key)] } + end + + def merge(other) + dup.merge!(other) + end + + def merge!(other) + other.each do |key, value| + self[convert_key(key)] = value + end + self + end + + protected + + def convert_key(key) + key.is_a?(Symbol) ? key.to_s : key + end + + # Magic predicates. For instance: + # + # options.force? # => !!options['force'] + # options.shebang # => "/usr/lib/local/ruby" + # options.test_framework?(:rspec) # => options[:test_framework] == :rspec + # + def method_missing(method, *args, &block) + method = method.to_s + if method =~ /^(\w+)\?$/ + if args.empty? + !!self[$1] + else + self[$1] == args.first + end + else + self[method] + end + end + + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/core_ext/ordered_hash.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/core_ext/ordered_hash.rb new file mode 100755 index 00000000..27fea5bb --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/core_ext/ordered_hash.rb @@ -0,0 +1,100 @@ +class Thor + module CoreExt #:nodoc: + + if RUBY_VERSION >= '1.9' + class OrderedHash < ::Hash + end + else + # This class is based on the Ruby 1.9 ordered hashes. + # + # It keeps the semantics and most of the efficiency of normal hashes + # while also keeping track of the order in which elements were set. + # + class OrderedHash #:nodoc: + include Enumerable + + Node = Struct.new(:key, :value, :next, :prev) + + def initialize + @hash = {} + end + + def [](key) + @hash[key] && @hash[key].value + end + + def []=(key, value) + if node = @hash[key] + node.value = value + else + node = Node.new(key, value) + + if @first.nil? + @first = @last = node + else + node.prev = @last + @last.next = node + @last = node + end + end + + @hash[key] = node + value + end + + def delete(key) + if node = @hash[key] + prev_node = node.prev + next_node = node.next + + next_node.prev = prev_node if next_node + prev_node.next = next_node if prev_node + + @first = next_node if @first == node + @last = prev_node if @last == node + + value = node.value + end + + @hash.delete(key) + value + end + + def keys + self.map { |k, v| k } + end + + def values + self.map { |k, v| v } + end + + def each + return unless @first + yield [@first.key, @first.value] + node = @first + yield [node.key, node.value] while node = node.next + self + end + + def merge(other) + hash = self.class.new + + self.each do |key, value| + hash[key] = value + end + + other.each do |key, value| + hash[key] = value + end + + hash + end + + def empty? + @hash.empty? + end + end + end + + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/error.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/error.rb new file mode 100755 index 00000000..9746b882 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/error.rb @@ -0,0 +1,30 @@ +class Thor + # Thor::Error is raised when it's caused by wrong usage of thor classes. Those + # errors have their backtrace supressed and are nicely shown to the user. + # + # Errors that are caused by the developer, like declaring a method which + # overwrites a thor keyword, it SHOULD NOT raise a Thor::Error. This way, we + # ensure that developer errors are shown with full backtrace. + # + class Error < StandardError + end + + # Raised when a task was not found. + # + class UndefinedTaskError < Error + end + + # Raised when a task was found, but not invoked properly. + # + class InvocationError < Error + end + + class UnknownArgumentError < Error + end + + class RequiredArgumentMissingError < InvocationError + end + + class MalformattedArgumentError < InvocationError + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/invocation.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/invocation.rb new file mode 100755 index 00000000..6315dd42 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/invocation.rb @@ -0,0 +1,168 @@ +class Thor + module Invocation + def self.included(base) #:nodoc: + base.extend ClassMethods + end + + module ClassMethods + # This method is responsible for receiving a name and find the proper + # class and task for it. The key is an optional parameter which is + # available only in class methods invocations (i.e. in Thor::Group). + def prepare_for_invocation(key, name) #:nodoc: + case name + when Symbol, String + Thor::Util.find_class_and_task_by_namespace(name.to_s, !key) + else + name + end + end + end + + # Make initializer aware of invocations and the initialization args. + def initialize(args=[], options={}, config={}, &block) #:nodoc: + @_invocations = config[:invocations] || Hash.new { |h,k| h[k] = [] } + @_initializer = [ args, options, config ] + super + end + + # Receives a name and invokes it. The name can be a string (either "task" or + # "namespace:task"), a Thor::Task, a Class or a Thor instance. If the task + # cannot be guessed by name, it can also be supplied as second argument. + # + # You can also supply the arguments, options and configuration values for + # the task to be invoked, if none is given, the same values used to + # initialize the invoker are used to initialize the invoked. + # + # When no name is given, it will invoke the default task of the current class. + # + # ==== Examples + # + # class A < Thor + # def foo + # invoke :bar + # invoke "b:hello", ["José"] + # end + # + # def bar + # invoke "b:hello", ["José"] + # end + # end + # + # class B < Thor + # def hello(name) + # puts "hello #{name}" + # end + # end + # + # You can notice that the method "foo" above invokes two tasks: "bar", + # which belongs to the same class and "hello" which belongs to the class B. + # + # By using an invocation system you ensure that a task is invoked only once. + # In the example above, invoking "foo" will invoke "b:hello" just once, even + # if it's invoked later by "bar" method. + # + # When class A invokes class B, all arguments used on A initialization are + # supplied to B. This allows lazy parse of options. Let's suppose you have + # some rspec tasks: + # + # class Rspec < Thor::Group + # class_option :mock_framework, :type => :string, :default => :rr + # + # def invoke_mock_framework + # invoke "rspec:#{options[:mock_framework]}" + # end + # end + # + # As you noticed, it invokes the given mock framework, which might have its + # own options: + # + # class Rspec::RR < Thor::Group + # class_option :style, :type => :string, :default => :mock + # end + # + # Since it's not rspec concern to parse mock framework options, when RR + # is invoked all options are parsed again, so RR can extract only the options + # that it's going to use. + # + # If you want Rspec::RR to be initialized with its own set of options, you + # have to do that explicitely: + # + # invoke "rspec:rr", [], :style => :foo + # + # Besides giving an instance, you can also give a class to invoke: + # + # invoke Rspec::RR, [], :style => :foo + # + def invoke(name=nil, *args) + if name.nil? + warn "[Thor] Calling invoke() without argument is deprecated. Please use invoke_all instead.\n#{caller.join("\n")}" + return invoke_all + end + + args.unshift(nil) if Array === args.first || NilClass === args.first + task, args, opts, config = args + + klass, task = _retrieve_class_and_task(name, task) + raise "Expected Thor class, got #{klass}" unless klass <= Thor::Base + + args, opts, config = _parse_initialization_options(args, opts, config) + klass.send(:dispatch, task, args, opts, config) + end + + # Invoke the given task if the given args. + def invoke_task(task, *args) #:nodoc: + current = @_invocations[self.class] + + unless current.include?(task.name) + current << task.name + task.run(self, *args) + end + end + + # Invoke all tasks for the current instance. + def invoke_all #:nodoc: + self.class.all_tasks.map { |_, task| invoke_task(task) } + end + + # Invokes using shell padding. + def invoke_with_padding(*args) + with_padding { invoke(*args) } + end + + protected + + # Configuration values that are shared between invocations. + def _shared_configuration #:nodoc: + { :invocations => @_invocations } + end + + # This method simply retrieves the class and task to be invoked. + # If the name is nil or the given name is a task in the current class, + # use the given name and return self as class. Otherwise, call + # prepare_for_invocation in the current class. + def _retrieve_class_and_task(name, sent_task=nil) #:nodoc: + case + when name.nil? + [self.class, nil] + when self.class.all_tasks[name.to_s] + [self.class, name.to_s] + else + klass, task = self.class.prepare_for_invocation(nil, name) + [klass, task || sent_task] + end + end + + # Initialize klass using values stored in the @_initializer. + def _parse_initialization_options(args, opts, config) #:nodoc: + stored_args, stored_opts, stored_config = @_initializer + + args ||= stored_args.dup + opts ||= stored_opts.dup + + config ||= {} + config = stored_config.merge(_shared_configuration).merge!(config) + + [ args, opts, config ] + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/parser.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/parser.rb new file mode 100755 index 00000000..57a3f6e1 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/parser.rb @@ -0,0 +1,4 @@ +require 'thor/parser/argument' +require 'thor/parser/arguments' +require 'thor/parser/option' +require 'thor/parser/options' diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/parser/argument.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/parser/argument.rb new file mode 100755 index 00000000..68c2e086 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/parser/argument.rb @@ -0,0 +1,67 @@ +class Thor + class Argument #:nodoc: + VALID_TYPES = [ :numeric, :hash, :array, :string ] + + attr_reader :name, :description, :required, :type, :default, :banner + alias :human_name :name + + def initialize(name, description=nil, required=true, type=:string, default=nil, banner=nil) + class_name = self.class.name.split("::").last + + raise ArgumentError, "#{class_name} name can't be nil." if name.nil? + raise ArgumentError, "Type :#{type} is not valid for #{class_name.downcase}s." if type && !valid_type?(type) + + @name = name.to_s + @description = description + @required = required || false + @type = (type || :string).to_sym + @default = default + @banner = banner || default_banner + + validate! # Trigger specific validations + end + + def usage + required? ? banner : "[#{banner}]" + end + + def required? + required + end + + def show_default? + case default + when Array, String, Hash + !default.empty? + else + default + end + end + + protected + + def validate! + raise ArgumentError, "An argument cannot be required and have default value." if required? && !default.nil? + end + + def valid_type?(type) + self.class::VALID_TYPES.include?(type.to_sym) + end + + def default_banner + case type + when :boolean + nil + when :string, :default + human_name.upcase + when :numeric + "N" + when :hash + "key:value" + when :array + "one two three" + end + end + + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/parser/arguments.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/parser/arguments.rb new file mode 100755 index 00000000..07850836 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/parser/arguments.rb @@ -0,0 +1,161 @@ +class Thor + class Arguments #:nodoc: + NUMERIC = /(\d*\.\d+|\d+)/ + + # Receives an array of args and returns two arrays, one with arguments + # and one with switches. + # + def self.split(args) + arguments = [] + + args.each do |item| + break if item =~ /^-/ + arguments << item + end + + return arguments, args[Range.new(arguments.size, -1)] + end + + def self.parse(*args) + to_parse = args.pop + new(*args).parse(to_parse) + end + + # Takes an array of Thor::Argument objects. + # + def initialize(arguments=[]) + @assigns, @non_assigned_required = {}, [] + @switches = arguments + + arguments.each do |argument| + if argument.default + @assigns[argument.human_name] = argument.default + elsif argument.required? + @non_assigned_required << argument + end + end + end + + def parse(args) + @pile = args.dup + + @switches.each do |argument| + break unless peek + @non_assigned_required.delete(argument) + @assigns[argument.human_name] = send(:"parse_#{argument.type}", argument.human_name) + end + + check_requirement! + @assigns + end + + private + + def no_or_skip?(arg) + arg =~ /^--(no|skip)-([-\w]+)$/ + $2 + end + + def last? + @pile.empty? + end + + def peek + @pile.first + end + + def shift + @pile.shift + end + + def unshift(arg) + unless arg.kind_of?(Array) + @pile.unshift(arg) + else + @pile = arg + @pile + end + end + + def current_is_value? + peek && peek.to_s !~ /^-/ + end + + # Runs through the argument array getting strings that contains ":" and + # mark it as a hash: + # + # [ "name:string", "age:integer" ] + # + # Becomes: + # + # { "name" => "string", "age" => "integer" } + # + def parse_hash(name) + return shift if peek.is_a?(Hash) + hash = {} + + while current_is_value? && peek.include?(?:) + key, value = shift.split(':') + hash[key] = value + end + hash + end + + # Runs through the argument array getting all strings until no string is + # found or a switch is found. + # + # ["a", "b", "c"] + # + # And returns it as an array: + # + # ["a", "b", "c"] + # + def parse_array(name) + return shift if peek.is_a?(Array) + array = [] + + while current_is_value? + array << shift + end + array + end + + # Check if the peek is numeric format and return a Float or Integer. + # Otherwise raises an error. + # + def parse_numeric(name) + return shift if peek.is_a?(Numeric) + + unless peek =~ NUMERIC && $& == peek + raise MalformattedArgumentError, "Expected numeric value for '#{name}'; got #{peek.inspect}" + end + + $&.index('.') ? shift.to_f : shift.to_i + end + + # Parse string: + # for --string-arg, just return the current value in the pile + # for --no-string-arg, nil + # + def parse_string(name) + if no_or_skip?(name) + nil + else + shift + end + end + + # Raises an error if @non_assigned_required array is not empty. + # + def check_requirement! + unless @non_assigned_required.empty? + names = @non_assigned_required.map do |o| + o.respond_to?(:switch_name) ? o.switch_name : o.human_name + end.join("', '") + + class_name = self.class.name.split('::').last.downcase + raise RequiredArgumentMissingError, "No value provided for required #{class_name} '#{names}'" + end + end + + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/parser/option.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/parser/option.rb new file mode 100755 index 00000000..496756db --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/parser/option.rb @@ -0,0 +1,120 @@ +class Thor + class Option < Argument #:nodoc: + attr_reader :aliases, :group, :lazy_default + + VALID_TYPES = [:boolean, :numeric, :hash, :array, :string] + + def initialize(name, description=nil, required=nil, type=nil, default=nil, banner=nil, lazy_default=nil, group=nil, aliases=nil) + super(name, description, required, type, default, banner) + @lazy_default = lazy_default + @group = group.to_s.capitalize if group + @aliases = [*aliases].compact + end + + # This parse quick options given as method_options. It makes several + # assumptions, but you can be more specific using the option method. + # + # parse :foo => "bar" + # #=> Option foo with default value bar + # + # parse [:foo, :baz] => "bar" + # #=> Option foo with default value bar and alias :baz + # + # parse :foo => :required + # #=> Required option foo without default value + # + # parse :foo => 2 + # #=> Option foo with default value 2 and type numeric + # + # parse :foo => :numeric + # #=> Option foo without default value and type numeric + # + # parse :foo => true + # #=> Option foo with default value true and type boolean + # + # The valid types are :boolean, :numeric, :hash, :array and :string. If none + # is given a default type is assumed. This default type accepts arguments as + # string (--foo=value) or booleans (just --foo). + # + # By default all options are optional, unless :required is given. + # + def self.parse(key, value) + if key.is_a?(Array) + name, *aliases = key + else + name, aliases = key, [] + end + + name = name.to_s + default = value + + type = case value + when Symbol + default = nil + if VALID_TYPES.include?(value) + value + elsif required = (value == :required) + :string + end + when TrueClass, FalseClass + :boolean + when Numeric + :numeric + when Hash, Array, String + value.class.name.downcase.to_sym + end + + self.new(name.to_s, nil, required, type, default, nil, nil, nil, aliases) + end + + def switch_name + @switch_name ||= dasherized? ? name : dasherize(name) + end + + def human_name + @human_name ||= dasherized? ? undasherize(name) : name + end + + def usage(padding=0) + sample = if banner && !banner.to_s.empty? + "#{switch_name}=#{banner}" + else + switch_name + end + + sample = "[#{sample}]" unless required? + + if aliases.empty? + (" " * padding) << sample + else + "#{aliases.join(', ')}, #{sample}" + end + end + + VALID_TYPES.each do |type| + class_eval <<-RUBY, __FILE__, __LINE__ + 1 + def #{type}? + self.type == #{type.inspect} + end + RUBY + end + + protected + + def validate! + raise ArgumentError, "An option cannot be boolean and required." if boolean? && required? + end + + def dasherized? + name.index('-') == 0 + end + + def undasherize(str) + str.sub(/^-{1,2}/, '') + end + + def dasherize(str) + (str.length > 1 ? "--" : "-") + str.gsub('_', '-') + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/parser/options.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/parser/options.rb new file mode 100755 index 00000000..2315b136 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/parser/options.rb @@ -0,0 +1,174 @@ +class Thor + # This is a modified version of Daniel Berger's Getopt::Long class, licensed + # under Ruby's license. + # + class Options < Arguments #:nodoc: + LONG_RE = /^(--\w+(?:-\w+)*)$/ + SHORT_RE = /^(-[a-z])$/i + EQ_RE = /^(--\w+(?:-\w+)*|-[a-z])=(.*)$/i + SHORT_SQ_RE = /^-([a-z]{2,})$/i # Allow either -x -v or -xv style for single char args + SHORT_NUM = /^(-[a-z])#{NUMERIC}$/i + + # Receives a hash and makes it switches. + def self.to_switches(options) + options.map do |key, value| + case value + when true + "--#{key}" + when Array + "--#{key} #{value.map{ |v| v.inspect }.join(' ')}" + when Hash + "--#{key} #{value.map{ |k,v| "#{k}:#{v}" }.join(' ')}" + when nil, false + "" + else + "--#{key} #{value.inspect}" + end + end.join(" ") + end + + # Takes a hash of Thor::Option and a hash with defaults. + def initialize(hash_options={}, defaults={}) + options = hash_options.values + super(options) + + # Add defaults + defaults.each do |key, value| + @assigns[key.to_s] = value + @non_assigned_required.delete(hash_options[key]) + end + + @shorts, @switches, @unknown = {}, {}, [] + + options.each do |option| + @switches[option.switch_name] = option + + option.aliases.each do |short| + @shorts[short.to_s] ||= option.switch_name + end + end + end + + def parse(args) + @pile = args.dup + + while peek + if current_is_switch? + case shift + when SHORT_SQ_RE + unshift($1.split('').map { |f| "-#{f}" }) + next + when EQ_RE, SHORT_NUM + unshift($2) + switch = $1 + when LONG_RE, SHORT_RE + switch = $1 + end + + switch = normalize_switch(switch) + option = switch_option(switch) + @assigns[option.human_name] = parse_peek(switch, option) + elsif current_is_switch_formatted? + @unknown << shift + else + shift + end + end + + check_requirement! + + assigns = Thor::CoreExt::HashWithIndifferentAccess.new(@assigns) + assigns.freeze + assigns + end + + def check_unknown! + raise UnknownArgumentError, "Unknown switches '#{@unknown.join(', ')}'" unless @unknown.empty? + end + + protected + + # Returns true if the current value in peek is a registered switch. + # + def current_is_switch? + case peek + when LONG_RE, SHORT_RE, EQ_RE, SHORT_NUM + switch?($1) + when SHORT_SQ_RE + $1.split('').any? { |f| switch?("-#{f}") } + end + end + + def switch_formatted?(arg) + case arg + when LONG_RE, SHORT_RE, EQ_RE, SHORT_NUM, SHORT_SQ_RE + true + else + false + end + end + + def current_is_switch_formatted? + switch_formatted? peek + end + + def switch?(arg) + switch_option(arg) || @shorts.key?(arg) + end + + def switch_option(arg) + if match = no_or_skip?(arg) + @switches[arg] || @switches["--#{match}"] + else + @switches[arg] + end + end + + # Check if the given argument is actually a shortcut. + # + def normalize_switch(arg) + @shorts.key?(arg) ? @shorts[arg] : arg + end + + # Parse boolean values which can be given as --foo=true, --foo or --no-foo. + # + def parse_boolean(switch) + if current_is_value? + if ["true", "TRUE", "t", "T", true].include?(peek) + shift + true + elsif ["false", "FALSE", "f", "F", false].include?(peek) + shift + false + else + true + end + else + @switches.key?(switch) || !no_or_skip?(switch) + end + end + + # Parse the value at the peek analyzing if it requires an input or not. + # + def parse_peek(switch, option) + if current_is_switch_formatted? || last? + if option.boolean? + # No problem for boolean types + elsif no_or_skip?(switch) + return nil # User set value to nil + elsif option.string? && !option.required? + # Return the default if there is one, else the human name + return option.lazy_default || option.default || option.human_name + elsif option.lazy_default + return option.lazy_default + else + raise MalformattedArgumentError, "No value provided for option '#{switch}'" + end + end + + @non_assigned_required.delete(option) + send(:"parse_#{option.type}", switch) + end + + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/shell.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/shell.rb new file mode 100755 index 00000000..b52c9da2 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/shell.rb @@ -0,0 +1,88 @@ +require 'rbconfig' + +class Thor + module Base + # Returns the shell used in all Thor classes. If you are in a Unix platform + # it will use a colored log, otherwise it will use a basic one without color. + # + def self.shell + @shell ||= if ENV['THOR_SHELL'] && ENV['THOR_SHELL'].size > 0 + Thor::Shell.const_get(ENV['THOR_SHELL']) + elsif RbConfig::CONFIG['host_os'] =~ /mswin|mingw/ + Thor::Shell::Basic + else + Thor::Shell::Color + end + end + + # Sets the shell used in all Thor classes. + # + def self.shell=(klass) + @shell = klass + end + end + + module Shell + SHELL_DELEGATED_METHODS = [:ask, :yes?, :no?, :say, :say_status, :print_table] + + autoload :Basic, 'thor/shell/basic' + autoload :Color, 'thor/shell/color' + autoload :HTML, 'thor/shell/html' + + # Add shell to initialize config values. + # + # ==== Configuration + # shell:: An instance of the shell to be used. + # + # ==== Examples + # + # class MyScript < Thor + # argument :first, :type => :numeric + # end + # + # MyScript.new [1.0], { :foo => :bar }, :shell => Thor::Shell::Basic.new + # + def initialize(args=[], options={}, config={}) + super + self.shell = config[:shell] + self.shell.base ||= self if self.shell.respond_to?(:base) + end + + # Holds the shell for the given Thor instance. If no shell is given, + # it gets a default shell from Thor::Base.shell. + def shell + @shell ||= Thor::Base.shell.new + end + + # Sets the shell for this thor class. + def shell=(shell) + @shell = shell + end + + # Common methods that are delegated to the shell. + SHELL_DELEGATED_METHODS.each do |method| + module_eval <<-METHOD, __FILE__, __LINE__ + def #{method}(*args) + shell.#{method}(*args) + end + METHOD + end + + # Yields the given block with padding. + def with_padding + shell.padding += 1 + yield + ensure + shell.padding -= 1 + end + + protected + + # Allow shell to be shared between invocations. + # + def _shared_configuration #:nodoc: + super.merge!(:shell => self.shell) + end + + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/shell/basic.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/shell/basic.rb new file mode 100755 index 00000000..b227b5f4 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/shell/basic.rb @@ -0,0 +1,275 @@ +require 'tempfile' + +class Thor + module Shell + class Basic + attr_accessor :base, :padding + + # Initialize base and padding to nil. + # + def initialize #:nodoc: + @base, @padding = nil, 0 + end + + # Sets the output padding, not allowing less than zero values. + # + def padding=(value) + @padding = [0, value].max + end + + # Ask something to the user and receives a response. + # + # ==== Example + # ask("What is your name?") + # + def ask(statement, color=nil) + say("#{statement} ", color) + $stdin.gets.strip + end + + # Say (print) something to the user. If the sentence ends with a whitespace + # or tab character, a new line is not appended (print + flush). Otherwise + # are passed straight to puts (behavior got from Highline). + # + # ==== Example + # say("I know you knew that.") + # + def say(message="", color=nil, force_new_line=(message.to_s !~ /( |\t)$/)) + message = message.to_s + message = set_color(message, color) if color + + spaces = " " * padding + + if force_new_line + $stdout.puts(spaces + message) + else + $stdout.print(spaces + message) + end + $stdout.flush + end + + # Say a status with the given color and appends the message. Since this + # method is used frequently by actions, it allows nil or false to be given + # in log_status, avoiding the message from being shown. If a Symbol is + # given in log_status, it's used as the color. + # + def say_status(status, message, log_status=true) + return if quiet? || log_status == false + spaces = " " * (padding + 1) + color = log_status.is_a?(Symbol) ? log_status : :green + + status = status.to_s.rjust(12) + status = set_color status, color, true if color + + $stdout.puts "#{status}#{spaces}#{message}" + $stdout.flush + end + + # Make a question the to user and returns true if the user replies "y" or + # "yes". + # + def yes?(statement, color=nil) + ask(statement, color) =~ is?(:yes) + end + + # Make a question the to user and returns true if the user replies "n" or + # "no". + # + def no?(statement, color=nil) + !yes?(statement, color) + end + + # Prints a table. + # + # ==== Parameters + # Array[Array[String, String, ...]] + # + # ==== Options + # ident:: Indent the first column by ident value. + # colwidth:: Force the first column to colwidth spaces wide. + # + def print_table(table, options={}) + return if table.empty? + + formats, ident, colwidth = [], options[:ident].to_i, options[:colwidth] + options[:truncate] = terminal_width if options[:truncate] == true + + formats << "%-#{colwidth + 2}s" if colwidth + start = colwidth ? 1 : 0 + + start.upto(table.first.length - 2) do |i| + maxima ||= table.max{|a,b| a[i].size <=> b[i].size }[i].size + formats << "%-#{maxima + 2}s" + end + + formats[0] = formats[0].insert(0, " " * ident) + formats << "%s" + + table.each do |row| + sentence = "" + + row.each_with_index do |column, i| + sentence << formats[i] % column.to_s + end + + sentence = truncate(sentence, options[:truncate]) if options[:truncate] + $stdout.puts sentence + end + end + + # Prints a long string, word-wrapping the text to the current width of the + # terminal display. Ideal for printing heredocs. + # + # ==== Parameters + # String + # + # ==== Options + # ident:: Indent each line of the printed paragraph by ident value. + # + def print_wrapped(message, options={}) + ident = options[:ident] || 0 + width = terminal_width - ident + paras = message.split("\n\n") + + paras.map! do |unwrapped| + unwrapped.strip.gsub(/\n/, " ").squeeze(" "). + gsub(/.{1,#{width}}(?:\s|\Z)/){($& + 5.chr). + gsub(/\n\005/,"\n").gsub(/\005/,"\n")} + end + + paras.each do |para| + para.split("\n").each do |line| + $stdout.puts line.insert(0, " " * ident) + end + $stdout.puts unless para == paras.last + end + end + + # Deals with file collision and returns true if the file should be + # overwriten and false otherwise. If a block is given, it uses the block + # response as the content for the diff. + # + # ==== Parameters + # destination:: the destination file to solve conflicts + # block:: an optional block that returns the value to be used in diff + # + def file_collision(destination) + return true if @always_force + options = block_given? ? "[Ynaqdh]" : "[Ynaqh]" + + while true + answer = ask %[Overwrite #{destination}? (enter "h" for help) #{options}] + + case answer + when is?(:yes), is?(:force), "" + return true + when is?(:no), is?(:skip) + return false + when is?(:always) + return @always_force = true + when is?(:quit) + say 'Aborting...' + raise SystemExit + when is?(:diff) + show_diff(destination, yield) if block_given? + say 'Retrying...' + else + say file_collision_help + end + end + end + + # Called if something goes wrong during the execution. This is used by Thor + # internally and should not be used inside your scripts. If someone went + # wrong, you can always raise an exception. If you raise a Thor::Error, it + # will be rescued and wrapped in the method below. + # + def error(statement) + $stderr.puts statement + end + + # Apply color to the given string with optional bold. Disabled in the + # Thor::Shell::Basic class. + # + def set_color(string, color, bold=false) #:nodoc: + string + end + + protected + + def is?(value) #:nodoc: + value = value.to_s + + if value.size == 1 + /\A#{value}\z/i + else + /\A(#{value}|#{value[0,1]})\z/i + end + end + + def file_collision_help #:nodoc: +</dev/null}.split[1].to_i + end + + def dynamic_width_tput + %x{tput cols 2>/dev/null}.to_i + end + + def unix? + RUBY_PLATFORM =~ /(aix|darwin|linux|(net|free|open)bsd|cygwin|solaris|irix|hpux)/i + end + + def truncate(string, width) + if string.length <= width + string + else + ( string[0, width-3] || "" ) + "..." + end + end + + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/shell/color.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/shell/color.rb new file mode 100755 index 00000000..b2bc66df --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/shell/color.rb @@ -0,0 +1,108 @@ +require 'thor/shell/basic' + +class Thor + module Shell + # Inherit from Thor::Shell::Basic and add set_color behavior. Check + # Thor::Shell::Basic to see all available methods. + # + class Color < Basic + # Embed in a String to clear all previous ANSI sequences. + CLEAR = "\e[0m" + # The start of an ANSI bold sequence. + BOLD = "\e[1m" + + # Set the terminal's foreground ANSI color to black. + BLACK = "\e[30m" + # Set the terminal's foreground ANSI color to red. + RED = "\e[31m" + # Set the terminal's foreground ANSI color to green. + GREEN = "\e[32m" + # Set the terminal's foreground ANSI color to yellow. + YELLOW = "\e[33m" + # Set the terminal's foreground ANSI color to blue. + BLUE = "\e[34m" + # Set the terminal's foreground ANSI color to magenta. + MAGENTA = "\e[35m" + # Set the terminal's foreground ANSI color to cyan. + CYAN = "\e[36m" + # Set the terminal's foreground ANSI color to white. + WHITE = "\e[37m" + + # Set the terminal's background ANSI color to black. + ON_BLACK = "\e[40m" + # Set the terminal's background ANSI color to red. + ON_RED = "\e[41m" + # Set the terminal's background ANSI color to green. + ON_GREEN = "\e[42m" + # Set the terminal's background ANSI color to yellow. + ON_YELLOW = "\e[43m" + # Set the terminal's background ANSI color to blue. + ON_BLUE = "\e[44m" + # Set the terminal's background ANSI color to magenta. + ON_MAGENTA = "\e[45m" + # Set the terminal's background ANSI color to cyan. + ON_CYAN = "\e[46m" + # Set the terminal's background ANSI color to white. + ON_WHITE = "\e[47m" + + # Set color by using a string or one of the defined constants. If a third + # option is set to true, it also adds bold to the string. This is based + # on Highline implementation and it automatically appends CLEAR to the end + # of the returned String. + # + def set_color(string, color, bold=false) + color = self.class.const_get(color.to_s.upcase) if color.is_a?(Symbol) + bold = bold ? BOLD : "" + "#{bold}#{color}#{string}#{CLEAR}" + end + + protected + + # Overwrite show_diff to show diff with colors if Diff::LCS is + # available. + # + def show_diff(destination, content) #:nodoc: + if diff_lcs_loaded? && ENV['THOR_DIFF'].nil? && ENV['RAILS_DIFF'].nil? + actual = File.binread(destination).to_s.split("\n") + content = content.to_s.split("\n") + + Diff::LCS.sdiff(actual, content).each do |diff| + output_diff_line(diff) + end + else + super + end + end + + def output_diff_line(diff) #:nodoc: + case diff.action + when '-' + say "- #{diff.old_element.chomp}", :red, true + when '+' + say "+ #{diff.new_element.chomp}", :green, true + when '!' + say "- #{diff.old_element.chomp}", :red, true + say "+ #{diff.new_element.chomp}", :green, true + else + say " #{diff.old_element.chomp}", nil, true + end + end + + # Check if Diff::LCS is loaded. If it is, use it to create pretty output + # for diff. + # + def diff_lcs_loaded? #:nodoc: + return true if defined?(Diff::LCS) + return @diff_lcs_loaded unless @diff_lcs_loaded.nil? + + @diff_lcs_loaded = begin + require 'diff/lcs' + true + rescue LoadError + false + end + end + + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/shell/html.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/shell/html.rb new file mode 100644 index 00000000..d1952862 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/shell/html.rb @@ -0,0 +1,121 @@ +require 'thor/shell/basic' + +class Thor + module Shell + # Inherit from Thor::Shell::Basic and add set_color behavior. Check + # Thor::Shell::Basic to see all available methods. + # + class HTML < Basic + # The start of an HTML bold sequence. + BOLD = "" + # The end of an HTML bold sequence. + END_BOLD = "" + + # Embed in a String to clear previous color selection. + CLEAR = "" + + # Set the terminal's foreground HTML color to black. + BLACK = '' + # Set the terminal's foreground HTML color to red. + RED = '' + # Set the terminal's foreground HTML color to green. + GREEN = '' + # Set the terminal's foreground HTML color to yellow. + YELLOW = '' + # Set the terminal's foreground HTML color to blue. + BLUE = '' + # Set the terminal's foreground HTML color to magenta. + MAGENTA = '' + # Set the terminal's foreground HTML color to cyan. + CYAN = '' + # Set the terminal's foreground HTML color to white. + WHITE = '' + + # Set the terminal's background HTML color to black. + ON_BLACK = '' + # Set the terminal's background HTML color to red. + ON_RED = '' + # Set the terminal's background HTML color to green. + ON_GREEN = '' + # Set the terminal's background HTML color to yellow. + ON_YELLOW = '' + # Set the terminal's background HTML color to blue. + ON_BLUE = '' + # Set the terminal's background HTML color to magenta. + ON_MAGENTA = '' + # Set the terminal's background HTML color to cyan. + ON_CYAN = '' + # Set the terminal's background HTML color to white. + ON_WHITE = '' + + # Set color by using a string or one of the defined constants. If a third + # option is set to true, it also adds bold to the string. This is based + # on Highline implementation and it automatically appends CLEAR to the end + # of the returned String. + # + def set_color(string, color, bold=false) + color = self.class.const_get(color.to_s.upcase) if color.is_a?(Symbol) + bold, end_bold = bold ? [BOLD, END_BOLD] : ['', ''] + "#{bold}#{color}#{string}#{CLEAR}#{end_bold}" + end + + # Ask something to the user and receives a response. + # + # ==== Example + # ask("What is your name?") + # + # TODO: Implement #ask for Thor::Shell::HTML + def ask(statement, color=nil) + raise NotImplementedError, "Implement #ask for Thor::Shell::HTML" + end + + protected + + # Overwrite show_diff to show diff with colors if Diff::LCS is + # available. + # + def show_diff(destination, content) #:nodoc: + if diff_lcs_loaded? && ENV['THOR_DIFF'].nil? && ENV['RAILS_DIFF'].nil? + actual = File.binread(destination).to_s.split("\n") + content = content.to_s.split("\n") + + Diff::LCS.sdiff(actual, content).each do |diff| + output_diff_line(diff) + end + else + super + end + end + + def output_diff_line(diff) #:nodoc: + case diff.action + when '-' + say "- #{diff.old_element.chomp}", :red, true + when '+' + say "+ #{diff.new_element.chomp}", :green, true + when '!' + say "- #{diff.old_element.chomp}", :red, true + say "+ #{diff.new_element.chomp}", :green, true + else + say " #{diff.old_element.chomp}", nil, true + end + end + + # Check if Diff::LCS is loaded. If it is, use it to create pretty output + # for diff. + # + def diff_lcs_loaded? #:nodoc: + return true if defined?(Diff::LCS) + return @diff_lcs_loaded unless @diff_lcs_loaded.nil? + + @diff_lcs_loaded = begin + require 'diff/lcs' + true + rescue LoadError + false + end + end + + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/task.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/task.rb new file mode 100755 index 00000000..a4355831 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/task.rb @@ -0,0 +1,114 @@ +class Thor + class Task < Struct.new(:name, :description, :long_description, :usage, :options) + FILE_REGEXP = /^#{Regexp.escape(File.dirname(__FILE__))}/ + + def initialize(name, description, long_description, usage, options=nil) + super(name.to_s, description, long_description, usage, options || {}) + end + + def initialize_copy(other) #:nodoc: + super(other) + self.options = other.options.dup if other.options + end + + def hidden? + false + end + + # By default, a task invokes a method in the thor class. You can change this + # implementation to create custom tasks. + def run(instance, args=[]) + public_method?(instance) ? + instance.send(name, *args) : instance.class.handle_no_task_error(name) + rescue ArgumentError => e + handle_argument_error?(instance, e, caller) ? + instance.class.handle_argument_error(self, e) : (raise e) + rescue NoMethodError => e + handle_no_method_error?(instance, e, caller) ? + instance.class.handle_no_task_error(name) : (raise e) + end + + # Returns the formatted usage by injecting given required arguments + # and required options into the given usage. + def formatted_usage(klass, namespace = true, subcommand = false) + if namespace + namespace = klass.namespace + formatted = "#{namespace.gsub(/^(default)/,'')}:" + formatted.sub!(/.$/, ' ') if subcommand + end + + formatted ||= "" + + # Add usage with required arguments + formatted << if klass && !klass.arguments.empty? + usage.to_s.gsub(/^#{name}/) do |match| + match << " " << klass.arguments.map{ |a| a.usage }.compact.join(' ') + end + else + usage.to_s + end + + # Add required options + formatted << " #{required_options}" + + # Strip and go! + formatted.strip + end + + protected + + def not_debugging?(instance) + !(instance.class.respond_to?(:debugging) && instance.class.debugging) + end + + def required_options + @required_options ||= options.map{ |_, o| o.usage if o.required? }.compact.sort.join(" ") + end + + # Given a target, checks if this class name is not a private/protected method. + def public_method?(instance) #:nodoc: + collection = instance.private_methods + instance.protected_methods + (collection & [name.to_s, name.to_sym]).empty? + end + + def sans_backtrace(backtrace, caller) #:nodoc: + saned = backtrace.reject { |frame| frame =~ FILE_REGEXP } + saned -= caller + end + + def handle_argument_error?(instance, error, caller) + not_debugging?(instance) && error.message =~ /wrong number of arguments/ && begin + saned = sans_backtrace(error.backtrace, caller) + # Ruby 1.9 always include the called method in the backtrace + saned.empty? || (saned.size == 1 && RUBY_VERSION >= "1.9") + end + end + + def handle_no_method_error?(instance, error, caller) + not_debugging?(instance) && + error.message =~ /^undefined method `#{name}' for #{Regexp.escape(instance.to_s)}$/ + end + end + + # A task that is hidden in help messages but still invocable. + class HiddenTask < Task + def hidden? + true + end + end + + # A dynamic task that handles method missing scenarios. + class DynamicTask < Task + def initialize(name, options=nil) + super(name.to_s, "A dynamically-generated task", name.to_s, name.to_s, options) + end + + def run(instance, args=[]) + if (instance.methods & [name.to_s, name.to_sym]).empty? + super + else + instance.class.handle_no_task_error(name) + end + end + end +end \ No newline at end of file diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/util.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/util.rb new file mode 100755 index 00000000..7f2142b4 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/util.rb @@ -0,0 +1,229 @@ +require 'rbconfig' + +class Thor + module Sandbox #:nodoc: + end + + # This module holds several utilities: + # + # 1) Methods to convert thor namespaces to constants and vice-versa. + # + # Thor::Utils.namespace_from_thor_class(Foo::Bar::Baz) #=> "foo:bar:baz" + # + # 2) Loading thor files and sandboxing: + # + # Thor::Utils.load_thorfile("~/.thor/foo") + # + module Util + + # Receives a namespace and search for it in the Thor::Base subclasses. + # + # ==== Parameters + # namespace:: The namespace to search for. + # + def self.find_by_namespace(namespace) + namespace = "default#{namespace}" if namespace.empty? || namespace =~ /^:/ + Thor::Base.subclasses.find { |klass| klass.namespace == namespace } + end + + # Receives a constant and converts it to a Thor namespace. Since Thor tasks + # can be added to a sandbox, this method is also responsable for removing + # the sandbox namespace. + # + # This method should not be used in general because it's used to deal with + # older versions of Thor. On current versions, if you need to get the + # namespace from a class, just call namespace on it. + # + # ==== Parameters + # constant:: The constant to be converted to the thor path. + # + # ==== Returns + # String:: If we receive Foo::Bar::Baz it returns "foo:bar:baz" + # + def self.namespace_from_thor_class(constant) + constant = constant.to_s.gsub(/^Thor::Sandbox::/, "") + constant = snake_case(constant).squeeze(":") + constant + end + + # Given the contents, evaluate it inside the sandbox and returns the + # namespaces defined in the sandbox. + # + # ==== Parameters + # contents + # + # ==== Returns + # Array[Object] + # + def self.namespaces_in_content(contents, file=__FILE__) + old_constants = Thor::Base.subclasses.dup + Thor::Base.subclasses.clear + + load_thorfile(file, contents) + + new_constants = Thor::Base.subclasses.dup + Thor::Base.subclasses.replace(old_constants) + + new_constants.map!{ |c| c.namespace } + new_constants.compact! + new_constants + end + + # Returns the thor classes declared inside the given class. + # + def self.thor_classes_in(klass) + stringfied_constants = klass.constants.map { |c| c.to_s } + Thor::Base.subclasses.select do |subclass| + next unless subclass.name + stringfied_constants.include?(subclass.name.gsub("#{klass.name}::", '')) + end + end + + # Receives a string and convert it to snake case. SnakeCase returns snake_case. + # + # ==== Parameters + # String + # + # ==== Returns + # String + # + def self.snake_case(str) + return str.downcase if str =~ /^[A-Z_]+$/ + str.gsub(/\B[A-Z]/, '_\&').squeeze('_') =~ /_*(.*)/ + return $+.downcase + end + + # Receives a string and convert it to camel case. camel_case returns CamelCase. + # + # ==== Parameters + # String + # + # ==== Returns + # String + # + def self.camel_case(str) + return str if str !~ /_/ && str =~ /[A-Z]+.*/ + str.split('_').map { |i| i.capitalize }.join + end + + # Receives a namespace and tries to retrieve a Thor or Thor::Group class + # from it. It first searches for a class using the all the given namespace, + # if it's not found, removes the highest entry and searches for the class + # again. If found, returns the highest entry as the class name. + # + # ==== Examples + # + # class Foo::Bar < Thor + # def baz + # end + # end + # + # class Baz::Foo < Thor::Group + # end + # + # Thor::Util.namespace_to_thor_class("foo:bar") #=> Foo::Bar, nil # will invoke default task + # Thor::Util.namespace_to_thor_class("baz:foo") #=> Baz::Foo, nil + # Thor::Util.namespace_to_thor_class("foo:bar:baz") #=> Foo::Bar, "baz" + # + # ==== Parameters + # namespace + # + def self.find_class_and_task_by_namespace(namespace, fallback = true) + if namespace.include?(?:) # look for a namespaced task + pieces = namespace.split(":") + task = pieces.pop + klass = Thor::Util.find_by_namespace(pieces.join(":")) + end + unless klass # look for a Thor::Group with the right name + klass, task = Thor::Util.find_by_namespace(namespace), nil + end + if !klass && fallback # try a task in the default namespace + task = namespace + klass = Thor::Util.find_by_namespace('') + end + return klass, task + end + + # Receives a path and load the thor file in the path. The file is evaluated + # inside the sandbox to avoid namespacing conflicts. + # + def self.load_thorfile(path, content=nil, debug=false) + content ||= File.binread(path) + + begin + Thor::Sandbox.class_eval(content, path) + rescue Exception => e + $stderr.puts "WARNING: unable to load thorfile #{path.inspect}: #{e.message}" + if debug + $stderr.puts *e.backtrace + else + $stderr.puts e.backtrace.first + end + end + end + + def self.user_home + @@user_home ||= if ENV["HOME"] + ENV["HOME"] + elsif ENV["USERPROFILE"] + ENV["USERPROFILE"] + elsif ENV["HOMEDRIVE"] && ENV["HOMEPATH"] + File.join(ENV["HOMEDRIVE"], ENV["HOMEPATH"]) + elsif ENV["APPDATA"] + ENV["APPDATA"] + else + begin + File.expand_path("~") + rescue + if File::ALT_SEPARATOR + "C:/" + else + "/" + end + end + end + end + + # Returns the root where thor files are located, dependending on the OS. + # + def self.thor_root + File.join(user_home, ".thor").gsub(/\\/, '/') + end + + # Returns the files in the thor root. On Windows thor_root will be something + # like this: + # + # C:\Documents and Settings\james\.thor + # + # If we don't #gsub the \ character, Dir.glob will fail. + # + def self.thor_root_glob + files = Dir["#{thor_root}/*"] + + files.map! do |file| + File.directory?(file) ? File.join(file, "main.thor") : file + end + end + + # Where to look for Thor files. + # + def self.globs_for(path) + ["#{path}/Thorfile", "#{path}/*.thor", "#{path}/tasks/*.thor", "#{path}/lib/tasks/*.thor"] + end + + # Return the path to the ruby interpreter taking into account multiple + # installations and windows extensions. + # + def self.ruby_command + @ruby_command ||= begin + ruby = File.join(RbConfig::CONFIG['bindir'], RbConfig::CONFIG['ruby_install_name']) + ruby << RbConfig::CONFIG['EXEEXT'] + + # escape string in case path to ruby executable contain spaces. + ruby.sub!(/.*\s.*/m, '"\&"') + ruby + end + end + + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/version.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/version.rb new file mode 100755 index 00000000..b3efbb53 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/version.rb @@ -0,0 +1,3 @@ +class Thor + VERSION = "0.14.0".freeze +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/version.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/version.rb new file mode 100644 index 00000000..029b4106 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/version.rb @@ -0,0 +1,6 @@ +module Bundler + # We're doing this because we might write tests that deal + # with other versions of bundler and we are unsure how to + # handle this better. + VERSION = "1.0.0" unless defined?(::Bundler::VERSION) +end diff --git a/vendor/plugins/bundler/specifications/bundler.gemspec b/vendor/plugins/bundler/specifications/bundler.gemspec new file mode 100644 index 00000000..9dfd1b79 --- /dev/null +++ b/vendor/plugins/bundler/specifications/bundler.gemspec @@ -0,0 +1,36 @@ +# -*- encoding: utf-8 -*- + +Gem::Specification.new do |s| + s.name = %q{bundler} + s.version = "1.0.0" + + s.required_rubygems_version = Gem::Requirement.new(">= 1.3.6") if s.respond_to? :required_rubygems_version= + s.authors = ["Carl Lerche", "Yehuda Katz", "Andr\303\251 Arko"] + s.date = %q{2010-08-29} + s.default_executable = %q{bundle} + s.description = %q{Bundler manages an application's dependencies through its entire life, across many machines, systematically and repeatably} + s.email = ["carlhuda@engineyard.com"] + s.executables = ["bundle"] + s.files = ["bin/bundle", "lib/bundler/capistrano.rb", "lib/bundler/cli.rb", "lib/bundler/definition.rb", "lib/bundler/dependency.rb", "lib/bundler/dsl.rb", "lib/bundler/environment.rb", "lib/bundler/gem_helper.rb", "lib/bundler/graph.rb", "lib/bundler/index.rb", "lib/bundler/installer.rb", "lib/bundler/lazy_specification.rb", "lib/bundler/lockfile_parser.rb", "lib/bundler/man/bundle", "lib/bundler/man/bundle-config", "lib/bundler/man/bundle-config.txt", "lib/bundler/man/bundle-exec", "lib/bundler/man/bundle-exec.txt", "lib/bundler/man/bundle-install", "lib/bundler/man/bundle-install.txt", "lib/bundler/man/bundle-package", "lib/bundler/man/bundle-package.txt", "lib/bundler/man/bundle-update", "lib/bundler/man/bundle-update.txt", "lib/bundler/man/bundle.txt", "lib/bundler/man/gemfile.5", "lib/bundler/man/gemfile.5.txt", "lib/bundler/remote_specification.rb", "lib/bundler/resolver.rb", "lib/bundler/rubygems_ext.rb", "lib/bundler/runtime.rb", "lib/bundler/settings.rb", "lib/bundler/setup.rb", "lib/bundler/shared_helpers.rb", "lib/bundler/source.rb", "lib/bundler/spec_set.rb", "lib/bundler/templates/Executable", "lib/bundler/templates/Gemfile", "lib/bundler/templates/newgem/Gemfile.tt", "lib/bundler/templates/newgem/gitignore.tt", "lib/bundler/templates/newgem/lib/newgem/version.rb.tt", "lib/bundler/templates/newgem/lib/newgem.rb.tt", "lib/bundler/templates/newgem/newgem.gemspec.tt", "lib/bundler/templates/newgem/Rakefile.tt", "lib/bundler/ui.rb", "lib/bundler/vendor/thor/actions/create_file.rb", "lib/bundler/vendor/thor/actions/directory.rb", "lib/bundler/vendor/thor/actions/empty_directory.rb", "lib/bundler/vendor/thor/actions/file_manipulation.rb", "lib/bundler/vendor/thor/actions/inject_into_file.rb", "lib/bundler/vendor/thor/actions.rb", "lib/bundler/vendor/thor/base.rb", "lib/bundler/vendor/thor/core_ext/file_binary_read.rb", "lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access.rb", "lib/bundler/vendor/thor/core_ext/ordered_hash.rb", "lib/bundler/vendor/thor/error.rb", "lib/bundler/vendor/thor/invocation.rb", "lib/bundler/vendor/thor/parser/argument.rb", "lib/bundler/vendor/thor/parser/arguments.rb", "lib/bundler/vendor/thor/parser/option.rb", "lib/bundler/vendor/thor/parser/options.rb", "lib/bundler/vendor/thor/parser.rb", "lib/bundler/vendor/thor/shell/basic.rb", "lib/bundler/vendor/thor/shell/color.rb", "lib/bundler/vendor/thor/shell/html.rb", "lib/bundler/vendor/thor/shell.rb", "lib/bundler/vendor/thor/task.rb", "lib/bundler/vendor/thor/util.rb", "lib/bundler/vendor/thor/version.rb", "lib/bundler/vendor/thor.rb", "lib/bundler/version.rb", "lib/bundler.rb", "LICENSE", "README.md", "ROADMAP.md", "CHANGELOG.md", "ISSUES.md"] + s.homepage = %q{http://gembundler.com} + s.require_paths = ["lib"] + s.rubyforge_project = %q{bundler} + s.rubygems_version = %q{1.3.7} + s.summary = %q{The best way to manage your application's dependencies} + + if s.respond_to? :specification_version then + current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION + s.specification_version = 3 + + if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then + s.add_development_dependency(%q, [">= 0"]) + s.add_development_dependency(%q, [">= 0"]) + else + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + end + else + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + end +end diff --git a/vendor/plugins/rack/lib/rack.rb b/vendor/plugins/rack/lib/rack.rb index 1bbf70e9..aa1ba88d 100644 --- a/vendor/plugins/rack/lib/rack.rb +++ b/vendor/plugins/rack/lib/rack.rb @@ -29,7 +29,8 @@ module Rack autoload :CommonLogger, "rack/commonlogger" autoload :ConditionalGet, "rack/conditionalget" autoload :Config, "rack/config" - autoload :ContentLength, "rack/content_length" + require "rack/content_length" +# autoload :ContentLength, "rack/content_length" autoload :ContentType, "rack/content_type" autoload :ETag, "rack/etag" autoload :File, "rack/file" @@ -54,7 +55,8 @@ module Rack autoload :ShowStatus, "rack/showstatus" autoload :Static, "rack/static" autoload :URLMap, "rack/urlmap" - autoload :Utils, "rack/utils" + require "rack/utils" +# autoload :Utils, "rack/utils" autoload :MockRequest, "rack/mock" autoload :MockResponse, "rack/mock" diff --git a/vendor/plugins/rack/lib/rack/handler.rb b/vendor/plugins/rack/lib/rack/handler.rb index 3c09883e..9238994f 100644 --- a/vendor/plugins/rack/lib/rack/handler.rb +++ b/vendor/plugins/rack/lib/rack/handler.rb @@ -70,7 +70,8 @@ module Rack autoload :Mongrel, "rack/handler/mongrel" autoload :EventedMongrel, "rack/handler/evented_mongrel" autoload :SwiftipliedMongrel, "rack/handler/swiftiplied_mongrel" - autoload :WEBrick, "rack/handler/webrick" + require "rack/handler/webrick" +# autoload :WEBrick, "rack/handler/webrick" autoload :LSWS, "rack/handler/lsws" autoload :SCGI, "rack/handler/scgi" autoload :Thin, "rack/handler/thin" diff --git a/vendor/plugins/sqlite3-ruby/API_CHANGES.rdoc b/vendor/plugins/sqlite3-ruby/API_CHANGES.rdoc deleted file mode 100644 index 8ca51e67..00000000 --- a/vendor/plugins/sqlite3-ruby/API_CHANGES.rdoc +++ /dev/null @@ -1,48 +0,0 @@ -= API Changes - -* SQLite3::ResultSet used to query the database for the first row, regardless - of whether the user asked for it or not. I have removed that so that rows - will not be returned until the user asks for them. This is a subtle but - sometimes important change in behavior. - - 83882d2208ed189361617d5ab8532a325aaf729d - -* SQLite3::Database#trace now takes either a block or an object that responds - to "call". The previous implementation passed around a VALUE that was cast - to a void *. This is dangerous because the value could get garbage collected - before the proc was called. If the user wants data passed around with the - block, they should use variables available to the closure or create an - object. - -* SQLite3::Statement#step automatically converts to ruby types, where before - all values were automatically yielded as strings. This will only be a - problem for people who were accessing information about the database that - wasn't previously passed through the pure ruby conversion code. - -* SQLite3::Database#errmsg no longer takes a parameter to return error - messages as UTF-16. Do people even use that? I opt for staying UTF-8 when - possible. See test_integration.rb test_errmsg_utf16 - -* SQLite3::Database#authorize same changes as trace - -* test/test_tc_database.rb was removed because we no longer use the Driver - design pattern. - -= Garbage Collection Strategy - -All statements keep pointers back to their respective database connections. -The @connection instance variable on the Statement handle keeps the database -connection alive. Memory allocated for a statement handler will be freed in -two cases: - -* close is called on the statement -* The SQLite3::Database object gets garbage collected - -We can't free the memory for the statement in the garbage collection function -for the statement handler. The reason is because there exists a race -condition. We cannot guarantee the order in which objects will be garbage -collected. So, it is possible that a connection and a statement are up for -garbage collection. If the database connection were to be free'd before the -statement, then boom. Instead we'll be conservative and free unclosed -statements when the connection is terminated. - diff --git a/vendor/plugins/sqlite3-ruby/CHANGELOG.rdoc b/vendor/plugins/sqlite3-ruby/CHANGELOG.rdoc deleted file mode 100644 index dbf192c3..00000000 --- a/vendor/plugins/sqlite3-ruby/CHANGELOG.rdoc +++ /dev/null @@ -1,150 +0,0 @@ -=== 1.3.1 / 2010-07-09 - -* Enhancements - * Custom collations may be defined using SQLite3::Database#collation - -* Bugfixes - * Statements returning 0 columns are automatically stepped. [RF #28308] - * SQLite3::Database#encoding works on 1.8 and 1.9 - -=== 1.3.0 / 2010-06-06 - -* Enhancements - * Complete rewrite of C-based adapter from SWIG to hand-crafted one [tenderlove] - See API_CHANGES document for details. - This closes: Bug #27300, Bug #27241, Patch #16020 - * Improved UTF, Unicode, M17N, all that handling and proper BLOB handling [tenderlove, nurse] - * Added support for type translations [tenderlove] - - @db.translator.add_translator('sometime') do |type, thing| - 'output' # this will be returned as value for that column - end - -* Experimental - * Added API to access and load extensions. [kashif] - These functions maps directly into SQLite3 own enable_load_extension() - and load_extension() C-API functions. See SQLite3::Database API documentation for details. - This closes: Patches #9178 - -* Bugfixes - * Corrected gem dependencies (runtime and development) - * Fixed threaded tests [Alexey Borzenkov] - * Removed GitHub gemspec - * Fixed "No definition for" warnings from RDoc - * Generate zip and tgz files for releases - * Added Luis Lavena as gem Author (maintainer) - * Prevent mkmf interfere with Mighty Snow Leopard - * Allow extension compilation search for common lib paths [kashif] - (lookup /usr/local, /opt/local and /usr) - * Corrected extension compilation under MSVC [romuloceccon] - * Define load_extension functionality based on availability [tenderlove] - * Deprecation notices for Database#query. Fixes RF #28192 - -=== 1.3.0.beta.2 / 2010-05-15 - -* Enhancements - * Added support for type translations [tenderlove] - - @db.translator.add_translator('sometime') do |type, thing| - 'output' # this will be returned as value for that column - end - -* Bugfixes - * Allow extension compilation search for common lib paths [kashif] - (lookup /usr/local, /opt/local and /usr) - * Corrected extension compilation under MSVC [romuloceccon] - * Define load_extension functionality based on availability [tenderlove] - * Deprecation notices for Database#query. Fixes RF #28192 - -=== 1.3.0.beta.1 / 2010-05-10 - -* Enhancements - * Complete rewrite of C-based adapter from SWIG to hand-crafted one [tenderlove] - See API_CHANGES document for details. - This closes: Bug #27300, Bug #27241, Patch #16020 - * Improved UTF, Unicode, M17N, all that handling and proper BLOB handling [tenderlove, nurse] - -* Experimental - * Added API to access and load extensions. [kashif] - These functions maps directly into SQLite3 own enable_load_extension() - and load_extension() C-API functions. See SQLite3::Database API documentation for details. - This closes: Patches #9178 - -* Bugfixes - * Corrected gem dependencies (runtime and development) - * Fixed threaded tests [Alexey Borzenkov] - * Removed GitHub gemspec - * Fixed "No definition for" warnings from RDoc - * Generate zip and tgz files for releases - * Added Luis Lavena as gem Author (maintainer) - * Prevent mkmf interfere with Mighty Snow Leopard - -=== 1.2.5 / 25 Jul 2009 - -* Check for illegal nil before executing SQL [Erik Veenstra] -* Switch to Hoe for gem task management and packaging. -* Advertise rake-compiler as development dependency. -* Build gem binaries for Windows. -* Improved Ruby 1.9 support compatibility. -* Taint returned values. Patch #20325. -* Database.open and Database.new now take an optional block [Gerrit Kaiser] - - -=== 1.2.4.1 (internal) / 5 Jul 2009 - -* Check for illegal nil before executing SQL [Erik Veenstra] -* Switch to Hoe for gem task management and packaging. -* Advertise rake-compiler as development dependency. -* Build gem binaries for Windows. -* Improved Ruby 1.9 support compatibility. - - -=== 1.2.4 / 27 Aug 2008 - -* Package the updated C file for source builds. [Jamis Buck] - - -=== 1.2.3 / 26 Aug 2008 - -* Fix incorrect permissions on database.rb and translator.rb [Various] - -* Avoid using Object#extend for greater speedups [Erik Veenstra] - -* Ruby 1.9 compatibility tweaks for Array#zip [jimmy88@gmail.com] - -* Fix linking against Ruby 1.8.5 [Rob Holland ] - - -=== 1.2.2 / 31 May 2008 - -* Make the table_info method adjust the returned default value for the rows - so that the sqlite3 change in 3.3.8 and greater can be handled - transparently [Jamis Buck ] - -* Ruby 1.9 compatibility tweaks [Roman Le Negrate ] - -* Various performance enhancements [thanks Erik Veenstra] - -* Correct busy_handler documentation [Rob Holland ] - -* Use int_bind64 on Fixnum values larger than a 32bit C int can take. [Rob Holland ] - -* Work around a quirk in SQLite's error reporting by calling sqlite3_reset - to produce a more informative error code upon a failure from - sqlite3_step. [Rob Holland ] - -* Various documentation, test, and style tweaks [Rob Holland ] - -* Be more granular with time/data translation [Rob Holland ] - -* Use Date directly for parsing rather than going via Time [Rob Holland ] - -* Check for the rt library and fdatasync so we link against that when - needed [Rob Holland ] - -* Rename data structures to avoid collision on win32. based on patch - by: Luis Lavena [Rob Holland ] - -* Add test for defaults [Daniel Rodríguez Troitiño] - -* Correctly unquote double-quoted pragma defaults [Łukasz Dargiewicz ] diff --git a/vendor/plugins/sqlite3-ruby/ChangeLog.cvs b/vendor/plugins/sqlite3-ruby/ChangeLog.cvs deleted file mode 100644 index 6e9dd51d..00000000 --- a/vendor/plugins/sqlite3-ruby/ChangeLog.cvs +++ /dev/null @@ -1,88 +0,0 @@ -2005-01-05 09:40 minam - - * Rakefile, sqlite3-ruby-win32.gemspec, sqlite3-ruby.gemspec: Added - win32 gem. - -2005-01-05 07:31 minam - - * Rakefile, test/tc_integration.rb, test/tests.rb: Added - native-vs-dl benchmark to Rakefile. Added SQLITE3_DRIVERS - environment variable to integration test to specify which - driver(s) should be tested (defaults to "Native"). - -2005-01-04 14:26 minam - - * ext/sqlite3_api/sqlite3_api.i, lib/sqlite3/database.rb, - lib/sqlite3/driver/native/driver.rb, test/tc_database.rb, - test/tc_integration.rb, test/tests.rb: Unit tests: done. Bugs: - fixed. - -2005-01-03 23:13 minam - - * ext/sqlite3_api/sqlite3_api.i, lib/sqlite3/database.rb, - lib/sqlite3/driver/dl/driver.rb, - lib/sqlite3/driver/native/driver.rb, test/tc_integration.rb: - Custom functions (aggregate and otherwise) are supported by the - native driver now. Test cases for the same. - -2005-01-03 13:51 minam - - * ext/sqlite3_api/MANIFEST, ext/sqlite3_api/extconf.rb, - ext/sqlite3_api/post-clean.rb, ext/sqlite3_api/post-distclean.rb, - ext/sqlite3_api/sqlite3_api.i, lib/sqlite3/database.rb, - lib/sqlite3/resultset.rb, lib/sqlite3/version.rb, - lib/sqlite3/driver/dl/driver.rb, - lib/sqlite3/driver/native/driver.rb, test/native-vs-dl.rb, - test/tc_integration.rb: Added preliminary implementation of - native driver (swig-based), and integration tests. - -2004-12-29 19:37 minam - - * lib/sqlite3/driver/dl/driver.rb: Some fixes to allow the DL - driver to work with Ruby 1.8.1. - -2004-12-29 14:52 minam - - * lib/sqlite3/: database.rb, version.rb: Made #quote a class method - (again). Bumped version to 0.6. - -2004-12-25 22:59 minam - - * lib/sqlite3/driver/dl/api.rb: Added check for darwin in supported - platforms (thanks to bitsweat). - -2004-12-22 12:38 minam - - * Rakefile: Rakefile wasn't packaging the README file. - -2004-12-21 22:28 minam - - * Rakefile, sqlite3-ruby.gemspec, test/bm.rb: Packaging now works. - Added benchmarks. - -2004-12-21 21:45 minam - - * LICENSE, README, Rakefile, setup.rb, sqlite3-ruby.gemspec, - doc/faq/faq.rb, doc/faq/faq.yml, lib/sqlite3.rb, - lib/sqlite3/statement.rb, lib/sqlite3/constants.rb, - lib/sqlite3/database.rb, lib/sqlite3/resultset.rb, - lib/sqlite3/translator.rb, lib/sqlite3/value.rb, - lib/sqlite3/version.rb, lib/sqlite3/errors.rb, - lib/sqlite3/pragmas.rb, lib/sqlite3/driver/dl/api.rb, - lib/sqlite3/driver/dl/driver.rb, test/mocks.rb, - test/tc_database.rb, test/tests.rb, test/driver/dl/tc_driver.rb: - Initial import - -2004-12-21 21:45 minam - - * LICENSE, README, Rakefile, setup.rb, sqlite3-ruby.gemspec, - doc/faq/faq.rb, doc/faq/faq.yml, lib/sqlite3.rb, - lib/sqlite3/statement.rb, lib/sqlite3/constants.rb, - lib/sqlite3/database.rb, lib/sqlite3/resultset.rb, - lib/sqlite3/translator.rb, lib/sqlite3/value.rb, - lib/sqlite3/version.rb, lib/sqlite3/errors.rb, - lib/sqlite3/pragmas.rb, lib/sqlite3/driver/dl/api.rb, - lib/sqlite3/driver/dl/driver.rb, test/mocks.rb, - test/tc_database.rb, test/tests.rb, test/driver/dl/tc_driver.rb: - Initial revision - diff --git a/vendor/plugins/sqlite3-ruby/LICENSE b/vendor/plugins/sqlite3-ruby/LICENSE deleted file mode 100644 index 75c06824..00000000 --- a/vendor/plugins/sqlite3-ruby/LICENSE +++ /dev/null @@ -1,27 +0,0 @@ -Copyright (c) 2004, Jamis Buck (jamis@jamisbuck.org) -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - * The names of its contributors may not be used to endorse or promote - products derived from this software without specific prior written - permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/plugins/sqlite3-ruby/Manifest.txt b/vendor/plugins/sqlite3-ruby/Manifest.txt deleted file mode 100644 index 2b2237fe..00000000 --- a/vendor/plugins/sqlite3-ruby/Manifest.txt +++ /dev/null @@ -1,46 +0,0 @@ -API_CHANGES.rdoc -CHANGELOG.rdoc -ChangeLog.cvs -LICENSE -Manifest.txt -README.rdoc -Rakefile -ext/sqlite3/database.c -ext/sqlite3/database.h -ext/sqlite3/exception.c -ext/sqlite3/exception.h -ext/sqlite3/extconf.rb -ext/sqlite3/sqlite3.c -ext/sqlite3/sqlite3_ruby.h -ext/sqlite3/statement.c -ext/sqlite3/statement.h -faq/faq.rb -faq/faq.yml -lib/sqlite3.rb -lib/sqlite3/constants.rb -lib/sqlite3/database.rb -lib/sqlite3/errors.rb -lib/sqlite3/pragmas.rb -lib/sqlite3/resultset.rb -lib/sqlite3/statement.rb -lib/sqlite3/translator.rb -lib/sqlite3/value.rb -lib/sqlite3/version.rb -setup.rb -tasks/faq.rake -tasks/gem.rake -tasks/native.rake -tasks/vendor_sqlite3.rake -test/helper.rb -test/test_collation.rb -test/test_database.rb -test/test_deprecated.rb -test/test_encoding.rb -test/test_integration.rb -test/test_integration_open_close.rb -test/test_integration_pending.rb -test/test_integration_resultset.rb -test/test_integration_statement.rb -test/test_sqlite3.rb -test/test_statement.rb -test/test_statement_execute.rb diff --git a/vendor/plugins/sqlite3-ruby/README.rdoc b/vendor/plugins/sqlite3-ruby/README.rdoc deleted file mode 100644 index 8056a97c..00000000 --- a/vendor/plugins/sqlite3-ruby/README.rdoc +++ /dev/null @@ -1,74 +0,0 @@ -= SQLite3/Ruby Interface - -* http://github.com/luislavena/sqlite3-ruby -* http://rubyforge.org/projects/sqlite-ruby -* http://sqlite-ruby.rubyforge.org -* http://groups.google.com/group/sqlite3-ruby - -== DESCRIPTION - -This module allows Ruby programs to interface with the SQLite3 -database engine (http://www.sqlite.org). You must have the -SQLite engine installed in order to build this module. - -Note that this module is NOT compatible with SQLite 2.x. - -== Compilation and Installation - -Install SQLite3, enabling option SQLITE_ENABLE_COLUMN_METADATA (see -www.sqlite.org/compile.html for details). - -Then do the following: - - ruby setup.rb config - ruby setup.rb setup - ruby setup.rb install - -Alternatively, you can download and install the RubyGem package for -SQLite3/Ruby (you must have RubyGems and SQLite3 installed, first): - - gem install sqlite3-ruby - -If you have sqlite3 installed in a non-standard location, you can specify the location of the include and lib files by doing: - - gem install sqlite3-ruby -- --with-sqlite3-include=/opt/local/include \ - --with-sqlite3-lib=/opt/local/lib - -= SUPPORT!!! - -== OMG! Something has gone wrong! Where do I get help? - -The best place to get help is from the -{sqlite3-ruby mailing list}[http://groups.google.com/group/sqlite3-ruby] which -can be found here: - - * http://groups.google.com/group/sqlite3-ruby - -== I've found a bug! Where do I file it? - -Uh oh. After contacting the mailing list, you've found that you've actually -discovered a bug. You can file the bug at the -{github issues page}[http://github.com/luislavena/sqlite3-ruby/issues] -which can be found here: - - * http://github.com/luislavena/sqlite3-ruby/issues - -== Usage - -For help figuring out the SQLite3/Ruby interface, check out the -FAQ[http://sqlite-ruby.rubyforge.org/sqlite3/faq.html]. It includes examples of -usage. If you have any questions that you feel should be address in the -FAQ, please send them to jamis@37signals.com - -== Source Code - -The source repository is accessible via git: - - git clone git://github.com/luislavena/sqlite3-ruby.git - -== Contact Information - -The project page is http://rubyforge.org/projects/sqlite-ruby. There, you can -find links to mailing lists and forums that you can use to discuss this -library. Additionally, there are trackers for submitting bugs and feature -requests. Feel free to use them! diff --git a/vendor/plugins/sqlite3-ruby/Rakefile b/vendor/plugins/sqlite3-ruby/Rakefile deleted file mode 100644 index 7c5f784c..00000000 --- a/vendor/plugins/sqlite3-ruby/Rakefile +++ /dev/null @@ -1,10 +0,0 @@ -# -# NOTE: Keep this file clean. -# Add your customizations inside tasks directory. -# Thank You. -# - -# load rakefile extensions (tasks) -Dir['tasks/*.rake'].sort.each { |f| load f } - -# vim: syntax=ruby diff --git a/vendor/plugins/sqlite3-ruby/ext/sqlite3/database.c b/vendor/plugins/sqlite3-ruby/ext/sqlite3/database.c deleted file mode 100644 index 7b7bf057..00000000 --- a/vendor/plugins/sqlite3-ruby/ext/sqlite3/database.c +++ /dev/null @@ -1,760 +0,0 @@ -#include - -#define REQUIRE_OPEN_DB(_ctxt) \ - if(!_ctxt->db) \ - rb_raise(rb_path2class("SQLite3::Exception"), "cannot use a closed database"); - -VALUE cSqlite3Database; -static VALUE sym_utf16, sym_results_as_hash, sym_type_translation; - -static void deallocate(void * ctx) -{ - sqlite3RubyPtr c = (sqlite3RubyPtr)ctx; - sqlite3 * db = c->db; - sqlite3_stmt * stmt; - - if(db) { - while((stmt = sqlite3_next_stmt(db, NULL)) != NULL) { - sqlite3_finalize(stmt); - } - sqlite3_close(db); - } - xfree(c); -} - -static VALUE allocate(VALUE klass) -{ - sqlite3RubyPtr ctx = xcalloc((size_t)1, sizeof(sqlite3Ruby)); - return Data_Wrap_Struct(klass, NULL, deallocate, ctx); -} - -static char * -utf16_string_value_ptr(VALUE str) -{ - StringValue(str); - rb_str_buf_cat(str, "\x00", 1L); - return RSTRING_PTR(str); -} - -/* call-seq: SQLite3::Database.new(file, options = {}) - * - * Create a new Database object that opens the given file. If utf16 - * is +true+, the filename is interpreted as a UTF-16 encoded string. - * - * By default, the new database will return result rows as arrays - * (#results_as_hash) and has type translation disabled (#type_translation=). - */ -static VALUE initialize(int argc, VALUE *argv, VALUE self) -{ - sqlite3RubyPtr ctx; - VALUE file; - VALUE opts; - VALUE zvfs; - int status; - - Data_Get_Struct(self, sqlite3Ruby, ctx); - - rb_scan_args(argc, argv, "12", &file, &opts, &zvfs); - if(NIL_P(opts)) opts = rb_hash_new(); - -#ifdef HAVE_RUBY_ENCODING_H - if(UTF16_LE_P(file)) { - status = sqlite3_open16(utf16_string_value_ptr(file), &ctx->db); - } else { -#endif - - if(Qtrue == rb_hash_aref(opts, sym_utf16)) { - status = sqlite3_open16(utf16_string_value_ptr(file), &ctx->db); - } else { - -#ifdef HAVE_RUBY_ENCODING_H - if(!UTF8_P(file)) { - file = rb_str_export_to_enc(file, rb_utf8_encoding()); - } -#endif - - status = sqlite3_open_v2( - StringValuePtr(file), - &ctx->db, - SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, - NIL_P(zvfs) ? NULL : StringValuePtr(zvfs) - ); - } - -#ifdef HAVE_RUBY_ENCODING_H - } -#endif - - CHECK(ctx->db, status) - - rb_iv_set(self, "@tracefunc", Qnil); - rb_iv_set(self, "@authorizer", Qnil); - rb_iv_set(self, "@encoding", Qnil); - rb_iv_set(self, "@busy_handler", Qnil); - rb_iv_set(self, "@collations", rb_hash_new()); - rb_iv_set(self, "@results_as_hash", rb_hash_aref(opts, sym_results_as_hash)); - rb_iv_set(self, "@type_translation", rb_hash_aref(opts, sym_type_translation)); - - if(rb_block_given_p()) { - rb_yield(self); - rb_funcall(self, rb_intern("close"), 0); - } - - return self; -} - -/* call-seq: db.close - * - * Closes this database. - */ -static VALUE sqlite3_rb_close(VALUE self) -{ - sqlite3RubyPtr ctx; - sqlite3 * db; - Data_Get_Struct(self, sqlite3Ruby, ctx); - - db = ctx->db; - CHECK(db, sqlite3_close(ctx->db)); - - ctx->db = NULL; - - return self; -} - -/* call-seq: db.closed? - * - * Returns +true+ if this database instance has been closed (see #close). - */ -static VALUE closed_p(VALUE self) -{ - sqlite3RubyPtr ctx; - Data_Get_Struct(self, sqlite3Ruby, ctx); - - if(!ctx->db) return Qtrue; - - return Qfalse; -} - -/* call-seq: total_changes - * - * Returns the total number of changes made to this database instance - * since it was opened. - */ -static VALUE total_changes(VALUE self) -{ - sqlite3RubyPtr ctx; - Data_Get_Struct(self, sqlite3Ruby, ctx); - REQUIRE_OPEN_DB(ctx); - - return INT2NUM((long)sqlite3_total_changes(ctx->db)); -} - -static void tracefunc(void * data, const char *sql) -{ - VALUE self = (VALUE)data; - VALUE thing = rb_iv_get(self, "@tracefunc"); - rb_funcall(thing, rb_intern("call"), 1, rb_str_new2(sql)); -} - -/* call-seq: - * trace { |sql| ... } - * trace(Class.new { def call sql; end }.new) - * - * Installs (or removes) a block that will be invoked for every SQL - * statement executed. The block receives one parameter: the SQL statement - * executed. If the block is +nil+, any existing tracer will be uninstalled. - */ -static VALUE trace(int argc, VALUE *argv, VALUE self) -{ - sqlite3RubyPtr ctx; - VALUE block; - - Data_Get_Struct(self, sqlite3Ruby, ctx); - REQUIRE_OPEN_DB(ctx); - - rb_scan_args(argc, argv, "01", &block); - - if(NIL_P(block) && rb_block_given_p()) block = rb_block_proc(); - - rb_iv_set(self, "@tracefunc", block); - - sqlite3_trace(ctx->db, NIL_P(block) ? NULL : tracefunc, (void *)self); - - return self; -} - -static int rb_sqlite3_busy_handler(void * ctx, int count) -{ - VALUE self = (VALUE)(ctx); - VALUE handle = rb_iv_get(self, "@busy_handler"); - VALUE result = rb_funcall(handle, rb_intern("call"), 1, INT2NUM((long)count)); - - if(Qfalse == result) return 0; - - return 1; -} - -/* call-seq: - * busy_handler { |count| ... } - * busy_handler(Class.new { def call count; end }.new) - * - * Register a busy handler with this database instance. When a requested - * resource is busy, this handler will be invoked. If the handler returns - * +false+, the operation will be aborted; otherwise, the resource will - * be requested again. - * - * The handler will be invoked with the name of the resource that was - * busy, and the number of times it has been retried. - * - * See also the mutually exclusive #busy_timeout. - */ -static VALUE busy_handler(int argc, VALUE *argv, VALUE self) -{ - sqlite3RubyPtr ctx; - VALUE block; - int status; - - Data_Get_Struct(self, sqlite3Ruby, ctx); - REQUIRE_OPEN_DB(ctx); - - rb_scan_args(argc, argv, "01", &block); - - if(NIL_P(block) && rb_block_given_p()) block = rb_block_proc(); - - rb_iv_set(self, "@busy_handler", block); - - status = sqlite3_busy_handler( - ctx->db, NIL_P(block) ? NULL : rb_sqlite3_busy_handler, (void *)self); - - CHECK(ctx->db, status); - - return self; -} - -/* call-seq: last_insert_row_id - * - * Obtains the unique row ID of the last row to be inserted by this Database - * instance. - */ -static VALUE last_insert_row_id(VALUE self) -{ - sqlite3RubyPtr ctx; - Data_Get_Struct(self, sqlite3Ruby, ctx); - REQUIRE_OPEN_DB(ctx); - - return LL2NUM(sqlite3_last_insert_rowid(ctx->db)); -} - -static VALUE sqlite3val2rb(sqlite3_value * val) -{ - switch(sqlite3_value_type(val)) { - case SQLITE_INTEGER: - return LL2NUM(sqlite3_value_int64(val)); - break; - case SQLITE_FLOAT: - return rb_float_new(sqlite3_value_double(val)); - break; - case SQLITE_TEXT: - return rb_tainted_str_new2((const char *)sqlite3_value_text(val)); - break; - case SQLITE_BLOB: - return rb_tainted_str_new2((const char *)sqlite3_value_blob(val)); - break; - case SQLITE_NULL: - return Qnil; - break; - default: - rb_raise(rb_eRuntimeError, "bad type"); /* FIXME */ - } -} - -static void set_sqlite3_func_result(sqlite3_context * ctx, VALUE result) -{ - switch(TYPE(result)) { - case T_NIL: - sqlite3_result_null(ctx); - break; - case T_FIXNUM: - sqlite3_result_int64(ctx, (sqlite3_int64)FIX2LONG(result)); - break; - case T_BIGNUM: -#if SIZEOF_LONG < 8 - if (RBIGNUM_LEN(result) * SIZEOF_BDIGITS <= 8) { - sqlite3_result_int64(ctx, NUM2LL(result)); - break; - } -#endif - case T_FLOAT: - sqlite3_result_double(ctx, NUM2DBL(result)); - break; - case T_STRING: - sqlite3_result_text( - ctx, - (const char *)StringValuePtr(result), - (int)RSTRING_LEN(result), - SQLITE_TRANSIENT - ); - break; - default: - rb_raise(rb_eRuntimeError, "can't return %s", - rb_class2name(CLASS_OF(result))); - } -} - -static void rb_sqlite3_func(sqlite3_context * ctx, int argc, sqlite3_value **argv) -{ - VALUE callable = (VALUE)sqlite3_user_data(ctx); - VALUE * params = NULL; - VALUE result; - int i; - - if (argc > 0) { - params = xcalloc((size_t)argc, sizeof(VALUE *)); - - for(i = 0; i < argc; i++) { - params[i] = sqlite3val2rb(argv[i]); - } - } - - result = rb_funcall2(callable, rb_intern("call"), argc, params); - xfree(params); - - set_sqlite3_func_result(ctx, result); -} - -#ifndef HAVE_RB_PROC_ARITY -int rb_proc_arity(VALUE self) -{ - return (int)NUM2INT(rb_funcall(self, rb_intern("arity"), 0)); -} -#endif - -/* call-seq: define_function(name) { |args,...| } - * - * Define a function named +name+ with +args+. The arity of the block - * will be used as the arity for the function defined. - */ -static VALUE define_function(VALUE self, VALUE name) -{ - sqlite3RubyPtr ctx; - VALUE block; - int status; - - Data_Get_Struct(self, sqlite3Ruby, ctx); - REQUIRE_OPEN_DB(ctx); - - block = rb_block_proc(); - - status = sqlite3_create_function( - ctx->db, - StringValuePtr(name), - rb_proc_arity(block), - SQLITE_UTF8, - (void *)block, - rb_sqlite3_func, - NULL, - NULL - ); - - CHECK(ctx->db, status); - - return self; -} - -static int sqlite3_obj_method_arity(VALUE obj, ID id) -{ - VALUE method = rb_funcall(obj, rb_intern("method"), 1, ID2SYM(id)); - VALUE arity = rb_funcall(method, rb_intern("arity"), 0); - - return (int)NUM2INT(arity); -} - -static void rb_sqlite3_step(sqlite3_context * ctx, int argc, sqlite3_value **argv) -{ - VALUE callable = (VALUE)sqlite3_user_data(ctx); - VALUE * params = NULL; - int i; - - if (argc > 0) { - params = xcalloc((size_t)argc, sizeof(VALUE *)); - for(i = 0; i < argc; i++) { - params[i] = sqlite3val2rb(argv[i]); - } - } - rb_funcall2(callable, rb_intern("step"), argc, params); - xfree(params); -} - -static void rb_sqlite3_final(sqlite3_context * ctx) -{ - VALUE callable = (VALUE)sqlite3_user_data(ctx); - VALUE result = rb_funcall(callable, rb_intern("finalize"), 0); - set_sqlite3_func_result(ctx, result); -} - -/* call-seq: define_aggregator(name, aggregator) - * - * Define an aggregate function named +name+ using the object +aggregator+. - * +aggregator+ must respond to +step+ and +finalize+. +step+ will be called - * with row information and +finalize+ must return the return value for the - * aggregator function. - */ -static VALUE define_aggregator(VALUE self, VALUE name, VALUE aggregator) -{ - sqlite3RubyPtr ctx; - int arity, status; - - Data_Get_Struct(self, sqlite3Ruby, ctx); - REQUIRE_OPEN_DB(ctx); - - arity = sqlite3_obj_method_arity(aggregator, rb_intern("step")); - - status = sqlite3_create_function( - ctx->db, - StringValuePtr(name), - arity, - SQLITE_UTF8, - (void *)aggregator, - NULL, - rb_sqlite3_step, - rb_sqlite3_final - ); - - rb_iv_set(self, "@agregator", aggregator); - - CHECK(ctx->db, status); - - return self; -} - -/* call-seq: interrupt - * - * Interrupts the currently executing operation, causing it to abort. - */ -static VALUE interrupt(VALUE self) -{ - sqlite3RubyPtr ctx; - Data_Get_Struct(self, sqlite3Ruby, ctx); - REQUIRE_OPEN_DB(ctx); - - sqlite3_interrupt(ctx->db); - - return self; -} - -/* call-seq: errmsg - * - * Return a string describing the last error to have occurred with this - * database. - */ -static VALUE errmsg(VALUE self) -{ - sqlite3RubyPtr ctx; - Data_Get_Struct(self, sqlite3Ruby, ctx); - REQUIRE_OPEN_DB(ctx); - - return rb_str_new2(sqlite3_errmsg(ctx->db)); -} - -/* call-seq: errcode - * - * Return an integer representing the last error to have occurred with this - * database. - */ -static VALUE errcode_(VALUE self) -{ - sqlite3RubyPtr ctx; - Data_Get_Struct(self, sqlite3Ruby, ctx); - REQUIRE_OPEN_DB(ctx); - - return INT2NUM((long)sqlite3_errcode(ctx->db)); -} - -/* call-seq: complete?(sql) - * - * Return +true+ if the string is a valid (ie, parsable) SQL statement, and - * +false+ otherwise. - */ -static VALUE complete_p(VALUE UNUSED(self), VALUE sql) -{ - if(sqlite3_complete(StringValuePtr(sql))) - return Qtrue; - - return Qfalse; -} - -/* call-seq: changes - * - * Returns the number of changes made to this database instance by the last - * operation performed. Note that a "delete from table" without a where - * clause will not affect this value. - */ -static VALUE changes(VALUE self) -{ - sqlite3RubyPtr ctx; - Data_Get_Struct(self, sqlite3Ruby, ctx); - REQUIRE_OPEN_DB(ctx); - - return INT2NUM(sqlite3_changes(ctx->db)); -} - -static int rb_sqlite3_auth( - void *ctx, - int _action, - const char * _a, - const char * _b, - const char * _c, - const char * _d) -{ - VALUE self = (VALUE)ctx; - VALUE action = INT2NUM(_action); - VALUE a = _a ? rb_str_new2(_a) : Qnil; - VALUE b = _b ? rb_str_new2(_b) : Qnil; - VALUE c = _c ? rb_str_new2(_c) : Qnil; - VALUE d = _d ? rb_str_new2(_d) : Qnil; - VALUE callback = rb_iv_get(self, "@authorizer"); - VALUE result = rb_funcall(callback, rb_intern("call"), 5, action, a, b, c, d); - - if(T_FIXNUM == TYPE(result)) return (int)NUM2INT(result); - if(Qtrue == result) return SQLITE_OK; - if(Qfalse == result) return SQLITE_DENY; - - return SQLITE_IGNORE; -} - -/* call-seq: set_authorizer = auth - * - * Set the authorizer for this database. +auth+ must respond to +call+, and - * +call+ must take 5 arguments. - * - * Installs (or removes) a block that will be invoked for every access - * to the database. If the block returns 0 (or +true+), the statement - * is allowed to proceed. Returning 1 or false causes an authorization error to - * occur, and returning 2 or nil causes the access to be silently denied. - */ -static VALUE set_authorizer(VALUE self, VALUE authorizer) -{ - sqlite3RubyPtr ctx; - int status; - - Data_Get_Struct(self, sqlite3Ruby, ctx); - REQUIRE_OPEN_DB(ctx); - - status = sqlite3_set_authorizer( - ctx->db, NIL_P(authorizer) ? NULL : rb_sqlite3_auth, (void *)self - ); - - CHECK(ctx->db, status); - - rb_iv_set(self, "@authorizer", authorizer); - - return self; -} - -/* call-seq: db.busy_timeout = ms - * - * Indicates that if a request for a resource terminates because that - * resource is busy, SQLite should sleep and retry for up to the indicated - * number of milliseconds. By default, SQLite does not retry - * busy resources. To restore the default behavior, send 0 as the - * +ms+ parameter. - * - * See also the mutually exclusive #busy_handler. - */ -static VALUE set_busy_timeout(VALUE self, VALUE timeout) -{ - sqlite3RubyPtr ctx; - Data_Get_Struct(self, sqlite3Ruby, ctx); - REQUIRE_OPEN_DB(ctx); - - CHECK(ctx->db, sqlite3_busy_timeout(ctx->db, (int)NUM2INT(timeout))); - - return self; -} - -int rb_comparator_func(void * ctx, int a_len, const void * a, int b_len, const void * b) -{ - VALUE comparator; - VALUE a_str; - VALUE b_str; - VALUE comparison; -#ifdef HAVE_RUBY_ENCODING_H - rb_encoding * internal_encoding; - - internal_encoding = rb_default_internal_encoding(); -#endif - - comparator = (VALUE)ctx; - a_str = rb_str_new((const char *)a, a_len); - b_str = rb_str_new((const char *)b, b_len); - -#ifdef HAVE_RUBY_ENCODING_H - rb_enc_associate_index(a_str, rb_utf8_encindex()); - rb_enc_associate_index(b_str, rb_utf8_encindex()); - - if(internal_encoding) { - a_str = rb_str_export_to_enc(a_str, internal_encoding); - b_str = rb_str_export_to_enc(b_str, internal_encoding); - } -#endif - - comparison = rb_funcall(comparator, rb_intern("compare"), 2, a_str, b_str); - - return NUM2INT(comparison); -} - -/* call-seq: db.collation(name, comparator) - * - * Add a collation with name +name+, and a +comparator+ object. The - * +comparator+ object should implement a method called "compare" that takes - * two parameters and returns an integer less than, equal to, or greater than - * 0. - */ -static VALUE collation(VALUE self, VALUE name, VALUE comparator) -{ - sqlite3RubyPtr ctx; - Data_Get_Struct(self, sqlite3Ruby, ctx); - REQUIRE_OPEN_DB(ctx); - - CHECK(ctx->db, sqlite3_create_collation_v2( - ctx->db, - StringValuePtr(name), - SQLITE_UTF8, - (void *)comparator, - NIL_P(comparator) ? NULL : rb_comparator_func, - NULL)); - - /* Make sure our comparator doesn't get garbage collected. */ - rb_hash_aset(rb_iv_get(self, "@collations"), name, comparator); - - return self; -} - -/* call-seq: db.load_extension(file) - * - * Loads an SQLite extension library from the named file. Extension - * loading must be enabled using db.enable_load_extension(1) prior - * to calling this API. - */ -static VALUE load_extension(VALUE self, VALUE file) -{ - sqlite3RubyPtr ctx; - int status; - char *errMsg; - VALUE errexp; - Data_Get_Struct(self, sqlite3Ruby, ctx); - REQUIRE_OPEN_DB(ctx); - - status = sqlite3_load_extension(ctx->db, RSTRING_PTR(file), 0, &errMsg); - if (status != SQLITE_OK) - { - errexp = rb_exc_new2(rb_eRuntimeError, errMsg); - sqlite3_free(errMsg); - rb_exc_raise(errexp); - } - - return self; -} - -/* call-seq: db.enable_load_extension(onoff) - * - * Enable or disable extension loading. - */ -static VALUE enable_load_extension(VALUE self, VALUE onoff) -{ - sqlite3RubyPtr ctx; - Data_Get_Struct(self, sqlite3Ruby, ctx); - REQUIRE_OPEN_DB(ctx); - - CHECK(ctx->db, sqlite3_enable_load_extension(ctx->db, (int)NUM2INT(onoff))); - - return self; -} - -#ifdef HAVE_RUBY_ENCODING_H -static int enc_cb(void * _self, int UNUSED(columns), char **data, char **UNUSED(names)) -{ - VALUE self = (VALUE)_self; - - int index = rb_enc_find_index(data[0]); - rb_encoding * e = rb_enc_from_index(index); - rb_iv_set(self, "@encoding", rb_enc_from_encoding(e)); - - return 0; -} -#else -static int enc_cb(void * _self, int UNUSED(columns), char **data, char **UNUSED(names)) -{ - VALUE self = (VALUE)_self; - - rb_iv_set(self, "@encoding", rb_str_new2(data[0])); - - return 0; -} -#endif - -/* call-seq: db.encoding - * - * Fetch the encoding set on this database - */ -static VALUE db_encoding(VALUE self) -{ - sqlite3RubyPtr ctx; - VALUE enc; - - Data_Get_Struct(self, sqlite3Ruby, ctx); - REQUIRE_OPEN_DB(ctx); - - enc = rb_iv_get(self, "@encoding"); - - if(NIL_P(enc)) { - sqlite3_exec(ctx->db, "PRAGMA encoding", enc_cb, (void *)self, NULL); - } - - return rb_iv_get(self, "@encoding"); -} - -void init_sqlite3_database() -{ - ID id_utf16, id_results_as_hash, id_type_translation; -#if 0 - VALUE mSqlite3 = rb_define_module("SQLite3"); -#endif - cSqlite3Database = rb_define_class_under(mSqlite3, "Database", rb_cObject); - - rb_define_alloc_func(cSqlite3Database, allocate); - rb_define_method(cSqlite3Database, "initialize", initialize, -1); - rb_define_method(cSqlite3Database, "collation", collation, 2); - rb_define_method(cSqlite3Database, "close", sqlite3_rb_close, 0); - rb_define_method(cSqlite3Database, "closed?", closed_p, 0); - rb_define_method(cSqlite3Database, "total_changes", total_changes, 0); - rb_define_method(cSqlite3Database, "trace", trace, -1); - rb_define_method(cSqlite3Database, "last_insert_row_id", last_insert_row_id, 0); - rb_define_method(cSqlite3Database, "define_function", define_function, 1); - rb_define_method(cSqlite3Database, "define_aggregator", define_aggregator, 2); - rb_define_method(cSqlite3Database, "interrupt", interrupt, 0); - rb_define_method(cSqlite3Database, "errmsg", errmsg, 0); - rb_define_method(cSqlite3Database, "errcode", errcode_, 0); - rb_define_method(cSqlite3Database, "complete?", complete_p, 1); - rb_define_method(cSqlite3Database, "changes", changes, 0); - rb_define_method(cSqlite3Database, "authorizer=", set_authorizer, 1); - rb_define_method(cSqlite3Database, "busy_handler", busy_handler, -1); - rb_define_method(cSqlite3Database, "busy_timeout=", set_busy_timeout, 1); - -#ifdef HAVE_SQLITE3_LOAD_EXTENSION - rb_define_method(cSqlite3Database, "load_extension", load_extension, 1); -#endif - -#ifdef HAVE_SQLITE3_ENABLE_LOAD_EXTENSION - rb_define_method(cSqlite3Database, "enable_load_extension", enable_load_extension, 1); -#endif - - rb_define_method(cSqlite3Database, "encoding", db_encoding, 0); - - id_utf16 = rb_intern("utf16"); - sym_utf16 = ID2SYM(id_utf16); - id_results_as_hash = rb_intern("results_as_hash"); - sym_results_as_hash = ID2SYM(id_results_as_hash); - id_type_translation = rb_intern("type_translation"); - sym_type_translation = ID2SYM(id_type_translation); -} diff --git a/vendor/plugins/sqlite3-ruby/ext/sqlite3/database.h b/vendor/plugins/sqlite3-ruby/ext/sqlite3/database.h deleted file mode 100644 index 63e5e961..00000000 --- a/vendor/plugins/sqlite3-ruby/ext/sqlite3/database.h +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef SQLITE3_DATABASE_RUBY -#define SQLITE3_DATABASE_RUBY - -#include - -struct _sqlite3Ruby { - sqlite3 *db; -}; - -typedef struct _sqlite3Ruby sqlite3Ruby; -typedef sqlite3Ruby * sqlite3RubyPtr; - -void init_sqlite3_database(); - -#endif diff --git a/vendor/plugins/sqlite3-ruby/ext/sqlite3/exception.c b/vendor/plugins/sqlite3-ruby/ext/sqlite3/exception.c deleted file mode 100644 index 36a78e7e..00000000 --- a/vendor/plugins/sqlite3-ruby/ext/sqlite3/exception.c +++ /dev/null @@ -1,94 +0,0 @@ -#include - -void rb_sqlite3_raise(sqlite3 * db, int status) -{ - VALUE klass = Qnil; - - switch(status) { - case SQLITE_OK: - return; - break; - case SQLITE_ERROR: - klass = rb_path2class("SQLite3::SQLException"); - break; - case SQLITE_INTERNAL: - klass = rb_path2class("SQLite3::InternalException"); - break; - case SQLITE_PERM: - klass = rb_path2class("SQLite3::PermissionException"); - break; - case SQLITE_ABORT: - klass = rb_path2class("SQLite3::AbortException"); - break; - case SQLITE_BUSY: - klass = rb_path2class("SQLite3::BusyException"); - break; - case SQLITE_LOCKED: - klass = rb_path2class("SQLite3::LockedException"); - break; - case SQLITE_NOMEM: - klass = rb_path2class("SQLite3::MemoryException"); - break; - case SQLITE_READONLY: - klass = rb_path2class("SQLite3::ReadOnlyException"); - break; - case SQLITE_INTERRUPT: - klass = rb_path2class("SQLite3::InterruptException"); - break; - case SQLITE_IOERR: - klass = rb_path2class("SQLite3::IOException"); - break; - case SQLITE_CORRUPT: - klass = rb_path2class("SQLite3::CorruptException"); - break; - case SQLITE_NOTFOUND: - klass = rb_path2class("SQLite3::NotFoundException"); - break; - case SQLITE_FULL: - klass = rb_path2class("SQLite3::FullException"); - break; - case SQLITE_CANTOPEN: - klass = rb_path2class("SQLite3::CantOpenException"); - break; - case SQLITE_PROTOCOL: - klass = rb_path2class("SQLite3::ProtocolException"); - break; - case SQLITE_EMPTY: - klass = rb_path2class("SQLite3::EmptyException"); - break; - case SQLITE_SCHEMA: - klass = rb_path2class("SQLite3::SchemaChangedException"); - break; - case SQLITE_TOOBIG: - klass = rb_path2class("SQLite3::TooBigException"); - break; - case SQLITE_CONSTRAINT: - klass = rb_path2class("SQLite3::ConstraintException"); - break; - case SQLITE_MISMATCH: - klass = rb_path2class("SQLite3::MismatchException"); - break; - case SQLITE_MISUSE: - klass = rb_path2class("SQLite3::MisuseException"); - break; - case SQLITE_NOLFS: - klass = rb_path2class("SQLite3::UnsupportedException"); - break; - case SQLITE_AUTH: - klass = rb_path2class("SQLite3::AuthorizationException"); - break; - case SQLITE_FORMAT: - klass = rb_path2class("SQLite3::FormatException"); - break; - case SQLITE_RANGE: - klass = rb_path2class("SQLite3::RangeException"); - break; - case SQLITE_NOTADB: - klass = rb_path2class("SQLite3::NotADatabaseException"); - break; - default: - klass = rb_eRuntimeError; - } - - rb_raise(klass, "%s", sqlite3_errmsg(db)); -} diff --git a/vendor/plugins/sqlite3-ruby/ext/sqlite3/exception.h b/vendor/plugins/sqlite3-ruby/ext/sqlite3/exception.h deleted file mode 100644 index 55b687e3..00000000 --- a/vendor/plugins/sqlite3-ruby/ext/sqlite3/exception.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef SQLITE3_EXCEPTION_RUBY -#define SQLITE3_EXCEPTION_RUBY - -#define CHECK(_db, _status) rb_sqlite3_raise(_db, _status); - -void rb_sqlite3_raise(sqlite3 * db, int status); - -#endif diff --git a/vendor/plugins/sqlite3-ruby/ext/sqlite3/extconf.rb b/vendor/plugins/sqlite3-ruby/ext/sqlite3/extconf.rb deleted file mode 100644 index 58989275..00000000 --- a/vendor/plugins/sqlite3-ruby/ext/sqlite3/extconf.rb +++ /dev/null @@ -1,43 +0,0 @@ -ENV['RC_ARCHS'] = '' if RUBY_PLATFORM =~ /darwin/ - -require 'mkmf' - -# :stopdoc: - -RbConfig::MAKEFILE_CONFIG['CC'] = ENV['CC'] if ENV['CC'] - -sqlite = dir_config('sqlite3', ['/usr/local', '/opt/local', '/usr']) - -if RUBY_PLATFORM =~ /mswin/ - $CFLAGS << ' -W3' -else - $CFLAGS << ' -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion' << - ' -Wmissing-noreturn -Winline' -end - -def asplode missing - if RUBY_PLATFORM =~ /mswin/ - abort "#{missing} is missing. Install SQLite3 from " + - "http://www.sqlite.org/ first." - else - abort "#{missing} is missing. Try 'port install sqlite3 +universal' " + - "or 'yum install sqlite3-devel'" - end -end - -asplode('sqlite3.h') unless find_header 'sqlite3.h' -asplode('sqlite3') unless find_library 'sqlite3', 'sqlite3_libversion_number' - -# Functions defined in 1.9 but not 1.8 -have_func('rb_proc_arity') - -unless have_func('sqlite3_initialize') && have_func('sqlite3_next_stmt') - abort "sqlite3-ruby only supports sqlite3 versions 3.6.16+, please upgrade!" -end - -# These functions may not be defined -have_func('sqlite3_column_database_name') -have_func('sqlite3_enable_load_extension') -have_func('sqlite3_load_extension') - -create_makefile('sqlite3/sqlite3_native') diff --git a/vendor/plugins/sqlite3-ruby/ext/sqlite3/sqlite3.c b/vendor/plugins/sqlite3-ruby/ext/sqlite3/sqlite3.c deleted file mode 100644 index a7bbe0b6..00000000 --- a/vendor/plugins/sqlite3-ruby/ext/sqlite3/sqlite3.c +++ /dev/null @@ -1,33 +0,0 @@ -#include - -VALUE mSqlite3; -VALUE cSqlite3Blob; - -static VALUE libversion(VALUE UNUSED(klass)) -{ - return INT2NUM(sqlite3_libversion_number()); -} - -void Init_sqlite3_native() -{ - /* - * SQLite3 is a wrapper around the popular database - * sqlite[http://sqlite.org]. - * - * For an example of usage, see SQLite3::Database. - */ - mSqlite3 = rb_define_module("SQLite3"); - - /* A class for differentiating between strings and blobs, when binding them - * into statements. - */ - cSqlite3Blob = rb_define_class_under(mSqlite3, "Blob", rb_cString); - - /* Initialize the sqlite3 library */ - sqlite3_initialize(); - - init_sqlite3_database(); - init_sqlite3_statement(); - - rb_define_singleton_method(mSqlite3, "libversion", libversion, 0); -} diff --git a/vendor/plugins/sqlite3-ruby/ext/sqlite3/sqlite3_ruby.h b/vendor/plugins/sqlite3-ruby/ext/sqlite3/sqlite3_ruby.h deleted file mode 100644 index 5b619ef3..00000000 --- a/vendor/plugins/sqlite3-ruby/ext/sqlite3/sqlite3_ruby.h +++ /dev/null @@ -1,43 +0,0 @@ -#ifndef SQLITE3_RUBY -#define SQLITE3_RUBY - -#include - -#ifdef UNUSED -#elif defined(__GNUC__) -# define UNUSED(x) UNUSED_ ## x __attribute__((unused)) -#elif defined(__LCLINT__) -# define UNUSED(x) /*@unused@*/ x -#else -# define UNUSED(x) x -#endif - -#ifndef RBIGNUM_LEN -#define RBIGNUM_LEN(x) RBIGNUM(x)->len -#endif - -#ifdef HAVE_RUBY_ENCODING_H -#include - -#define UTF8_P(_obj) (rb_enc_get_index(_obj) == rb_utf8_encindex()) -#define UTF16_LE_P(_obj) (rb_enc_get_index(_obj) == rb_enc_find_index("UTF-16LE")) -#define SQLITE3_UTF8_STR_NEW2(_obj) \ - (rb_enc_associate_index(rb_str_new2(_obj), rb_utf8_encindex())) - -#else - -#define SQLITE3_UTF8_STR_NEW2(_obj) (rb_str_new2(_obj)) - -#endif - - -#include - -extern VALUE mSqlite3; -extern VALUE cSqlite3Blob; - -#include -#include -#include - -#endif diff --git a/vendor/plugins/sqlite3-ruby/ext/sqlite3/statement.c b/vendor/plugins/sqlite3-ruby/ext/sqlite3/statement.c deleted file mode 100644 index 1b93fd47..00000000 --- a/vendor/plugins/sqlite3-ruby/ext/sqlite3/statement.c +++ /dev/null @@ -1,419 +0,0 @@ -#include - -#define REQUIRE_OPEN_STMT(_ctxt) \ - if(!_ctxt->st) \ - rb_raise(rb_path2class("SQLite3::Exception"), "cannot use a closed statement"); - -VALUE cSqlite3Statement; - -static void deallocate(void * ctx) -{ - sqlite3StmtRubyPtr c = (sqlite3StmtRubyPtr)ctx; - xfree(c); -} - -static VALUE allocate(VALUE klass) -{ - sqlite3StmtRubyPtr ctx = xcalloc((size_t)1, sizeof(sqlite3StmtRuby)); - ctx->st = NULL; - ctx->done_p = 0; - - return Data_Wrap_Struct(klass, NULL, deallocate, ctx); -} - -/* call-seq: SQLite3::Statement.new(db, sql) - * - * Create a new statement attached to the given Database instance, and which - * encapsulates the given SQL text. If the text contains more than one - * statement (i.e., separated by semicolons), then the #remainder property - * will be set to the trailing text. - */ -static VALUE initialize(VALUE self, VALUE db, VALUE sql) -{ - sqlite3RubyPtr db_ctx; - sqlite3StmtRubyPtr ctx; - const char *tail = NULL; - int status; - - Data_Get_Struct(db, sqlite3Ruby, db_ctx); - Data_Get_Struct(self, sqlite3StmtRuby, ctx); - - if(!db_ctx->db) - rb_raise(rb_eArgError, "prepare called on a closed database"); - -#ifdef HAVE_RUBY_ENCODING_H - if(!UTF8_P(sql)) { - VALUE encoding = rb_funcall(db, rb_intern("encoding"), 0); - rb_encoding * enc = NIL_P(encoding) ? rb_utf8_encoding() : - rb_to_encoding(encoding); - sql = rb_str_export_to_enc(sql, enc); - } -#endif - - status = sqlite3_prepare_v2( - db_ctx->db, - (const char *)StringValuePtr(sql), - (int)RSTRING_LEN(sql), - &ctx->st, - &tail - ); - - CHECK(db_ctx->db, status); - - rb_iv_set(self, "@connection", db); - rb_iv_set(self, "@remainder", rb_str_new2(tail)); - rb_iv_set(self, "@columns", Qnil); - rb_iv_set(self, "@types", Qnil); - - return self; -} - -/* call-seq: stmt.close - * - * Closes the statement by finalizing the underlying statement - * handle. The statement must not be used after being closed. - */ -static VALUE sqlite3_rb_close(VALUE self) -{ - sqlite3StmtRubyPtr ctx; - sqlite3 * db; - - Data_Get_Struct(self, sqlite3StmtRuby, ctx); - - REQUIRE_OPEN_STMT(ctx); - - db = sqlite3_db_handle(ctx->st); - CHECK(db, sqlite3_finalize(ctx->st)); - - ctx->st = NULL; - - return self; -} - -/* call-seq: stmt.closed? - * - * Returns true if the statement has been closed. - */ -static VALUE closed_p(VALUE self) -{ - sqlite3StmtRubyPtr ctx; - Data_Get_Struct(self, sqlite3StmtRuby, ctx); - - if(!ctx->st) return Qtrue; - - return Qfalse; -} - -static VALUE step(VALUE self) -{ - sqlite3StmtRubyPtr ctx; - sqlite3_stmt *stmt; - int value, length; - VALUE list; -#ifdef HAVE_RUBY_ENCODING_H - rb_encoding * internal_encoding; - int enc_index; -#endif - - Data_Get_Struct(self, sqlite3StmtRuby, ctx); - - REQUIRE_OPEN_STMT(ctx); - - if(ctx->done_p) return Qnil; - -#ifdef HAVE_RUBY_ENCODING_H - { - VALUE db = rb_iv_get(self, "@connection"); - VALUE encoding = rb_funcall(db, rb_intern("encoding"), 0); - enc_index = NIL_P(encoding) ? rb_utf8_encindex() : rb_to_encoding_index(encoding); - internal_encoding = rb_default_internal_encoding(); - } -#endif - - stmt = ctx->st; - - value = sqlite3_step(stmt); - length = sqlite3_column_count(stmt); - list = rb_ary_new2((long)length); - - switch(value) { - case SQLITE_ROW: - { - int i; - for(i = 0; i < length; i++) { - switch(sqlite3_column_type(stmt, i)) { - case SQLITE_INTEGER: - rb_ary_push(list, LL2NUM(sqlite3_column_int64(stmt, i))); - break; - case SQLITE_FLOAT: - rb_ary_push(list, rb_float_new(sqlite3_column_double(stmt, i))); - break; - case SQLITE_TEXT: - { - VALUE str = rb_tainted_str_new( - (const char *)sqlite3_column_text(stmt, i), - (long)sqlite3_column_bytes(stmt, i) - ); -#ifdef HAVE_RUBY_ENCODING_H - rb_enc_associate_index(str, enc_index); - if(internal_encoding) - str = rb_str_export_to_enc(str, internal_encoding); -#endif - rb_ary_push(list, str); - } - break; - case SQLITE_BLOB: - { - VALUE str = rb_tainted_str_new( - (const char *)sqlite3_column_blob(stmt, i), - (long)sqlite3_column_bytes(stmt, i) - ); - rb_ary_push(list, str); - } - break; - case SQLITE_NULL: - rb_ary_push(list, Qnil); - break; - default: - rb_raise(rb_eRuntimeError, "bad type"); - } - } - } - break; - case SQLITE_DONE: - ctx->done_p = 1; - return Qnil; - break; - default: - CHECK(sqlite3_db_handle(ctx->st), value); - } - - return list; -} - -/* call-seq: stmt.bind_param(key, value) - * - * Binds value to the named (or positional) placeholder. If +param+ is a - * Fixnum, it is treated as an index for a positional placeholder. - * Otherwise it is used as the name of the placeholder to bind to. - * - * See also #bind_params. - */ -static VALUE bind_param(VALUE self, VALUE key, VALUE value) -{ - sqlite3StmtRubyPtr ctx; - int status; - int index; - - Data_Get_Struct(self, sqlite3StmtRuby, ctx); - REQUIRE_OPEN_STMT(ctx); - - switch(TYPE(key)) { - case T_SYMBOL: - key = rb_funcall(key, rb_intern("to_s"), 0); - case T_STRING: - if(RSTRING_PTR(key)[0] != ':') key = rb_str_plus(rb_str_new2(":"), key); - index = sqlite3_bind_parameter_index(ctx->st, StringValuePtr(key)); - break; - default: - index = (int)NUM2INT(key); - } - - if(index == 0) - rb_raise(rb_path2class("SQLite3::Exception"), "no such bind parameter"); - - switch(TYPE(value)) { - case T_STRING: - if(CLASS_OF(value) == cSqlite3Blob -#ifdef HAVE_RUBY_ENCODING_H - || rb_enc_get_index(value) == rb_ascii8bit_encindex() -#endif - ) { - status = sqlite3_bind_blob( - ctx->st, - index, - (const char *)StringValuePtr(value), - (int)RSTRING_LEN(value), - SQLITE_TRANSIENT - ); - } else { -#ifdef HAVE_RUBY_ENCODING_H - if(!UTF8_P(value)) { - VALUE db = rb_iv_get(self, "@connection"); - VALUE encoding = rb_funcall(db, rb_intern("encoding"), 0); - rb_encoding * enc = rb_to_encoding(encoding); - value = rb_str_export_to_enc(value, enc); - } -#endif - - status = sqlite3_bind_text( - ctx->st, - index, - (const char *)StringValuePtr(value), - (int)RSTRING_LEN(value), - SQLITE_TRANSIENT - ); - } - break; - case T_BIGNUM: -#if SIZEOF_LONG < 8 - if (RBIGNUM_LEN(value) * SIZEOF_BDIGITS <= 8) { - status = sqlite3_bind_int64(ctx->st, index, (sqlite3_int64)NUM2LL(value)); - break; - } -#endif - case T_FLOAT: - status = sqlite3_bind_double(ctx->st, index, NUM2DBL(value)); - break; - case T_FIXNUM: - status = sqlite3_bind_int64(ctx->st, index, (sqlite3_int64)FIX2LONG(value)); - break; - case T_NIL: - status = sqlite3_bind_null(ctx->st, index); - break; - default: - rb_raise(rb_eRuntimeError, "can't prepare %s", - rb_class2name(CLASS_OF(value))); - break; - } - - CHECK(sqlite3_db_handle(ctx->st), status); - - return self; -} - -/* call-seq: stmt.reset! - * - * Resets the statement. This is typically done internally, though it might - * occassionally be necessary to manually reset the statement. - */ -static VALUE reset_bang(VALUE self) -{ - sqlite3StmtRubyPtr ctx; - int status; - - Data_Get_Struct(self, sqlite3StmtRuby, ctx); - REQUIRE_OPEN_STMT(ctx); - - status = sqlite3_reset(ctx->st); - CHECK(sqlite3_db_handle(ctx->st), status); - - ctx->done_p = 0; - - return self; -} - -/* call-seq: stmt.done? - * - * returns true if all rows have been returned. - */ -static VALUE done_p(VALUE self) -{ - sqlite3StmtRubyPtr ctx; - Data_Get_Struct(self, sqlite3StmtRuby, ctx); - - if(ctx->done_p) return Qtrue; - return Qfalse; -} - -/* call-seq: stmt.column_count - * - * Returns the number of columns to be returned for this statement - */ -static VALUE column_count(VALUE self) -{ - sqlite3StmtRubyPtr ctx; - Data_Get_Struct(self, sqlite3StmtRuby, ctx); - REQUIRE_OPEN_STMT(ctx); - - return INT2NUM((long)sqlite3_column_count(ctx->st)); -} - -/* call-seq: stmt.column_name(index) - * - * Get the column name at +index+. 0 based. - */ -static VALUE column_name(VALUE self, VALUE index) -{ - sqlite3StmtRubyPtr ctx; - const char * name; - - Data_Get_Struct(self, sqlite3StmtRuby, ctx); - REQUIRE_OPEN_STMT(ctx); - - name = sqlite3_column_name(ctx->st, (int)NUM2INT(index)); - - if(name) return rb_str_new2(name); - return Qnil; -} - -/* call-seq: stmt.column_decltype(index) - * - * Get the column type at +index+. 0 based. - */ -static VALUE column_decltype(VALUE self, VALUE index) -{ - sqlite3StmtRubyPtr ctx; - const char * name; - - Data_Get_Struct(self, sqlite3StmtRuby, ctx); - REQUIRE_OPEN_STMT(ctx); - - name = sqlite3_column_decltype(ctx->st, (int)NUM2INT(index)); - - if(name) return rb_str_new2(name); - return Qnil; -} - -/* call-seq: stmt.bind_parameter_count - * - * Return the number of bind parameters - */ -static VALUE bind_parameter_count(VALUE self) -{ - sqlite3StmtRubyPtr ctx; - Data_Get_Struct(self, sqlite3StmtRuby, ctx); - REQUIRE_OPEN_STMT(ctx); - - return INT2NUM((long)sqlite3_bind_parameter_count(ctx->st)); -} - -#ifdef HAVE_SQLITE3_COLUMN_DATABASE_NAME - -/* call-seq: stmt.database_name(column_index) - * - * Return the database name for the column at +column_index+ - */ -static VALUE database_name(VALUE self, VALUE index) -{ - sqlite3StmtRubyPtr ctx; - Data_Get_Struct(self, sqlite3StmtRuby, ctx); - REQUIRE_OPEN_STMT(ctx); - - return SQLITE3_UTF8_STR_NEW2( - sqlite3_column_database_name(ctx->st, NUM2INT(index))); -} - -#endif - -void init_sqlite3_statement() -{ - cSqlite3Statement = rb_define_class_under(mSqlite3, "Statement", rb_cObject); - - rb_define_alloc_func(cSqlite3Statement, allocate); - rb_define_method(cSqlite3Statement, "initialize", initialize, 2); - rb_define_method(cSqlite3Statement, "close", sqlite3_rb_close, 0); - rb_define_method(cSqlite3Statement, "closed?", closed_p, 0); - rb_define_method(cSqlite3Statement, "bind_param", bind_param, 2); - rb_define_method(cSqlite3Statement, "reset!", reset_bang, 0); - rb_define_method(cSqlite3Statement, "step", step, 0); - rb_define_method(cSqlite3Statement, "done?", done_p, 0); - rb_define_method(cSqlite3Statement, "column_count", column_count, 0); - rb_define_method(cSqlite3Statement, "column_name", column_name, 1); - rb_define_method(cSqlite3Statement, "column_decltype", column_decltype, 1); - rb_define_method(cSqlite3Statement, "bind_parameter_count", bind_parameter_count, 0); - -#ifdef HAVE_SQLITE3_COLUMN_DATABASE_NAME - rb_define_method(cSqlite3Statement, "database_name", database_name, 1); -#endif -} diff --git a/vendor/plugins/sqlite3-ruby/ext/sqlite3/statement.h b/vendor/plugins/sqlite3-ruby/ext/sqlite3/statement.h deleted file mode 100644 index e7ef1f3a..00000000 --- a/vendor/plugins/sqlite3-ruby/ext/sqlite3/statement.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef SQLITE3_STATEMENT_RUBY -#define SQLITE3_STATEMENT_RUBY - -#include - -struct _sqlite3StmtRuby { - sqlite3_stmt *st; - int done_p; -}; - -typedef struct _sqlite3StmtRuby sqlite3StmtRuby; -typedef sqlite3StmtRuby * sqlite3StmtRubyPtr; - -void init_sqlite3_statement(); - -#endif diff --git a/vendor/plugins/sqlite3-ruby/faq/faq.rb b/vendor/plugins/sqlite3-ruby/faq/faq.rb deleted file mode 100644 index 61d7d01c..00000000 --- a/vendor/plugins/sqlite3-ruby/faq/faq.rb +++ /dev/null @@ -1,145 +0,0 @@ -require 'yaml' -require 'redcloth' - -def process_faq_list( faqs ) - puts "
    " - faqs.each do |faq| - process_faq_list_item faq - end - puts "
" -end - -def process_faq_list_item( faq ) - question = faq.keys.first - answer = faq.values.first - - print "
  • " - - question_text = RedCloth.new(question).to_html.gsub( %r{},"" ) - if answer.is_a?( Array ) - puts question_text - process_faq_list answer - else - print "#{question_text}" - end - - puts "
  • " -end - -def process_faq_descriptions( faqs, path=nil ) - faqs.each do |faq| - process_faq_description faq, path - end -end - -def process_faq_description( faq, path ) - question = faq.keys.first - path = ( path ? path + " " : "" ) + question - answer = faq.values.first - - if answer.is_a?( Array ) - process_faq_descriptions( answer, path ) - else - title = RedCloth.new( path ).to_html.gsub( %r{}, "" ) - answer = RedCloth.new( answer || "" ) - - puts "" - puts "
    #{title}
    " - puts "
    #{add_api_links(answer.to_html)}
    " - end -end - -API_OBJECTS = [ "Database", "Statement", "ResultSet", - "ParsedStatement", "Pragmas", "Translator" ].inject( "(" ) { |acc,name| - acc << "|" if acc.length > 1 - acc << name - acc - } + ")" - -def add_api_links( text ) - text.gsub( /#{API_OBJECTS}(#(\w+))?/ ) do - disp_obj = obj = $1 - - case obj - when "Pragmas"; disp_obj = "Database" - end - - method = $3 - s = "#{disp_obj}" - s << "##{method}" if method - s << "" - s - end -end - -faqs = YAML.load( File.read( "faq.yml" ) ) - -puts <<-EOF - - - SQLite3/Ruby FAQ - - - -

    SQLite/Ruby FAQ

    -
    -EOF - -process_faq_list( faqs ) -puts "
    " -process_faq_descriptions( faqs ) - -puts "" diff --git a/vendor/plugins/sqlite3-ruby/faq/faq.yml b/vendor/plugins/sqlite3-ruby/faq/faq.yml deleted file mode 100644 index f4bb4c1b..00000000 --- a/vendor/plugins/sqlite3-ruby/faq/faq.yml +++ /dev/null @@ -1,426 +0,0 @@ ---- -- "How do I do a database query?": - - "I just want an array of the rows...": >- - - Use the Database#execute method. If you don't give it a block, it will - return an array of all the rows: - - -
    -        require 'sqlite3'
    -
    -        db = SQLite3::Database.new( "test.db" )
    -        rows = db.execute( "select * from test" )
    -      
    - - - "I'd like to use a block to iterate through the rows...": >- - - Use the Database#execute method. If you give it a block, each row of the - result will be yielded to the block: - - -
    -        require 'sqlite3'
    -
    -        db = SQLite3::Database.new( "test.db" )
    -        db.execute( "select * from test" ) do |row|
    -          ...
    -        end
    -      
    - - - "I need to get the column names as well as the rows...": >- - - Use the Database#execute2 method. This works just like Database#execute; - if you don't give it a block, it returns an array of rows; otherwise, it - will yield each row to the block. _However_, the first row returned is - always an array of the column names from the query: - - -
    -        require 'sqlite3'
    -
    -        db = SQLite3::Database.new( "test.db" )
    -        columns, *rows = db.execute2( "select * from test" )
    -
    -        # or use a block:
    -
    -        columns = nil
    -        db.execute2( "select * from test" ) do |row|
    -          if columns.nil?
    -            columns = row
    -          else
    -            # process row
    -          end
    -        end
    -      
    - - - "I just want the first row of the result set...": >- - - Easy. Just call Database#get_first_row: - - -
    -        row = db.get_first_row( "select * from table" )
    -      
    - - - This also supports bind variables, just like Database#execute - and friends. - - - "I just want the first value of the first row of the result set...": >- - - Also easy. Just call Database#get_first_value: - - -
    -        count = db.get_first_value( "select count(*) from table" )
    -      
    - - - This also supports bind variables, just like Database#execute - and friends. - -- "How do I prepare a statement for repeated execution?": >- - If the same statement is going to be executed repeatedly, you can speed - things up a bit by _preparing_ the statement. You do this via the - Database#prepare method. It returns a Statement object, and you can - then invoke #execute on that to get the ResultSet: - - -
    -      stmt = db.prepare( "select * from person" )
    -
    -      1000.times do
    -        stmt.execute do |result|
    -          ...
    -        end
    -      end
    -
    -      stmt.close
    -
    -      # or, use a block
    -
    -      db.prepare( "select * from person" ) do |stmt|
    -        1000.times do
    -          stmt.execute do |result|
    -            ...
    -          end
    -        end
    -      end
    -    
    - - - This is made more useful by the ability to bind variables to placeholders - via the Statement#bind_param and Statement#bind_params methods. (See the - next FAQ for details.) - -- "How do I use placeholders in an SQL statement?": >- - Placeholders in an SQL statement take any of the following formats: - - - * @?@ - - * @?_nnn_@ - - * @:_word_@ - - - Where _n_ is an integer, and _word_ is an alpha-numeric identifier (or - number). When the placeholder is associated with a number, that number - identifies the index of the bind variable to replace it with. When it - is an identifier, it identifies the name of the correponding bind - variable. (In the instance of the first format--a single question - mark--the placeholder is assigned a number one greater than the last - index used, or 1 if it is the first.) - - - For example, here is a query using these placeholder formats: - - -
    -      select *
    -        from table
    -       where ( c = ?2 or c = ? )
    -         and d = :name
    -         and e = :1
    -    
    - - - This defines 5 different placeholders: 1, 2, 3, and "name". - - - You replace these placeholders by _binding_ them to values. This can be - accomplished in a variety of ways. - - - The Database#execute, and Database#execute2 methods all accept additional - arguments following the SQL statement. These arguments are assumed to be - bind parameters, and they are bound (positionally) to their corresponding - placeholders: - - -
    -      db.execute( "select * from table where a = ? and b = ?",
    -                  "hello",
    -                  "world" )
    -    
    - - - The above would replace the first question mark with 'hello' and the - second with 'world'. If the placeholders have an explicit index given, they - will be replaced with the bind parameter at that index (1-based). - - - If a Hash is given as a bind parameter, then its key/value pairs are bound - to the placeholders. This is how you bind by name: - - -
    -      db.execute( "select * from table where a = :name and b = :value",
    -                  "name" => "bob",
    -                  "value" => "priceless" )
    -    
    - - - You can also bind explicitly using the Statement object itself. Just pass - additional parameters to the Statement#execute statement: - - -
    -      db.prepare( "select * from table where a = :name and b = ?" ) do |stmt|
    -        stmt.execute "value", "name" => "bob"
    -      end
    -    
    - - - Or do a Database#prepare to get the Statement, and then use either - Statement#bind_param or Statement#bind_params: - - -
    -      stmt = db.prepare( "select * from table where a = :name and b = ?" )
    -
    -      stmt.bind_param( "name", "bob" )
    -      stmt.bind_param( 1, "value" )
    -
    -      # or
    -
    -      stmt.bind_params( "value", "name" => "bob" )
    -    
    - -- "How do I discover metadata about a query?": >- - - If you ever want to know the names or types of the columns in a result - set, you can do it in several ways. - - - The first way is to ask the row object itself. Each row will have a - property "fields" that returns an array of the column names. The row - will also have a property "types" that returns an array of the column - types: - - -
    -      rows = db.execute( "select * from table" )
    -      p rows[0].fields
    -      p rows[0].types
    -    
    - - - Obviously, this approach requires you to execute a statement that actually - returns data. If you don't know if the statement will return any rows, but - you still need the metadata, you can use Database#query and ask the - ResultSet object itself: - - -
    -      db.query( "select * from table" ) do |result|
    -        p result.columns
    -        p result.types
    -        ...
    -      end
    -    
    - - - Lastly, you can use Database#prepare and ask the Statement object what - the metadata are: - - -
    -      stmt = db.prepare( "select * from table" )
    -      p stmt.columns
    -      p stmt.types
    -    
    - -- "I'd like the rows to be indexible by column name.": >- - By default, each row from a query is returned as an Array of values. This - means that you can only obtain values by their index. Sometimes, however, - you would like to obtain values by their column name. - - - The first way to do this is to set the Database property "results_as_hash" - to true. If you do this, then all rows will be returned as Hash objects, - with the column names as the keys. (In this case, the "fields" property - is unavailable on the row, although the "types" property remains.) - - -
    -      db.results_as_hash = true
    -      db.execute( "select * from table" ) do |row|
    -        p row['column1']
    -        p row['column2']
    -      end
    -    
    - - - The other way is to use Ara Howard's - "ArrayFields":http://rubyforge.org/projects/arrayfields - module. Just require "arrayfields", and all of your rows will be indexable - by column name, even though they are still arrays! - - -
    -      require 'arrayfields'
    -
    -      ...
    -      db.execute( "select * from table" ) do |row|
    -        p row[0] == row['column1']
    -        p row[1] == row['column2']
    -      end
    -    
    - -- "I'd like the values from a query to be the correct types, instead of String.": >- - You can turn on "type translation" by setting Database#type_translation to - true: - - -
    -      db.type_translation = true
    -      db.execute( "select * from table" ) do |row|
    -        p row
    -      end
    -    
    - - - By doing this, each return value for each row will be translated to its - correct type, based on its declared column type. - - - You can even declare your own translation routines, if (for example) you are - using an SQL type that is not handled by default: - - -
    -      # assume "objects" table has the following schema:
    -      #   create table objects (
    -      #     name varchar2(20),
    -      #     thing object
    -      #   )
    -
    -      db.type_translation = true
    -      db.translator.add_translator( "object" ) do |type, value|
    -        db.decode( value )
    -      end
    -
    -      h = { :one=>:two, "three"=>"four", 5=>6 }
    -      dump = db.encode( h )
    -
    -      db.execute( "insert into objects values ( ?, ? )", "bob", dump )
    -
    -      obj = db.get_first_value( "select thing from objects where name='bob'" )
    -      p obj == h
    -    
    - -- "How do insert binary data into the database?": >- - Use blobs. Blobs are new features of SQLite3. You have to use bind - variables to make it work: - - -
    -      db.execute( "insert into foo ( ?, ? )",
    -        SQLite3::Blob.new( "\0\1\2\3\4\5" ),
    -        SQLite3::Blob.new( "a\0b\0c\0d ) )
    -    
    - - - The blob values must be indicated explicitly by binding each parameter to - a value of type SQLite3::Blob. - -- "How do I do a DDL (insert, update, delete) statement?": >- - You can actually do inserts, updates, and deletes in exactly the same way - as selects, but in general the Database#execute method will be most - convenient: - - -
    -      db.execute( "insert into table values ( ?, ? )", *bind_vars )
    -    
    - -- "How do I execute multiple statements in a single string?": >- - The standard query methods (Database#execute, Database#execute2, - Database#query, and Statement#execute) will only execute the first - statement in the string that is given to them. Thus, if you have a - string with multiple SQL statements, each separated by a string, - you can't use those methods to execute them all at once. - - - Instead, use Database#execute_batch: - - -
    -      sql = <
    -
    -
    -    Unlike the other query methods, Database#execute_batch accepts no
    -    block. It will also only ever return +nil+. Thus, it is really only
    -    suitable for batch processing of DDL statements.
    -
    -- "How do I begin/end a transaction?":
    -    Use Database#transaction to start a transaction. If you give it a block,
    -    the block will be automatically committed at the end of the block,
    -    unless an exception was raised, in which case the transaction will be
    -    rolled back. (Never explicitly call Database#commit or Database#rollback
    -    inside of a transaction block--you'll get errors when the block
    -    terminates!)
    -
    -
    -    
    -      database.transaction do |db|
    -        db.execute( "insert into table values ( 'a', 'b', 'c' )" )
    -        ...
    -      end
    -    
    - - - Alternatively, if you don't give a block to Database#transaction, the - transaction remains open until you explicitly call Database#commit or - Database#rollback. - - -
    -      db.transaction
    -      db.execute( "insert into table values ( 'a', 'b', 'c' )" )
    -      db.commit
    -    
    - - - Note that SQLite does not allow nested transactions, so you'll get errors - if you try to open a new transaction while one is already active. Use - Database#transaction_active? to determine whether a transaction is - active or not. - -#- "How do I discover metadata about a table/index?": -# -#- "How do I do tweak database settings?": diff --git a/vendor/plugins/sqlite3-ruby/lib/sqlite3.rb b/vendor/plugins/sqlite3-ruby/lib/sqlite3.rb deleted file mode 100644 index b17ce52d..00000000 --- a/vendor/plugins/sqlite3-ruby/lib/sqlite3.rb +++ /dev/null @@ -1,10 +0,0 @@ -# support multiple ruby version (fat binaries under windows) -begin - RUBY_VERSION =~ /(\d+.\d+)/ - require "sqlite3/#{$1}/sqlite3_native" -rescue LoadError - require 'sqlite3/sqlite3_native' -end - -require 'sqlite3/database' -require 'sqlite3/version' diff --git a/vendor/plugins/sqlite3-ruby/lib/sqlite3/constants.rb b/vendor/plugins/sqlite3-ruby/lib/sqlite3/constants.rb deleted file mode 100644 index b316c2d8..00000000 --- a/vendor/plugins/sqlite3-ruby/lib/sqlite3/constants.rb +++ /dev/null @@ -1,49 +0,0 @@ -module SQLite3 ; module Constants - - module TextRep - UTF8 = 1 - UTF16LE = 2 - UTF16BE = 3 - UTF16 = 4 - ANY = 5 - end - - module ColumnType - INTEGER = 1 - FLOAT = 2 - TEXT = 3 - BLOB = 4 - NULL = 5 - end - - module ErrorCode - OK = 0 # Successful result - ERROR = 1 # SQL error or missing database - INTERNAL = 2 # An internal logic error in SQLite - PERM = 3 # Access permission denied - ABORT = 4 # Callback routine requested an abort - BUSY = 5 # The database file is locked - LOCKED = 6 # A table in the database is locked - NOMEM = 7 # A malloc() failed - READONLY = 8 # Attempt to write a readonly database - INTERRUPT = 9 # Operation terminated by sqlite_interrupt() - IOERR = 10 # Some kind of disk I/O error occurred - CORRUPT = 11 # The database disk image is malformed - NOTFOUND = 12 # (Internal Only) Table or record not found - FULL = 13 # Insertion failed because database is full - CANTOPEN = 14 # Unable to open the database file - PROTOCOL = 15 # Database lock protocol error - EMPTY = 16 # (Internal Only) Database table is empty - SCHEMA = 17 # The database schema changed - TOOBIG = 18 # Too much data for one row of a table - CONSTRAINT = 19 # Abort due to contraint violation - MISMATCH = 20 # Data type mismatch - MISUSE = 21 # Library used incorrectly - NOLFS = 22 # Uses OS features not supported on host - AUTH = 23 # Authorization denied - - ROW = 100 # sqlite_step() has another row ready - DONE = 101 # sqlite_step() has finished executing - end - -end ; end diff --git a/vendor/plugins/sqlite3-ruby/lib/sqlite3/database.rb b/vendor/plugins/sqlite3-ruby/lib/sqlite3/database.rb deleted file mode 100644 index 5a65eecd..00000000 --- a/vendor/plugins/sqlite3-ruby/lib/sqlite3/database.rb +++ /dev/null @@ -1,570 +0,0 @@ -require 'sqlite3/constants' -require 'sqlite3/errors' -require 'sqlite3/pragmas' -require 'sqlite3/statement' -require 'sqlite3/translator' -require 'sqlite3/value' - -module SQLite3 - - # The Database class encapsulates a single connection to a SQLite3 database. - # Its usage is very straightforward: - # - # require 'sqlite3' - # - # SQLite3::Database.new( "data.db" ) do |db| - # db.execute( "select * from table" ) do |row| - # p row - # end - # end - # - # It wraps the lower-level methods provides by the selected driver, and - # includes the Pragmas module for access to various pragma convenience - # methods. - # - # The Database class provides type translation services as well, by which - # the SQLite3 data types (which are all represented as strings) may be - # converted into their corresponding types (as defined in the schemas - # for their tables). This translation only occurs when querying data from - # the database--insertions and updates are all still typeless. - # - # Furthermore, the Database class has been designed to work well with the - # ArrayFields module from Ara Howard. If you require the ArrayFields - # module before performing a query, and if you have not enabled results as - # hashes, then the results will all be indexible by field name. - class Database - attr_reader :collations - - include Pragmas - - class << self - - alias :open :new - - # Quotes the given string, making it safe to use in an SQL statement. - # It replaces all instances of the single-quote character with two - # single-quote characters. The modified string is returned. - def quote( string ) - string.gsub( /'/, "''" ) - end - - end - - # A boolean that indicates whether rows in result sets should be returned - # as hashes or not. By default, rows are returned as arrays. - attr_accessor :results_as_hash - - # A boolean indicating whether or not type translation is enabled for this - # database. - attr_accessor :type_translation - - # Return the type translator employed by this database instance. Each - # database instance has its own type translator; this allows for different - # type handlers to be installed in each instance without affecting other - # instances. Furthermore, the translators are instantiated lazily, so that - # if a database does not use type translation, it will not be burdened by - # the overhead of a useless type translator. (See the Translator class.) - def translator - @translator ||= Translator.new - end - - # Installs (or removes) a block that will be invoked for every access - # to the database. If the block returns 0 (or +nil+), the statement - # is allowed to proceed. Returning 1 causes an authorization error to - # occur, and returning 2 causes the access to be silently denied. - def authorizer( &block ) - self.authorizer = block - end - - # Returns a Statement object representing the given SQL. This does not - # execute the statement; it merely prepares the statement for execution. - # - # The Statement can then be executed using Statement#execute. - # - def prepare sql - stmt = SQLite3::Statement.new( self, sql ) - return stmt unless block_given? - - begin - yield stmt - ensure - stmt.close - end - end - - # Executes the given SQL statement. If additional parameters are given, - # they are treated as bind variables, and are bound to the placeholders in - # the query. - # - # Note that if any of the values passed to this are hashes, then the - # key/value pairs are each bound separately, with the key being used as - # the name of the placeholder to bind the value to. - # - # The block is optional. If given, it will be invoked for each row returned - # by the query. Otherwise, any results are accumulated into an array and - # returned wholesale. - # - # See also #execute2, #query, and #execute_batch for additional ways of - # executing statements. - def execute sql, bind_vars = [], *args, &block - # FIXME: This is a terrible hack and should be removed but is required - # for older versions of rails - hack = Object.const_defined?(:ActiveRecord) && sql =~ /^PRAGMA index_list/ - - if bind_vars.nil? || !args.empty? - if args.empty? - bind_vars = [] - else - bind_vars = [nil] + args - end - - warn(<<-eowarn) if $VERBOSE -#{caller[0]} is calling SQLite3::Database#execute with nil or multiple bind params -without using an array. Please switch to passing bind parameters as an array. - eowarn - end - - prepare( sql ) do |stmt| - stmt.bind_params(bind_vars) - if type_translation - stmt = ResultSet.new(self, stmt).to_a - end - - if block_given? - stmt.each do |row| - if @results_as_hash - h = Hash[*stmt.columns.zip(row).flatten] - row.each_with_index { |r, i| h[i] = r } - - yield h - else - yield row - end - end - else - if @results_as_hash - stmt.map { |row| - h = Hash[*stmt.columns.zip(row).flatten] - row.each_with_index { |r, i| h[i] = r } - - # FIXME UGH TERRIBLE HACK! - h['unique'] = h['unique'].to_s if hack - - h - } - else - stmt.to_a - end - end - end - end - - # Executes the given SQL statement, exactly as with #execute. However, the - # first row returned (either via the block, or in the returned array) is - # always the names of the columns. Subsequent rows correspond to the data - # from the result set. - # - # Thus, even if the query itself returns no rows, this method will always - # return at least one row--the names of the columns. - # - # See also #execute, #query, and #execute_batch for additional ways of - # executing statements. - def execute2( sql, *bind_vars ) - prepare( sql ) do |stmt| - result = stmt.execute( *bind_vars ) - if block_given? - yield stmt.columns - result.each { |row| yield row } - else - return result.inject( [ stmt.columns ] ) { |arr,row| - arr << row; arr } - end - end - end - - # Executes all SQL statements in the given string. By contrast, the other - # means of executing queries will only execute the first statement in the - # string, ignoring all subsequent statements. This will execute each one - # in turn. The same bind parameters, if given, will be applied to each - # statement. - # - # This always returns +nil+, making it unsuitable for queries that return - # rows. - def execute_batch( sql, bind_vars = [], *args ) - # FIXME: remove this stuff later - unless [Array, Hash].include?(bind_vars.class) - bind_vars = [bind_vars] - warn(<<-eowarn) if $VERBOSE -#{caller[0]} is calling SQLite3::Database#execute_batch with bind parameters -that are not a list of a hash. Please switch to passing bind parameters as an -array or hash. - eowarn - end - - # FIXME: remove this stuff later - if bind_vars.nil? || !args.empty? - if args.empty? - bind_vars = [] - else - bind_vars = [nil] + args - end - - warn(<<-eowarn) if $VERBOSE -#{caller[0]} is calling SQLite3::Database#execute_batch with nil or multiple bind params -without using an array. Please switch to passing bind parameters as an array. - eowarn - end - - sql = sql.strip - until sql.empty? do - prepare( sql ) do |stmt| - # FIXME: this should probably use sqlite3's api for batch execution - # This implementation requires stepping over the results. - if bind_vars.length == stmt.bind_parameter_count - stmt.bind_params(bind_vars) - end - stmt.step - sql = stmt.remainder.strip - end - end - nil - end - - # This is a convenience method for creating a statement, binding - # paramters to it, and calling execute: - # - # result = db.query( "select * from foo where a=?", 5 ) - # # is the same as - # result = db.prepare( "select * from foo where a=?" ).execute( 5 ) - # - # You must be sure to call +close+ on the ResultSet instance that is - # returned, or you could have problems with locks on the table. If called - # with a block, +close+ will be invoked implicitly when the block - # terminates. - def query( sql, bind_vars = [], *args ) - - if bind_vars.nil? || !args.empty? - if args.empty? - bind_vars = [] - else - bind_vars = [nil] + args - end - - warn(<<-eowarn) if $VERBOSE -#{caller[0]} is calling SQLite3::Database#query with nil or multiple bind params -without using an array. Please switch to passing bind parameters as an array. - eowarn - end - - result = prepare( sql ).execute( bind_vars ) - if block_given? - begin - yield result - ensure - result.close - end - else - return result - end - end - - # A convenience method for obtaining the first row of a result set, and - # discarding all others. It is otherwise identical to #execute. - # - # See also #get_first_value. - def get_first_row( sql, *bind_vars ) - execute( sql, *bind_vars ) { |row| return row } - nil - end - - # A convenience method for obtaining the first value of the first row of a - # result set, and discarding all other values and rows. It is otherwise - # identical to #execute. - # - # See also #get_first_row. - def get_first_value( sql, *bind_vars ) - execute( sql, *bind_vars ) { |row| return row[0] } - nil - end - - alias :busy_timeout :busy_timeout= - - # Creates a new function for use in SQL statements. It will be added as - # +name+, with the given +arity+. (For variable arity functions, use - # -1 for the arity.) - # - # The block should accept at least one parameter--the FunctionProxy - # instance that wraps this function invocation--and any other - # arguments it needs (up to its arity). - # - # The block does not return a value directly. Instead, it will invoke - # the FunctionProxy#set_result method on the +func+ parameter and - # indicate the return value that way. - # - # Example: - # - # db.create_function( "maim", 1 ) do |func, value| - # if value.nil? - # func.result = nil - # else - # func.result = value.split(//).sort.join - # end - # end - # - # puts db.get_first_value( "select maim(name) from table" ) - def create_function name, arity, text_rep=Constants::TextRep::ANY, &block - define_function(name) do |*args| - fp = FunctionProxy.new - block.call(fp, *args) - fp.result - end - self - end - - # Creates a new aggregate function for use in SQL statements. Aggregate - # functions are functions that apply over every row in the result set, - # instead of over just a single row. (A very common aggregate function - # is the "count" function, for determining the number of rows that match - # a query.) - # - # The new function will be added as +name+, with the given +arity+. (For - # variable arity functions, use -1 for the arity.) - # - # The +step+ parameter must be a proc object that accepts as its first - # parameter a FunctionProxy instance (representing the function - # invocation), with any subsequent parameters (up to the function's arity). - # The +step+ callback will be invoked once for each row of the result set. - # - # The +finalize+ parameter must be a +proc+ object that accepts only a - # single parameter, the FunctionProxy instance representing the current - # function invocation. It should invoke FunctionProxy#set_result to - # store the result of the function. - # - # Example: - # - # db.create_aggregate( "lengths", 1 ) do - # step do |func, value| - # func[ :total ] ||= 0 - # func[ :total ] += ( value ? value.length : 0 ) - # end - # - # finalize do |func| - # func.set_result( func[ :total ] || 0 ) - # end - # end - # - # puts db.get_first_value( "select lengths(name) from table" ) - # - # See also #create_aggregate_handler for a more object-oriented approach to - # aggregate functions. - def create_aggregate( name, arity, step=nil, finalize=nil, - text_rep=Constants::TextRep::ANY, &block ) - - factory = Class.new do - def self.step( &block ) - define_method(:step, &block) - end - - def self.finalize( &block ) - define_method(:finalize, &block) - end - end - - if block_given? - factory.instance_eval(&block) - else - factory.class_eval do - define_method(:step, step) - define_method(:finalize, finalize) - end - end - - proxy = factory.new - proxy.extend(Module.new { - attr_accessor :ctx - - def step( *args ) - super(@ctx, *args) - end - - def finalize - super(@ctx) - end - }) - proxy.ctx = FunctionProxy.new - define_aggregator(name, proxy) - end - - # This is another approach to creating an aggregate function (see - # #create_aggregate). Instead of explicitly specifying the name, - # callbacks, arity, and type, you specify a factory object - # (the "handler") that knows how to obtain all of that information. The - # handler should respond to the following messages: - # - # +arity+:: corresponds to the +arity+ parameter of #create_aggregate. This - # message is optional, and if the handler does not respond to it, - # the function will have an arity of -1. - # +name+:: this is the name of the function. The handler _must_ implement - # this message. - # +new+:: this must be implemented by the handler. It should return a new - # instance of the object that will handle a specific invocation of - # the function. - # - # The handler instance (the object returned by the +new+ message, described - # above), must respond to the following messages: - # - # +step+:: this is the method that will be called for each step of the - # aggregate function's evaluation. It should implement the same - # signature as the +step+ callback for #create_aggregate. - # +finalize+:: this is the method that will be called to finalize the - # aggregate function's evaluation. It should implement the - # same signature as the +finalize+ callback for - # #create_aggregate. - # - # Example: - # - # class LengthsAggregateHandler - # def self.arity; 1; end - # - # def initialize - # @total = 0 - # end - # - # def step( ctx, name ) - # @total += ( name ? name.length : 0 ) - # end - # - # def finalize( ctx ) - # ctx.set_result( @total ) - # end - # end - # - # db.create_aggregate_handler( LengthsAggregateHandler ) - # puts db.get_first_value( "select lengths(name) from A" ) - def create_aggregate_handler( handler ) - proxy = Class.new do - def initialize handler - @handler = handler - @fp = FunctionProxy.new - end - - def step( *args ) - @handler.step(@fp, *args) - end - - def finalize - @handler.finalize @fp - @fp.result - end - end - define_aggregator(handler.name, proxy.new(handler.new)) - self - end - - # Begins a new transaction. Note that nested transactions are not allowed - # by SQLite, so attempting to nest a transaction will result in a runtime - # exception. - # - # The +mode+ parameter may be either :deferred (the default), - # :immediate, or :exclusive. - # - # If a block is given, the database instance is yielded to it, and the - # transaction is committed when the block terminates. If the block - # raises an exception, a rollback will be performed instead. Note that if - # a block is given, #commit and #rollback should never be called - # explicitly or you'll get an error when the block terminates. - # - # If a block is not given, it is the caller's responsibility to end the - # transaction explicitly, either by calling #commit, or by calling - # #rollback. - def transaction( mode = :deferred ) - execute "begin #{mode.to_s} transaction" - @transaction_active = true - - if block_given? - abort = false - begin - yield self - rescue ::Object - abort = true - raise - ensure - abort and rollback or commit - end - end - - true - end - - # Commits the current transaction. If there is no current transaction, - # this will cause an error to be raised. This returns +true+, in order - # to allow it to be used in idioms like - # abort? and rollback or commit. - def commit - execute "commit transaction" - @transaction_active = false - true - end - - # Rolls the current transaction back. If there is no current transaction, - # this will cause an error to be raised. This returns +true+, in order - # to allow it to be used in idioms like - # abort? and rollback or commit. - def rollback - execute "rollback transaction" - @transaction_active = false - true - end - - # Returns +true+ if there is a transaction active, and +false+ otherwise. - def transaction_active? - @transaction_active - end - - # A helper class for dealing with custom functions (see #create_function, - # #create_aggregate, and #create_aggregate_handler). It encapsulates the - # opaque function object that represents the current invocation. It also - # provides more convenient access to the API functions that operate on - # the function object. - # - # This class will almost _always_ be instantiated indirectly, by working - # with the create methods mentioned above. - class FunctionProxy - attr_accessor :result - - # Create a new FunctionProxy that encapsulates the given +func+ object. - # If context is non-nil, the functions context will be set to that. If - # it is non-nil, it must quack like a Hash. If it is nil, then none of - # the context functions will be available. - def initialize - @result = nil - @context = {} - end - - # Set the result of the function to the given error message. - # The function will then return that error. - def set_error( error ) - @driver.result_error( @func, error.to_s, -1 ) - end - - # (Only available to aggregate functions.) Returns the number of rows - # that the aggregate has processed so far. This will include the current - # row, and so will always return at least 1. - def count - @driver.aggregate_count( @func ) - end - - # Returns the value with the given key from the context. This is only - # available to aggregate functions. - def []( key ) - @context[ key ] - end - - # Sets the value with the given key in the context. This is only - # available to aggregate functions. - def []=( key, value ) - @context[ key ] = value - end - end - end -end diff --git a/vendor/plugins/sqlite3-ruby/lib/sqlite3/errors.rb b/vendor/plugins/sqlite3-ruby/lib/sqlite3/errors.rb deleted file mode 100644 index 3936a594..00000000 --- a/vendor/plugins/sqlite3-ruby/lib/sqlite3/errors.rb +++ /dev/null @@ -1,44 +0,0 @@ -require 'sqlite3/constants' - -module SQLite3 - class Exception < ::StandardError - @code = 0 - - # The numeric error code that this exception represents. - def self.code - @code - end - - # A convenience for accessing the error code for this exception. - def code - self.class.code - end - end - - class SQLException < Exception; end - class InternalException < Exception; end - class PermissionException < Exception; end - class AbortException < Exception; end - class BusyException < Exception; end - class LockedException < Exception; end - class MemoryException < Exception; end - class ReadOnlyException < Exception; end - class InterruptException < Exception; end - class IOException < Exception; end - class CorruptException < Exception; end - class NotFoundException < Exception; end - class FullException < Exception; end - class CantOpenException < Exception; end - class ProtocolException < Exception; end - class EmptyException < Exception; end - class SchemaChangedException < Exception; end - class TooBigException < Exception; end - class ConstraintException < Exception; end - class MismatchException < Exception; end - class MisuseException < Exception; end - class UnsupportedException < Exception; end - class AuthorizationException < Exception; end - class FormatException < Exception; end - class RangeException < Exception; end - class NotADatabaseException < Exception; end -end diff --git a/vendor/plugins/sqlite3-ruby/lib/sqlite3/pragmas.rb b/vendor/plugins/sqlite3-ruby/lib/sqlite3/pragmas.rb deleted file mode 100644 index 2e319387..00000000 --- a/vendor/plugins/sqlite3-ruby/lib/sqlite3/pragmas.rb +++ /dev/null @@ -1,280 +0,0 @@ -require 'sqlite3/errors' - -module SQLite3 - - # This module is intended for inclusion solely by the Database class. It - # defines convenience methods for the various pragmas supported by SQLite3. - # - # For a detailed description of these pragmas, see the SQLite3 documentation - # at http://sqlite.org/pragma.html. - module Pragmas - - # Returns +true+ or +false+ depending on the value of the named pragma. - def get_boolean_pragma( name ) - get_first_value( "PRAGMA #{name}" ) != "0" - end - private :get_boolean_pragma - - # Sets the given pragma to the given boolean value. The value itself - # may be +true+ or +false+, or any other commonly used string or - # integer that represents truth. - def set_boolean_pragma( name, mode ) - case mode - when String - case mode.downcase - when "on", "yes", "true", "y", "t"; mode = "'ON'" - when "off", "no", "false", "n", "f"; mode = "'OFF'" - else - raise Exception, - "unrecognized pragma parameter #{mode.inspect}" - end - when true, 1 - mode = "ON" - when false, 0, nil - mode = "OFF" - else - raise Exception, - "unrecognized pragma parameter #{mode.inspect}" - end - - execute( "PRAGMA #{name}=#{mode}" ) - end - private :set_boolean_pragma - - # Requests the given pragma (and parameters), and if the block is given, - # each row of the result set will be yielded to it. Otherwise, the results - # are returned as an array. - def get_query_pragma( name, *parms, &block ) # :yields: row - if parms.empty? - execute( "PRAGMA #{name}", &block ) - else - args = "'" + parms.join("','") + "'" - execute( "PRAGMA #{name}( #{args} )", &block ) - end - end - private :get_query_pragma - - # Return the value of the given pragma. - def get_enum_pragma( name ) - get_first_value( "PRAGMA #{name}" ) - end - private :get_enum_pragma - - # Set the value of the given pragma to +mode+. The +mode+ parameter must - # conform to one of the values in the given +enum+ array. Each entry in - # the array is another array comprised of elements in the enumeration that - # have duplicate values. See #synchronous, #default_synchronous, - # #temp_store, and #default_temp_store for usage examples. - def set_enum_pragma( name, mode, enums ) - match = enums.find { |p| p.find { |i| i.to_s.downcase == mode.to_s.downcase } } - raise Exception, - "unrecognized #{name} #{mode.inspect}" unless match - execute( "PRAGMA #{name}='#{match.first.upcase}'" ) - end - private :set_enum_pragma - - # Returns the value of the given pragma as an integer. - def get_int_pragma( name ) - get_first_value( "PRAGMA #{name}" ).to_i - end - private :get_int_pragma - - # Set the value of the given pragma to the integer value of the +value+ - # parameter. - def set_int_pragma( name, value ) - execute( "PRAGMA #{name}=#{value.to_i}" ) - end - private :set_int_pragma - - # The enumeration of valid synchronous modes. - SYNCHRONOUS_MODES = [ [ 'full', 2 ], [ 'normal', 1 ], [ 'off', 0 ] ] - - # The enumeration of valid temp store modes. - TEMP_STORE_MODES = [ [ 'default', 0 ], [ 'file', 1 ], [ 'memory', 2 ] ] - - # Does an integrity check on the database. If the check fails, a - # SQLite3::Exception will be raised. Otherwise it - # returns silently. - def integrity_check - execute( "PRAGMA integrity_check" ) do |row| - raise Exception, row[0] if row[0] != "ok" - end - end - - def auto_vacuum - get_boolean_pragma "auto_vacuum" - end - - def auto_vacuum=( mode ) - set_boolean_pragma "auto_vacuum", mode - end - - def schema_cookie - get_int_pragma "schema_cookie" - end - - def schema_cookie=( cookie ) - set_int_pragma "schema_cookie", cookie - end - - def user_cookie - get_int_pragma "user_cookie" - end - - def user_cookie=( cookie ) - set_int_pragma "user_cookie", cookie - end - - def cache_size - get_int_pragma "cache_size" - end - - def cache_size=( size ) - set_int_pragma "cache_size", size - end - - def default_cache_size - get_int_pragma "default_cache_size" - end - - def default_cache_size=( size ) - set_int_pragma "default_cache_size", size - end - - def default_synchronous - get_enum_pragma "default_synchronous" - end - - def default_synchronous=( mode ) - set_enum_pragma "default_synchronous", mode, SYNCHRONOUS_MODES - end - - def synchronous - get_enum_pragma "synchronous" - end - - def synchronous=( mode ) - set_enum_pragma "synchronous", mode, SYNCHRONOUS_MODES - end - - def default_temp_store - get_enum_pragma "default_temp_store" - end - - def default_temp_store=( mode ) - set_enum_pragma "default_temp_store", mode, TEMP_STORE_MODES - end - - def temp_store - get_enum_pragma "temp_store" - end - - def temp_store=( mode ) - set_enum_pragma "temp_store", mode, TEMP_STORE_MODES - end - - def full_column_names - get_boolean_pragma "full_column_names" - end - - def full_column_names=( mode ) - set_boolean_pragma "full_column_names", mode - end - - def parser_trace - get_boolean_pragma "parser_trace" - end - - def parser_trace=( mode ) - set_boolean_pragma "parser_trace", mode - end - - def vdbe_trace - get_boolean_pragma "vdbe_trace" - end - - def vdbe_trace=( mode ) - set_boolean_pragma "vdbe_trace", mode - end - - def database_list( &block ) # :yields: row - get_query_pragma "database_list", &block - end - - def foreign_key_list( table, &block ) # :yields: row - get_query_pragma "foreign_key_list", table, &block - end - - def index_info( index, &block ) # :yields: row - get_query_pragma "index_info", index, &block - end - - def index_list( table, &block ) # :yields: row - get_query_pragma "index_list", table, &block - end - - ### - # Returns information about +table+. Yields each row of table information - # if a block is provided. - def table_info table - stmt = prepare "PRAGMA table_info(#{table})" - columns = stmt.columns - - needs_tweak_default = - version_compare(SQLite3.libversion.to_s, "3.3.7") > 0 - - result = [] unless block_given? - stmt.each do |row| - new_row = Hash[*columns.zip(row).flatten] - - # FIXME: This should be removed but is required for older versions - # of rails - if(Object.const_defined?(:ActiveRecord)) - new_row['notnull'] = new_row['notnull'].to_s - end - - tweak_default(new_row) if needs_tweak_default - - if block_given? - yield new_row - else - result << new_row - end - end - stmt.close - - result - end - - private - - # Compares two version strings - def version_compare(v1, v2) - v1 = v1.split(".").map { |i| i.to_i } - v2 = v2.split(".").map { |i| i.to_i } - parts = [v1.length, v2.length].max - v1.push 0 while v1.length < parts - v2.push 0 while v2.length < parts - v1.zip(v2).each do |a,b| - return -1 if a < b - return 1 if a > b - end - return 0 - end - - # Since SQLite 3.3.8, the table_info pragma has returned the default - # value of the row as a quoted SQL value. This method essentially - # unquotes those values. - def tweak_default(hash) - case hash["dflt_value"] - when /^null$/i - hash["dflt_value"] = nil - when /^'(.*)'$/ - hash["dflt_value"] = $1.gsub(/''/, "'") - when /^"(.*)"$/ - hash["dflt_value"] = $1.gsub(/""/, '"') - end - end - end - -end diff --git a/vendor/plugins/sqlite3-ruby/lib/sqlite3/resultset.rb b/vendor/plugins/sqlite3-ruby/lib/sqlite3/resultset.rb deleted file mode 100644 index bc331b08..00000000 --- a/vendor/plugins/sqlite3-ruby/lib/sqlite3/resultset.rb +++ /dev/null @@ -1,126 +0,0 @@ -require 'sqlite3/constants' -require 'sqlite3/errors' - -module SQLite3 - - # The ResultSet object encapsulates the enumerability of a query's output. - # It is a simple cursor over the data that the query returns. It will - # very rarely (if ever) be instantiated directly. Instead, client's should - # obtain a ResultSet instance via Statement#execute. - class ResultSet - include Enumerable - - # The class of which we return an object in case we want an Array as - # result. (ArrayFields is installed.) - class ArrayWithTypes < Array - attr_accessor :types - end - - # The class of which we return an object in case we want an Array as - # result. (ArrayFields is not installed.) - class ArrayWithTypesAndFields < Array - attr_accessor :types - attr_accessor :fields - end - - # The class of which we return an object in case we want a Hash as - # result. - class HashWithTypes < Hash - attr_accessor :types - end - - # Create a new ResultSet attached to the given database, using the - # given sql text. - def initialize db, stmt - @db = db - @stmt = stmt - end - - # Reset the cursor, so that a result set which has reached end-of-file - # can be rewound and reiterated. - def reset( *bind_params ) - @stmt.reset! - @stmt.bind_params( *bind_params ) - @eof = false - end - - # Query whether the cursor has reached the end of the result set or not. - def eof? - @stmt.done? - end - - # Obtain the next row from the cursor. If there are no more rows to be - # had, this will return +nil+. If type translation is active on the - # corresponding database, the values in the row will be translated - # according to their types. - # - # The returned value will be an array, unless Database#results_as_hash has - # been set to +true+, in which case the returned value will be a hash. - # - # For arrays, the column names are accessible via the +fields+ property, - # and the column types are accessible via the +types+ property. - # - # For hashes, the column names are the keys of the hash, and the column - # types are accessible via the +types+ property. - def next - row = @stmt.step - return nil if @stmt.done? - - if @db.type_translation - row = @stmt.types.zip(row).map do |type, value| - @db.translator.translate( type, value ) - end - end - - if @db.results_as_hash - new_row = HashWithTypes[*@stmt.columns.zip(row).flatten] - row.each_with_index { |value,idx| - new_row[idx] = value - } - row = new_row - else - if row.respond_to?(:fields) - row = ArrayWithTypes.new(row) - else - row = ArrayWithTypesAndFields.new(row) - end - row.fields = @stmt.columns - end - - row.types = @stmt.types - row - end - - # Required by the Enumerable mixin. Provides an internal iterator over the - # rows of the result set. - def each( &block ) - while node = self.next - yield node - end - end - - # Closes the statement that spawned this result set. - # Use with caution! Closing a result set will automatically - # close any other result sets that were spawned from the same statement. - def close - @stmt.close - end - - # Queries whether the underlying statement has been closed or not. - def closed? - @stmt.closed? - end - - # Returns the types of the columns returned by this result set. - def types - @stmt.types - end - - # Returns the names of the columns returned by this result set. - def columns - @stmt.columns - end - - end - -end diff --git a/vendor/plugins/sqlite3-ruby/lib/sqlite3/statement.rb b/vendor/plugins/sqlite3-ruby/lib/sqlite3/statement.rb deleted file mode 100644 index 633244d4..00000000 --- a/vendor/plugins/sqlite3-ruby/lib/sqlite3/statement.rb +++ /dev/null @@ -1,148 +0,0 @@ -require 'sqlite3/errors' -require 'sqlite3/resultset' - -class String - def to_blob - SQLite3::Blob.new( self ) - end -end - -module SQLite3 - # A statement represents a prepared-but-unexecuted SQL query. It will rarely - # (if ever) be instantiated directly by a client, and is most often obtained - # via the Database#prepare method. - class Statement - include Enumerable - - # This is any text that followed the first valid SQL statement in the text - # with which the statement was initialized. If there was no trailing text, - # this will be the empty string. - attr_reader :remainder - - # Binds the given variables to the corresponding placeholders in the SQL - # text. - # - # See Database#execute for a description of the valid placeholder - # syntaxes. - # - # Example: - # - # stmt = db.prepare( "select * from table where a=? and b=?" ) - # stmt.bind_params( 15, "hello" ) - # - # See also #execute, #bind_param, Statement#bind_param, and - # Statement#bind_params. - def bind_params( *bind_vars ) - index = 1 - bind_vars.flatten.each do |var| - if Hash === var - var.each { |key, val| bind_param key, val } - else - bind_param index, var - index += 1 - end - end - end - - # Execute the statement. This creates a new ResultSet object for the - # statement's virtual machine. If a block was given, the new ResultSet will - # be yielded to it; otherwise, the ResultSet will be returned. - # - # Any parameters will be bound to the statement using #bind_params. - # - # Example: - # - # stmt = db.prepare( "select * from table" ) - # stmt.execute do |result| - # ... - # end - # - # See also #bind_params, #execute!. - def execute( *bind_vars ) - reset! if active? || done? - - bind_params(*bind_vars) unless bind_vars.empty? - @results = ResultSet.new(@connection, self) - - step if 0 == column_count - - yield @results if block_given? - @results - end - - # Execute the statement. If no block was given, this returns an array of - # rows returned by executing the statement. Otherwise, each row will be - # yielded to the block. - # - # Any parameters will be bound to the statement using #bind_params. - # - # Example: - # - # stmt = db.prepare( "select * from table" ) - # stmt.execute! do |row| - # ... - # end - # - # See also #bind_params, #execute. - def execute!( *bind_vars, &block ) - execute(*bind_vars) - block_given? ? each(&block) : to_a - end - - # Returns true if the statement is currently active, meaning it has an - # open result set. - def active? - !done? - end - - # Return an array of the column names for this statement. Note that this - # may execute the statement in order to obtain the metadata; this makes it - # a (potentially) expensive operation. - def columns - get_metadata unless @columns - return @columns - end - - def each - loop do - val = step - break self if done? - yield val - end - end - - # Return an array of the data types for each column in this statement. Note - # that this may execute the statement in order to obtain the metadata; this - # makes it a (potentially) expensive operation. - def types - must_be_open! - get_metadata unless @types - @types - end - - # A convenience method for obtaining the metadata about the query. Note - # that this will actually execute the SQL, which means it can be a - # (potentially) expensive operation. - def get_metadata - @columns = [] - @types = [] - - column_count.times do |column| - @columns << column_name(column) - @types << column_decltype(column) - end - - @columns.freeze - @types.freeze - end - private :get_metadata - - # Performs a sanity check to ensure that the statement is not - # closed. If it is, an exception is raised. - def must_be_open! # :nodoc: - if closed? - raise SQLite3::Exception, "cannot use a closed statement" - end - end - end -end diff --git a/vendor/plugins/sqlite3-ruby/lib/sqlite3/translator.rb b/vendor/plugins/sqlite3-ruby/lib/sqlite3/translator.rb deleted file mode 100644 index cae36941..00000000 --- a/vendor/plugins/sqlite3-ruby/lib/sqlite3/translator.rb +++ /dev/null @@ -1,114 +0,0 @@ -require 'time' -require 'date' - -module SQLite3 - - # The Translator class encapsulates the logic and callbacks necessary for - # converting string data to a value of some specified type. Every Database - # instance may have a Translator instance, in order to assist in type - # translation (Database#type_translation). - # - # Further, applications may define their own custom type translation logic - # by registering translator blocks with the corresponding database's - # translator instance (Database#translator). - class Translator - - # Create a new Translator instance. It will be preinitialized with default - # translators for most SQL data types. - def initialize - @translators = Hash.new( proc { |type,value| value } ) - @type_name_cache = {} - register_default_translators - end - - # Add a new translator block, which will be invoked to process type - # translations to the given type. The type should be an SQL datatype, and - # may include parentheses (i.e., "VARCHAR(30)"). However, any parenthetical - # information is stripped off and discarded, so type translation decisions - # are made solely on the "base" type name. - # - # The translator block itself should accept two parameters, "type" and - # "value". In this case, the "type" is the full type name (including - # parentheses), so the block itself may include logic for changing how a - # type is translated based on the additional data. The "value" parameter - # is the (string) data to convert. - # - # The block should return the translated value. - def add_translator( type, &block ) # :yields: type, value - @translators[ type_name( type ) ] = block - end - - # Translate the given string value to a value of the given type. In the - # absense of an installed translator block for the given type, the value - # itself is always returned. Further, +nil+ values are never translated, - # and are always passed straight through regardless of the type parameter. - def translate( type, value ) - unless value.nil? - # FIXME: this is a hack to support Sequel - if type && %w{ datetime timestamp }.include?(type.downcase) - @translators[ type_name( type ) ].call( type, value.to_s ) - else - @translators[ type_name( type ) ].call( type, value ) - end - end - end - - # A convenience method for working with type names. This returns the "base" - # type name, without any parenthetical data. - def type_name( type ) - @type_name_cache[type] ||= begin - type = "" if type.nil? - type = $1 if type =~ /^(.*?)\(/ - type.upcase - end - end - private :type_name - - # Register the default translators for the current Translator instance. - # This includes translators for most major SQL data types. - def register_default_translators - [ "time", - "timestamp" ].each { |type| add_translator( type ) { |t, v| Time.parse( v ) } } - - add_translator( "date" ) { |t,v| Date.parse(v) } - add_translator( "datetime" ) { |t,v| DateTime.parse(v) } - - [ "decimal", - "float", - "numeric", - "double", - "real", - "dec", - "fixed" ].each { |type| add_translator( type ) { |t,v| v.to_f } } - - [ "integer", - "smallint", - "mediumint", - "int", - "bigint" ].each { |type| add_translator( type ) { |t,v| v.to_i } } - - [ "bit", - "bool", - "boolean" ].each do |type| - add_translator( type ) do |t,v| - !( v.strip.gsub(/00+/,"0") == "0" || - v.downcase == "false" || - v.downcase == "f" || - v.downcase == "no" || - v.downcase == "n" ) - end - end - - add_translator( "tinyint" ) do |type, value| - if type =~ /\(\s*1\s*\)/ - value.to_i == 1 - else - value.to_i - end - end - end - private :register_default_translators - - end - -end diff --git a/vendor/plugins/sqlite3-ruby/lib/sqlite3/value.rb b/vendor/plugins/sqlite3-ruby/lib/sqlite3/value.rb deleted file mode 100644 index e5e5bf2c..00000000 --- a/vendor/plugins/sqlite3-ruby/lib/sqlite3/value.rb +++ /dev/null @@ -1,57 +0,0 @@ -require 'sqlite3/constants' - -module SQLite3 - - class Value - attr_reader :handle - - def initialize( db, handle ) - @driver = db.driver - @handle = handle - end - - def null? - type == :null - end - - def to_blob - @driver.value_blob( @handle ) - end - - def length( utf16=false ) - if utf16 - @driver.value_bytes16( @handle ) - else - @driver.value_bytes( @handle ) - end - end - - def to_f - @driver.value_double( @handle ) - end - - def to_i - @driver.value_int( @handle ) - end - - def to_int64 - @driver.value_int64( @handle ) - end - - def to_s( utf16=false ) - @driver.value_text( @handle, utf16 ) - end - - def type - case @driver.value_type( @handle ) - when Constants::ColumnType::INTEGER then :int - when Constants::ColumnType::FLOAT then :float - when Constants::ColumnType::TEXT then :text - when Constants::ColumnType::BLOB then :blob - when Constants::ColumnType::NULL then :null - end - end - - end - -end diff --git a/vendor/plugins/sqlite3-ruby/lib/sqlite3/version.rb b/vendor/plugins/sqlite3-ruby/lib/sqlite3/version.rb deleted file mode 100644 index 22ce3cfd..00000000 --- a/vendor/plugins/sqlite3-ruby/lib/sqlite3/version.rb +++ /dev/null @@ -1,16 +0,0 @@ -module SQLite3 - - module Version - - MAJOR = 1 - MINOR = 3 - TINY = 1 - BUILD = nil - - STRING = [ MAJOR, MINOR, TINY, BUILD ].compact.join( "." ) - #:beta-tag: - - VERSION = '1.3.1' - end - -end diff --git a/vendor/plugins/sqlite3-ruby/setup.rb b/vendor/plugins/sqlite3-ruby/setup.rb deleted file mode 100644 index 82b45091..00000000 --- a/vendor/plugins/sqlite3-ruby/setup.rb +++ /dev/null @@ -1,1333 +0,0 @@ -# -# setup.rb -# -# Copyright (c) 2000-2004 Minero Aoki -# -# This program is free software. -# You can distribute/modify this program under the terms of -# the GNU LGPL, Lesser General Public License version 2.1. -# - -# -# For backward compatibility -# - -unless Enumerable.method_defined?(:map) - module Enumerable - alias map collect - end -end - -unless Enumerable.method_defined?(:detect) - module Enumerable - alias detect find - end -end - -unless Enumerable.method_defined?(:select) - module Enumerable - alias select find_all - end -end - -unless Enumerable.method_defined?(:reject) - module Enumerable - def reject - select {|i| not yield(i) } - end - end -end - -unless Enumerable.method_defined?(:inject) - module Enumerable - def inject(result) - each do |i| - result = yield(result, i) - end - result - end - end -end - -unless Enumerable.method_defined?(:any?) - module Enumerable - def any? - each do |i| - return true if yield(i) - end - false - end - end -end - -unless File.respond_to?(:read) - def File.read(fname) - open(fname) {|f| - return f.read - } - end -end - -# -# Application independent utilities -# - -def File.binread(fname) - open(fname, 'rb') {|f| - return f.read - } -end - -# for corrupted windows stat(2) -def File.dir?(path) - File.directory?((path[-1,1] == '/') ? path : path + '/') -end - -# -# Config -# - -if arg = ARGV.detect {|arg| /\A--rbconfig=/ =~ arg } - ARGV.delete(arg) - require arg.split(/=/, 2)[1] - $".push 'rbconfig.rb' -else - require 'rbconfig' -end - -def multipackage_install? - FileTest.directory?(File.dirname($0) + '/packages') -end - - -class ConfigTable - - c = ::Config::CONFIG - - rubypath = c['bindir'] + '/' + c['ruby_install_name'] - - major = c['MAJOR'].to_i - minor = c['MINOR'].to_i - teeny = c['TEENY'].to_i - version = "#{major}.#{minor}" - - # ruby ver. >= 1.4.4? - newpath_p = ((major >= 2) or - ((major == 1) and - ((minor >= 5) or - ((minor == 4) and (teeny >= 4))))) - - subprefix = lambda {|path| - path.sub(/\A#{Regexp.quote(c['prefix'])}/o, '$prefix') - } - - if c['rubylibdir'] - # V < 1.6.3 - stdruby = subprefix.call(c['rubylibdir']) - siteruby = subprefix.call(c['sitedir']) - versite = subprefix.call(c['sitelibdir']) - sodir = subprefix.call(c['sitearchdir']) - elsif newpath_p - # 1.4.4 <= V <= 1.6.3 - stdruby = "$prefix/lib/ruby/#{version}" - siteruby = subprefix.call(c['sitedir']) - versite = siteruby + '/' + version - sodir = "$site-ruby/#{c['arch']}" - else - # V < 1.4.4 - stdruby = "$prefix/lib/ruby/#{version}" - siteruby = "$prefix/lib/ruby/#{version}/site_ruby" - versite = siteruby - sodir = "$site-ruby/#{c['arch']}" - end - - if arg = c['configure_args'].split.detect {|arg| /--with-make-prog=/ =~ arg } - makeprog = arg.sub(/'/, '').split(/=/, 2)[1] - else - makeprog = 'make' - end - - common_descripters = [ - [ 'prefix', [ c['prefix'], - 'path', - 'path prefix of target environment' ] ], - [ 'std-ruby', [ stdruby, - 'path', - 'the directory for standard ruby libraries' ] ], - [ 'site-ruby-common', [ siteruby, - 'path', - 'the directory for version-independent non-standard ruby libraries' ] ], - [ 'site-ruby', [ versite, - 'path', - 'the directory for non-standard ruby libraries' ] ], - [ 'bin-dir', [ '$prefix/bin', - 'path', - 'the directory for commands' ] ], - [ 'rb-dir', [ '$site-ruby', - 'path', - 'the directory for ruby scripts' ] ], - [ 'so-dir', [ sodir, - 'path', - 'the directory for ruby extentions' ] ], - [ 'data-dir', [ '$prefix/share', - 'path', - 'the directory for shared data' ] ], - [ 'ruby-path', [ rubypath, - 'path', - 'path to set to #! line' ] ], - [ 'ruby-prog', [ rubypath, - 'name', - 'the ruby program using for installation' ] ], - [ 'make-prog', [ makeprog, - 'name', - 'the make program to compile ruby extentions' ] ], - [ 'without-ext', [ 'no', - 'yes/no', - 'does not compile/install ruby extentions' ] ] - ] - multipackage_descripters = [ - [ 'with', [ '', - 'name,name...', - 'package names that you want to install', - 'ALL' ] ], - [ 'without', [ '', - 'name,name...', - 'package names that you do not want to install', - 'NONE' ] ] - ] - if multipackage_install? - DESCRIPTER = common_descripters + multipackage_descripters - else - DESCRIPTER = common_descripters - end - - SAVE_FILE = '.config' - - def ConfigTable.each_name(&block) - keys().each(&block) - end - - def ConfigTable.keys - DESCRIPTER.map {|name, *dummy| name } - end - - def ConfigTable.each_definition(&block) - DESCRIPTER.each(&block) - end - - def ConfigTable.get_entry(name) - name, ent = DESCRIPTER.assoc(name) - ent - end - - def ConfigTable.get_entry!(name) - get_entry(name) or raise ArgumentError, "no such config: #{name}" - end - - def ConfigTable.add_entry(name, vals) - ConfigTable::DESCRIPTER.push [name,vals] - end - - def ConfigTable.remove_entry(name) - get_entry(name) or raise ArgumentError, "no such config: #{name}" - DESCRIPTER.delete_if {|n, arr| n == name } - end - - def ConfigTable.config_key?(name) - get_entry(name) ? true : false - end - - def ConfigTable.bool_config?(name) - ent = get_entry(name) or return false - ent[1] == 'yes/no' - end - - def ConfigTable.value_config?(name) - ent = get_entry(name) or return false - ent[1] != 'yes/no' - end - - def ConfigTable.path_config?(name) - ent = get_entry(name) or return false - ent[1] == 'path' - end - - - class << self - alias newobj new - end - - def ConfigTable.new - c = newobj() - c.initialize_from_table - c - end - - def ConfigTable.load - c = newobj() - c.initialize_from_file - c - end - - def initialize_from_table - @table = {} - DESCRIPTER.each do |k, (default, vname, desc, default2)| - @table[k] = default - end - end - - def initialize_from_file - raise InstallError, "#{File.basename $0} config first"\ - unless File.file?(SAVE_FILE) - @table = {} - File.foreach(SAVE_FILE) do |line| - k, v = line.split(/=/, 2) - @table[k] = v.strip - end - end - - def save - File.open(SAVE_FILE, 'w') {|f| - @table.each do |k, v| - f.printf "%s=%s\n", k, v if v - end - } - end - - def []=(k, v) - raise InstallError, "unknown config option #{k}"\ - unless ConfigTable.config_key?(k) - @table[k] = v - end - - def [](key) - return nil unless @table[key] - @table[key].gsub(%r<\$([^/]+)>) { self[$1] } - end - - def set_raw(key, val) - @table[key] = val - end - - def get_raw(key) - @table[key] - end - -end - - -module MetaConfigAPI - - def eval_file_ifexist(fname) - instance_eval File.read(fname), fname, 1 if File.file?(fname) - end - - def config_names - ConfigTable.keys - end - - def config?(name) - ConfigTable.config_key?(name) - end - - def bool_config?(name) - ConfigTable.bool_config?(name) - end - - def value_config?(name) - ConfigTable.value_config?(name) - end - - def path_config?(name) - ConfigTable.path_config?(name) - end - - def add_config(name, argname, default, desc) - ConfigTable.add_entry name,[default,argname,desc] - end - - def add_path_config(name, default, desc) - add_config name, 'path', default, desc - end - - def add_bool_config(name, default, desc) - add_config name, 'yes/no', default ? 'yes' : 'no', desc - end - - def set_config_default(name, default) - if bool_config?(name) - ConfigTable.get_entry!(name)[0] = (default ? 'yes' : 'no') - else - ConfigTable.get_entry!(name)[0] = default - end - end - - def remove_config(name) - ent = ConfigTable.get_entry(name) - ConfigTable.remove_entry name - ent - end - -end - -# -# File Operations -# - -module FileOperations - - def mkdir_p(dirname, prefix = nil) - dirname = prefix + dirname if prefix - $stderr.puts "mkdir -p #{dirname}" if verbose? - return if no_harm? - - # does not check '/'... it's too abnormal case - dirs = dirname.split(%r<(?=/)>) - if /\A[a-z]:\z/i =~ dirs[0] - disk = dirs.shift - dirs[0] = disk + dirs[0] - end - dirs.each_index do |idx| - path = dirs[0..idx].join('') - Dir.mkdir path unless File.dir?(path) - end - end - - def rm_f(fname) - $stderr.puts "rm -f #{fname}" if verbose? - return if no_harm? - - if File.exist?(fname) or File.symlink?(fname) - File.chmod 0777, fname - File.unlink fname - end - end - - def rm_rf(dn) - $stderr.puts "rm -rf #{dn}" if verbose? - return if no_harm? - - Dir.chdir dn - Dir.foreach('.') do |fn| - next if fn == '.' - next if fn == '..' - if File.dir?(fn) - verbose_off { - rm_rf fn - } - else - verbose_off { - rm_f fn - } - end - end - Dir.chdir '..' - Dir.rmdir dn - end - - def move_file(src, dest) - File.unlink dest if File.exist?(dest) - begin - File.rename src, dest - rescue - File.open(dest, 'wb') {|f| f.write File.binread(src) } - File.chmod File.stat(src).mode, dest - File.unlink src - end - end - - def install(from, dest, mode, prefix = nil) - $stderr.puts "install #{from} #{dest}" if verbose? - return if no_harm? - - realdest = prefix ? prefix + dest : dest - realdest = File.join(realdest, File.basename(from)) if File.dir?(realdest) - str = File.binread(from) - if diff?(str, realdest) - verbose_off { - rm_f realdest if File.exist?(realdest) - } - File.open(realdest, 'wb') {|f| - f.write str - } - File.chmod mode, realdest - - File.open("#{objdir_root()}/InstalledFiles", 'a') {|f| - if prefix - f.puts realdest.sub(prefix, '') - else - f.puts realdest - end - } - end - end - - def diff?(new_content, path) - return true unless File.exist?(path) - new_content != File.binread(path) - end - - def command(str) - $stderr.puts str if verbose? - system str or raise RuntimeError, "'system #{str}' failed" - end - - def ruby(str) - command config('ruby-prog') + ' ' + str - end - - def make(task = '') - command config('make-prog') + ' ' + task - end - - def extdir?(dir) - File.exist?(dir + '/MANIFEST') or File.exist?("#{dir}/extconf.rb") - end - - def all_files_in(dirname) - Dir.open(dirname) {|d| - return d.select {|ent| File.file?("#{dirname}/#{ent}") } - } - end - - REJECT_DIRS = %w( - CVS SCCS RCS CVS.adm .svn - ) - - def all_dirs_in(dirname) - Dir.open(dirname) {|d| - return d.select {|n| File.dir?("#{dirname}/#{n}") } - %w(. ..) - REJECT_DIRS - } - end - -end - -# -# Main Installer -# - -class InstallError < StandardError; end - - -module HookUtils - - def run_hook(name) - try_run_hook "#{curr_srcdir()}/#{name}" or - try_run_hook "#{curr_srcdir()}/#{name}.rb" - end - - def try_run_hook(fname) - return false unless File.file?(fname) - begin - instance_eval File.read(fname), fname, 1 - rescue - raise InstallError, "hook #{fname} failed:\n" + $!.message - end - true - end - -end - - -module HookScriptAPI - - def get_config(key) - @config[key] - end - - alias config get_config - - def set_config(key, val) - @config[key] = val - end - - # - # srcdir/objdir (works only in the package directory) - # - - #abstract srcdir_root - #abstract objdir_root - #abstract relpath - - def curr_srcdir - "#{srcdir_root()}/#{relpath()}" - end - - def curr_objdir - "#{objdir_root()}/#{relpath()}" - end - - def srcfile(path) - "#{curr_srcdir()}/#{path}" - end - - def srcexist?(path) - File.exist?(srcfile(path)) - end - - def srcdirectory?(path) - File.dir?(srcfile(path)) - end - - def srcfile?(path) - File.file? srcfile(path) - end - - def srcentries(path = '.') - Dir.open("#{curr_srcdir()}/#{path}") {|d| - return d.to_a - %w(. ..) - } - end - - def srcfiles(path = '.') - srcentries(path).select {|fname| - File.file?(File.join(curr_srcdir(), path, fname)) - } - end - - def srcdirectories(path = '.') - srcentries(path).select {|fname| - File.dir?(File.join(curr_srcdir(), path, fname)) - } - end - -end - - -class ToplevelInstaller - - Version = '3.3.0' - Copyright = 'Copyright (c) 2000-2004 Minero Aoki' - - TASKS = [ - [ 'all', 'do config, setup, then install' ], - [ 'config', 'saves your configurations' ], - [ 'show', 'shows current configuration' ], - [ 'setup', 'compiles ruby extentions and others' ], - [ 'install', 'installs files' ], - [ 'clean', "does `make clean' for each extention" ], - [ 'distclean',"does `make distclean' for each extention" ] - ] - - def ToplevelInstaller.invoke - instance().invoke - end - - @singleton = nil - - def ToplevelInstaller.instance - @singleton ||= new(File.dirname($0)) - @singleton - end - - include MetaConfigAPI - - def initialize(ardir_root) - @config = nil - @options = { 'verbose' => true } - @ardir = File.expand_path(ardir_root) - end - - def inspect - "#<#{self.class} #{__id__()}>" - end - - def invoke - run_metaconfigs - case task = parsearg_global() - when nil, 'all' - @config = load_config('config') - parsearg_config - init_installers - exec_config - exec_setup - exec_install - else - @config = load_config(task) - __send__ "parsearg_#{task}" - init_installers - __send__ "exec_#{task}" - end - end - - def run_metaconfigs - eval_file_ifexist "#{@ardir}/metaconfig" - end - - def load_config(task) - case task - when 'config' - ConfigTable.new - when 'clean', 'distclean' - if File.exist?(ConfigTable::SAVE_FILE) - then ConfigTable.load - else ConfigTable.new - end - else - ConfigTable.load - end - end - - def init_installers - @installer = Installer.new(@config, @options, @ardir, File.expand_path('.')) - end - - # - # Hook Script API bases - # - - def srcdir_root - @ardir - end - - def objdir_root - '.' - end - - def relpath - '.' - end - - # - # Option Parsing - # - - def parsearg_global - valid_task = /\A(?:#{TASKS.map {|task,desc| task }.join '|'})\z/ - - while arg = ARGV.shift - case arg - when /\A\w+\z/ - raise InstallError, "invalid task: #{arg}" unless valid_task =~ arg - return arg - - when '-q', '--quiet' - @options['verbose'] = false - - when '--verbose' - @options['verbose'] = true - - when '-h', '--help' - print_usage $stdout - exit 0 - - when '-v', '--version' - puts "#{File.basename($0)} version #{Version}" - exit 0 - - when '--copyright' - puts Copyright - exit 0 - - else - raise InstallError, "unknown global option '#{arg}'" - end - end - - nil - end - - - def parsearg_no_options - raise InstallError, "#{task}: unknown options: #{ARGV.join ' '}"\ - unless ARGV.empty? - end - - alias parsearg_show parsearg_no_options - alias parsearg_setup parsearg_no_options - alias parsearg_clean parsearg_no_options - alias parsearg_distclean parsearg_no_options - - def parsearg_config - re = /\A--(#{ConfigTable.keys.join '|'})(?:=(.*))?\z/ - @options['config-opt'] = [] - - while i = ARGV.shift - if /\A--?\z/ =~ i - @options['config-opt'] = ARGV.dup - break - end - m = re.match(i) or raise InstallError, "config: unknown option #{i}" - name, value = m.to_a[1,2] - if value - if ConfigTable.bool_config?(name) - raise InstallError, "config: --#{name} allows only yes/no for argument"\ - unless /\A(y(es)?|n(o)?|t(rue)?|f(alse))\z/i =~ value - value = (/\Ay(es)?|\At(rue)/i =~ value) ? 'yes' : 'no' - end - else - raise InstallError, "config: --#{name} requires argument"\ - unless ConfigTable.bool_config?(name) - value = 'yes' - end - @config[name] = value - end - end - - def parsearg_install - @options['no-harm'] = false - @options['install-prefix'] = '' - while a = ARGV.shift - case a - when /\A--no-harm\z/ - @options['no-harm'] = true - when /\A--prefix=(.*)\z/ - path = $1 - path = File.expand_path(path) unless path[0,1] == '/' - @options['install-prefix'] = path - else - raise InstallError, "install: unknown option #{a}" - end - end - end - - def print_usage(out) - out.puts 'Typical Installation Procedure:' - out.puts " $ ruby #{File.basename $0} config" - out.puts " $ ruby #{File.basename $0} setup" - out.puts " # ruby #{File.basename $0} install (may require root privilege)" - out.puts - out.puts 'Detailed Usage:' - out.puts " ruby #{File.basename $0} " - out.puts " ruby #{File.basename $0} [] []" - - fmt = " %-20s %s\n" - out.puts - out.puts 'Global options:' - out.printf fmt, '-q,--quiet', 'suppress message outputs' - out.printf fmt, ' --verbose', 'output messages verbosely' - out.printf fmt, '-h,--help', 'print this message' - out.printf fmt, '-v,--version', 'print version and quit' - out.printf fmt, ' --copyright', 'print copyright and quit' - - out.puts - out.puts 'Tasks:' - TASKS.each do |name, desc| - out.printf " %-10s %s\n", name, desc - end - - out.puts - out.puts 'Options for CONFIG or ALL:' - ConfigTable.each_definition do |name, (default, arg, desc, default2)| - out.printf " %-20s %s [%s]\n", - '--'+ name + (ConfigTable.bool_config?(name) ? '' : '='+arg), - desc, - default2 || default - end - out.printf " %-20s %s [%s]\n", - '--rbconfig=path', 'your rbconfig.rb to load', "running ruby's" - - out.puts - out.puts 'Options for INSTALL:' - out.printf " %-20s %s [%s]\n", - '--no-harm', 'only display what to do if given', 'off' - out.printf " %-20s %s [%s]\n", - '--prefix', 'install path prefix', '$prefix' - - out.puts - end - - # - # Task Handlers - # - - def exec_config - @installer.exec_config - @config.save # must be final - end - - def exec_setup - @installer.exec_setup - end - - def exec_install - @installer.exec_install - end - - def exec_show - ConfigTable.each_name do |k| - v = @config.get_raw(k) - if not v or v.empty? - v = '(not specified)' - end - printf "%-10s %s\n", k, v - end - end - - def exec_clean - @installer.exec_clean - end - - def exec_distclean - @installer.exec_distclean - end - -end - - -class ToplevelInstallerMulti < ToplevelInstaller - - include HookUtils - include HookScriptAPI - include FileOperations - - def initialize(ardir) - super - @packages = all_dirs_in("#{@ardir}/packages") - raise 'no package exists' if @packages.empty? - end - - def run_metaconfigs - eval_file_ifexist "#{@ardir}/metaconfig" - @packages.each do |name| - eval_file_ifexist "#{@ardir}/packages/#{name}/metaconfig" - end - end - - def init_installers - @installers = {} - @packages.each do |pack| - @installers[pack] = Installer.new(@config, @options, - "#{@ardir}/packages/#{pack}", - "packages/#{pack}") - end - - with = extract_selection(config('with')) - without = extract_selection(config('without')) - @selected = @installers.keys.select {|name| - (with.empty? or with.include?(name)) \ - and not without.include?(name) - } - end - - def extract_selection(list) - a = list.split(/,/) - a.each do |name| - raise InstallError, "no such package: #{name}" \ - unless @installers.key?(name) - end - a - end - - def print_usage(f) - super - f.puts 'Inluded packages:' - f.puts ' ' + @packages.sort.join(' ') - f.puts - end - - # - # multi-package metaconfig API - # - - attr_reader :packages - - def declare_packages(list) - raise 'package list is empty' if list.empty? - list.each do |name| - raise "directory packages/#{name} does not exist"\ - unless File.dir?("#{@ardir}/packages/#{name}") - end - @packages = list - end - - # - # Task Handlers - # - - def exec_config - run_hook 'pre-config' - each_selected_installers {|inst| inst.exec_config } - run_hook 'post-config' - @config.save # must be final - end - - def exec_setup - run_hook 'pre-setup' - each_selected_installers {|inst| inst.exec_setup } - run_hook 'post-setup' - end - - def exec_install - run_hook 'pre-install' - each_selected_installers {|inst| inst.exec_install } - run_hook 'post-install' - end - - def exec_clean - rm_f ConfigTable::SAVE_FILE - run_hook 'pre-clean' - each_selected_installers {|inst| inst.exec_clean } - run_hook 'post-clean' - end - - def exec_distclean - rm_f ConfigTable::SAVE_FILE - run_hook 'pre-distclean' - each_selected_installers {|inst| inst.exec_distclean } - run_hook 'post-distclean' - end - - # - # lib - # - - def each_selected_installers - Dir.mkdir 'packages' unless File.dir?('packages') - @selected.each do |pack| - $stderr.puts "Processing the package `#{pack}' ..." if @options['verbose'] - Dir.mkdir "packages/#{pack}" unless File.dir?("packages/#{pack}") - Dir.chdir "packages/#{pack}" - yield @installers[pack] - Dir.chdir '../..' - end - end - - def verbose? - @options['verbose'] - end - - def no_harm? - @options['no-harm'] - end - -end - - -class Installer - - FILETYPES = %w( bin lib ext data ) - - include HookScriptAPI - include HookUtils - include FileOperations - - def initialize(config, opt, srcroot, objroot) - @config = config - @options = opt - @srcdir = File.expand_path(srcroot) - @objdir = File.expand_path(objroot) - @currdir = '.' - end - - def inspect - "#<#{self.class} #{File.basename(@srcdir)}>" - end - - # - # Hook Script API bases - # - - def srcdir_root - @srcdir - end - - def objdir_root - @objdir - end - - def relpath - @currdir - end - - # - # configs/options - # - - def no_harm? - @options['no-harm'] - end - - def verbose? - @options['verbose'] - end - - def verbose_off - begin - save, @options['verbose'] = @options['verbose'], false - yield - ensure - @options['verbose'] = save - end - end - - # - # TASK config - # - - def exec_config - exec_task_traverse 'config' - end - - def config_dir_bin(rel) - end - - def config_dir_lib(rel) - end - - def config_dir_ext(rel) - extconf if extdir?(curr_srcdir()) - end - - def extconf - opt = @options['config-opt'].join(' ') - command "#{config('ruby-prog')} #{curr_srcdir()}/extconf.rb #{opt}" - end - - def config_dir_data(rel) - end - - # - # TASK setup - # - - def exec_setup - exec_task_traverse 'setup' - end - - def setup_dir_bin(rel) - all_files_in(curr_srcdir()).each do |fname| - adjust_shebang "#{curr_srcdir()}/#{fname}" - end - end - - def adjust_shebang(path) - return if no_harm? - tmpfile = File.basename(path) + '.tmp' - begin - File.open(path, 'rb') {|r| - File.open(tmpfile, 'wb') {|w| - first = r.gets - return unless should_modify_shebang?(first) - $stderr.puts "adjusting shebang: #{File.basename(path)}" if verbose? - w.print first.sub(SHEBANG_RE, '#!' + config('ruby-path')) - w.write r.read - } - } - move_file tmpfile, File.basename(path) - ensure - File.unlink tmpfile if File.exist?(tmpfile) - end - end - - def should_modify_shebang?(line) - File.basename(config('ruby-path')) == 'ruby' or - shebang_command(line) == 'ruby' - end - - def shebang_command(line) - cmd, arg = *line.sub(/\A\#!/, '').strip.split(/\s+/, 2) - cmd - end - - def setup_dir_lib(rel) - end - - def setup_dir_ext(rel) - make if extdir?(curr_srcdir()) - end - - def setup_dir_data(rel) - end - - # - # TASK install - # - - def exec_install - exec_task_traverse 'install' - end - - def install_dir_bin(rel) - install_files collect_filenames_auto(), "#{config('bin-dir')}/#{rel}", 0755 - end - - def install_dir_lib(rel) - install_files ruby_scripts(), "#{config('rb-dir')}/#{rel}", 0644 - end - - def install_dir_ext(rel) - return unless extdir?(curr_srcdir()) - install_files ruby_extentions('.'), - "#{config('so-dir')}/#{rel}", - 0555 - end - - def install_dir_data(rel) - install_files collect_filenames_auto(), "#{config('data-dir')}/#{rel}", 0644 - end - - def install_files(list, dest, mode) - mkdir_p dest, @options['install-prefix'] - list.each do |fname| - install fname, dest, mode, @options['install-prefix'] - end - end - - def ruby_scripts - collect_filenames_auto().select {|n| /\.rb\z/ =~ n } - end - - # picked up many entries from cvs-1.11.1/src/ignore.c - reject_patterns = %w( - core RCSLOG tags TAGS .make.state - .nse_depinfo #* .#* cvslog.* ,* .del-* *.olb - *~ *.old *.bak *.BAK *.orig *.rej _$* *$ - - *.org *.in .* - ) - mapping = { - '.' => '\.', - '$' => '\$', - '#' => '\#', - '*' => '.*' - } - REJECT_PATTERNS = Regexp.new('\A(?:' + - reject_patterns.map {|pat| - pat.gsub(/[\.\$\#\*]/) {|ch| mapping[ch] } - }.join('|') + - ')\z') - - def collect_filenames_auto - mapdir((existfiles() - hookfiles()).reject {|fname| - REJECT_PATTERNS =~ fname - }) - end - - def existfiles - all_files_in(curr_srcdir()) | all_files_in('.') - end - - def hookfiles - %w( pre-%s post-%s pre-%s.rb post-%s.rb ).map {|fmt| - %w( config setup install clean ).map {|t| sprintf(fmt, t) } - }.flatten - end - - def mapdir(filelist) - filelist.map {|fname| - if File.exist?(fname) # objdir - fname - else # srcdir - File.join(curr_srcdir(), fname) - end - } - end - - def ruby_extentions(dir) - _ruby_extentions(dir) or - raise InstallError, "no ruby extention exists: 'ruby #{$0} setup' first" - end - - DLEXT = /\.#{ ::Config::CONFIG['DLEXT'] }\z/ - - def _ruby_extentions(dir) - Dir.open(dir) {|d| - return d.select {|fname| DLEXT =~ fname } - } - end - - # - # TASK clean - # - - def exec_clean - exec_task_traverse 'clean' - rm_f ConfigTable::SAVE_FILE - rm_f 'InstalledFiles' - end - - def clean_dir_bin(rel) - end - - def clean_dir_lib(rel) - end - - def clean_dir_ext(rel) - return unless extdir?(curr_srcdir()) - make 'clean' if File.file?('Makefile') - end - - def clean_dir_data(rel) - end - - # - # TASK distclean - # - - def exec_distclean - exec_task_traverse 'distclean' - rm_f ConfigTable::SAVE_FILE - rm_f 'InstalledFiles' - end - - def distclean_dir_bin(rel) - end - - def distclean_dir_lib(rel) - end - - def distclean_dir_ext(rel) - return unless extdir?(curr_srcdir()) - make 'distclean' if File.file?('Makefile') - end - - # - # lib - # - - def exec_task_traverse(task) - run_hook "pre-#{task}" - FILETYPES.each do |type| - if config('without-ext') == 'yes' and type == 'ext' - $stderr.puts 'skipping ext/* by user option' if verbose? - next - end - traverse task, type, "#{task}_dir_#{type}" - end - run_hook "post-#{task}" - end - - def traverse(task, rel, mid) - dive_into(rel) { - run_hook "pre-#{task}" - __send__ mid, rel.sub(%r[\A.*?(?:/|\z)], '') - all_dirs_in(curr_srcdir()).each do |d| - traverse task, "#{rel}/#{d}", mid - end - run_hook "post-#{task}" - } - end - - def dive_into(rel) - return unless File.dir?("#{@srcdir}/#{rel}") - - dir = File.basename(rel) - Dir.mkdir dir unless File.dir?(dir) - prevdir = Dir.pwd - Dir.chdir dir - $stderr.puts '---> ' + rel if verbose? - @currdir = rel - yield - Dir.chdir prevdir - $stderr.puts '<--- ' + rel if verbose? - @currdir = File.dirname(rel) - end - -end - - -if $0 == __FILE__ - begin - if multipackage_install? - ToplevelInstallerMulti.invoke - else - ToplevelInstaller.invoke - end - rescue - raise if $DEBUG - $stderr.puts $!.message - $stderr.puts "Try 'ruby #{$0} --help' for detailed usage." - exit 1 - end -end diff --git a/vendor/plugins/sqlite3-ruby/test/helper.rb b/vendor/plugins/sqlite3-ruby/test/helper.rb deleted file mode 100644 index a61859e6..00000000 --- a/vendor/plugins/sqlite3-ruby/test/helper.rb +++ /dev/null @@ -1,3 +0,0 @@ -require 'sqlite3' -require 'test/unit' -require 'iconv' diff --git a/vendor/plugins/sqlite3-ruby/test/test_collation.rb b/vendor/plugins/sqlite3-ruby/test/test_collation.rb deleted file mode 100644 index 3400a461..00000000 --- a/vendor/plugins/sqlite3-ruby/test/test_collation.rb +++ /dev/null @@ -1,82 +0,0 @@ -# -*- coding: utf-8 -*- - -require 'helper' - -module SQLite3 - class TestCollation < Test::Unit::TestCase - class Comparator - attr_reader :calls - def initialize - @calls = [] - end - - def compare left, right - @calls << [left, right] - left <=> right - end - end - - def setup - @db = SQLite3::Database.new(':memory:') - @create = "create table ex(id int, data string)" - @db.execute(@create); - [ [1, 'hello'], [2, 'world'] ].each do |vals| - @db.execute('insert into ex (id, data) VALUES (?, ?)', vals) - end - end - - def test_custom_collation - comparator = Comparator.new - - @db.collation 'foo', comparator - - assert_equal comparator, @db.collations['foo'] - @db.execute('select data from ex order by 1 collate foo') - assert_equal 1, comparator.calls.length - end - - def test_remove_collation - comparator = Comparator.new - - @db.collation 'foo', comparator - @db.collation 'foo', nil - - assert_nil @db.collations['foo'] - assert_raises(SQLite3::SQLException) do - @db.execute('select data from ex order by 1 collate foo') - end - end - - if RUBY_VERSION >= '1.9.1' - def test_encoding - comparator = Comparator.new - @db.collation 'foo', comparator - @db.execute('select data from ex order by 1 collate foo') - - a, b = *comparator.calls.first - - assert_equal Encoding.find('UTF-8'), a.encoding - assert_equal Encoding.find('UTF-8'), b.encoding - end - - def test_encoding_default_internal - warn_before = $-w - $-w = false - before_enc = Encoding.default_internal - - Encoding.default_internal = 'EUC-JP' - comparator = Comparator.new - @db.collation 'foo', comparator - @db.execute('select data from ex order by 1 collate foo') - - a, b = *comparator.calls.first - - assert_equal Encoding.find('EUC-JP'), a.encoding - assert_equal Encoding.find('EUC-JP'), b.encoding - ensure - Encoding.default_internal = before_enc - $-w = warn_before - end - end - end -end diff --git a/vendor/plugins/sqlite3-ruby/test/test_database.rb b/vendor/plugins/sqlite3-ruby/test/test_database.rb deleted file mode 100644 index eda5147c..00000000 --- a/vendor/plugins/sqlite3-ruby/test/test_database.rb +++ /dev/null @@ -1,295 +0,0 @@ -require 'helper' -require 'iconv' - -module SQLite3 - class TestDatabase < Test::Unit::TestCase - def setup - @db = SQLite3::Database.new(':memory:') - end - - def test_encoding - assert @db.encoding, 'database has encoding' - end - - def test_changes - @db.execute("CREATE TABLE items (id integer PRIMARY KEY AUTOINCREMENT, number integer)") - assert_equal 0, @db.changes - @db.execute("INSERT INTO items (number) VALUES (10)") - assert_equal 1, @db.changes - @db.execute_batch( - "UPDATE items SET number = (number + :nn) WHERE (number = :n)", - {"nn" => 20, "n" => 10}) - assert_equal 1, @db.changes - assert_equal [[30]], @db.execute("select number from items") - end - - def test_new - db = SQLite3::Database.new(':memory:') - assert db - end - - def test_new_yields_self - thing = nil - SQLite3::Database.new(':memory:') do |db| - thing = db - end - assert_instance_of(SQLite3::Database, thing) - end - - def test_new_with_options - db = SQLite3::Database.new(Iconv.conv('UTF-16LE', 'UTF-8', ':memory:'), - :utf16 => true) - assert db - end - - def test_close - db = SQLite3::Database.new(':memory:') - db.close - assert db.closed? - end - - def test_block_closes_self - thing = nil - SQLite3::Database.new(':memory:') do |db| - thing = db - assert !thing.closed? - end - assert thing.closed? - end - - def test_prepare - db = SQLite3::Database.new(':memory:') - stmt = db.prepare('select "hello world"') - assert_instance_of(SQLite3::Statement, stmt) - end - - def test_total_changes - db = SQLite3::Database.new(':memory:') - db.execute("create table foo ( a integer primary key, b text )") - db.execute("insert into foo (b) values ('hello')") - assert_equal 1, db.total_changes - end - - def test_execute_returns_list_of_hash - db = SQLite3::Database.new(':memory:', :results_as_hash => true) - db.execute("create table foo ( a integer primary key, b text )") - db.execute("insert into foo (b) values ('hello')") - rows = db.execute("select * from foo") - assert_equal [{0=>1, "a"=>1, "b"=>"hello", 1=>"hello"}], rows - end - - def test_execute_yields_hash - db = SQLite3::Database.new(':memory:', :results_as_hash => true) - db.execute("create table foo ( a integer primary key, b text )") - db.execute("insert into foo (b) values ('hello')") - db.execute("select * from foo") do |row| - assert_equal({0=>1, "a"=>1, "b"=>"hello", 1=>"hello"}, row) - end - end - - def test_table_info - db = SQLite3::Database.new(':memory:', :results_as_hash => true) - db.execute("create table foo ( a integer primary key, b text )") - info = [{ - "name" => "a", - "pk" => 1, - "notnull" => 0, - "type" => "integer", - "dflt_value" => nil, - "cid" => 0 - }, - { - "name" => "b", - "pk" => 0, - "notnull" => 0, - "type" => "text", - "dflt_value" => nil, - "cid" => 1 - }] - assert_equal info, db.table_info('foo') - end - - def test_total_changes_closed - db = SQLite3::Database.new(':memory:') - db.close - assert_raise(SQLite3::Exception) do - db.total_changes - end - end - - def test_trace_requires_opendb - @db.close - assert_raise(SQLite3::Exception) do - @db.trace { |x| } - end - end - - def test_trace_with_block - result = nil - @db.trace { |sql| result = sql } - @db.execute "select 'foo'" - assert_equal "select 'foo'", result - end - - def test_trace_with_object - obj = Class.new { - attr_accessor :result - def call sql; @result = sql end - }.new - - @db.trace(obj) - @db.execute "select 'foo'" - assert_equal "select 'foo'", obj.result - end - - def test_trace_takes_nil - @db.trace(nil) - @db.execute "select 'foo'" - end - - def test_last_insert_row_id_closed - @db.close - assert_raise(SQLite3::Exception) do - @db.last_insert_row_id - end - end - - def test_define_function - called_with = nil - @db.define_function("hello") do |value| - called_with = value - end - @db.execute("select hello(10)") - assert_equal 10, called_with - end - - def test_call_func_arg_type - called_with = nil - @db.define_function("hello") do |b, c, d| - called_with = [b, c, d] - nil - end - @db.execute("select hello(2.2, 'foo', NULL)") - assert_equal [2.2, 'foo', nil], called_with - end - - def test_define_varargs - called_with = nil - @db.define_function("hello") do |*args| - called_with = args - nil - end - @db.execute("select hello(2.2, 'foo', NULL)") - assert_equal [2.2, 'foo', nil], called_with - end - - def test_function_return - @db.define_function("hello") { |a| 10 } - assert_equal [10], @db.execute("select hello('world')").first - end - - def test_function_return_types - [10, 2.2, nil, "foo"].each do |thing| - @db.define_function("hello") { |a| thing } - assert_equal [thing], @db.execute("select hello('world')").first - end - end - - def test_define_function_closed - @db.close - assert_raise(SQLite3::Exception) do - @db.define_function('foo') { } - end - end - - def test_inerrupt_closed - @db.close - assert_raise(SQLite3::Exception) do - @db.interrupt - end - end - - def test_define_aggregate - @db.execute "create table foo ( a integer primary key, b text )" - @db.execute "insert into foo ( b ) values ( 'foo' )" - @db.execute "insert into foo ( b ) values ( 'bar' )" - @db.execute "insert into foo ( b ) values ( 'baz' )" - - acc = Class.new { - attr_reader :sum - alias :finalize :sum - def initialize - @sum = 0 - end - - def step a - @sum += a - end - }.new - - @db.define_aggregator("accumulate", acc) - value = @db.get_first_value( "select accumulate(a) from foo" ) - assert_equal 6, value - end - - def test_authorizer_ok - @db.authorizer = Class.new { - def call action, a, b, c, d; true end - }.new - @db.prepare("select 'fooooo'") - - @db.authorizer = Class.new { - def call action, a, b, c, d; 0 end - }.new - @db.prepare("select 'fooooo'") - end - - def test_authorizer_ignore - @db.authorizer = Class.new { - def call action, a, b, c, d; nil end - }.new - stmt = @db.prepare("select 'fooooo'") - assert_equal nil, stmt.step - end - - def test_authorizer_fail - @db.authorizer = Class.new { - def call action, a, b, c, d; false end - }.new - assert_raises(SQLite3::AuthorizationException) do - @db.prepare("select 'fooooo'") - end - end - - def test_remove_auth - @db.authorizer = Class.new { - def call action, a, b, c, d; false end - }.new - assert_raises(SQLite3::AuthorizationException) do - @db.prepare("select 'fooooo'") - end - - @db.authorizer = nil - @db.prepare("select 'fooooo'") - end - - def test_close_with_open_statements - stmt = @db.prepare("select 'foo'") - assert_raises(SQLite3::BusyException) do - @db.close - end - end - - def test_execute_with_empty_bind_params - assert_equal [['foo']], @db.execute("select 'foo'", []) - end - - def test_query_with_named_bind_params - assert_equal [['foo']], @db.query("select :n", {'n' => 'foo'}).to_a - end - - def test_execute_with_named_bind_params - assert_equal [['foo']], @db.execute("select :n", {'n' => 'foo'}) - end - end -end diff --git a/vendor/plugins/sqlite3-ruby/test/test_deprecated.rb b/vendor/plugins/sqlite3-ruby/test/test_deprecated.rb deleted file mode 100644 index e1396cad..00000000 --- a/vendor/plugins/sqlite3-ruby/test/test_deprecated.rb +++ /dev/null @@ -1,33 +0,0 @@ -require 'helper' - -module SQLite3 - class TestDeprecated < Test::Unit::TestCase - def setup - super - @warn_before = $-w - $-w = false - @db = SQLite3::Database.new(':memory:') - end - - def teardown - super - $-w = @warn_before - end - - def test_query_with_many_bind_params - assert_equal [[nil, 1]], @db.query("select ?, ?", nil, 1).to_a - end - - def test_query_with_nil_bind_params - assert_equal [['foo']], @db.query("select 'foo'", nil).to_a - end - - def test_execute_with_many_bind_params - assert_equal [[nil, 1]], @db.execute("select ?, ?", nil, 1) - end - - def test_execute_with_nil_bind_params - assert_equal [['foo']], @db.execute("select 'foo'", nil) - end - end -end diff --git a/vendor/plugins/sqlite3-ruby/test/test_encoding.rb b/vendor/plugins/sqlite3-ruby/test/test_encoding.rb deleted file mode 100644 index 107a0679..00000000 --- a/vendor/plugins/sqlite3-ruby/test/test_encoding.rb +++ /dev/null @@ -1,119 +0,0 @@ -# -*- coding: utf-8 -*- - -require 'helper' - -module SQLite3 - class TestEncoding < Test::Unit::TestCase - def setup - @db = SQLite3::Database.new(':memory:') - @create = "create table ex(id int, data string)" - @insert = "insert into ex(id, data) values (?, ?)" - @db.execute(@create); - end - - def test_default_internal_is_honored - warn_before = $-w - $-w = false - - before_enc = Encoding.default_internal - - str = "壁に耳あり、障子に目あり" - stmt = @db.prepare('insert into ex(data) values (?)') - stmt.bind_param 1, str - stmt.step - - Encoding.default_internal = 'EUC-JP' - string = @db.execute('select data from ex').first.first - - assert_equal Encoding.default_internal, string.encoding - assert_equal str.encode('EUC-JP'), string - assert_equal str, string.encode(str.encoding) - ensure - Encoding.default_internal = before_enc - $-w = warn_before - end - - def test_blob_is_binary - str = "猫舌" - @db.execute('create table foo(data text)') - stmt = @db.prepare('insert into foo(data) values (?)') - stmt.bind_param(1, SQLite3::Blob.new(str)) - stmt.step - - string = @db.execute('select data from foo').first.first - assert_equal Encoding.find('ASCII-8BIT'), string.encoding - assert_equal str, string.force_encoding('UTF-8') - end - - def test_blob_is_ascii8bit - str = "猫舌" - @db.execute('create table foo(data text)') - stmt = @db.prepare('insert into foo(data) values (?)') - stmt.bind_param(1, str.dup.force_encoding("ASCII-8BIT")) - stmt.step - - string = @db.execute('select data from foo').first.first - assert_equal Encoding.find('ASCII-8BIT'), string.encoding - assert_equal str, string.force_encoding('UTF-8') - end - - def test_blob_with_eucjp - str = "猫舌".encode("EUC-JP") - @db.execute('create table foo(data text)') - stmt = @db.prepare('insert into foo(data) values (?)') - stmt.bind_param(1, SQLite3::Blob.new(str)) - stmt.step - - string = @db.execute('select data from foo').first.first - assert_equal Encoding.find('ASCII-8BIT'), string.encoding - assert_equal str, string.force_encoding('EUC-JP') - end - - def test_db_with_eucjp - db = SQLite3::Database.new(':memory:'.encode('EUC-JP')) - assert_equal(Encoding.find('UTF-8'), db.encoding) - end - - def test_db_with_utf16 - db = SQLite3::Database.new(':memory:'.encode('UTF-16LE')) - assert_equal(Encoding.find('UTF-16LE'), db.encoding) - end - - def test_statement_eucjp - str = "猫舌" - @db.execute("insert into ex(data) values ('#{str}')".encode('EUC-JP')) - row = @db.execute("select data from ex") - assert_equal @db.encoding, row.first.first.encoding - assert_equal str, row.first.first - end - - def test_statement_utf8 - str = "猫舌" - @db.execute("insert into ex(data) values ('#{str}')") - row = @db.execute("select data from ex") - assert_equal @db.encoding, row.first.first.encoding - assert_equal str, row.first.first - end - - def test_encoding - assert_equal Encoding.find("UTF-8"), @db.encoding - end - - def test_utf_8 - str = "猫舌" - @db.execute(@insert, [10, str]) - row = @db.execute("select data from ex") - assert_equal @db.encoding, row.first.first.encoding - assert_equal str, row.first.first - end - - def test_euc_jp - str = "猫舌".encode('EUC-JP') - @db.execute(@insert, [10, str]) - row = @db.execute("select data from ex") - assert_equal @db.encoding, row.first.first.encoding - assert_equal str.encode('UTF-8'), row.first.first - end - - end if RUBY_VERSION >= '1.9.1' -end diff --git a/vendor/plugins/sqlite3-ruby/test/test_integration.rb b/vendor/plugins/sqlite3-ruby/test/test_integration.rb deleted file mode 100644 index 3247e0fc..00000000 --- a/vendor/plugins/sqlite3-ruby/test/test_integration.rb +++ /dev/null @@ -1,545 +0,0 @@ -require 'helper' - -class TC_Database_Integration < Test::Unit::TestCase - def setup - @db = SQLite3::Database.new(":memory:") - @db.transaction do - @db.execute "create table foo ( a integer primary key, b text )" - @db.execute "insert into foo ( b ) values ( 'foo' )" - @db.execute "insert into foo ( b ) values ( 'bar' )" - @db.execute "insert into foo ( b ) values ( 'baz' )" - end - end - - def teardown - @db.close - end - - def test_table_info_with_type_translation_active - @db.type_translation = true - assert_nothing_raised { @db.table_info("foo") } - end - - def test_table_info_with_defaults_for_version_3_3_8_and_higher - @db.transaction do - @db.execute "create table defaults_test ( a string default NULL, b string default 'Hello' )" - data = @db.table_info( "defaults_test" ) - assert_equal({"name" => "a", "type" => "string", "dflt_value" => nil, "notnull" => 0, "cid" => 0, "pk" => 0}, - data[0]) - assert_equal({"name" => "b", "type" => "string", "dflt_value" => "Hello", "notnull" => 0, "cid" => 1, "pk" => 0}, - data[1]) - end - end - - def test_table_info_without_defaults_for_version_3_3_8_and_higher - @db.transaction do - @db.execute "create table no_defaults_test ( a integer default 1, b integer )" - data = @db.table_info( "no_defaults_test" ) - assert_equal({"name" => "a", "type" => "integer", "dflt_value" => "1", "notnull" => 0, "cid" => 0, "pk" => 0}, - data[0]) - assert_equal({"name" => "b", "type" => "integer", "dflt_value" => nil, "notnull" => 0, "cid" => 1, "pk" => 0}, - data[1]) - end - end - - def test_complete_fail - assert !@db.complete?( "select * from foo" ) - end - def test_complete_success - assert @db.complete?( "select * from foo;" ) - end - - # FIXME: do people really need UTF16 sql statements? - #def test_complete_fail_utf16 - # assert !@db.complete?( "select * from foo".to_utf16(false), true ) - #end - - # FIXME: do people really need UTF16 sql statements? - #def test_complete_success_utf16 - # assert @db.complete?( "select * from foo;".to_utf16(true), true ) - #end - - def test_errmsg - assert_equal "not an error", @db.errmsg - end - - # FIXME: do people really need UTF16 error messages? - #def test_errmsg_utf16 - # msg = Iconv.conv('UTF-16', 'UTF-8', 'not an error') - # assert_equal msg, @db.errmsg(true) - #end - - def test_errcode - assert_equal 0, @db.errcode - end - - def test_trace - result = nil - @db.trace { |sql| result = sql } - @db.execute "select * from foo" - assert_equal "select * from foo", result - end - - def test_authorizer_okay - @db.authorizer { |type,a,b,c,d| 0 } - rows = @db.execute "select * from foo" - assert_equal 3, rows.length - end - - def test_authorizer_error - @db.authorizer { |type,a,b,c,d| 1 } - assert_raise( SQLite3::AuthorizationException ) do - @db.execute "select * from foo" - end - end - - def test_authorizer_silent - @db.authorizer { |type,a,b,c,d| 2 } - rows = @db.execute "select * from foo" - assert rows.empty? - end - - def test_prepare_invalid_syntax - assert_raise( SQLite3::SQLException ) do - @db.prepare "select from foo" - end - end - - def test_prepare_invalid_column - assert_raise( SQLite3::SQLException ) do - @db.prepare "select k from foo" - end - end - - def test_prepare_invalid_table - assert_raise( SQLite3::SQLException ) do - @db.prepare "select * from barf" - end - end - - def test_prepare_no_block - stmt = @db.prepare "select * from foo" - assert stmt.respond_to?(:execute) - stmt.close - end - - def test_prepare_with_block - called = false - @db.prepare "select * from foo" do |stmt| - called = true - assert stmt.respond_to?(:execute) - end - assert called - end - - def test_execute_no_block_no_bind_no_match - rows = @db.execute( "select * from foo where a > 100" ) - assert rows.empty? - end - - def test_execute_with_block_no_bind_no_match - called = false - @db.execute( "select * from foo where a > 100" ) do |row| - called = true - end - assert !called - end - - def test_execute_no_block_with_bind_no_match - rows = @db.execute( "select * from foo where a > ?", 100 ) - assert rows.empty? - end - - def test_execute_with_block_with_bind_no_match - called = false - @db.execute( "select * from foo where a > ?", 100 ) do |row| - called = true - end - assert !called - end - - def test_execute_no_block_no_bind_with_match - rows = @db.execute( "select * from foo where a = 1" ) - assert_equal 1, rows.length - end - - def test_execute_with_block_no_bind_with_match - called = 0 - @db.execute( "select * from foo where a = 1" ) do |row| - called += 1 - end - assert_equal 1, called - end - - def test_execute_no_block_with_bind_with_match - rows = @db.execute( "select * from foo where a = ?", 1 ) - assert_equal 1, rows.length - end - - def test_execute_with_block_with_bind_with_match - called = 0 - @db.execute( "select * from foo where a = ?", 1 ) do |row| - called += 1 - end - assert_equal 1, called - end - - def test_execute2_no_block_no_bind_no_match - columns, *rows = @db.execute2( "select * from foo where a > 100" ) - assert rows.empty? - assert_equal [ "a", "b" ], columns - end - - def test_execute2_with_block_no_bind_no_match - called = 0 - @db.execute2( "select * from foo where a > 100" ) do |row| - assert [ "a", "b" ], row unless called == 0 - called += 1 - end - assert_equal 1, called - end - - def test_execute2_no_block_with_bind_no_match - columns, *rows = @db.execute2( "select * from foo where a > ?", 100 ) - assert rows.empty? - assert_equal [ "a", "b" ], columns - end - - def test_execute2_with_block_with_bind_no_match - called = 0 - @db.execute2( "select * from foo where a > ?", 100 ) do |row| - assert_equal [ "a", "b" ], row unless called == 0 - called += 1 - end - assert_equal 1, called - end - - def test_execute2_no_block_no_bind_with_match - columns, *rows = @db.execute2( "select * from foo where a = 1" ) - assert_equal 1, rows.length - assert_equal [ "a", "b" ], columns - end - - def test_execute2_with_block_no_bind_with_match - called = 0 - @db.execute2( "select * from foo where a = 1" ) do |row| - assert_equal [ 1, "foo" ], row unless called == 0 - called += 1 - end - assert_equal 2, called - end - - def test_execute2_no_block_with_bind_with_match - columns, *rows = @db.execute2( "select * from foo where a = ?", 1 ) - assert_equal 1, rows.length - assert_equal [ "a", "b" ], columns - end - - def test_execute2_with_block_with_bind_with_match - called = 0 - @db.execute2( "select * from foo where a = ?", 1 ) do |row| - called += 1 - end - assert_equal 2, called - end - - def test_execute_batch_empty - assert_nothing_raised { @db.execute_batch "" } - end - - def test_execute_batch_no_bind - @db.transaction do - @db.execute_batch <<-SQL - create table bar ( a, b, c ); - insert into bar values ( 'one', 2, 'three' ); - insert into bar values ( 'four', 5, 'six' ); - insert into bar values ( 'seven', 8, 'nine' ); - SQL - end - rows = @db.execute( "select * from bar" ) - assert_equal 3, rows.length - end - - def test_execute_batch_with_bind - @db.execute_batch( <<-SQL, [1] ) - create table bar ( a, b, c ); - insert into bar values ( 'one', 2, ? ); - insert into bar values ( 'four', 5, ? ); - insert into bar values ( 'seven', 8, ? ); - SQL - rows = @db.execute( "select * from bar" ).map { |a,b,c| c } - assert_equal [1, 1, 1], rows - end - - def test_query_no_block_no_bind_no_match - result = @db.query( "select * from foo where a > 100" ) - assert_nil result.next - result.close - end - - def test_query_with_block_no_bind_no_match - r = nil - @db.query( "select * from foo where a > 100" ) do |result| - assert_nil result.next - r = result - end - assert r.closed? - end - - def test_query_no_block_with_bind_no_match - result = @db.query( "select * from foo where a > ?", 100 ) - assert_nil result.next - result.close - end - - def test_query_with_block_with_bind_no_match - r = nil - @db.query( "select * from foo where a > ?", 100 ) do |result| - assert_nil result.next - r = result - end - assert r.closed? - end - - def test_query_no_block_no_bind_with_match - result = @db.query( "select * from foo where a = 1" ) - assert_not_nil result.next - assert_nil result.next - result.close - end - - def test_query_with_block_no_bind_with_match - r = nil - @db.query( "select * from foo where a = 1" ) do |result| - assert_not_nil result.next - assert_nil result.next - r = result - end - assert r.closed? - end - - def test_query_no_block_with_bind_with_match - result = @db.query( "select * from foo where a = ?", 1 ) - assert_not_nil result.next - assert_nil result.next - result.close - end - - def test_query_with_block_with_bind_with_match - r = nil - @db.query( "select * from foo where a = ?", 1 ) do |result| - assert_not_nil result.next - assert_nil result.next - r = result - end - assert r.closed? - end - - def test_get_first_row_no_bind_no_match - result = @db.get_first_row( "select * from foo where a=100" ) - assert_nil result - end - - def test_get_first_row_no_bind_with_match - result = @db.get_first_row( "select * from foo where a=1" ) - assert_equal [ 1, "foo" ], result - end - - def test_get_first_row_with_bind_no_match - result = @db.get_first_row( "select * from foo where a=?", 100 ) - assert_nil result - end - - def test_get_first_row_with_bind_with_match - result = @db.get_first_row( "select * from foo where a=?", 1 ) - assert_equal [ 1, "foo" ], result - end - - def test_get_first_value_no_bind_no_match - result = @db.get_first_value( "select b, a from foo where a=100" ) - assert_nil result - end - - def test_get_first_value_no_bind_with_match - result = @db.get_first_value( "select b, a from foo where a=1" ) - assert_equal "foo", result - end - - def test_get_first_value_with_bind_no_match - result = @db.get_first_value( "select b, a from foo where a=?", 100 ) - assert_nil result - end - - def test_get_first_value_with_bind_with_match - result = @db.get_first_value( "select b, a from foo where a=?", 1 ) - assert_equal "foo", result - end - - def test_last_insert_row_id - @db.execute "insert into foo ( b ) values ( 'test' )" - assert_equal 4, @db.last_insert_row_id - @db.execute "insert into foo ( b ) values ( 'again' )" - assert_equal 5, @db.last_insert_row_id - end - - def test_changes - @db.execute "insert into foo ( b ) values ( 'test' )" - assert_equal 1, @db.changes - @db.execute "delete from foo where 1=1" - assert_equal 4, @db.changes - end - - def test_total_changes - assert_equal 3, @db.total_changes - @db.execute "insert into foo ( b ) values ( 'test' )" - @db.execute "delete from foo where 1=1" - assert_equal 8, @db.total_changes - end - - def test_transaction_nest - assert_raise( SQLite3::SQLException ) do - @db.transaction do - @db.transaction do - end - end - end - end - - def test_transaction_rollback - @db.transaction - @db.execute_batch <<-SQL - insert into foo (b) values ( 'test1' ); - insert into foo (b) values ( 'test2' ); - insert into foo (b) values ( 'test3' ); - insert into foo (b) values ( 'test4' ); - SQL - assert_equal 7, @db.get_first_value("select count(*) from foo").to_i - @db.rollback - assert_equal 3, @db.get_first_value("select count(*) from foo").to_i - end - - def test_transaction_commit - @db.transaction - @db.execute_batch <<-SQL - insert into foo (b) values ( 'test1' ); - insert into foo (b) values ( 'test2' ); - insert into foo (b) values ( 'test3' ); - insert into foo (b) values ( 'test4' ); - SQL - assert_equal 7, @db.get_first_value("select count(*) from foo").to_i - @db.commit - assert_equal 7, @db.get_first_value("select count(*) from foo").to_i - end - - def test_transaction_rollback_in_block - assert_raise( SQLite3::SQLException ) do - @db.transaction do - @db.rollback - end - end - end - - def test_transaction_commit_in_block - assert_raise( SQLite3::SQLException ) do - @db.transaction do - @db.commit - end - end - end - - def test_transaction_active - assert !@db.transaction_active? - @db.transaction - assert @db.transaction_active? - @db.commit - assert !@db.transaction_active? - end - - def test_interrupt - @db.create_function( "abort", 1 ) do |func,x| - @db.interrupt - func.result = x - end - - assert_raise( SQLite3::InterruptException ) do - @db.execute "select abort(a) from foo" - end - end - - def test_create_function - @db.create_function( "munge", 1 ) do |func,x| - func.result = ">>>#{x}<<<" - end - - value = @db.get_first_value( "select munge(b) from foo where a=1" ) - assert_match( />>>.*<<= '1.9' - - busy = Mutex.new - busy.lock - handler_call_count = 0 - - t = Thread.new(busy) do |locker| - begin - db2 = SQLite3::Database.open( "test.db" ) - db2.transaction( :exclusive ) do - locker.lock - end - ensure - db2.close if db2 - end - end - - @db.busy_handler do |data,count| - handler_call_count += 1 - busy.unlock - true - end - - assert_nothing_raised do - @db.execute "insert into foo (b) values ( 'from 2' )" - end - - t.join - - assert_equal 1, handler_call_count - end - - def test_busy_handler_impatient - busy = Mutex.new - busy.lock - handler_call_count = 0 - - t = Thread.new do - begin - db2 = SQLite3::Database.open( "test.db" ) - db2.transaction( :exclusive ) do - busy.lock - end - ensure - db2.close if db2 - end - end - sleep 1 - - @db.busy_handler do |count| - handler_call_count += 1 - false - end - - assert_raise( SQLite3::BusyException ) do - @db.execute "insert into foo (b) values ( 'from 2' )" - end - - busy.unlock - t.join - - assert_equal 1, handler_call_count - end - - def test_busy_timeout - @db.busy_timeout 1000 - busy = Mutex.new - busy.lock - - t = Thread.new do - begin - db2 = SQLite3::Database.open( "test.db" ) - db2.transaction( :exclusive ) do - busy.lock - end - ensure - db2.close if db2 - end - end - - sleep 1 - time = Benchmark.measure do - assert_raise( SQLite3::BusyException ) do - @db.execute "insert into foo (b) values ( 'from 2' )" - end - end - - busy.unlock - t.join - - assert time.real*1000 >= 1000 - end -end diff --git a/vendor/plugins/sqlite3-ruby/test/test_integration_resultset.rb b/vendor/plugins/sqlite3-ruby/test/test_integration_resultset.rb deleted file mode 100644 index 5274fc90..00000000 --- a/vendor/plugins/sqlite3-ruby/test/test_integration_resultset.rb +++ /dev/null @@ -1,183 +0,0 @@ -require 'helper' - -class TC_ResultSet < Test::Unit::TestCase - def setup - @db = SQLite3::Database.new(":memory:") - @db.transaction do - @db.execute "create table foo ( a integer primary key, b text )" - @db.execute "insert into foo ( b ) values ( 'foo' )" - @db.execute "insert into foo ( b ) values ( 'bar' )" - @db.execute "insert into foo ( b ) values ( 'baz' )" - end - @stmt = @db.prepare( "select * from foo where a in ( ?, ? )" ) - @result = @stmt.execute - end - - def teardown - @stmt.close - @db.close - end - - def test_reset_unused - assert_nothing_raised { @result.reset } - assert @result.to_a.empty? - end - - def test_reset_used - @result.to_a - assert_nothing_raised { @result.reset } - assert @result.to_a.empty? - end - - def test_reset_with_bind - @result.to_a - assert_nothing_raised { @result.reset( 1, 2 ) } - assert_equal 2, @result.to_a.length - end - - def test_eof_inner - @result.reset( 1 ) - assert !@result.eof? - end - - def test_eof_edge - @result.reset( 1 ) - @result.next # to first row - @result.next # to end of result set - assert @result.eof? - end - - def test_next_eof - @result.reset( 1 ) - assert_not_nil @result.next - assert_nil @result.next - end - - def test_next_no_type_translation_no_hash - @result.reset( 1 ) - assert_equal [ 1, "foo" ], @result.next - end - - def test_next_type_translation - @db.type_translation = true - @result.reset( 1 ) - assert_equal [ 1, "foo" ], @result.next - end - - def test_next_type_translation_with_untyped_column - @db.type_translation = true - @db.query( "select count(*) from foo" ) do |result| - assert_equal [3], result.next - end - end - - def test_type_translation_execute - @db.type_translation = true - @db.execute "create table bar ( a integer, b america )" - @db.execute "insert into bar (a, b) values (NULL, '1974-07-25 14:39:00')" - - @db.translator.add_translator('america') do |type, thing| - 'america' - end - - assert_equal [[nil, 'america']], @db.execute("select * from bar") - end - - def test_type_translation_with_null_column - @db.type_translation = true - @db.execute "create table bar ( a integer, b time, c string )" - @db.execute "insert into bar (a, b, c) values (NULL, '1974-07-25 14:39:00', 'hello')" - @db.execute "insert into bar (a, b, c) values (1, NULL, 'hello')" - @db.execute "insert into bar (a, b, c) values (2, '1974-07-25 14:39:00', NULL)" - @db.query( "select * from bar" ) do |result| - assert_equal [nil, Time.local(1974, 7, 25, 14, 39, 0), 'hello'], result.next - assert_equal [1, nil, 'hello'], result.next - assert_equal [2, Time.local(1974, 7, 25, 14, 39, 0), nil], result.next - end - end - - def test_date_and_time_translation - @db.type_translation = true - @db.execute "create table bar ( a date, b datetime, c time, d timestamp )" - @db.execute "insert into bar (a, b, c, d) values ('1999-01-08', '1997-12-17 07:37:16', '07:37:16', '2004-10-19 10:23:54')" - @db.query( "select * from bar" ) do |result| - result = result.next - assert result[0].is_a?(Date) - assert result[1].is_a?(DateTime) - assert result[2].is_a?(Time) - assert result[3].is_a?(Time) - end - end - - def test_real_translation - @db.type_translation = true - @db.execute('create table foo_real(a real)') - @db.execute('insert into foo_real values (42)' ) - @db.query('select a, sum(a), typeof(a), typeof(sum(a)) from foo_real') do |result| - result = result.next - assert result[0].is_a?(Float) - assert result[1].is_a?(Float) - assert result[2].is_a?(String) - assert result[3].is_a?(String) - end - end - - def test_next_results_as_hash - @db.results_as_hash = true - @result.reset( 1 ) - assert_equal( { "a" => 1, "b" => "foo", 0 => 1, 1 => "foo" }, - @result.next ) - end - - def test_tainted_results_as_hash - @db.results_as_hash = true - @result.reset( 1 ) - row = @result.next - row.each do |_, v| - assert(v.tainted?) if String === v - end - end - - def test_tainted_row_values - @result.reset( 1 ) - row = @result.next - row.each do |v| - assert(v.tainted?) if String === v - end - end - - def test_each - called = 0 - @result.reset( 1, 2 ) - @result.each { |row| called += 1 } - assert_equal 2, called - end - - def test_enumerable - @result.reset( 1, 2 ) - assert_equal 2, @result.to_a.length - end - - def test_types - assert_equal [ "integer", "text" ], @result.types - end - - def test_columns - assert_equal [ "a", "b" ], @result.columns - end - - def test_close - stmt = @db.prepare( "select * from foo" ) - result = stmt.execute - assert !result.closed? - result.close - assert result.closed? - assert stmt.closed? - assert_raise( SQLite3::Exception ) { result.reset } - assert_raise( SQLite3::Exception ) { result.next } - assert_raise( SQLite3::Exception ) { result.each } - assert_raise( SQLite3::Exception ) { result.close } - assert_raise( SQLite3::Exception ) { result.types } - assert_raise( SQLite3::Exception ) { result.columns } - end -end diff --git a/vendor/plugins/sqlite3-ruby/test/test_integration_statement.rb b/vendor/plugins/sqlite3-ruby/test/test_integration_statement.rb deleted file mode 100644 index 9f7cde54..00000000 --- a/vendor/plugins/sqlite3-ruby/test/test_integration_statement.rb +++ /dev/null @@ -1,194 +0,0 @@ -require File.join(File.dirname(__FILE__), 'helper') - -class TC_Statement < Test::Unit::TestCase - def setup - @db = SQLite3::Database.new(":memory:") - @db.transaction do - @db.execute "create table foo ( a integer primary key, b text )" - @db.execute "insert into foo ( b ) values ( 'foo' )" - @db.execute "insert into foo ( b ) values ( 'bar' )" - @db.execute "insert into foo ( b ) values ( 'baz' )" - end - @stmt = @db.prepare( "select * from foo where a in ( ?, :named )" ) - end - - def teardown - @stmt.close - @db.close - end - - def test_remainder_empty - assert_equal "", @stmt.remainder - end - - def test_remainder_nonempty - called = false - @db.prepare( "select * from foo;\n blah" ) do |stmt| - called = true - assert_equal "\n blah", stmt.remainder - end - assert called - end - - def test_bind_params_empty - assert_nothing_raised { @stmt.bind_params } - assert @stmt.execute!.empty? - end - - def test_bind_params_array - @stmt.bind_params 1, 2 - assert_equal 2, @stmt.execute!.length - end - - def test_bind_params_hash - @stmt.bind_params ":named" => 2 - assert_equal 1, @stmt.execute!.length - end - - def test_bind_params_hash_without_colon - @stmt.bind_params "named" => 2 - assert_equal 1, @stmt.execute!.length - end - - def test_bind_params_hash_as_symbol - @stmt.bind_params :named => 2 - assert_equal 1, @stmt.execute!.length - end - - def test_bind_params_mixed - @stmt.bind_params( 1, ":named" => 2 ) - assert_equal 2, @stmt.execute!.length - end - - def test_bind_param_by_index - @stmt.bind_params( 1, 2 ) - assert_equal 2, @stmt.execute!.length - end - - def test_bind_param_by_name_bad - assert_raise( SQLite3::Exception ) { @stmt.bind_param( "@named", 2 ) } - end - - def test_bind_param_by_name_good - @stmt.bind_param( ":named", 2 ) - assert_equal 1, @stmt.execute!.length - end - - def test_bind_param_with_various_types - @db.transaction do - @db.execute "create table all_types ( a integer primary key, b float, c string, d integer )" - @db.execute "insert into all_types ( b, c, d ) values ( 1.4, 'hello', 68719476735 )" - end - - assert_equal 1, @db.execute( "select * from all_types where b = ?", 1.4 ).length - assert_equal 1, @db.execute( "select * from all_types where c = ?", 'hello').length - assert_equal 1, @db.execute( "select * from all_types where d = ?", 68719476735).length - end - - def test_execute_no_bind_no_block - assert_instance_of SQLite3::ResultSet, @stmt.execute - end - - def test_execute_with_bind_no_block - assert_instance_of SQLite3::ResultSet, @stmt.execute( 1, 2 ) - end - - def test_execute_no_bind_with_block - called = false - @stmt.execute { |row| called = true } - assert called - end - - def test_execute_with_bind_with_block - called = 0 - @stmt.execute( 1, 2 ) { |row| called += 1 } - assert_equal 1, called - end - - def test_reexecute - r = @stmt.execute( 1, 2 ) - assert_equal 2, r.to_a.length - assert_nothing_raised { r = @stmt.execute( 1, 2 ) } - assert_equal 2, r.to_a.length - end - - def test_execute_bang_no_bind_no_block - assert @stmt.execute!.empty? - end - - def test_execute_bang_with_bind_no_block - assert_equal 2, @stmt.execute!( 1, 2 ).length - end - - def test_execute_bang_no_bind_with_block - called = 0 - @stmt.execute! { |row| called += 1 } - assert_equal 0, called - end - - def test_execute_bang_with_bind_with_block - called = 0 - @stmt.execute!( 1, 2 ) { |row| called += 1 } - assert_equal 2, called - end - - def test_columns - c1 = @stmt.columns - c2 = @stmt.columns - assert_same c1, c2 - assert_equal 2, c1.length - end - - def test_columns_computed - called = false - @db.prepare( "select count(*) from foo" ) do |stmt| - called = true - assert_equal [ "count(*)" ], stmt.columns - end - assert called - end - - def test_types - t1 = @stmt.types - t2 = @stmt.types - assert_same t1, t2 - assert_equal 2, t1.length - end - - def test_types_computed - called = false - @db.prepare( "select count(*) from foo" ) do |stmt| - called = true - assert_equal [ nil ], stmt.types - end - assert called - end - - def test_close - stmt = @db.prepare( "select * from foo" ) - assert !stmt.closed? - stmt.close - assert stmt.closed? - assert_raise( SQLite3::Exception ) { stmt.execute } - assert_raise( SQLite3::Exception ) { stmt.execute! } - assert_raise( SQLite3::Exception ) { stmt.close } - assert_raise( SQLite3::Exception ) { stmt.bind_params 5 } - assert_raise( SQLite3::Exception ) { stmt.bind_param 1, 5 } - assert_raise( SQLite3::Exception ) { stmt.columns } - assert_raise( SQLite3::Exception ) { stmt.types } - end - - def test_committing_tx_with_statement_active - called = false - @db.prepare( "select count(*) from foo" ) do |stmt| - called = true - count = stmt.execute!.first.first.to_i - @db.transaction do - @db.execute "insert into foo ( b ) values ( 'hello' )" - end - new_count = stmt.execute!.first.first.to_i - assert_equal new_count, count+1 - end - assert called - end -end diff --git a/vendor/plugins/sqlite3-ruby/test/test_sqlite3.rb b/vendor/plugins/sqlite3-ruby/test/test_sqlite3.rb deleted file mode 100644 index d28ef64a..00000000 --- a/vendor/plugins/sqlite3-ruby/test/test_sqlite3.rb +++ /dev/null @@ -1,9 +0,0 @@ -require 'helper' - -module SQLite3 - class TestSQLite3 < Test::Unit::TestCase - def test_libversion - assert_not_nil SQLite3.libversion - end - end -end diff --git a/vendor/plugins/sqlite3-ruby/test/test_statement.rb b/vendor/plugins/sqlite3-ruby/test/test_statement.rb deleted file mode 100644 index fa1f3ffa..00000000 --- a/vendor/plugins/sqlite3-ruby/test/test_statement.rb +++ /dev/null @@ -1,207 +0,0 @@ -require 'helper' - -module SQLite3 - class TestStatement < Test::Unit::TestCase - def setup - @db = SQLite3::Database.new(':memory:') - @stmt = SQLite3::Statement.new(@db, "select 'foo'") - end - - ### - # This method may not exist depending on how sqlite3 was compiled - def test_database_name - @db.execute('create table foo(text BLOB)') - @db.execute('insert into foo(text) values (?)',SQLite3::Blob.new('hello')) - stmt = @db.prepare('select text from foo') - if stmt.respond_to?(:database_name) - assert_equal 'main', stmt.database_name(0) - end - end - - def test_prepare_blob - @db.execute('create table foo(text BLOB)') - stmt = @db.prepare('insert into foo(text) values (?)') - stmt.bind_param(1, SQLite3::Blob.new('hello')) - stmt.step - stmt.close - end - - def test_select_blob - @db.execute('create table foo(text BLOB)') - @db.execute('insert into foo(text) values (?)',SQLite3::Blob.new('hello')) - assert_equal 'hello', @db.execute('select * from foo').first.first - end - - def test_new - assert @stmt - end - - def test_new_closed_handle - @db = SQLite3::Database.new(':memory:') - @db.close - assert_raises(ArgumentError) do - SQLite3::Statement.new(@db, 'select "foo"') - end - end - - def test_new_with_remainder - stmt = SQLite3::Statement.new(@db, "select 'foo';bar") - assert_equal 'bar', stmt.remainder - end - - def test_empty_remainder - assert_equal '', @stmt.remainder - end - - def test_close - @stmt.close - assert @stmt.closed? - end - - def test_double_close - @stmt.close - assert_raises(SQLite3::Exception) do - @stmt.close - end - end - - def test_bind_param_string - stmt = SQLite3::Statement.new(@db, "select ?") - stmt.bind_param(1, "hello") - result = nil - stmt.each { |x| result = x } - assert_equal ['hello'], result - end - - def test_bind_param_int - stmt = SQLite3::Statement.new(@db, "select ?") - stmt.bind_param(1, 10) - result = nil - stmt.each { |x| result = x } - assert_equal [10], result - end - - def test_bind_nil - stmt = SQLite3::Statement.new(@db, "select ?") - stmt.bind_param(1, nil) - result = nil - stmt.each { |x| result = x } - assert_equal [nil], result - end - - def test_bind_blobs - end - - def test_bind_64 - stmt = SQLite3::Statement.new(@db, "select ?") - stmt.bind_param(1, 2 ** 31) - result = nil - stmt.each { |x| result = x } - assert_equal [2 ** 31], result - end - - def test_bind_double - stmt = SQLite3::Statement.new(@db, "select ?") - stmt.bind_param(1, 2.2) - result = nil - stmt.each { |x| result = x } - assert_equal [2.2], result - end - - def test_named_bind - stmt = SQLite3::Statement.new(@db, "select :foo") - stmt.bind_param(':foo', 'hello') - result = nil - stmt.each { |x| result = x } - assert_equal ['hello'], result - end - - def test_named_bind_no_colon - stmt = SQLite3::Statement.new(@db, "select :foo") - stmt.bind_param('foo', 'hello') - result = nil - stmt.each { |x| result = x } - assert_equal ['hello'], result - end - - def test_named_bind_symbol - stmt = SQLite3::Statement.new(@db, "select :foo") - stmt.bind_param(:foo, 'hello') - result = nil - stmt.each { |x| result = x } - assert_equal ['hello'], result - end - - def test_named_bind_not_found - stmt = SQLite3::Statement.new(@db, "select :foo") - assert_raises(SQLite3::Exception) do - stmt.bind_param('bar', 'hello') - end - end - - def test_each - r = nil - @stmt.each do |row| - r = row - end - assert_equal(['foo'], r) - end - - def test_reset! - r = [] - @stmt.each { |row| r << row } - @stmt.reset! - @stmt.each { |row| r << row } - assert_equal [['foo'], ['foo']], r - end - - def test_step - r = @stmt.step - assert_equal ['foo'], r - end - - def test_tainted - r = @stmt.step - assert r.first.tainted? - end - - def test_step_twice - assert_not_nil @stmt.step - assert !@stmt.done? - assert_nil @stmt.step - assert @stmt.done? - - @stmt.reset! - assert !@stmt.done? - end - - def test_step_never_moves_past_done - 10.times { @stmt.step } - @stmt.done? - end - - def test_column_count - assert_equal 1, @stmt.column_count - end - - def test_column_name - assert_equal "'foo'", @stmt.column_name(0) - assert_equal nil, @stmt.column_name(10) - end - - def test_bind_parameter_count - stmt = SQLite3::Statement.new(@db, "select ?, ?, ?") - assert_equal 3, stmt.bind_parameter_count - end - - def test_execute_with_varargs - stmt = @db.prepare('select ?, ?') - assert_equal [[nil, nil]], stmt.execute(nil, nil).to_a - end - - def test_execute_with_hash - stmt = @db.prepare('select :n, :h') - assert_equal [[10, nil]], stmt.execute('n' => 10, 'h' => nil).to_a - end - end -end diff --git a/vendor/plugins/sqlite3-ruby/test/test_statement_execute.rb b/vendor/plugins/sqlite3-ruby/test/test_statement_execute.rb deleted file mode 100644 index 68da36d6..00000000 --- a/vendor/plugins/sqlite3-ruby/test/test_statement_execute.rb +++ /dev/null @@ -1,35 +0,0 @@ -require 'helper' - -module SQLite3 - class TestStatementExecute < Test::Unit::TestCase - def setup - @db = SQLite3::Database.new(':memory:') - @db.execute_batch( - "CREATE TABLE items (id integer PRIMARY KEY, number integer)") - end - - def test_execute_insert - ps = @db.prepare("INSERT INTO items (number) VALUES (:n)") - ps.execute('n'=>10) - assert_equal 1, @db.get_first_value("SELECT count(*) FROM items") - ps.close - end - - def test_execute_update - @db.execute("INSERT INTO items (number) VALUES (?)", [10]) - - ps = @db.prepare("UPDATE items SET number = :new WHERE number = :old") - ps.execute('old'=>10, 'new'=>20) - assert_equal 20, @db.get_first_value("SELECT number FROM items") - ps.close - end - - def test_execute_delete - @db.execute("INSERT INTO items (number) VALUES (?)", [20]) - ps = @db.prepare("DELETE FROM items WHERE number = :n") - ps.execute('n' => 20) - assert_equal 0, @db.get_first_value("SELECT count(*) FROM items") - ps.close - end - end -end