class Wedge::Plugins::Factory
Public Class Methods
new()
click to toggle source
# File lib/wedge/plugins/factory.rb, line 6 def initialize class_store[:stubs] ||= IndifferentHash.new end
Public Instance Methods
[](name, data = {})
click to toggle source
# File lib/wedge/plugins/factory.rb, line 14 def [] name, data = {} data = IndifferentHash.new(data) store_data = IndifferentHash.new class_store[:stubs][name].deep_dup HashObject.new store_data.merge data end
stub(data, name, keys = false)
click to toggle source
# File lib/wedge/plugins/factory.rb, line 10 def stub data, name, keys = false class_store[:stubs][name] = parse data, keys end
Private Instance Methods
parse(data, keys = false)
click to toggle source
# File lib/wedge/plugins/factory.rb, line 22 def parse data, keys = false data = data.deep_dup parsed_data = data.to_h if data.respond_to? :to_h parsed_data = JSON.parse data.to_json keys.each do |k, v| d = data.kind_of?(Hash) ? data[k] : data.send(k) parsed_data[k] = parse d, v end if keys parsed_data end