class Malone::Configuration

Attributes

auth[R]
domain[RW]
force_tls[RW]
host[RW]
password[RW]
port[RW]
tls[RW]
user[RW]

Public Class Methods

new(options) click to toggle source
# File lib/malone.rb, line 78
def initialize(options)
  opts = options.dup

  @tls = true

  url = opts.delete(:url) || ENV["MALONE_URL"]

  if url
    uri = URI(url)

    opts[:host]     ||= uri.host
    opts[:port]     ||= uri.port.to_i
    opts[:user]     ||= unescaped(uri.user)
    opts[:password] ||= unescaped(uri.password)

    additional_opts = Hash[uri.query.to_s.split('&').map { |e| e.split('=')}]

    if additional_opts.has_key?('force_tls')
      @force_tls = true
    elsif additional_opts.has_key?('tls')
      @tls = true
    end
  end

  opts.each do |key, val|
    send(:"#{key}=", val)
  end
end

Public Instance Methods

auth=(val) click to toggle source
# File lib/malone.rb, line 107
def auth=(val)
  @auth = val && val.to_sym
end

Private Instance Methods

unescaped(val) click to toggle source
# File lib/malone.rb, line 112
def unescaped(val)
  return if val.to_s.empty?

  CGI.unescape(val)
end