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

This method returns an undefined value.



28
29
30
31
32
33
34
35
36
# File 'lib/datamappify/data/provider/sequel.rb', line 28

def build_record_association(attribute, default_source_class)
  default_source_class.class_eval <<-CODE, __FILE__, __LINE__ + 1
    one_to_one :#{attribute.source_key}
  CODE

  attribute.source_class.class_eval <<-CODE, __FILE__, __LINE__ + 1
    many_to_one :#{default_source_class.table_name.to_s.singularize}
  CODE
end

.build_record_class(source_class_name) ⇒ Sequel::Model

Parameters:

  • source_class_name (String)

Returns:

  • (Sequel::Model)


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

def build_record_class(source_class_name)
  class_eval <<-CODE, __FILE__, __LINE__ + 1
    module Datamappify::Data::Record::Sequel
      class #{source_class_name} < ::Sequel::Model(:#{source_class_name.pluralize.gsub('::', '_').underscore})
        raise_on_save_failure = true
      end
    end
  CODE

  "Datamappify::Data::Record::Sequel::#{source_class_name}".constantize
end

.build_record_reversed_association(attribute, default_source_class) ⇒ void

This method returns an undefined value.



39
40
41
42
43
# File 'lib/datamappify/data/provider/sequel.rb', line 39

def build_record_reversed_association(attribute, default_source_class)
  default_source_class.class_eval <<-CODE, __FILE__, __LINE__ + 1
    many_to_one :#{attribute.source_key}
  CODE
end