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

Defined in:
lib/materialist/materializer/internals/dsl.rb

Instance Method Summary collapse

Instance Method Details

#after_destroy(*method_array) ⇒ Object



46
47
48
# File 'lib/materialist/materializer/internals/dsl.rb', line 46

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

#after_upsert(*method_array) ⇒ Object



42
43
44
# File 'lib/materialist/materializer/internals/dsl.rb', line 42

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

#before_destroy(*method_array) ⇒ Object



50
51
52
# File 'lib/materialist/materializer/internals/dsl.rb', line 50

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

#before_upsert(*method_array) ⇒ Object



38
39
40
# File 'lib/materialist/materializer/internals/dsl.rb', line 38

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

#capture(key, as: key) ⇒ Object



9
10
11
# File 'lib/materialist/materializer/internals/dsl.rb', line 9

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


13
14
15
# File 'lib/materialist/materializer/internals/dsl.rb', line 13

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


17
18
19
20
21
22
23
# File 'lib/materialist/materializer/internals/dsl.rb', line 17

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


5
6
7
# File 'lib/materialist/materializer/internals/dsl.rb', line 5

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

#persist_to(klass) ⇒ Object



25
26
27
# File 'lib/materialist/materializer/internals/dsl.rb', line 25

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

#sidekiq_options(options) ⇒ Object



29
30
31
# File 'lib/materialist/materializer/internals/dsl.rb', line 29

def sidekiq_options(options)
  __materialist_options[:sidekiq_options] = options
end

#source_key(key, &url_parser_block) ⇒ Object



33
34
35
36
# File 'lib/materialist/materializer/internals/dsl.rb', line 33

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