Module: Janus::Helpers::ClassMethods
- Defined in:
- lib/janus/controllers/helpers.rb
Instance Method Summary collapse
-
#janus(*scopes) ⇒ Object
Aliases some Janus methods for convenience.
Instance Method Details
#janus(*scopes) ⇒ Object
Aliases some Janus methods for convenience. For instance calling ‘janus(:user, :admin)` will generate the following methods:
authenticate_user! # => janus.authenticate!(:user)
current_user # => janus.authenticate(:user)
user_signed_in? # => janus.authenticate?(:user)
user_session # => janus.sesssion(:user)
authenticate_admin! # => janus.authenticate!(:admin)
current_admin # => janus.authenticate(:admin)
admin_signed_in? # => janus.authenticate?(:admin)
admin_session # => janus.sesssion(:admin)
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/janus/controllers/helpers.rb', line 46 def janus(*scopes) scopes.each do |scope| class_eval <<-EOV helper_method :#{scope}_signed_in?, :current_#{scope}, :#{scope}_session def authenticate_#{scope}! janus.authenticate!(:#{scope}) end def current_#{scope} @current_#{scope} ||= janus.authenticate(:#{scope}) end def #{scope}_signed_in? janus.authenticate?(:#{scope}) end def #{scope}_session janus.session(:#{scope}) if #{scope}_signed_in? end EOV end end |