Class: Opencrx::Session

Inherits:
Object
  • Object
show all
Includes:
HTTParty
Defined in:
lib/opencrx/session.rb

Constant Summary collapse

REST_INTERFACE =
"/opencrx-rest-CRX"

Instance Method Summary collapse

Constructor Details

#initialize(base_url, user, password) ⇒ Session

Returns a new instance of Session.



25
26
27
28
# File 'lib/opencrx/session.rb', line 25

def initialize(base_url, user, password)
  self.class.base_uri(base_url + REST_INTERFACE)
  self.class.basic_auth(user, password)
end

Instance Method Details

#action(method, url, options) ⇒ Object



46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/opencrx/session.rb', line 46

def action(method, url, options)
  response = self.class.send(method, url, options)
  logger.debug { "\n\nSENT >>>>>>>>>>>>\n#{response.request.inspect}" }
  logger.debug { "\nRECEIVED <<<<<<<<<<<<<<\n#{response.response.body}" }
  code = response.response.code
  case code
    when /^[45]/
      logger.warn { response.response }
      logger.warn { response.response.body }
      raise HttpError.new(response)
    else
      response
  end
end

#delete(url, options = {}) ⇒ Object



42
43
44
# File 'lib/opencrx/session.rb', line 42

def delete(url, options = {})
  action(:delete, url, options)
end

#get(url, options = {}) ⇒ Object



30
31
32
# File 'lib/opencrx/session.rb', line 30

def get(url, options = {})
  action(:get, url, options)
end

#loggerObject



61
62
63
# File 'lib/opencrx/session.rb', line 61

def logger
  Opencrx.logger
end

#post(url, options = {}) ⇒ Object



38
39
40
# File 'lib/opencrx/session.rb', line 38

def post(url, options = {})
  action(:post, url, options)
end

#put(url, options = {}) ⇒ Object



34
35
36
# File 'lib/opencrx/session.rb', line 34

def put(url, options = {})
  action(:put, url, options)
end