class KakaxiParse::Role

Public Class Methods

name() click to toggle source
# File lib/kakaxi_parse/role.rb, line 16
def self.name
  '_Role'
end
new( id: nil, name: nil, updated_at: nil, created_at: nil ) click to toggle source
Calls superclass method KakaxiParse::BaseModel::new
# File lib/kakaxi_parse/role.rb, line 3
def initialize(
      id: nil,
      name: nil,
      updated_at: nil,
      created_at: nil
    )
  super(id, name, updated_at, created_at)
end
short_name() click to toggle source
# File lib/kakaxi_parse/role.rb, line 20
def self.short_name
  'role'
end
where(hash, limit: DEFUALT_LIMIT) click to toggle source
Calls superclass method KakaxiParse::BaseModel::where
# File lib/kakaxi_parse/role.rb, line 12
def self.where(hash, limit: DEFUALT_LIMIT)
  to_objects(super(self, hash, limit)) if valid_key?(hash)
end

Private Class Methods

to_objects(roles) click to toggle source
# File lib/kakaxi_parse/role.rb, line 40
def self.to_objects(roles)
  roles.map do |role|
    new(
      id: role['objectId'],
      name: role['name'],
      updated_at: role['updatedAt'],
      created_at: role['createdAt']
    )
  end
end
valid_key?(hash) click to toggle source
# File lib/kakaxi_parse/role.rb, line 36
def self.valid_key?(hash)
  hash.keys.all? { |key| %i(id name farmer_id updated_at created_at).include? key }
end

Public Instance Methods

add_user(id) click to toggle source
# File lib/kakaxi_parse/role.rb, line 24
def add_user(id)
  params = Datatype::AddRelation.new(User, [id]).to_hash
  result = API.new("classes/#{self.class.demodulize}/#{ self.id }", params: params).put
  if result.has_key? 'updatedAt'
    self.updated_at = DateTime.strptime(result['updatedAt'], '%Y-%m-%dT%H:%M:%S.%LZ')
    true
  else
    false
  end
end