Class: ActsAsCalculator::ImportLookupTable

Inherits:
Object
  • Object
show all
Defined in:
lib/acts_as_calculator/import_lookup_table.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attributes:) ⇒ ImportLookupTable

Returns a new instance of ImportLookupTable.



9
10
11
12
13
14
# File 'lib/acts_as_calculator/import_lookup_table.rb', line 9

def initialize(attributes:)
  @attributes = attributes.transform_keys(&:to_s)
  @key = @attributes.fetch("key") { raise ImportError, "a lookup_tables entry has no key" }.to_s
  @scope = (@attributes["scope"] || DEFAULT_SCOPE).to_s
  @owner = ResolveImportOwner.(@attributes["owner"])
end

Class Method Details

.callObject



5
6
7
# File 'lib/acts_as_calculator/import_lookup_table.rb', line 5

def self.call(...)
  new(...).call
end

Instance Method Details

#callObject



16
17
18
19
20
21
22
23
# File 'lib/acts_as_calculator/import_lookup_table.rb', line 16

def call
  return create if existing.nil?
  return outcome(:skipped) if entries_unchanged?

  guard_against_rewriting_audited_brackets
  replace_entries
  outcome(:updated)
end