Class: AccessSchema::Schema

Inherits:
Object
  • Object
show all
Defined in:
lib/access_schema/schema.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeSchema

Returns a new instance of Schema.



6
7
8
9
10
# File 'lib/access_schema/schema.rb', line 6

def initialize
  @roles = []
  @asserts = {}
  @resources = {}
end

Instance Attribute Details

#rolesObject (readonly)

Returns the value of attribute roles.



4
5
6
# File 'lib/access_schema/schema.rb', line 4

def roles
  @roles
end

Instance Method Details

#add_assert(assert) ⇒ Object



16
17
18
# File 'lib/access_schema/schema.rb', line 16

def add_assert(assert)
  @asserts[assert.name] = assert
end

#add_resource(resource) ⇒ Object



20
21
22
# File 'lib/access_schema/schema.rb', line 20

def add_resource(resource)
  @resources[resource.name] = resource
end

#add_role(role) ⇒ Object



12
13
14
# File 'lib/access_schema/schema.rb', line 12

def add_role(role)
  @roles << role
end

#allow?(*args) ⇒ Boolean

Returns:

  • (Boolean)


24
25
26
27
28
29
30
# File 'lib/access_schema/schema.rb', line 24

def allow?(*args)
  require!(*args)
rescue NotAllowedError => e
  false
else
  true
end

#require!(*args) ⇒ Object



32
33
34
# File 'lib/access_schema/schema.rb', line 32

def require!(*args)
  check!(*normalize_args(args))
end