Sha256: 7849530b1566a7574ba9a1c765d4f3fcf55d5faf173cd9179eb36ab255ba0a5b
Contents?: true
Size: 1.2 KB
Versions: 4
Compression:
Stored size: 1.2 KB
Contents
module RailsConnector class ObjDataFromService < ObjData def initialize(data) @data = data end def value_and_type_of(attribute_name) value_and_type = @data[attribute_name] if value_and_type.blank? if INTERNAL_KEYS.include?(attribute_name) type = type_of_internal(attribute_name) [default_attribute_value(type), type] else raise RailsConnectorError.new("Illegal attribute name #{attribute_name}") end elsif value_and_type.length == 1 [value_and_type.first, type_of_internal(attribute_name)] else value_and_type end end def has_custom_attribute?(attribute_name) is_custom_attribute?(attribute_name) && !!@data[attribute_name] end private def is_custom_attribute?(attribute_name) !attribute_name.starts_with?('_') end internal_key_list = %w[ last_changed permalink sort_key1 sort_key2 sort_key3 sort_order sort_type1 sort_type2 sort_type3 suppress_export text_links valid_from valid_until ] INTERNAL_KEYS = Set.new(internal_key_list.map { |name| "_#{name}" } ) end end
Version data entries
4 entries across 4 versions & 1 rubygems