module RackWarden::RackWardenHelpers

Also bring these into your main app helpers.

Public Instance Methods

account_bar() click to toggle source
# File lib/rack_warden/helpers.rb, line 257
def account_bar
     return unless current_user
     "<b>#{current_user.username}</b>"
end
default_page() click to toggle source
# File lib/rack_warden/helpers.rb, line 238
def default_page
              nested_erb :'rw_index.html', :'rw_layout_admin.html', settings.layout
end
find_template(views, name, engine, &block) click to toggle source

WBR - override. This passes block to be rendered to first template that matches.

Calls superclass method
# File lib/rack_warden/helpers.rb, line 203
      def find_template(views, name, engine, &block)
              logger.debug "RW find_template name: #{name}, engine: #{engine}, block: #{block}, views: #{views}"
  Array(views).each { |v| super(v, name, engine, &block) }
end
flash() click to toggle source

Because accessing app instance thru env seems to loose flash access.

# File lib/rack_warden/helpers.rb, line 209
def flash
     request.env['x-rack.flash']
end
logger() click to toggle source

Access main logger from app instance.

# File lib/rack_warden/helpers.rb, line 198
def logger
        settings.logger
end
nested_erb(*list) click to toggle source
# File lib/rack_warden/helpers.rb, line 242
def nested_erb(*list)
     list.inject do |tmplt, lay|
             erb tmplt, :layout=>lay
     end
end
redirect_error(message="Error") click to toggle source
# File lib/rack_warden/helpers.rb, line 252
def redirect_error(message="Error")
     flash.rw_error = message
              redirect url_for("/error")
end
return_to(fallback=settings.default_route) click to toggle source
# File lib/rack_warden/helpers.rb, line 248
def return_to(fallback=settings.default_route)
     redirect session[:return_to] || url_for(fallback)
end
rw_prefix(_route='') click to toggle source
# File lib/rack_warden/helpers.rb, line 217
def rw_prefix(_route='')
        settings.rw_prefix.to_s + _route.to_s
end
url_for(_url, _full_uri=false) click to toggle source
# File lib/rack_warden/helpers.rb, line 221
def url_for(_url, _full_uri=false)
        url(rw_prefix(_url), _full_uri)
end
valid_user_input?() click to toggle source
# File lib/rack_warden/helpers.rb, line 213
def valid_user_input?
  params['user'] && params['user']['email'] && params['user']['password']
end
verify_recaptcha(skip_redirect=false, ip=request.ip, response=params['g-recaptcha-response']) click to toggle source
# File lib/rack_warden/helpers.rb, line 227
      def verify_recaptcha(skip_redirect=false, ip=request.ip, response=params['g-recaptcha-response'])
              secret = settings.recaptcha[:secret]
             _recaptcha = ActiveSupport::JSON.decode(open("https://www.google.com/recaptcha/api/siteverify?secret=#{secret}&response=#{response}&remoteip=#{ip}").read)
  logger.warn "RW recaptcha #{_recaptcha.inspect}"
  unless _recaptcha['success']
     flash.rw_error = "Please confirm you are human"
     redirect back unless skip_redirect
     Halt "You appear to be a robot."
  end
end