class NCMB::Acl

Public Class Methods

new(params = nil) click to toggle source
# File lib/ncmb/acl.rb, line 7
def initialize(params = nil)
  @fields = {'*': {
      read: true,
      write: true
    }
  }
  if params
    @fields = @fields.merge(params)
  end
end

Public Instance Methods

fields() click to toggle source
# File lib/ncmb/acl.rb, line 29
def fields
  @fields
end
public(read_or_write, bol = true) click to toggle source
# File lib/ncmb/acl.rb, line 33
def public(read_or_write, bol = true)
  @fields['*'.to_sym][read_or_write.to_sym] = bol
end
role(role, read_or_write, value = true) click to toggle source

:reek: DuplicateMethodCall { max_calls: 2 }

# File lib/ncmb/acl.rb, line 44
def role(role, read_or_write, value = true)
  @fields[role.name.to_sym] = {read: true, write: true} unless @fields[role.name.to_sym]
  @fields[role.name.to_sym][read_or_write.to_sym] = value
end
to_json(a = "") click to toggle source
# File lib/ncmb/acl.rb, line 18
def to_json(a = "")
  params = {}
  @fields.each do |key, value|
    params[key.to_sym] = {} if value[:read] || value[:write]
    [:read, :write].each do |name|
      params[key.to_sym][name] = true if value[name]
    end
  end
  params.to_json
end
user(user, read_or_write, value = true) click to toggle source

:reek: DuplicateMethodCall { max_calls: 2 }

# File lib/ncmb/acl.rb, line 38
def user(user, read_or_write, value = true)
  @fields[user.objectId.to_sym] = {read: true, write: true} unless @fields[user.objectId.to_sym]
  @fields[user.objectId.to_sym][read_or_write.to_sym] = value
end