class PopulateMe::Admin

Public Class Methods

cerberus_available?() click to toggle source
# File lib/populate_me/admin.rb, line 126
def cerberus_available?
  # Method = overridable = testable
  Rack.const_defined?(:Cerberus)
end
cerberus_pass() click to toggle source
# File lib/populate_me/admin.rb, line 122
def cerberus_pass
  # Method = overridable = testable
  ENV['CERBERUS_PASS']
end

Private Class Methods

setup_cerberus(builder) click to toggle source
# File lib/populate_me/admin.rb, line 150
def setup_cerberus builder
  return unless settings.cerberus_active
  cerberus_settings = settings.cerberus==true ? {} : settings.cerberus
  cerberus_settings[:session_key] = 'populate_me_user'
  builder.use Rack::Cerberus, cerberus_settings do |user,pass,req|
    pass==cerberus_pass
  end
end
setup_default_middleware(builder) click to toggle source
Calls superclass method
# File lib/populate_me/admin.rb, line 133
def setup_default_middleware builder
  # Override the Sinatra method
  super builder
  setup_populate_me_middleware builder
end
setup_populate_me_middleware(builder) click to toggle source
# File lib/populate_me/admin.rb, line 139
def setup_populate_me_middleware builder
  # Authentication
  setup_cerberus builder
  # Mount assets on /__assets__
  builder.use Rack::Static, :urls=>['/__assets__'], :root=>File.expand_path('../admin',__FILE__)
  # Mount the API on /api
  builder.use Rack::Builder do 
    map('/api'){ run PopulateMe::API }
  end
end

Public Instance Methods

help_img(desc, filename) click to toggle source
# File lib/populate_me/admin.rb, line 34
def help_img desc, filename
  "<img src='#{request.script_name}/__assets__/img/help/#{filename}' alt='#{desc}' />"
end
user_name() click to toggle source
# File lib/populate_me/admin.rb, line 29
def user_name
  return 'Anonymous' if session.nil?||session[:populate_me_user].nil?
  session[:populate_me_user]
end