Class: Seriline::Client
- Inherits:
-
Object
- Object
- Seriline::Client
- Defined in:
- lib/seriline/client.rb
Instance Attribute Summary collapse
-
#api_key ⇒ Object
readonly
Returns the value of attribute api_key.
-
#session ⇒ Object
readonly
Returns the value of attribute session.
-
#username ⇒ Object
readonly
Returns the value of attribute username.
Class Method Summary collapse
- .client_connection(client) ⇒ Object
- .with_connection(username = Seriline.config.username, api_key = Seriline.config.api_key) ⇒ Object
Instance Method Summary collapse
- #get_available_config_products ⇒ Object
- #get_order_info(order_id) ⇒ Object
-
#initialize(username = Seriline.config.username, api_key = Seriline.config.api_key) ⇒ Client
constructor
A new instance of Client.
- #login ⇒ Object
- #logout ⇒ Object
- #order_config_product(product_id, data) ⇒ Object
Constructor Details
#initialize(username = Seriline.config.username, api_key = Seriline.config.api_key) ⇒ Client
Returns a new instance of Client.
10 11 12 13 14 |
# 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 |
Instance Attribute Details
#api_key ⇒ Object (readonly)
Returns the value of attribute api_key.
6 7 8 |
# File 'lib/seriline/client.rb', line 6 def api_key @api_key end |
#session ⇒ Object (readonly)
Returns the value of attribute session.
6 7 8 |
# File 'lib/seriline/client.rb', line 6 def session @session end |
#username ⇒ Object (readonly)
Returns the value of attribute username.
6 7 8 |
# File 'lib/seriline/client.rb', line 6 def username @username end |
Class Method Details
.client_connection(client) ⇒ Object
21 22 23 24 25 26 |
# File 'lib/seriline/client.rb', line 21 def self.client_connection(client) client.login yield(client) if client.session.active? ensure client.logout end |
.with_connection(username = Seriline.config.username, api_key = Seriline.config.api_key) ⇒ Object
16 17 18 19 |
# File 'lib/seriline/client.rb', line 16 def self.with_connection(username = Seriline.config.username, api_key = Seriline.config.api_key) client = Seriline::Client.new(username, api_key) self.client_connection(client) { yield } end |
Instance Method Details
#get_available_config_products ⇒ Object
44 45 46 |
# File 'lib/seriline/client.rb', line 44 def get_available_config_products ConfigProduct.get_available(@session) end |
#get_order_info(order_id) ⇒ Object
52 53 54 |
# File 'lib/seriline/client.rb', line 52 def get_order_info(order_id) Order.get_order_info(session, order_id) end |
#login ⇒ Object
28 29 30 31 32 33 34 |
# 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 ⇒ Object
36 37 38 39 40 41 42 |
# 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) ⇒ Object
48 49 50 |
# File 'lib/seriline/client.rb', line 48 def order_config_product(product_id, data) ConfigProduct.order(@session, product_id, data) end |