lib/settings_js/merger.rb in settings_js-0.1.1 vs lib/settings_js/merger.rb in settings_js-0.1.2

- old
+ new

@@ -2,17 +2,38 @@ require 'json' module SettingsJs class Merger + # Public: Get all values for keys defined in settins 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,...) 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 + # Public: Get all values for keys defined in settins 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. def to_json to_hash.to_json end private