class DoorKnock::Generator

Attributes

url[R]

Public Class Methods

new(url) click to toggle source
# File lib/doorknock/generator.rb, line 9
def initialize(url)
  @url = URI(url)
end

Public Instance Methods

admin_panel_urls() click to toggle source
# File lib/doorknock/generator.rb, line 31
def admin_panel_urls
  [base_url, second_last_url].uniq.sort.map do |target_url|
    paths.map do |path|
      "#{target_url}/#{path}"
    end
  end.flatten.sort
end
base_url() click to toggle source
# File lib/doorknock/generator.rb, line 13
def base_url
  case [url.scheme, url.port]
  when ["http", 80]
    "#{url.scheme}://#{url.host}"
  when ["https", 443]
    "#{url.scheme}://#{url.host}"
  else
    "#{url.scheme}://#{url.host}:#{url.port}"
  end
end
paths() click to toggle source
# File lib/doorknock/generator.rb, line 39
def paths
  @paths ||= YAML.safe_load(File.read(File.expand_path("./config/paths.yml", __dir__)))
end
second_last_url() click to toggle source
# File lib/doorknock/generator.rb, line 24
def second_last_url
  parts = url.path.split("/")
  parts.pop if parts.length > 2

  base_url + parts.join("/")
end