class Seriline::Client
Attributes
api_key[R]
session[R]
username[R]
Public Class Methods
client_connection(client) { |client| ... }
click to toggle source
# File lib/seriline/client.rb, line 21 def self.client_connection(client) client.login yield(client) if client.session.active? ensure client.logout end
new(username = Seriline.config.username, api_key = Seriline.config.api_key)
click to toggle source
# File lib/seriline/client.rb, line 10 def initialize(username = Seriline.config.username, api_key = Seriline.config.api_key) @username = username @api_key = api_key @session = Seriline::Session.new end
with_connection(username = Seriline.config.username, api_key = Seriline.config.api_key, &block)
click to toggle source
# File lib/seriline/client.rb, line 16 def self.with_connection(username = Seriline.config.username, api_key = Seriline.config.api_key, &block) client = Seriline::Client.new(username, api_key) self.client_connection(client, &block) end
Public Instance Methods
get_available_config_products()
click to toggle source
# File lib/seriline/client.rb, line 44 def get_available_config_products ConfigProduct.get_available(@session) end
get_order_info(order_id)
click to toggle source
# File lib/seriline/client.rb, line 52 def get_order_info(order_id) Order.get_order_info(session, order_id) end
login()
click to toggle source
# File lib/seriline/client.rb, line 28 def login return if @session.active? Seriline::Request.get( Seriline::Endpoint.login_path, { username: @username, apiKey: @api_key } ).tap(&store_session_info) end
logout()
click to toggle source
# File lib/seriline/client.rb, line 36 def logout return unless @session.active? Seriline::Request.get( Seriline::Endpoint.logout_path, { sessionKey: @session.session_key } ).tap(&destroy_session_info) end
order_config_product(product_id, data)
click to toggle source
# File lib/seriline/client.rb, line 48 def order_config_product(product_id, data) ConfigProduct.order(@session, product_id, data) end
Private Instance Methods
destroy_session_info()
click to toggle source
# File lib/seriline/client.rb, line 64 def destroy_session_info -> (_response) { @session = Seriline::Session.new } end
store_session_info()
click to toggle source
# File lib/seriline/client.rb, line 58 def store_session_info lambda { |response| @session = Seriline::Session.new Seriline::LoginResponse.new(response) } end