Class: Gemist::Gem
- Inherits:
-
Object
- Object
- Gemist::Gem
- Defined in:
- lib/gemist.rb
Overview
A Gem in the gemfile.
Instance Attribute Summary collapse
-
#error ⇒ Object
readonly
Returns the value of attribute error.
-
#group ⇒ Object
Returns the value of attribute group.
-
#name ⇒ Object
Returns the value of attribute name.
-
#require ⇒ Object
Returns the value of attribute require.
-
#versions ⇒ Object
Returns the value of attribute versions.
Instance Method Summary collapse
-
#initialize(options = {}) ⇒ Gem
constructor
A new instance of Gem.
-
#load! ⇒ Object
Activates the gem; returns
falseif it’s not available. -
#require! ⇒ Object
Loads the gem via
require. -
#to_command ⇒ Object
Returns the gem install paramaters needed to install the gem.
- #update(options = {}) ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ Gem
Returns a new instance of Gem.
175 176 177 |
# File 'lib/gemist.rb', line 175 def initialize(={}) update end |
Instance Attribute Details
#error ⇒ Object (readonly)
Returns the value of attribute error.
173 174 175 |
# File 'lib/gemist.rb', line 173 def error @error end |
#group ⇒ Object
Returns the value of attribute group.
172 173 174 |
# File 'lib/gemist.rb', line 172 def group @group end |
#name ⇒ Object
Returns the value of attribute name.
169 170 171 |
# File 'lib/gemist.rb', line 169 def name @name end |
#require ⇒ Object
Returns the value of attribute require.
171 172 173 |
# File 'lib/gemist.rb', line 171 def require @require end |
#versions ⇒ Object
Returns the value of attribute versions.
170 171 172 |
# File 'lib/gemist.rb', line 170 def versions @versions end |
Instance Method Details
#load! ⇒ Object
Activates the gem; returns false if it’s not available.
188 189 190 191 192 193 194 |
# File 'lib/gemist.rb', line 188 def load! ::Gem.activate name, *versions true rescue ::Gem::LoadError => e @error = e false end |
#require! ⇒ Object
Loads the gem via require. Make sure you load! it first. Returns true if loaded.
198 199 200 |
# File 'lib/gemist.rb', line 198 def require! [*require].each { |r| Kernel.require r if r } end |
#to_command ⇒ Object
Returns the gem install paramaters needed to install the gem.
203 204 205 206 207 208 209 |
# File 'lib/gemist.rb', line 203 def to_command if error [error.name, *version_join(error.requirement.to_s.split(', '))].join(' ') if error.name else [name, version_join(versions)].compact.join ' ' end end |
#update(options = {}) ⇒ Object
179 180 181 182 183 184 185 |
# File 'lib/gemist.rb', line 179 def update(={}) self.name = [:name] unless [:name].nil? self.versions = [:version] unless [:version].nil? self.group = [:group] unless [:group].nil? self.require = [:require] unless [:require].nil? self.require = self.name if self.require.nil? end |