Sha256: 775b9c977e613b46e9cb23ce95efb751ffca28fa3ae029e172f0c3aa8bcc0b2e

Contents?: true

Size: 1.4 KB

Versions: 43

Compression:

Stored size: 1.4 KB

Contents

# frozen_string_literal: true

module Files
  class EmailPreference
    attr_reader :options, :attributes

    def initialize(attributes = {}, options = {})
      @attributes = attributes || {}
      @options = options || {}
    end

    # email - Email address
    def email
      @attributes[:email]
    end

    # array - A list of notifications
    def notifications
      @attributes[:notifications]
    end

    # boolean - Receive admin alerts?
    def receive_admin_alerts
      @attributes[:receive_admin_alerts]
    end

    # Parameters:
    #   token (required) - string - Email preferences token.
    #   user[receive_admin_alerts] - boolean
    #   user[unsubscribed] - boolean
    #   user[notifications][id] (required) - array
    #   user[notifications][group] - array
    #   user[notifications][send_interval] - array
    #   user[notifications][unsubscribe] - array
    #   user[unsubscribe] - string
    def self.update(token, params = {}, options = {})
      params ||= {}
      params[:token] = token
      raise InvalidParameterError.new("Bad parameter: token must be an String") if params.dig(:token) and !params.dig(:token).is_a?(String)
      raise MissingParameterError.new("Parameter missing: token") unless params.dig(:token)

      response, options = Api.send_request("/email_preferences/#{params[:token]}", :patch, params, options)
      EmailPreference.new(response.data, options)
    end
  end
end

Version data entries

43 entries across 43 versions & 1 rubygems

Version Path
files.com-1.0.49 lib/files.com/models/email_preference.rb
files.com-1.0.48 lib/files.com/models/email_preference.rb
files.com-1.0.47 lib/files.com/models/email_preference.rb
files.com-1.0.46 lib/files.com/models/email_preference.rb
files.com-1.0.45 lib/files.com/models/email_preference.rb
files.com-1.0.44 lib/files.com/models/email_preference.rb
files.com-1.0.43 lib/files.com/models/email_preference.rb
files.com-1.0.42 lib/files.com/models/email_preference.rb
files.com-1.0.41 lib/files.com/models/email_preference.rb
files.com-1.0.40 lib/files.com/models/email_preference.rb
files.com-1.0.39 lib/files.com/models/email_preference.rb
files.com-1.0.38 lib/files.com/models/email_preference.rb
files.com-1.0.37 lib/files.com/models/email_preference.rb
files.com-1.0.36 lib/files.com/models/email_preference.rb
files.com-1.0.35 lib/files.com/models/email_preference.rb
files.com-1.0.34 lib/files.com/models/email_preference.rb
files.com-1.0.33 lib/files.com/models/email_preference.rb
files.com-1.0.32 lib/files.com/models/email_preference.rb
files.com-1.0.31 lib/files.com/models/email_preference.rb
files.com-1.0.30 lib/files.com/models/email_preference.rb