module Fortnox::API::Mapper::ToJSON::ClassMethods
Public Instance Methods
call(entity, keys_to_filter = {})
click to toggle source
# File lib/fortnox/api/mappers/base/to_json.rb, line 18 def call(entity, keys_to_filter = {}) entity_hash = entity.to_hash clean_entity_hash = sanitise(entity_hash, keys_to_filter) clean_entity_hash = convert_hash_keys_to_json_format(clean_entity_hash) Registry[:hash].call(clean_entity_hash) end
convert_hash_keys_to_json_format(hash)
click to toggle source
PRIVATE
# File lib/fortnox/api/mappers/base/to_json.rb, line 27 def convert_hash_keys_to_json_format(hash) hash.each_with_object({}) do |(key, value), json_hash| json_hash[convert_key_to_json(key)] = value end end
convert_key_to_json(key)
click to toggle source
# File lib/fortnox/api/mappers/base/to_json.rb, line 33 def convert_key_to_json(key) self::KEY_MAP.fetch(key) { default_key_to_json_transform(key) } end
default_key_to_json_transform(key)
click to toggle source
# File lib/fortnox/api/mappers/base/to_json.rb, line 37 def default_key_to_json_transform(key) key.to_s.split('_').map(&:capitalize).join('') end
sanitise(hash, keys_to_filter)
click to toggle source
# File lib/fortnox/api/mappers/base/to_json.rb, line 41 def sanitise(hash, keys_to_filter) hash.reject do |key, value| next false if keys_to_filter.include?(key) value.nil? end end