18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
# File 'lib/ree_lib/packages/ree_dao/package/ree_dao/dsl.rb', line 18
def build
dataset_class = db.dataset_class
klass = self.class.const_set(:Dao, Class.new(dataset_class))
filters = self.class.instance_variable_get(:@filters) || []
filters.each do |filter|
klass.define_method(filter.name, &filter.proc)
end
db.dataset_class = klass
dao = build_dao(
connection: db,
table_name: self.class.instance_variable_get(:@table),
mapper: get_schema_mapper,
primary_key: self.class.instance_variable_get(:@primary_key),
default_select_columns: self.class.instance_variable_get(:@default_select_columns),
)
db.dataset_class = dataset_class
dao
end
|