class Pendulum::DSL::Output::Base

Public Class Methods

new(&block) click to toggle source
# File lib/pendulum/dsl/output/base.rb, line 5
def initialize(&block)
  self.instance_eval(&block) if block_given?
end

Public Instance Methods

to_url() click to toggle source
# File lib/pendulum/dsl/output/base.rb, line 9
def to_url
  raise NotImplementedError, "You must implement #{self.class}##{__method__}"
end

Private Instance Methods

hostname_and_port() click to toggle source
# File lib/pendulum/dsl/output/base.rb, line 35
def hostname_and_port
  case
  when @hostname && @port
    "#{@hostname}:#{@port}"
  when @hostname
    @hostname
  when @port
    ":#{@port}"
  end
end
username_and_password() click to toggle source
# File lib/pendulum/dsl/output/base.rb, line 24
def username_and_password
  case
  when @username && @password
    "#{@username}:#{@password}"
  when @username
    @username
  when @password
    ":#{@password}"
  end
end
with_options(url, *options) click to toggle source
# File lib/pendulum/dsl/output/base.rb, line 15
def with_options(url, *options)
  params = (options || []).select do |option|
    instance_variable_defined?("@#{option}")
  end.map do |option|
    "#{option}=#{instance_variable_get("@#{option}")}"
  end.join('&')
  url + (params.empty? ? '' : "?#{params}")
end