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