Module: Datagrid::Core::ClassMethods
- Defined in:
- lib/datagrid/core.rb
Overview
self.included
Instance Method Summary collapse
-
#datagrid_attribute(name, &block) ⇒ Object
:nodoc:.
-
#driver ⇒ Object
:nodoc:.
-
#scope(&block) ⇒ Object
Defines a scope at class level.
Instance Method Details
#datagrid_attribute(name, &block) ⇒ Object
:nodoc:
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/datagrid/core.rb', line 19 def datagrid_attribute(name, &block) #:nodoc: unless datagrid_attributes.include?(name) block ||= lambda do |value| value end datagrid_attributes << name define_method name do instance_variable_get("@#{name}") end define_method :"#{name}=" do |value| instance_variable_set("@#{name}", instance_exec(value, &block)) end end end |
#driver ⇒ Object
:nodoc:
45 46 47 |
# File 'lib/datagrid/core.rb', line 45 def driver #:nodoc: @driver ||= Drivers::AbstractDriver.guess_driver(scope).new end |
#scope(&block) ⇒ Object
Defines a scope at class level
36 37 38 39 40 41 42 43 |
# File 'lib/datagrid/core.rb', line 36 def scope(&block) if block self.scope_value = block else check_scope_defined! scope_value.call end end |