module Outreach module Model private def to_ostruct(hash) o = OpenStruct.new(hash) hash.each.with_object(o) do |(k, v), o| o.send(:"#{k}=", to_ostruct(v)) if v.is_a? Hash end o end def nested_hash_value(attrs, keys) keys.reduce(attrs) { |m, k| m && m[k] } end end end