Sha256: 58e8d7b772e910f849cc56475b3a57c96c9372c516790a0f0f726f0b8b814668

Contents?: true

Size: 537 Bytes

Versions: 2

Compression:

Stored size: 537 Bytes

Contents

module Moneybird
  class Webhook
    include Moneybird::Resource
    extend Moneybird::Resource::ClassMethods

    has_attributes %i(
      administration_id
      webhook_id
      webhook_token
      entity_type
      entity_id
      state
      action
      entity
    )

    def build_entity
      entity_resource_class.new(entity) if entity
    end

    def entity_resource_class
      Object.const_get "Moneybird::Resource::#{entity_type}"
    end

    def self.from_json(payload)
      build(JSON.parse(payload))
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
moneybird-0.10.2 lib/moneybird/webhook.rb
moneybird-0.10.1 lib/moneybird/webhook.rb