Class: GemLoader::Context
- Inherits:
-
Object
- Object
- GemLoader::Context
- Defined in:
- lib/gem_loader/context.rb,
lib/gem_loader/context/dsl.rb
Defined Under Namespace
Classes: Dsl
Instance Attribute Summary collapse
-
#gem_requirements ⇒ Object
Returns the value of attribute gem_requirements.
-
#scopes ⇒ Object
Returns the value of attribute scopes.
Instance Method Summary collapse
- #dsl(&block) ⇒ Object
- #gem_requirement(name) ⇒ Object
-
#initialize ⇒ Context
constructor
A new instance of Context.
- #load(*args) ⇒ Object
- #require(*args) ⇒ Object
- #scope(name) ⇒ Object
- #setup(&block) ⇒ Object
Constructor Details
#initialize ⇒ Context
Returns a new instance of Context.
10 11 12 13 |
# File 'lib/gem_loader/context.rb', line 10 def initialize self.scopes = {} self.gem_requirements = {} end |
Instance Attribute Details
#gem_requirements ⇒ Object
Returns the value of attribute gem_requirements.
8 9 10 |
# File 'lib/gem_loader/context.rb', line 8 def gem_requirements @gem_requirements end |
#scopes ⇒ Object
Returns the value of attribute scopes.
8 9 10 |
# File 'lib/gem_loader/context.rb', line 8 def scopes @scopes end |
Instance Method Details
#dsl(&block) ⇒ Object
8 9 10 |
# File 'lib/gem_loader/context/dsl.rb', line 8 def dsl(&block) Dsl.new(self, &block) end |
#gem_requirement(name) ⇒ Object
19 20 21 |
# File 'lib/gem_loader/context.rb', line 19 def gem_requirement(name) self.gem_requirements[name] ||= GemRequirement.new(name) end |
#load(*args) ⇒ Object
24 25 26 27 28 29 |
# File 'lib/gem_loader/context.rb', line 24 def load(*args) scope_names = [ args ].flatten scope_names.each do |scope_name| self.scope(scope_name).load end end |
#require(*args) ⇒ Object
31 32 33 34 35 36 37 38 |
# File 'lib/gem_loader/context.rb', line 31 def require(*args) scope_names = [ args ].flatten self.load(scope_names) scope_names.each do |scope_name| self.scope(scope_name).require end end |
#scope(name) ⇒ Object
15 16 17 |
# File 'lib/gem_loader/context.rb', line 15 def scope(name) self.scopes[name] ||= Scope.new(self, name) end |
#setup(&block) ⇒ Object
4 5 6 |
# File 'lib/gem_loader/context/dsl.rb', line 4 def setup(&block) self.dsl(&block) end |