module Omnigollum::Helpers

Public Instance Methods

auth_config() click to toggle source
# File lib/omnigollum.rb, line 66
def auth_config
  options = settings.send(:omnigollum)

  @auth = {
    :route_prefix => options[:route_prefix],
    :providers    => options[:provider_names],
    :path_images  => options[:path_images],
    :logo_suffix  => options[:logo_suffix],
    :logo_missing => options[:logo_missing]
  }
end
commit_message() click to toggle source
# File lib/omnigollum.rb, line 107
def commit_message
  if user_authed?
    user = get_user
    return { :message => params[:message], :name => user.name, :email => user.email}
  else
    return { :message => params[:message]}
  end
end
get_user() click to toggle source
# File lib/omnigollum.rb, line 58
def get_user
  session[:omniauth_user]
end
kick_back() click to toggle source
# File lib/omnigollum.rb, line 51
def kick_back
  redirect !request.referrer.nil? && request.referrer !~ /#{Regexp.escape(settings.send(:omnigollum)[:route_prefix])}\/.*/ ?
    request.referrer:
    '/'
  halt
end
show_error() click to toggle source
# File lib/omnigollum.rb, line 100
def show_error
  options = settings.send(:omnigollum)
  auth_config
  require options[:path_views] + '/error'
  halt mustache Omnigollum::Views::Error
end
show_login() click to toggle source
# File lib/omnigollum.rb, line 78
def show_login
  options = settings.send(:omnigollum)

  # Don't bother showing the login screen, just redirect
  if options[:provider_names].count == 1
    if !request.params['origin'].nil?
      origin = request.params['origin']
    elsif !request.path.nil?
      origin = request.path
    else
      origin = '/'
    end

    redirect (request.script_name || '') + options[:route_prefix] + '/auth/' + options[:provider_names].first.to_s + "?origin=" +
       CGI.escape(origin)
  else
     auth_config
     require options[:path_views] + '/login'
     halt mustache Omnigollum::Views::Login
  end
end
user_auth() click to toggle source
# File lib/omnigollum.rb, line 45
def user_auth
  @title   = 'Authentication is required'
  @subtext = 'Please choose a login service'
  show_login
end
user_authed?() click to toggle source
# File lib/omnigollum.rb, line 41
def user_authed?
  session.has_key? :omniauth_user
end
user_deauth() click to toggle source
# File lib/omnigollum.rb, line 62
def user_deauth
  session.delete :omniauth_user
end