Class: Toni::Builder::PermissionBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/toni/builder.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(resource_name, options = {}, &block) ⇒ PermissionBuilder

Returns a new instance of PermissionBuilder.



48
49
50
51
52
53
# File 'lib/toni/builder.rb', line 48

def initialize(resource_name, options={}, &block)
  @permission = Permission.new(resource_name, [*options[:to]])
  if block_given?
    instance_eval &block
  end
end

Instance Attribute Details

#permissionObject (readonly)

Returns the value of attribute permission.



46
47
48
# File 'lib/toni/builder.rb', line 46

def permission
  @permission
end

Instance Method Details

#expect_attribute(method_name, &block) ⇒ Object

Attribute should always be a column in the database on the resource



56
57
58
# File 'lib/toni/builder.rb', line 56

def expect_attribute(method_name, &block)
  expect_method(method_name, true, &block)
end

#expect_method(method_name, is_attr = false, &block) ⇒ Object

Methods should be defined on the resource



61
62
63
64
# File 'lib/toni/builder.rb', line 61

def expect_method(method_name, is_attr = false, &block)
  builder = ExpectationBuilder.new(&block)
  permission.add_matcher(method_name, builder, is_attr)
end