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'