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 " helper_method :\#{scope}_signed_in?, :current_\#{scope}, :\#{scope}_session\n\n def authenticate_\#{scope}!\n janus.authenticate!(:\#{scope})\n end\n\n def current_\#{scope}\n @current_\#{scope} ||= janus.authenticate(:\#{scope})\n end\n\n def \#{scope}_signed_in?\n janus.authenticate?(:\#{scope})\n end\n\n def \#{scope}_session\n janus.session(:\#{scope}) if \#{scope}_signed_in?\n end\n EOV\n end\nend\n" |