Class: Fino::Pipe::Storage

Inherits:
Object
  • Object
show all
Includes:
Fino::Pipe
Defined in:
lib/fino/pipe/storage.rb

Instance Method Summary collapse

Constructor Details

#initialize(adapter, configuration) ⇒ Storage

Returns a new instance of Storage.



6
7
8
9
# File 'lib/fino/pipe/storage.rb', line 6

def initialize(adapter, configuration)
  @adapter = adapter
  @configuration = configuration
end

Instance Method Details

#read(setting_definition) ⇒ Object



11
12
13
# File 'lib/fino/pipe/storage.rb', line 11

def read(setting_definition)
  to_setting(setting_definition, adapter.read(setting_definition.key))
end

#read_multi(setting_definitions) ⇒ Object



15
16
17
18
19
# File 'lib/fino/pipe/storage.rb', line 15

def read_multi(setting_definitions)
  setting_definitions.zip(adapter.read_multi(setting_definitions.map(&:key))).map do |definition, raw_data|
    to_setting(definition, raw_data)
  end
end

#write(setting_definition, value, overrides, variants) ⇒ Object



21
22
23
24
25
# File 'lib/fino/pipe/storage.rb', line 21

def write(setting_definition, value, overrides, variants)
  adapter.write(setting_definition, value, overrides, variants).tap do
    configuration.after_write_block&.call(setting_definition, value, overrides, variants)
  end
end