Module: Materialist::Materializer::Internals::DSL

Defined in:
lib/materialist/materializer.rb

Instance Method Summary collapse

Instance Method Details

#after_destroy(*method_array) ⇒ Object



96
97
98
# File 'lib/materialist/materializer.rb', line 96

def after_destroy(*method_array)
  __materialist_options[:after_destroy] = method_array
end

#after_upsert(*method_array) ⇒ Object



92
93
94
# File 'lib/materialist/materializer.rb', line 92

def after_upsert(*method_array)
  __materialist_options[:after_upsert] = method_array
end

#before_destroy(*method_array) ⇒ Object



100
101
102
# File 'lib/materialist/materializer.rb', line 100

def before_destroy(*method_array)
  __materialist_options[:before_destroy] = method_array
end

#before_upsert(*method_array) ⇒ Object



88
89
90
# File 'lib/materialist/materializer.rb', line 88

def before_upsert(*method_array)
  __materialist_options[:before_upsert] = method_array
end

#capture(key, as: key) ⇒ Object



63
64
65
# File 'lib/materialist/materializer.rb', line 63

def capture(key, as: key)
  __materialist_dsl_mapping_stack.last << FieldMapping.new(key: key, as: as)
end


67
68
69
# File 'lib/materialist/materializer.rb', line 67

def capture_link_href(key, as:)
  __materialist_dsl_mapping_stack.last << LinkHrefMapping.new(key: key, as: as)
end


71
72
73
74
75
76
77
# File 'lib/materialist/materializer.rb', line 71

def link(key)
  link_mapping = LinkMapping.new(key: key)
  __materialist_dsl_mapping_stack.last << link_mapping
  __materialist_dsl_mapping_stack << link_mapping.mapping
  yield
  __materialist_dsl_mapping_stack.pop
end


59
60
61
# File 'lib/materialist/materializer.rb', line 59

def materialize_link(key, topic: key)
  __materialist_options[:links_to_materialize][key] = { topic: topic }
end

#persist_to(klass) ⇒ Object



79
80
81
# File 'lib/materialist/materializer.rb', line 79

def persist_to(klass)
  __materialist_options[:model_class] = klass
end

#source_key(key, &url_parser_block) ⇒ Object



83
84
85
86
# File 'lib/materialist/materializer.rb', line 83

def source_key(key, &url_parser_block)
  __materialist_options[:source_key] = key
  __materialist_options[:url_parser] = url_parser_block
end