class Evostream::CLI::Config

Configuration file for CLI

Public Class Methods

new() click to toggle source
# File lib/evostream/cli/config.rb, line 11
def initialize
  @options = @uri = nil
  load_file_configuration
  Evostream::Service.environment = :production
  apply_uri
end

Public Instance Methods

change_host(host) click to toggle source
# File lib/evostream/cli/config.rb, line 18
def change_host(host)
  @uri.host = host
  apply_uri
end
change_port(port) click to toggle source
# File lib/evostream/cli/config.rb, line 23
def change_port(port)
  @uri.port = port
  apply_uri
end
load_custom_file(file) click to toggle source
# File lib/evostream/cli/config.rb, line 28
def load_custom_file(file)
  load_yml(file)
  save_uri
  apply_uri
end

Private Instance Methods

apply_uri() click to toggle source
# File lib/evostream/cli/config.rb, line 36
def apply_uri
  Evostream::Service.uri_in = @uri
end
load_file_configuration() click to toggle source
# File lib/evostream/cli/config.rb, line 44
def load_file_configuration
  load_yml(File.join(ENV['HOME'], '.evostream-configuration.yml'))
  save_uri
end
load_yml(file) click to toggle source
# File lib/evostream/cli/config.rb, line 40
def load_yml(file)
  @options = YAML.safe_load(ERB.new(File.read(file)).result)
end
options_host() click to toggle source
# File lib/evostream/cli/config.rb, line 53
def options_host
  @options['evostream']['host']
end
options_port() click to toggle source
# File lib/evostream/cli/config.rb, line 57
def options_port
  @options['evostream']['port']
end
save_uri() click to toggle source
# File lib/evostream/cli/config.rb, line 49
def save_uri
  @uri = URI.parse("http://#{options_host}:#{options_port}")
end