Sha256: 0d12275675d60366bcb1fd452c06dccb7c6df59a0e955f28913dc26335bb640d

Contents?: true

Size: 985 Bytes

Versions: 2

Compression:

Stored size: 985 Bytes

Contents

# -*- encoding: utf-8 -*-

module SendGrid4r::REST
  #
  # SendGrid Web API v3 Webhooks
  #
  module Webhooks
    #
    # SendGrid Web API v3 Webhooks Parse
    #
    module Parse
      include Request

      ParseSettings = Struct.new(:result)
      ParseSetting = Struct.new(:url, :hostname, :spam_check_outgoing)

      def self.url
        "#{BASE_URL}/user/webhooks/parse/settings"
      end

      def self.create_parse_settings(resp)
        return resp if resp.nil?
        parse_settings = resp['result'].map do |setting|
          Parse.create_parse_setting(setting)
        end
        ParseSettings.new(parse_settings)
      end

      def self.create_parse_setting(resp)
        return resp if resp.nil?
        ParseSetting.new(
          resp['url'], resp['hostname'], resp['spam_check_outgoing']
        )
      end

      def get_parse_settings(&block)
        resp = get(@auth, Parse.url, &block)
        Parse.create_parse_settings(resp)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
sendgrid4r-1.11.0 lib/sendgrid4r/rest/webhooks/parse.rb
sendgrid4r-1.10.0 lib/sendgrid4r/rest/webhooks/parse.rb