module WCC::Contentful::Event
Public Class Methods
from_raw(raw, context = nil)
click to toggle source
Creates an Event
out of a raw value received by a webhook or given from the Contentful
Sync API.
# File lib/wcc/contentful/event.rb, line 10 def self.from_raw(raw, context = nil) const = Registry.instance.get(raw.dig('sys', 'type')) const.new(raw, context) end
new(raw, context = nil, source: nil)
click to toggle source
# File lib/wcc/contentful/event.rb, line 38 def initialize(raw, context = nil, source: nil) @raw = raw.freeze @source = source created_at = raw.dig('sys', 'createdAt') created_at = Time.parse(created_at) if created_at.present? updated_at = raw.dig('sys', 'updatedAt') updated_at = Time.parse(updated_at) if updated_at.present? @sys = WCC::Contentful::Sys.new( raw.dig('sys', 'id'), raw.dig('sys', 'type'), raw.dig('sys', 'locale') || context.try(:[], :locale) || 'en-US', raw.dig('sys', 'space', 'sys', 'id'), created_at, updated_at, raw.dig('sys', 'revision'), OpenStruct.new(context).freeze ) end