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