Module: BazaModels::Model::Scopes::ClassMethods

Defined in:
lib/baza_models/model/scopes.rb

Instance Method Summary collapse

Instance Method Details

#scope(name, blk) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/baza_models/model/scopes.rb', line 7

def scope(name, blk)
  @scopes ||= {}
  name = name.to_sym

  raise "Such a scope already exists" if @scopes.key?(name)

  @scopes[name] = {blk: blk}

  (class << self; self; end).__send__(:define_method, name) do
    blk.call
  end
end