class CampactUserService::Account

Attributes

client[R]
user_id[R]

Public Class Methods

new(client, user_id) click to toggle source
# File lib/campact_user_service/account.rb, line 5
def initialize(client, user_id)
  @client = client
  @user_id = user_id
end

Public Instance Methods

address() click to toggle source
# File lib/campact_user_service/account.rb, line 32
def address
  account['postaladdress']
end
allow_prefill?() click to toggle source
# File lib/campact_user_service/account.rb, line 19
def allow_prefill?
  prefill = account.dig('preferences', 'prefill_forms')
  prefill.to_s == 'allowed'
end
email() click to toggle source
# File lib/campact_user_service/account.rb, line 28
def email
  account.dig('emailaddress', 'emailaddress')
end
exists?() click to toggle source
# File lib/campact_user_service/account.rb, line 10
def exists?
  account && !account['external_id'].nil?
end
name() click to toggle source
# File lib/campact_user_service/account.rb, line 24
def name
  account['name']
end
preferences() click to toggle source
# File lib/campact_user_service/account.rb, line 36
def preferences
  account['preferences']
end
subscribed_to_newsletter?() click to toggle source
# File lib/campact_user_service/account.rb, line 14
def subscribed_to_newsletter?
  subscriptions = account.dig('emailaddress', 'subscriptions') || []
  subscriptions.any? {|s| s['type'] == 'newsletter' }
end

Private Instance Methods

account() click to toggle source
# File lib/campact_user_service/account.rb, line 42
def account
  escaped_user_id = CGI.escape(user_id)
  @account_info ||= (client.get_request("v1/accounts/#{escaped_user_id}") || {})
end