Module: CanTango::Api::User::Session
- Defined in:
- lib/cantango/api/user/session.rb
Class Method Summary collapse
-
.included(base) ⇒ Object
Example: generated from types of accounts! (see below) def admin_can?(*args) current_ability(:admin).can?(*args) end.
Instance Method Summary collapse
-
#any_user(*types) ⇒ Object
give me any logged in user or the guest user.
- #guest_user ⇒ Object
Class Method Details
.included(base) ⇒ Object
Example: generated from types of accounts! (see below) def admin_can?(*args)
current_ability(:admin).can?(*args)
end
10 11 12 13 14 15 16 17 18 19 |
# File 'lib/cantango/api/user/session.rb', line 10 def self.included(base) ::CanTango.config.users.registered.each do |user| base.class_eval %{ def session_#{user} current_#{user} if respond_to? :current_#{user} guest_user end } end end |
Instance Method Details
#any_user(*types) ⇒ Object
give me any logged in user or the guest user
22 23 24 25 26 27 28 29 |
# File 'lib/cantango/api/user/session.rb', line 22 def any_user *types types = types.flatten.select_labels.map(&:to_sym) c_user = ::CanTango.config.users.registered.each do |user| meth = :"current_#{user}" send(meth) if respond_to?(meth) && (types.empty? || types.include?(user)) end.compact.first c_user || guest_user end |
#guest_user ⇒ Object
31 32 33 |
# File 'lib/cantango/api/user/session.rb', line 31 def guest_user CanTango.config.guest.user end |