Module: Banken
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/banken.rb,
lib/banken/error.rb,
lib/banken/version.rb,
lib/banken/loyalty_finder.rb,
lib/generators/banken/install/install_generator.rb,
lib/generators/banken/loyalty/loyalty_generator.rb
Defined Under Namespace
Modules: Generators
Classes: AuthorizationNotPerformedError, Error, LoyaltyFinder, LoyaltyScopingNotPerformedError, NotAuthorizedError, NotDefinedError
Constant Summary
collapse
- VERSION =
"1.0.0"
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.loyalty!(controller_name, user, record = nil) ⇒ Object
29
30
31
|
# File 'lib/banken.rb', line 29
def loyalty!(controller_name, user, record=nil)
LoyaltyFinder.new(controller_name).loyalty!.new(user, record)
end
|
Instance Method Details
#authorize!(record = nil) ⇒ Object
34
35
36
37
38
39
40
41
42
43
|
# File 'lib/banken.rb', line 34
def authorize!(record=nil)
@_banken_loyalty_authorized = true
loyalty = loyalty(record)
unless loyalty.public_send(banken_query_name)
raise NotAuthorizedError.new(controller: banken_controller_name, query: banken_query_name, loyalty: loyalty)
end
true
end
|
#banken_loyalty_authorized? ⇒ Boolean
67
68
69
|
# File 'lib/banken.rb', line 67
def banken_loyalty_authorized?
!!@_banken_loyalty_authorized
end
|
#banken_user ⇒ Object
55
56
57
|
# File 'lib/banken.rb', line 55
def banken_user
current_user
end
|
#loyalties ⇒ Object
71
72
73
|
# File 'lib/banken.rb', line 71
def loyalties
@_banken_loyalties ||= {}
end
|
#loyalty(record = nil, controller_name = nil) ⇒ Object
50
51
52
53
|
# File 'lib/banken.rb', line 50
def loyalty(record=nil, controller_name=nil)
controller_name = banken_controller_name unless controller_name
loyalties[controller_name.to_s] ||= Banken.loyalty!(controller_name, banken_user, record)
end
|
#permitted_attributes(record) ⇒ Object
45
46
47
48
|
# File 'lib/banken.rb', line 45
def permitted_attributes(record)
name = record.class.to_s.demodulize.underscore
params.require(name).permit(loyalty(record).permitted_attributes)
end
|
#skip_authorization ⇒ Object
59
60
61
|
# File 'lib/banken.rb', line 59
def skip_authorization
@_banken_loyalty_authorized = true
end
|
#verify_authorized ⇒ Object