Class: Kinescope::Client
- Inherits:
-
Object
- Object
- Kinescope::Client
- Defined in:
- lib/kinescope/client.rb
Constant Summary collapse
- DEFAULT_API_URL =
'https://api.kinescope.io'.freeze
- DEFAULT_TIMEOUT =
120
- DEFAULT_OPEN_TIMEOUT =
60
Instance Attribute Summary collapse
-
#access_token ⇒ Object
readonly
Returns the value of attribute access_token.
-
#api_url ⇒ Object
readonly
Returns the value of attribute api_url.
-
#open_timeout ⇒ Object
readonly
Returns the value of attribute open_timeout.
-
#timeout ⇒ Object
readonly
Returns the value of attribute timeout.
-
#user_agent ⇒ Object
readonly
Returns the value of attribute user_agent.
Class Method Summary collapse
Instance Method Summary collapse
- #connection ⇒ Object
- #default_user_agent ⇒ Object
-
#initialize(options = {}) ⇒ Client
constructor
A new instance of Client.
- #method_missing(name, *args, &block) ⇒ Object
- #resources ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ Client
Returns a new instance of Client.
13 14 15 16 17 18 19 |
# File 'lib/kinescope/client.rb', line 13 def initialize( = {}) @access_token = [:access_token] @api_url = [:api_url] || DEFAULT_API_URL @open_timeout = [:open_timeout] || DEFAULT_OPEN_TIMEOUT @timeout = [:timeout] || DEFAULT_TIMEOUT @user_agent = [:user_agent] end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(name, *args, &block) ⇒ Object
41 42 43 44 45 46 47 48 |
# File 'lib/kinescope/client.rb', line 41 def method_missing(name, *args, &block) if self.class.resources.keys.include?(name) resources[name] ||= self.class.resources[name].new(connection: connection) resources[name] else super end end |
Instance Attribute Details
#access_token ⇒ Object (readonly)
Returns the value of attribute access_token.
11 12 13 |
# File 'lib/kinescope/client.rb', line 11 def access_token @access_token end |
#api_url ⇒ Object (readonly)
Returns the value of attribute api_url.
11 12 13 |
# File 'lib/kinescope/client.rb', line 11 def api_url @api_url end |
#open_timeout ⇒ Object (readonly)
Returns the value of attribute open_timeout.
11 12 13 |
# File 'lib/kinescope/client.rb', line 11 def open_timeout @open_timeout end |
#timeout ⇒ Object (readonly)
Returns the value of attribute timeout.
11 12 13 |
# File 'lib/kinescope/client.rb', line 11 def timeout @timeout end |
#user_agent ⇒ Object (readonly)
Returns the value of attribute user_agent.
11 12 13 |
# File 'lib/kinescope/client.rb', line 11 def user_agent @user_agent end |
Class Method Details
.resources ⇒ Object
29 30 31 32 33 34 35 |
# File 'lib/kinescope/client.rb', line 29 def self.resources { drm: DRMResource, projects: ProjectResource, videos: VideoResource } end |
Instance Method Details
#connection ⇒ Object
21 22 23 24 25 26 27 |
# File 'lib/kinescope/client.rb', line 21 def connection @connection ||= Faraday.new() do |req| req.adapter :net_http req..timeout = timeout req..open_timeout = open_timeout end end |
#default_user_agent ⇒ Object
50 51 52 |
# File 'lib/kinescope/client.rb', line 50 def default_user_agent "kinescope-rb/#{Kinescope::VERSION}" end |
#resources ⇒ Object
37 38 39 |
# File 'lib/kinescope/client.rb', line 37 def resources @resources ||= {} end |