lib/klaviyo/resource.rb in parallel588-klaviyo-0.14.5 vs lib/klaviyo/resource.rb in parallel588-klaviyo-0.14.8

- old
+ new

@@ -19,11 +19,12 @@ class KlaviyoCollection include Enumerable attr_reader :meta, :items - def initialize(data) + def initialize(raw_data) + data = raw_data.is_a?(String) ? MultiJson.load(raw_data) : raw_data @items = data.delete('data').map { |attrs| Klaviyo::Resource.build(attrs) } @meta = data end def each(&blk) @@ -34,11 +35,11 @@ class Person < KlaviyoObject; end class List < KlaviyoObject; end class Folder < KlaviyoObject; end class Membership < KlaviyoObject; end - def self.build(attrs) - + def self.build(params) + attrs = params.is_a?(String) ? MultiJson.load(params) : params object = attrs.delete('object') case object.to_s when 'person' Person.new(attrs) when 'list'