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
link_name(name = params[:name])
click to toggle source
# File lib/corpshort/app.rb, line 95 def link_name(name = params[:name]) name.tr('_', '-') end
link_url(link, protocol: true, base_url: self.base_url())
click to toggle source
# File lib/corpshort/app.rb, line 103 def link_url(link, protocol: true, base_url: self.base_url()) name = link.is_a?(String) ? link_name(link) : link.name "#{base_url}/#{name}".yield_self do |url| if protocol url else url.gsub(/\Ahttps?:\/\//, '') end end 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
short_link_url(link, **kwargs)
click to toggle source
# File lib/corpshort/app.rb, line 99 def short_link_url(link, **kwargs) link_url(link, base_url: short_base_url, **kwargs) 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