Sha256: b90bc832e26fff5368cab1fee01ff803b687f278cb66688b3c4c8ca624de4fdd

Contents?: true

Size: 705 Bytes

Versions: 13

Compression:

Stored size: 705 Bytes

Contents

module SendGrid
  class TrackingSettingsDto
    attr_reader :open, :click, :google_analytics, :subscription
    alias click_tracking click
    alias open_tracking open
    alias subscription_tracking subscription

    def self.fetch(sendgrid_client:, name:, query_params:)
      name = scrub_alias_names(name.to_s)
      sendgrid_client.tracking_settings.public_send(name).get(query_params: query_params)
    end

    def self.update(sendgrid_client:, name:, request_body:)
      name = scrub_alias_names(name.to_s)
      sendgrid_client.tracking_settings.public_send(name).patch(request_body: request_body)
    end

    def self.scrub_alias_names(name)
      name.gsub(/_tracking/, '')
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
sendgrid-ruby-6.7.0 lib/sendgrid/helpers/settings/tracking_settings_dto.rb
sendgrid-ruby-6.6.2 lib/sendgrid/helpers/settings/tracking_settings_dto.rb
sendgrid-ruby-6.6.1 lib/sendgrid/helpers/settings/tracking_settings_dto.rb
sendgrid-ruby-6.6.0 lib/sendgrid/helpers/settings/tracking_settings_dto.rb
sendgrid-ruby-6.5.2 lib/sendgrid/helpers/settings/tracking_settings_dto.rb
sendgrid-ruby-6.5.1 lib/sendgrid/helpers/settings/tracking_settings_dto.rb
sendgrid-ruby-6.5.0 lib/sendgrid/helpers/settings/tracking_settings_dto.rb
sendgrid-ruby-6.4.0 lib/sendgrid/helpers/settings/tracking_settings_dto.rb
sendgrid-ruby-6.3.9 lib/sendgrid/helpers/settings/tracking_settings_dto.rb
sendgrid-ruby-6.3.8 lib/sendgrid/helpers/settings/tracking_settings_dto.rb
sendgrid-ruby-6.3.7 lib/sendgrid/helpers/settings/tracking_settings_dto.rb
sendgrid-ruby-6.3.6 lib/sendgrid/helpers/settings/tracking_settings_dto.rb
sendgrid-ruby-6.3.5 lib/sendgrid/helpers/settings/tracking_settings_dto.rb