class ActiveCampaign::Webhooks::Request::BaseRecord

Base Record

Constants

PARSE_MAP

Attributes

attribute_map[RW]

Public Class Methods

attribute(name, classname = nil) click to toggle source
# File lib/active_campaign/webhooks/request/base_record.rb, line 19
def attribute name, classname = nil
  attr_accessor name
  self.attribute_map = {} if self.attribute_map.nil?
  self.attribute_map[name] = classname unless classname.nil?
end
new(hash = {}) click to toggle source
# File lib/active_campaign/webhooks/request/base_record.rb, line 28
def initialize(hash = {})
  hash.each do |k, v|
    unless self.class.attribute_map[k.to_sym].nil?
      class_name = self.class.attribute_map[k.to_sym]
      unless PARSE_MAP[class_name].nil?
        v = PARSE_MAP[class_name][v]
      else
        class_obj = ActiveCampaign::Webhooks::Request.const_get(class_name)
        v = class_obj.new(v.as_json)
      end
    end
    public_send("#{k}=", v) if respond_to? "#{k}=" 
  end
end

Public Instance Methods

slice(attributes = []) click to toggle source
# File lib/active_campaign/webhooks/request/base_record.rb, line 43
def slice attributes = []
  as_json.slice(*attributes.map(&:to_s))
end