Module: SilverSpoon::Entitlements
- Included in:
- SilverSpoon
- Defined in:
- lib/silver_spoon/entitlements.rb
Instance Method Summary collapse
-
#add_entitlement(id, entitlement_key, entitlement_value, scope = SilverSpoon.default_scope) ⇒ Object
Add an entitlement for a given
id
. -
#add_entitlements(id, entitlement_keys, entitlement_values, scope = SilverSpoon.default_scope) ⇒ Object
Add multiple entitlements for a given
id
. -
#has_entitlement?(id, entitlement_key, scope = SilverSpoon.default_scope) ⇒ Boolean
Check to see if a given
id
has a given entitlement. -
#has_entitlements?(id, entitlement_keys, scope = SilverSpoon.default_scope) ⇒ Boolean
Check to see if a given
id
has a given set of entitlements. -
#remove_entitlement(id, entitlement_key, scope = SilverSpoon.default_scope) ⇒ Object
Remove an entitlement for a given
id
. -
#remove_entitlements(id, entitlement_keys, scope = SilverSpoon.default_scope) ⇒ Object
Remove multiple entitlements for a given
id
. -
#retrieve_entitlement(id, entitlement_key, scope = SilverSpoon.default_scope) ⇒ Object
Retrieve an entitlement for a given
id
. -
#retrieve_entitlements(id, entitlement_keys, scope = SilverSpoon.default_scope) ⇒ Object
Retrieve a set of entitlements for a given
id
.
Instance Method Details
#add_entitlement(id, entitlement_key, entitlement_value, scope = SilverSpoon.default_scope) ⇒ Object
Add an entitlement for a given id
.
9 10 11 |
# File 'lib/silver_spoon/entitlements.rb', line 9 def add_entitlement(id, entitlement_key, entitlement_value, scope = SilverSpoon.default_scope) add_entitlements(id, [entitlement_key], [entitlement_value], scope) end |
#add_entitlements(id, entitlement_keys, entitlement_values, scope = SilverSpoon.default_scope) ⇒ Object
Add multiple entitlements for a given id
.
19 20 21 |
# File 'lib/silver_spoon/entitlements.rb', line 19 def add_entitlements(id, entitlement_keys, entitlement_values, scope = SilverSpoon.default_scope) SilverSpoon.redis.hmset(silver_spoon_key(id, SilverSpoon.namespace, scope), *entitlement_keys.zip(entitlement_values).flatten!) end |
#has_entitlement?(id, entitlement_key, scope = SilverSpoon.default_scope) ⇒ Boolean
Check to see if a given id
has a given entitlement.
74 75 76 |
# File 'lib/silver_spoon/entitlements.rb', line 74 def has_entitlement?(id, entitlement_key, scope = SilverSpoon.default_scope) SilverSpoon.redis.hexists(silver_spoon_key(id, SilverSpoon.namespace, scope), entitlement_key) end |
#has_entitlements?(id, entitlement_keys, scope = SilverSpoon.default_scope) ⇒ Boolean
Check to see if a given id
has a given set of entitlements.
85 86 87 88 89 90 91 |
# File 'lib/silver_spoon/entitlements.rb', line 85 def has_entitlements?(id, entitlement_keys, scope = SilverSpoon.default_scope) SilverSpoon.redis.multi do |transaction| entitlement_keys.each do |entitlement_key| transaction.hexists(silver_spoon_key(id, SilverSpoon.namespace, scope), entitlement_key) end end end |
#remove_entitlement(id, entitlement_key, scope = SilverSpoon.default_scope) ⇒ Object
Remove an entitlement for a given id
.
28 29 30 |
# File 'lib/silver_spoon/entitlements.rb', line 28 def remove_entitlement(id, entitlement_key, scope = SilverSpoon.default_scope) remove_entitlements(id, [entitlement_key], scope) end |
#remove_entitlements(id, entitlement_keys, scope = SilverSpoon.default_scope) ⇒ Object
Remove multiple entitlements for a given id
.
37 38 39 40 41 42 43 |
# File 'lib/silver_spoon/entitlements.rb', line 37 def remove_entitlements(id, entitlement_keys, scope = SilverSpoon.default_scope) SilverSpoon.redis.multi do |transaction| entitlement_keys.each do |entitlement_key| transaction.hdel(silver_spoon_key(id, SilverSpoon.namespace, scope), entitlement_key) end end end |
#retrieve_entitlement(id, entitlement_key, scope = SilverSpoon.default_scope) ⇒ Object
Retrieve an entitlement for a given id
.
52 53 54 |
# File 'lib/silver_spoon/entitlements.rb', line 52 def retrieve_entitlement(id, entitlement_key, scope = SilverSpoon.default_scope) retrieve_entitlements(id, [entitlement_key], scope) end |
#retrieve_entitlements(id, entitlement_keys, scope = SilverSpoon.default_scope) ⇒ Object
Retrieve a set of entitlements for a given id
.
63 64 65 |
# File 'lib/silver_spoon/entitlements.rb', line 63 def retrieve_entitlements(id, entitlement_keys, scope = SilverSpoon.default_scope) Hash[*entitlement_keys.zip(SilverSpoon.redis.hmget(silver_spoon_key(id, SilverSpoon.namespace, scope), *entitlement_keys)).flatten!] end |