Sha256: cb874d1fd52ec56876d34f4aa92d0475a8264a20fa0dbc4a48c0abe818137fb1

Contents?: true

Size: 1.27 KB

Versions: 4

Compression:

Stored size: 1.27 KB

Contents

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

module SendGrid4r::REST
  module Settings
    #
    # SendGrid Web API v3 Settings - Partner
    #
    module Partner
      include Request

      Partner = Struct.new(:enabled, :license_key)

      def self.create_partner(resp)
        return resp if resp.nil?
        Partner.new(resp['enabled'], resp['license_key'])
      end

      def self.url(name = nil)
        url = "#{BASE_URL}/partner_settings"
        url = "#{url}/#{name}" unless name.nil?
        url
      end

      def get_partner_settings(limit: nil, offset: nil, &block)
        params = {}
        params[:limit] = limit unless limit.nil?
        params[:offset] = offset unless offset.nil?
        resp = get(@auth, Settings::Partner.url, params, &block)
        finish(resp, @raw_resp) { |r| Settings.create_results(r) }
      end

      def get_settings_new_relic(&block)
        resp = get(@auth, Settings::Partner.url(:new_relic), &block)
        finish(resp, @raw_resp) { |r| Settings::Partner.create_partner(r) }
      end

      def patch_settings_new_relic(params:, &block)
        endpoint = Settings::Partner.url(:new_relic)
        resp = patch(@auth, endpoint, params.to_h, &block)
        finish(resp, @raw_resp) { |r| Settings::Partner.create_partner(r) }
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
sendgrid4r-1.15.0 lib/sendgrid4r/rest/settings/partner.rb
sendgrid4r-1.14.0 lib/sendgrid4r/rest/settings/partner.rb
sendgrid4r-1.13.0 lib/sendgrid4r/rest/settings/partner.rb
sendgrid4r-1.12.0 lib/sendgrid4r/rest/settings/partner.rb