class XporterOnDemand::Token

Public Class Methods

new(*args) click to toggle source
# File lib/xporter_on_demand/token.rb, line 3
def initialize(*args)
  @loaded = false
  @options = args.last.is_a?(Hash) ? args.pop : {}
  @options[:url] ||= STS_PATH

  @request_body = {}
  %w(estab relyingParty password thirdpartyid).each_with_index{ |k, i| @request_body[k] = args[i] }

  @request_body["thirdpartyid"] ||= "XporterOnDemand"
  raise ArgumentError, "must supply all the sniz" unless @request_body.none?{ |k, v| v.nil? }
end

Public Instance Methods

retrieve() click to toggle source
# File lib/xporter_on_demand/token.rb, line 15
def retrieve
  result = post(@options.merge(body: @request_body.to_json))
  assign_attributes(result)
  @loaded =  true
  self
end
validate() click to toggle source
# File lib/xporter_on_demand/token.rb, line 22
def validate
  dont_raise_exception{ retrieve }

  if token
    :valid
  elsif try(:authorisation_paused)
    :paused
  else
    :invalid
  end
end