Class: Bundler::Dependency
Instance Method Summary
collapse
#encode_with
#default_force_ruby_platform
#matching_specs
Constructor Details
#initialize(name, version, options = {}, &blk) ⇒ Dependency
Returns a new instance of Dependency.
8
9
10
11
12
13
|
# File 'lib/bundler/dependency.rb', line 8
def initialize(name, version, options = {}, &blk)
type = options["type"] || :runtime
super(name, version, type)
@options = options
end
|
Instance Method Details
#autorequire ⇒ Object
87
88
89
90
91
|
# File 'lib/bundler/dependency.rb', line 87
def autorequire
return @autorequire if defined?(@autorequire)
@autorequire = Array(@options["require"] || []) if @options.key?("require")
end
|
#branch ⇒ Object
43
44
45
46
47
|
# File 'lib/bundler/dependency.rb', line 43
def branch
return @branch if defined?(@branch)
@branch = @options["branch"]
end
|
#current_env? ⇒ Boolean
121
122
123
124
125
126
127
128
129
130
|
# File 'lib/bundler/dependency.rb', line 121
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
|
132
133
134
135
136
137
|
# File 'lib/bundler/dependency.rb', line 132
def current_platform?
return true if platforms.empty?
platforms.any? do |p|
Bundler.current_ruby.send("#{p}?")
end
end
|
#env ⇒ Object
65
66
67
68
69
|
# File 'lib/bundler/dependency.rb', line 65
def env
return @env if defined?(@env)
@env = @options["env"]
end
|
105
106
107
|
# File 'lib/bundler/dependency.rb', line 105
def expanded_platforms
@expanded_platforms ||= platforms.filter_map {|pl| CurrentRuby::PLATFORM_MAP[pl] }.flatten.uniq
end
|
81
82
83
84
85
|
# File 'lib/bundler/dependency.rb', line 81
def force_ruby_platform
return @force_ruby_platform if defined?(@force_ruby_platform)
@force_ruby_platform = @options["force_ruby_platform"]
end
|
Returns the platforms this dependency is valid for, in the same order as passed in the ‘valid_platforms` parameter
98
99
100
101
102
103
|
# File 'lib/bundler/dependency.rb', line 98
def gem_platforms(valid_platforms)
return RUBY_PLATFORM_ARRAY if force_ruby_platform
return valid_platforms if platforms.empty?
valid_platforms.select {|p| expanded_platforms.include?(GemHelpers.generic(p)) }
end
|
#gemfile ⇒ Object
75
76
77
78
79
|
# File 'lib/bundler/dependency.rb', line 75
def gemfile
return @gemfile if defined?(@gemfile)
@gemfile = @options["gemfile"]
end
|
#gemfile_dep? ⇒ Boolean
117
118
119
|
# File 'lib/bundler/dependency.rb', line 117
def gemfile_dep?
!gemspec_dev_dep?
end
|
#gemspec_dev_dep? ⇒ Boolean
113
114
115
|
# File 'lib/bundler/dependency.rb', line 113
def gemspec_dev_dep?
@gemspec_dev_dep ||= @options.fetch("gemspec_dev_dep", false)
end
|
#git ⇒ Object
31
32
33
34
35
|
# File 'lib/bundler/dependency.rb', line 31
def git
return @git if defined?(@git)
@git = @options["git"]
end
|
#github ⇒ Object
37
38
39
40
41
|
# File 'lib/bundler/dependency.rb', line 37
def github
return @github if defined?(@github)
@github = @options["github"]
end
|
#glob ⇒ Object
55
56
57
58
59
|
# File 'lib/bundler/dependency.rb', line 55
def glob
return @glob if defined?(@glob)
@glob = @options["glob"]
end
|
#groups ⇒ Object
15
16
17
|
# File 'lib/bundler/dependency.rb', line 15
def groups
@groups ||= Array(@options["group"] || :default).map(&:to_sym)
end
|
#path ⇒ Object
25
26
27
28
29
|
# File 'lib/bundler/dependency.rb', line 25
def path
return @path if defined?(@path)
@path = @options["path"]
end
|
61
62
63
|
# File 'lib/bundler/dependency.rb', line 61
def platforms
@platforms ||= Array(@options["platforms"])
end
|
#ref ⇒ Object
49
50
51
52
53
|
# File 'lib/bundler/dependency.rb', line 49
def ref
return @ref if defined?(@ref)
@ref = @options["ref"]
end
|
#should_include ⇒ Object
71
72
73
|
# File 'lib/bundler/dependency.rb', line 71
def should_include
@should_include ||= @options.fetch("should_include", true)
end
|
#should_include? ⇒ Boolean
109
110
111
|
# File 'lib/bundler/dependency.rb', line 109
def should_include?
should_include && current_env? && current_platform?
end
|
#source ⇒ Object
19
20
21
22
23
|
# File 'lib/bundler/dependency.rb', line 19
def source
return @source if defined?(@source)
@source = @options["source"]
end
|
#specific? ⇒ Boolean
145
146
147
148
149
|
# File 'lib/bundler/dependency.rb', line 145
def specific?
super
rescue NoMethodError
requirement != ">= 0"
end
|
#to_lock ⇒ Object
139
140
141
142
143
|
# File 'lib/bundler/dependency.rb', line 139
def to_lock
out = super
out << "!" if source
out
end
|