class Bundler::Dependency
Constants
- PLATFORM_MAP
Attributes
autorequire[R]
groups[R]
platforms[R]
Public Class Methods
new(name, version, options = {}, &blk)
click to toggle source
Calls superclass method
# File lib/bundler/dependency.rb, line 49 def initialize(name, version, options = {}, &blk) type = options["type"] || :runtime super(name, version, type) @autorequire = nil @groups = Array(options["group"] || :default).map { |g| g.to_sym } @source = options["source"] @platforms = Array(options["platforms"]) @env = options["env"] @should_include = options.fetch("should_include", true) if options.key?('require') @autorequire = Array(options['require'] || []) end end
Public Instance Methods
current_env?()
click to toggle source
# File lib/bundler/dependency.rb, line 81 def current_env? return true unless @env if @env.is_a?(Hash) @env.all? do |key, val| ENV[key.to_s] && (val.is_a?(String) ? ENV[key.to_s] == val : ENV[key.to_s] =~ val) end else ENV[@env.to_s] end end
current_platform?()
click to toggle source
# File lib/bundler/dependency.rb, line 92 def current_platform? return true if @platforms.empty? @platforms.any? { |p| Bundler.current_ruby.send("#{p}?") } end
gem_platforms(valid_platforms)
click to toggle source
# File lib/bundler/dependency.rb, line 65 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
should_include?()
click to toggle source
# File lib/bundler/dependency.rb, line 77 def should_include? @should_include && current_env? && current_platform? end
specific?()
click to toggle source
Calls superclass method
# File lib/bundler/dependency.rb, line 105 def specific? super rescue NoMethodError requirement != ">= 0" end
to_lock()
click to toggle source
Calls superclass method
# File lib/bundler/dependency.rb, line 99 def to_lock out = super out << '!' if source out << "\n" end