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



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

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

#after_upsert(*method_array) ⇒ Object



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

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

#before_destroy(*method_array) ⇒ Object



54
55
56
# File 'lib/materialist/materializer/internals/dsl.rb', line 54

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

#before_upsert(*method_array) ⇒ Object



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

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
16
17
18
19
# File 'lib/materialist/materializer/internals/dsl.rb', line 13

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


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

def link(key, enable_caching: false)
  link_mapping = LinkMapping.new(key: key, enable_caching: enable_caching)
  __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



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

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

#sidekiq_options(options) ⇒ Object



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

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

#source_key(key, &url_parser_block) ⇒ Object



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

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