Module: Datamappify::Data::Provider::Sequel

Extended by:
CommonProvider
Defined in:
lib/datamappify/data/provider/sequel.rb

Class Method Summary collapse

Methods included from CommonProvider

build_criteria, extended

Class Method Details

.build_record_association(attribute, default_source_class) ⇒ void



24
25
26
27
28
29
30
31
32
# File 'lib/datamappify/data/provider/sequel.rb', line 24

def build_record_association(attribute, default_source_class)
  default_source_class.class_eval "    one_to_one :\#{attribute.source_key}\n  CODE\n\n  attribute.source_class.class_eval <<-CODE, __FILE__, __LINE__ + 1\n    many_to_one :\#{default_source_class.table_name.to_s.singularize}\n  CODE\nend\n", __FILE__, __LINE__ + 1

.build_record_class(source_class_name) ⇒ Sequel::Model



11
12
13
14
15
16
17
# File 'lib/datamappify/data/provider/sequel.rb', line 11

def build_record_class(source_class_name)
  Record::Sequel.const_set(
    source_class_name, Class.new(::Sequel::Model(source_class_name.pluralize.underscore.to_sym))
  ).tap do |klass|
    klass.raise_on_save_failure = true
  end
end

.build_record_reversed_association(attribute, default_source_class) ⇒ void



35
36
37
38
39
# File 'lib/datamappify/data/provider/sequel.rb', line 35

def build_record_reversed_association(attribute, default_source_class)
  default_source_class.class_eval "    many_to_one :\#{attribute.source_key}\n  CODE\nend\n", __FILE__, __LINE__ + 1