Class: GemLoader::Context

Inherits:
Object
  • Object
show all
Defined in:
lib/gem_loader/context.rb,
lib/gem_loader/context/dsl.rb

Defined Under Namespace

Classes: Dsl

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeContext

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_requirementsObject

Returns the value of attribute gem_requirements.



8
9
10
# File 'lib/gem_loader/context.rb', line 8

def gem_requirements
  @gem_requirements
end

#scopesObject

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