class AcademicBenchmarks::Api::Handle

Attributes

partner_id[RW]
partner_key[RW]
user_id[R]

Public Class Methods

init_from_env() click to toggle source

Allows the user to initialize from environment variables

# File lib/academic_benchmarks/api/handle.rb, line 16
def self.init_from_env
  partner_id  = partner_id_from_env
  partner_key = partner_key_from_env

  if !partner_id.present? || !partner_key.present?
    pidstr = !partner_id.present? ?
      AcademicBenchmarks::Api::Constants.partner_id_env_var : ""
    pkystr = !partner_key.present? ?
      AcademicBenchmarks::Api::Constants.partner_key_env_var : ""
    raise StandardError.new(
      "Missing environment variable(s): #{[pidstr, pkystr].join(', ')}"
    )
  end

  new(
    partner_id: partner_id,
    partner_key: partner_key,
    user_id: user_id_from_env
  )
end
new(partner_id:, partner_key:, user_id: "") click to toggle source
# File lib/academic_benchmarks/api/handle.rb, line 37
def initialize(partner_id:, partner_key:, user_id: "")
  @partner_id = partner_id
  @partner_key = partner_key
  @user_id = user_id.to_s
end

Private Class Methods

partner_id_from_env() click to toggle source
# File lib/academic_benchmarks/api/handle.rb, line 59
def self.partner_id_from_env
  ENV[AcademicBenchmarks::Api::Constants.partner_id_env_var]
end
partner_key_from_env() click to toggle source
# File lib/academic_benchmarks/api/handle.rb, line 63
def self.partner_key_from_env
  ENV[AcademicBenchmarks::Api::Constants.partner_key_env_var]
end
user_id_from_env() click to toggle source
# File lib/academic_benchmarks/api/handle.rb, line 67
def self.user_id_from_env
  ENV[AcademicBenchmarks::Api::Constants.user_id_env_var]
end

Public Instance Methods

standards() click to toggle source
# File lib/academic_benchmarks/api/handle.rb, line 47
def standards
  Standards.new(self)
end
user_id=(user_id) click to toggle source
# File lib/academic_benchmarks/api/handle.rb, line 43
def user_id=(user_id)
  @user_id = user_id.to_s
end

Private Instance Methods

api_resp_to_array_of_standards(api_resp) click to toggle source
# File lib/academic_benchmarks/api/handle.rb, line 53
def api_resp_to_array_of_standards(api_resp)
  api_resp.parsed_response["resources"].inject([]) do |retval, resource|
    retval.push(AcademicBenchmarks::Standards::Standard.new(resource["data"]))
  end
end