Class: Agendrix::Nethris::Services::SessionService
- Inherits:
-
Object
- Object
- Agendrix::Nethris::Services::SessionService
- Defined in:
- lib/agendrix/nethris/services/session_service.rb
Instance Attribute Summary collapse
-
#id ⇒ Object
readonly
Returns the value of attribute id.
Instance Method Summary collapse
-
#initialize(vendor:, id: nil, user_code: nil, password: nil, business_code: nil) ⇒ SessionService
constructor
A new instance of SessionService.
- #log_in(user_code:, password:, business_code:) ⇒ Object (also: #login)
- #log_out ⇒ Object (also: #logout)
Constructor Details
#initialize(vendor:, id: nil, user_code: nil, password: nil, business_code: nil) ⇒ SessionService
Returns a new instance of SessionService.
9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/agendrix/nethris/services/session_service.rb', line 9 def initialize(vendor:, id: nil, user_code: nil, password: nil, business_code: nil) @vendor = vendor if id.present? @id = id else login(user_code: user_code, password: password, business_code: business_code) end raise AuthenticationError.new("Missing authentification credentials") if @id.blank? end |
Instance Attribute Details
#id ⇒ Object (readonly)
Returns the value of attribute id.
5 6 7 |
# File 'lib/agendrix/nethris/services/session_service.rb', line 5 def id @id end |
Instance Method Details
#log_in(user_code:, password:, business_code:) ⇒ Object Also known as: login
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/agendrix/nethris/services/session_service.rb', line 21 def log_in(user_code:, password:, business_code:) raise AuthenticationError.new("Already logged in") if @id.present? data = Request.new(@vendor).execute( type: Request::Type::LOG_IN, parameters: { APPID: Nethris.app_id, businessCode: business_code, userCode: user_code, userPassword: password, language: "en-US" } ) @id = data["sessionId"] end |