Module: Cohabit::Configuration::Scopes

Included in:
Cohabit::Configuration
Defined in:
lib/cohabit/configuration/scopes.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#scopesObject (readonly)

deez are our scopes for our configuration instance



16
17
18
# File 'lib/cohabit/configuration/scopes.rb', line 16

def scopes
  @scopes
end

Class Method Details

.included(base) ⇒ Object



5
6
7
8
# File 'lib/cohabit/configuration/scopes.rb', line 5

def self.included(base)
  base.send :alias_method, :initialize_without_scopes, :initialize
  base.send :alias_method, :initialize, :initialize_with_scopes
end

Instance Method Details

#apply_scopes!(context = self) ⇒ Object



24
25
26
# File 'lib/cohabit/configuration/scopes.rb', line 24

def apply_scopes!(context = self)
  @scopes.each{ |s| s.apply!(context) }
end

#initialize_with_scopes(*args) ⇒ Object



10
11
12
13
# File 'lib/cohabit/configuration/scopes.rb', line 10

def initialize_with_scopes(*args)
  initialize_without_scopes(*args)
  @scopes = []
end

#scope(*args, &block) ⇒ Object



18
19
20
21
22
# File 'lib/cohabit/configuration/scopes.rb', line 18

def scope(*args, &block)
  generate_settings_hash!(args)
  scope = Scope.new(*args, &block)
  add_scope(scope)
end