class V2Intuity::Users::User

Attributes

applications[RW]
country_code[RW]
devices[RW]
time_zone[RW]
uid[RW]
validic_token[RW]

Public Class Methods

new(options = {}) click to toggle source
# File lib/v2_intuity/users/user.rb, line 7
def initialize(options = {})
  @validic_token = options.fetch(:validic_token, nil)
  @uid = options.fetch(:uid, nil)
  @time_zone = options.fetch(:location, nil)
  @country_code = options.fetch(:country_code, nil)
end

Public Instance Methods

get_marketplace(client, format_redirect = 'json', redirect_uri = V2Intuity::Endpoints::Marketplace::REDIRECT_URI) click to toggle source

method finds the marketplace connected and disconnected json response

# File lib/v2_intuity/users/user.rb, line 30
def get_marketplace(client, format_redirect = 'json', redirect_uri = V2Intuity::Endpoints::Marketplace::REDIRECT_URI) # marketplace user defined token
  raise 'validic token is required' unless validic_token

  endpoint, options = build_options_marketplace(validic_token, format_redirect, redirect_uri)

  client.build_and_send_request(endpoint, options)
end
refresh_marketplace(client) click to toggle source

method refreshes marketplace user token.

# File lib/v2_intuity/users/user.rb, line 20
def refresh_marketplace(client)
  raise 'uid is required' unless uid

  options = { method: V2Intuity::Request::METHODS[:post], id: uid }
  endpoint = V2Intuity::Endpoints::Marketplace.new

  client.build_and_send_request(endpoint, options)
end
send_request(method, client) click to toggle source
# File lib/v2_intuity/users/user.rb, line 14
def send_request(method, client)
  endpoint, options = build_options(method)
  client.build_and_send_request(endpoint, options)
end

Private Instance Methods

build_options(method, query_filters = []) click to toggle source
# File lib/v2_intuity/users/user.rb, line 53
def build_options(method, query_filters = [])
  raise 'uid is required' unless uid

  case method
  when V2Intuity::Request::METHODS[:delete], V2Intuity::Request::METHODS[:get]
    options = { method: method, id: uid }
  when V2Intuity::Request::METHODS[:post]
    body = { uid: uid, location: { timezone: time_zone, country_code: country_code }.compact }
    options = { method: method, body: body.compact }
  when V2Intuity::Request::METHODS[:put]
    body = { location: { timezone: time_zone, country_code: country_code }.compact }
    options = { method: method, body: body.compact, id: uid }
  else
    raise 'incorrect method verb'
  end
  options[:query_filters] = query_filters unless query_filters.to_s.nil?

  [V2Intuity::Endpoints::User.new, options] 
end
build_options_marketplace(token, format_redirect, redirect_uri) click to toggle source
# File lib/v2_intuity/users/user.rb, line 40
def build_options_marketplace(token, format_redirect, redirect_uri) # marketplace user defined token
  query_filters = []
  query_filters << V2Intuity::QueryFilters::AccessToken.new(value: token)
  query_filters << V2Intuity::QueryFilters::FormatRedirect.new(value: format_redirect)

  options = { query_filters: query_filters, method: V2Intuity::Request::METHODS[:get] }
  endpoint = V2Intuity::Endpoints::Marketplace.new
  endpoint.define_redirect_uri(redirect_uri) ## overrides client's base_uri

  [endpoint, options]
end