class Wooster::Policy::Permissions
Public Class Methods
new(klass)
click to toggle source
# File lib/wooster/policy_builder.rb, line 56 def initialize(klass) @klass = klass end
Public Instance Methods
create( block)
click to toggle source
# File lib/wooster/policy_builder.rb, line 77 def create( block) record(:create,block) end
delete( block)
click to toggle source
# File lib/wooster/policy_builder.rb, line 74 def delete( block) record(:delete,block) end
field(name,type,block)
click to toggle source
# File lib/wooster/policy_builder.rb, line 84 def field(name,type,block) fields = @klass.class_variable_get(:@@wooster_field) fields[name.to_s][type] << block end
field_read(name, block)
click to toggle source
# File lib/wooster/policy_builder.rb, line 88 def field_read(name, block) field name,:read, block end
field_readwrite(name, block)
click to toggle source
# File lib/wooster/policy_builder.rb, line 94 def field_readwrite(name, block) field name,:read, block field name,:write, block end
field_write(name, block)
click to toggle source
# File lib/wooster/policy_builder.rb, line 91 def field_write(name, block) field name,:write, block end
read( block)
click to toggle source
# File lib/wooster/policy_builder.rb, line 71 def read( block) record(:read,block) end
record(*args)
click to toggle source
# File lib/wooster/policy_builder.rb, line 59 def record(*args) block = args.pop if args== [] args = [:read, :write, :delete, :create] end args.each {|type| unless type.is_a?(Symbol) raise ArgumentError end @klass.class_variable_get(:@@wooster_records)[type] << block } end
write(block)
click to toggle source
# File lib/wooster/policy_builder.rb, line 80 def write(block) record(:write,block) end