Class: GemLoader::Gem
- Inherits:
-
Object
- Object
- GemLoader::Gem
- Defined in:
- lib/gem_loader/gem.rb,
lib/gem_loader/gem/dsl.rb
Defined Under Namespace
Classes: Dsl
Instance Attribute Summary collapse
-
#gem_requirement ⇒ Object
Returns the value of attribute gem_requirement.
-
#name ⇒ Object
Returns the value of attribute name.
-
#options ⇒ Object
Returns the value of attribute options.
-
#version_requirement ⇒ Object
Returns the value of attribute version_requirement.
Instance Method Summary collapse
- #dsl(&block) ⇒ Object
- #gem_args ⇒ Object
-
#initialize(name, gem_requirement, *args) ⇒ Gem
constructor
A new instance of Gem.
- #load ⇒ Object
- #parse_args(*args) ⇒ Object
- #require ⇒ Object
- #version_requirements ⇒ Object
Constructor Details
#initialize(name, gem_requirement, *args) ⇒ Gem
Returns a new instance of Gem.
7 8 9 10 11 12 13 |
# File 'lib/gem_loader/gem.rb', line 7 def initialize(name, gem_requirement, *args) self.name = name.to_s self.gem_requirement = gem_requirement self. = {} self.parse_args(*args) end |
Instance Attribute Details
#gem_requirement ⇒ Object
Returns the value of attribute gem_requirement.
5 6 7 |
# File 'lib/gem_loader/gem.rb', line 5 def gem_requirement @gem_requirement end |
#name ⇒ Object
Returns the value of attribute name.
5 6 7 |
# File 'lib/gem_loader/gem.rb', line 5 def name @name end |
#options ⇒ Object
Returns the value of attribute options.
5 6 7 |
# File 'lib/gem_loader/gem.rb', line 5 def @options end |
#version_requirement ⇒ Object
Returns the value of attribute version_requirement.
5 6 7 |
# File 'lib/gem_loader/gem.rb', line 5 def version_requirement @version_requirement end |
Instance Method Details
#dsl(&block) ⇒ Object
4 5 6 |
# File 'lib/gem_loader/gem/dsl.rb', line 4 def dsl(&block) Dsl.new(self, &block) end |
#gem_args ⇒ Object
26 27 28 |
# File 'lib/gem_loader/gem.rb', line 26 def gem_args [self.name, self.version_requirements ].compact.flatten end |
#load ⇒ Object
30 31 32 |
# File 'lib/gem_loader/gem.rb', line 30 def load Kernel.send :gem, *gem_args end |
#parse_args(*args) ⇒ Object
15 16 17 18 19 20 |
# File 'lib/gem_loader/gem.rb', line 15 def parse_args(*args) self. = args.pop if args.last.is_a?(Hash) self.version_requirement = args.first self.gem_requirement.add_version_requirement(version_requirement) self end |
#require ⇒ Object
34 35 36 37 38 39 40 41 42 |
# File 'lib/gem_loader/gem.rb', line 34 def require if self..include?(:require) [ self.[:require] ].flatten.compact.each do |lib| Kernel.send :require, lib.to_s end else Kernel.send :require, self.name end end |
#version_requirements ⇒ Object
22 23 24 |
# File 'lib/gem_loader/gem.rb', line 22 def version_requirements self.gem_requirement.version_requirements end |