Class: SettingsJs::Merger

Inherits:
Object
  • Object
show all
Defined in:
lib/settings_js/merger.rb

Instance Method Summary collapse

Instance Method Details

#to_hashObject

Public: Get all values for keys defined in settings and merged it to a hash.

Examples

merger = SettingsJs::Merger.new
merger.to_hash
# => { key1: 'value', key2: { sub_key2: 'other value' }}

Returns Hash. Raises TypeError if keys defined in config is not a reduceable object (Array,…)



18
19
20
21
22
23
24
# File 'lib/settings_js/merger.rb', line 18

def to_hash
  unless config.keys.respond_to?(:reduce)
    raise TypeError.new('the configuration key "keys" must be reduceable')
  end

  config.keys.reduce({}) { |hash, base_key| hash.merge(backend.to_hash(base_key)) }
end

#to_jsonObject

Public: Get all values for keys defined in settings and merged it to a json.

Examples

merger = SettingsJs::Merger.new
merger.to_hash
# => { key1: 'value', key2: { sub_key2: 'other value' }}
merger.to_json
# => { 'key1': 'value', 'key2': { 'sub_key2': 'other value' }}

Returns Json.



37
38
39
# File 'lib/settings_js/merger.rb', line 37

def to_json
  to_hash.to_json
end