Class: RokuBuilder::Util
- Inherits:
-
Object
- Object
- RokuBuilder::Util
- Defined in:
- lib/roku_builder/util.rb
Overview
Super class for device utilities This class defines a common initializer and allows subclasses to define their own secondary initializer
Class Method Summary collapse
-
.options_parse(options:) ⇒ Hash
Parses a string into and options hash.
Instance Method Summary collapse
-
#init ⇒ Object
Second initializer to be overwriten.
-
#initialize(ip:, user:, password:, logger:, init_params: nil) ⇒ Util
constructor
Common initializer of device utils.
-
#multipart_connection(port: nil) ⇒ Faraday
Generates a multipart Faraday connection with digest credentials.
-
#simple_connection ⇒ Faraday
Generates a simpe Faraday connection with digest credentials.
Constructor Details
#initialize(ip:, user:, password:, logger:, init_params: nil) ⇒ Util
Common initializer of device utils
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/roku_builder/util.rb', line 14 def initialize(ip:, user:, password:, logger:, init_params: nil) @device_config = { ip: ip, user: user, password: password } @roku_ip_address = ip @dev_username = user @dev_password = password @url = "http://#{@roku_ip_address}" @logger = logger if init_params init(**init_params) else init end end |
Class Method Details
.options_parse(options:) ⇒ Hash
Parses a string into and options hash
64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/roku_builder/util.rb', line 64 def self.(options:) parsed = {} opts = .split(/,\s*/) opts.each do |opt| opt = opt.split(":") key = opt.shift.to_sym value = opt.join(":") parsed[key] = value end parsed end |
Instance Method Details
#init ⇒ Object
Second initializer to be overwriten
33 34 35 |
# File 'lib/roku_builder/util.rb', line 33 def init #Override in subclass end |
#multipart_connection(port: nil) ⇒ Faraday
Generates a multipart Faraday connection with digest credentials
49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/roku_builder/util.rb', line 49 def multipart_connection(port: nil) url = @url url = "#{url}:#{port}" if port Faraday.new(url: url) do |f| f.headers['Content-Type'] = Faraday::Request::Multipart.mime_type f.request :digest, @dev_username, @dev_password f.request :multipart f.request :url_encoded f.adapter Faraday.default_adapter end end |
#simple_connection ⇒ Faraday
Generates a simpe Faraday connection with digest credentials
39 40 41 42 43 44 |
# File 'lib/roku_builder/util.rb', line 39 def simple_connection Faraday.new(url: @url) do |f| f.request :digest, @dev_username, @dev_password f.adapter Faraday.default_adapter end end |