class RokuBuilder::Util

Super class for modules This class defines a common initializer and allows subclasses to define their own secondary initializer

Public Class Methods

new(config: ) click to toggle source

Common initializer of device utils @param config [Config] Configuration object for the app

# File lib/roku_builder/util.rb, line 11
def initialize(config: )
  @logger = Logger.instance
  @config = config
  @roku_ip_address = @config.device_config[:ip]
  @dev_username = @config.device_config[:user]
  @dev_password = @config.device_config[:password]
  @url = "http://#{@roku_ip_address}"
  init
end

Private Instance Methods

init() click to toggle source

Second initializer to be overwriten

# File lib/roku_builder/util.rb, line 24
def init
  #Override in subclass
end
multipart_connection(port: nil) click to toggle source

Generates a multipart Faraday connection with digest credentials @param port [Integer] optional port to connect to @return [Faraday] The faraday connection

# File lib/roku_builder/util.rb, line 40
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() click to toggle source

Generates a simpe Faraday connection with digest credentials @return [Faraday] The faraday connection

# File lib/roku_builder/util.rb, line 30
def simple_connection
  Faraday.new(url: @url) do |f|
    f.request :digest, @dev_username, @dev_password
    f.adapter Faraday.default_adapter
  end
end