class Corpshort::App

Constants

CONTEXT_RACK_ENV_NAME

Public Class Methods

initialize_context(config) click to toggle source
# File lib/corpshort/app.rb, line 24
def self.initialize_context(config)
  {
    config: config,
  }
end
rack(config={}) click to toggle source
# File lib/corpshort/app.rb, line 30
def self.rack(config={})
  klass = App

  test = config[:test]
  session = {}
  context = initialize_context(config)
  lambda { |env|
    env['rack.session'] = session if test # FIXME:
    env[CONTEXT_RACK_ENV_NAME] = context
    klass.call(env)
  }
end

Public Instance Methods

backend() click to toggle source
# File lib/corpshort/app.rb, line 85
def backend
  @backend ||= conf.fetch(:backend)
end
barcode_path(link, kind, ext, flex: nil) click to toggle source
# File lib/corpshort/app.rb, line 126
def barcode_path(link, kind, ext, flex: nil)
  "/+/links/#{URI.encode_www_form_component(link.name)}/#{kind}.#{ext}#{flex.nil? ? nil : "?flex=#{flex}"}"
end
base_url() click to toggle source
# File lib/corpshort/app.rb, line 76
def base_url
  conf[:base_url] || request.base_url
end
conf() click to toggle source
# File lib/corpshort/app.rb, line 68
def conf
  context.fetch(:config)
end
context() click to toggle source
# File lib/corpshort/app.rb, line 64
def context
  request.env[CONTEXT_RACK_ENV_NAME]
end
edit_path(link) click to toggle source
# File lib/corpshort/app.rb, line 114
def edit_path(link)
  "/+/links/#{URI.encode_www_form_component(link.name)}/edit"
end
notice_message() click to toggle source
# File lib/corpshort/app.rb, line 72
def notice_message
  conf[:notice_message]
end
random_name() click to toggle source
# File lib/corpshort/app.rb, line 89
def random_name
  chars_a = [*('A'..'Z')]
  chars_b = [*('a'..'z'), *('0'..'9')]
  [*1.times.map { |_| chars_a.sample }, *3.times.map { |_| chars_b.sample }].shuffle.join
end
short_base_url() click to toggle source
# File lib/corpshort/app.rb, line 80
def short_base_url
  conf[:short_base_url] || base_url
end
update_path(link) click to toggle source
# File lib/corpshort/app.rb, line 118
def update_path(link)
  "/+/links/#{URI.encode_www_form_component(link.name)}"
end
urls_path(url) click to toggle source
# File lib/corpshort/app.rb, line 122
def urls_path(url)
  "/+/urls/#{url}"
end