class EDANQuery

Attributes

app_id[RW]
password[RW]
server[RW]
username[RW]

Public Class Methods

new(app_id, username = ENV['EDANUSER'], password = ENV['EDANPASS'], options = {}) click to toggle source
# File lib/edan.rb, line 14
def initialize(app_id,
                  username = ENV['EDANUSER'],
                  password = ENV['EDANPASS'],
                  options = {})
  warn_if_empty(app_id, "app_id")

  @server = options[:server] || 'http://edan-api.si.edu'
  @app_id = app_id

  @username = username
  warn_if_empty(@username, "username or set ENV['EDANUSER']")

  @password = password
  warn_if_empty(@password, "password or set ENV['EDANPASS']")
end

Public Instance Methods

request(params="start=0", service="/metadataService") click to toggle source
# File lib/edan.rb, line 30
def request(params="start=0", service="/metadataService")
  #puts "==> #{username} #{password}"
  uri = URI.parse(server + service + '?' + params)

  http = Net::HTTP.new(uri.host, uri.port)
  request = Net::HTTP::Get.new(uri.request_uri)
  request.basic_auth(username, password)
  request['X-AppId'] = app_id
  response = http.request(request)
  return response;
end
warn_if_empty(var, var_name) click to toggle source
# File lib/edan.rb, line 10
def warn_if_empty(var, var_name)
  puts "please provide a value for #{var_name}" if var.nil? || var.empty?
end