Module: Guachiman
- Defined in:
- lib/guachiman.rb,
lib/guachiman/version.rb
Constant Summary collapse
- VERSION =
"2.1.0"
Instance Method Summary collapse
- #allow(group, *permissions, &block) ⇒ Object
- #allow?(group, permission, object = nil) ⇒ Boolean
- #rules ⇒ Object
Instance Method Details
#allow(group, *permissions, &block) ⇒ Object
8 9 10 11 12 13 |
# File 'lib/guachiman.rb', line 8 def allow(group, *, &block) .flatten.each do || rules[group] ||= {} rules[group][] = (block || true) end end |
#allow?(group, permission, object = nil) ⇒ Boolean
15 16 17 18 19 20 21 |
# File 'lib/guachiman.rb', line 15 def allow?(group, , object = nil) if rule = rules[group] && rules[group][] rule == true || object && rule.call(object) else false end end |
#rules ⇒ Object
4 5 6 |
# File 'lib/guachiman.rb', line 4 def rules @rules ||= {} end |