Class: AccessSchema::SchemaBuilder

Inherits:
BasicBuilder show all
Defined in:
lib/access_schema/builders/schema_builder.rb

Instance Attribute Summary

Attributes inherited from BasicBuilder

#schema

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BasicBuilder

#initialize

Constructor Details

This class inherits a constructor from AccessSchema::BasicBuilder

Class Method Details

.build(&block) ⇒ Object



4
5
6
7
8
# File 'lib/access_schema/builders/schema_builder.rb', line 4

def self.build(&block)
  builder = new(Schema.new)
  builder.instance_eval(&block)
  Proxy.new(builder.schema)
end

.build_file(filename) ⇒ Object



10
11
12
13
14
# File 'lib/access_schema/builders/schema_builder.rb', line 10

def self.build_file(filename)
  builder = new(Schema.new)
  builder.instance_eval(File.read(filename))
  Proxy.new(builder.schema)
end

Instance Method Details

#asserts(&block) ⇒ Object



21
22
23
24
# File 'lib/access_schema/builders/schema_builder.rb', line 21

def asserts(&block)
  builder = AssertsBuilder.new(schema)
  builder.instance_eval(&block)
end

#resource(name, &block) ⇒ Object



26
27
28
29
30
31
# File 'lib/access_schema/builders/schema_builder.rb', line 26

def resource(name, &block)
  resource = Resource.new(name.to_s)
  builder = ResourceBuilder.new(resource)
  builder.instance_eval(&block)
  schema.add_resource(resource)
end

#roles(&block) ⇒ Object



16
17
18
19
# File 'lib/access_schema/builders/schema_builder.rb', line 16

def roles(&block)
  builder = RolesBuilder.new(schema)
  builder.instance_eval(&block)
end