class Bundler::Dependency
Constants
- PLATFORM_MAP
 
Attributes
              autorequire[R]
            
            
              branch[R]
            
            
              gemfile[R]
            
            
              git[R]
            
            
              groups[R]
            
            
              platforms[R]
            
            Public Class Methods
                              new(name, version, options = {}, &blk)
                              click to toggle source
                            
                            
                                  Calls superclass method
                                  
                              
                              # File bundler/dependency.rb, line 77 def initialize(name, version, options = {}, &blk) type = options["type"] || :runtime super(name, version, type) @autorequire = nil @groups = Array(options["group"] || :default).map(&:to_sym) @source = options["source"] @git = options["git"] @branch = options["branch"] @platforms = Array(options["platforms"]) @env = options["env"] @should_include = options.fetch("should_include", true) @gemfile = options["gemfile"] @autorequire = Array(options["require"] || []) if options.key?("require") end
Public Instance Methods
                              current_env?()
                              click to toggle source
                            
                            # File bundler/dependency.rb, line 114 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 bundler/dependency.rb, line 125 def current_platform? return true if @platforms.empty? @platforms.any? do |p| Bundler.current_ruby.send("#{p}?") end end
                              expanded_platforms()
                              click to toggle source
                            
                            # File bundler/dependency.rb, line 106 def expanded_platforms @platforms.map {|pl| PLATFORM_MAP[pl] } end
                              gem_platforms(valid_platforms)
                              click to toggle source
                            
                            Returns the platforms this dependency is valid for, in the same order as passed in the ‘valid_platforms` parameter
# File bundler/dependency.rb, line 96 def gem_platforms(valid_platforms) return valid_platforms if @platforms.empty? valid_generic_platforms = valid_platforms.map {|p| [p, GemHelpers.generic(p)] }.to_h @gem_platforms ||= expanded_platforms.compact.uniq filtered_generic_platforms = valid_generic_platforms.values & @gem_platforms valid_generic_platforms.select {|_, v| filtered_generic_platforms.include?(v) }.keys end
                              should_include?()
                              click to toggle source
                            
                            # File bundler/dependency.rb, line 110 def should_include? @should_include && current_env? && current_platform? end
                              specific?()
                              click to toggle source
                            
                            
                                  Calls superclass method
                                  
                              
                              # File bundler/dependency.rb, line 138 def specific? super rescue NoMethodError requirement != ">= 0" end
                              to_lock()
                              click to toggle source
                            
                            
                                  Calls superclass method
                                  
                              Gem::Dependency#to_lock
                              # File bundler/dependency.rb, line 132 def to_lock out = super out << "!" if source out << "\n" end