class ActiveGraph::LazyAttributeHash
Public Class Methods
new(values, attr_list)
click to toggle source
# File lib/active_graph/lazy_attribute_hash.rb 5 def initialize(values, attr_list) 6 @types = {} 7 @values = {} 8 @additional_types = {} 9 @materialized = false 10 @delegate_hash = values 11 12 @default_attributes = process_default_attributes(attr_list) 13 end
Private Instance Methods
assign_default_value(name)
click to toggle source
we are using with_cast_value here because at the moment casting is being managed by Neo4j and not in ActiveModel
# File lib/active_graph/lazy_attribute_hash.rb 34 def assign_default_value(name) 35 delegate_hash[name] = ActiveModel::Attribute.with_cast_value(name, default_attributes[name].dup, nil) 36 end
marshal_load(values)
click to toggle source
# File lib/active_graph/lazy_attribute_hash.rb 17 def marshal_load(values) 18 initialize(values[4], values[3]) 19 end
process_default_attributes(attr_list)
click to toggle source
# File lib/active_graph/lazy_attribute_hash.rb 21 def process_default_attributes(attr_list) 22 if attr_list.is_a?(Hash) 23 attr_list 24 else 25 # initialize default attributes map with nil values 26 attr_list.each_with_object({}) do |name, map| 27 map[name] = nil 28 end 29 end 30 end