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.



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 <<-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
# 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

This method returns an undefined value.



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 <<-CODE, __FILE__, __LINE__ + 1
    many_to_one :#{attribute.source_key}
  CODE
end