48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
# File 'lib/terrestrial/public_conveniencies.rb', line 48
def object_store(config:)
load_pipeline = Private.build_load_pipeline(
dirty_map: config.dirty_map,
identity_map: config.identity_map,
)
dump_pipeline = Private.build_dump_pipeline(
dirty_map: config.dirty_map,
datastore: config.datastore,
clock: config.clock,
)
mappings = config.mappings
mapping_names = mappings.keys
stores = Hash[mapping_names.map { |mapping_name|
[
mapping_name,
Private.relational_store(
name: mapping_name,
mappings: mappings ,
datastore: config.datastore,
identity_map: config.identity_map,
dirty_map: config.dirty_map,
load_pipeline: load_pipeline,
dump_pipeline: dump_pipeline,
)
]
}]
ObjectStore.new(stores)
end
|