Class: Ez::Permissions::DSL
- Inherits:
-
Object
- Object
- Ez::Permissions::DSL
- Includes:
- Singleton
- Defined in:
- lib/ez/permissions/dsl.rb
Instance Attribute Summary collapse
-
#resources ⇒ Object
readonly
Returns the value of attribute resources.
Class Method Summary collapse
- .define {|DSL.instance| ... } ⇒ Object
- .resource(name) ⇒ Object
- .resource_action?(resource_name, action_name) ⇒ Boolean
- .resources ⇒ Object
Instance Method Summary collapse
- #add(name, options = {}) ⇒ Object
-
#initialize ⇒ DSL
constructor
A new instance of DSL.
Constructor Details
#initialize ⇒ DSL
Returns a new instance of DSL.
31 32 33 |
# File 'lib/ez/permissions/dsl.rb', line 31 def initialize @resources = [] end |
Instance Attribute Details
#resources ⇒ Object (readonly)
Returns the value of attribute resources.
29 30 31 |
# File 'lib/ez/permissions/dsl.rb', line 29 def resources @resources end |
Class Method Details
.define {|DSL.instance| ... } ⇒ Object
10 11 12 |
# File 'lib/ez/permissions/dsl.rb', line 10 def self.define yield DSL.instance end |
.resource(name) ⇒ Object
18 19 20 |
# File 'lib/ez/permissions/dsl.rb', line 18 def self.resource(name) DSL.instance.resources.find { |r| r.name.to_sym == name.to_sym } end |
.resource_action?(resource_name, action_name) ⇒ Boolean
22 23 24 25 26 27 |
# File 'lib/ez/permissions/dsl.rb', line 22 def self.resource_action?(resource_name, action_name) registed_resource = resource(resource_name) action = registed_resource.actions.include?(action_name.to_sym) if registed_resource registed_resource && action ? true : false end |
.resources ⇒ Object
14 15 16 |
# File 'lib/ez/permissions/dsl.rb', line 14 def self.resources DSL.instance.resources end |
Instance Method Details
#add(name, options = {}) ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/ez/permissions/dsl.rb', line 35 def add(name, = {}) return ("Resource [#{name}] has been already defined!") if self.class.resource(name) resource = Ez::Permissions::Resource.new(name, ) @resources << resource return unless seed_to_db(resource) ( "Resource [#{name}] has been successfully registered with actions: [#{resource.actions.join(', ')}]", 'SUCCESS' ) end |