Class: Hat::Sideloading::RelationSideloader

Inherits:
Object
  • Object
show all
Defined in:
lib/hat/sideloading/relation_sideloader.rb

Instance Method Summary collapse

Constructor Details

#initialize(opts = {}) ⇒ RelationSideloader

Returns a new instance of RelationSideloader.



5
6
7
8
9
10
11
12
13
# File 'lib/hat/sideloading/relation_sideloader.rb', line 5

def initialize(opts = {})
  @serializable = opts[:serializable]
  @has_ones = opts[:has_ones]
  @has_manys = opts[:has_manys]
  @relation_includes = opts[:relation_includes]
  @result = opts[:result]
  @identity_map = opts[:identity_map]
  @type_key_resolver = opts[:type_key_resolver]
end

Instance Method Details

#as_jsonObject



20
21
22
23
24
25
# File 'lib/hat/sideloading/relation_sideloader.rb', line 20

def as_json
  identity_map.to_hash.inject({}) do |sideload_data, (key, type_map)|
    sideload_data[key] = type_map.values
    sideload_data
  end
end

#sideload_relationsObject



15
16
17
18
# File 'lib/hat/sideloading/relation_sideloader.rb', line 15

def sideload_relations
  sideload_has_ones
  sideload_has_manys
end