Class: Roleback::Configuration::Builder
- Inherits:
-
Object
- Object
- Roleback::Configuration::Builder
- Defined in:
- lib/roleback/configuration.rb
Instance Method Summary collapse
- #build ⇒ Object
-
#initialize(options = {}, &block) ⇒ Builder
constructor
A new instance of Builder.
- #role(name, options = {}, &block) ⇒ Object
- #validate_options!(options) ⇒ Object
Constructor Details
#initialize(options = {}, &block) ⇒ Builder
Returns a new instance of Builder.
103 104 105 106 107 108 109 |
# File 'lib/roleback/configuration.rb', line 103 def initialize( = {}, &block) = @config = ::Roleback::Configuration.new() @parent = nil instance_eval(&block) if block_given? end |
Instance Method Details
#build ⇒ Object
111 112 113 |
# File 'lib/roleback/configuration.rb', line 111 def build @config end |
#role(name, options = {}, &block) ⇒ Object
115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 |
# File 'lib/roleback/configuration.rb', line 115 def role(name, = {}, &block) roles = @config.instance_variable_get(:@roles) || {} raise ::Roleback::BadConfiguration, "Role #{name} already defined" if roles[name] () parents = [:inherits_from] role = ::Roleback::Definitions::Role.new(name, parents: parents) role.instance_eval(&block) if block_given? roles[name] = role @config.instance_variable_set(:@roles, roles) role end |
#validate_options!(options) ⇒ Object
133 134 135 |
# File 'lib/roleback/configuration.rb', line 133 def () raise ::Roleback::BadConfiguration, "Invalid options" if .keys.any? { |k| ![:inherits_from].include?(k) } end |