Module: DJC

Defined in:
lib/djc.rb

Defined Under Namespace

Classes: Builder, DSL, Mapper

Class Method Summary collapse

Class Method Details

.build(objects, &block) ⇒ Object



136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
# File 'lib/djc.rb', line 136

def self.build(objects, &block)
  parsed = [*objects].inject({}) do |memo, (key, val)|
    memo[key.sym] = if val.is_a?(String)
                      val = File.read(val) if File.exists?(val)
                      JSON.parse(val, max_nesting: false,
                                      symbolize_names: true,
                                      create_additions: false,
                                      object_class: Mobj::CircleHash,
                                      array_class: Mobj::CircleRay)
                    else
                      val
                    end
    memo
  end

  Builder.new(&block).build(parsed)
end