class KakaxiParse::FarmManagerUser

Public Class Methods

all(limit: DEFUALT_LIMIT) click to toggle source
# File lib/kakaxi_parse/farm_manager_user.rb, line 12
def self.all(limit: DEFUALT_LIMIT)
  to_objects(API.new("classes/#{self.demodulize}", params: { limit: limit }).get)
end
new(id: nil, devices: nil, updated_at: nil, created_at: nil) click to toggle source
Calls superclass method KakaxiParse::BaseModel::new
# File lib/kakaxi_parse/farm_manager_user.rb, line 3
def initialize(id: nil, devices: nil, updated_at: nil, created_at: nil)
  @devices = devices
  super(id, nil, updated_at, created_at)
end
short_name() click to toggle source
# File lib/kakaxi_parse/farm_manager_user.rb, line 8
def self.short_name
  'farm_manager_user'
end
where(hash, limit: DEFUALT_LIMIT) click to toggle source
Calls superclass method KakaxiParse::BaseModel::where
# File lib/kakaxi_parse/farm_manager_user.rb, line 16
def self.where(hash, limit: DEFUALT_LIMIT)
  to_objects(super(self, hash, limit)) if valid_key?(hash)
end

Private Class Methods

to_objects(farm_manager_users) click to toggle source
# File lib/kakaxi_parse/farm_manager_user.rb, line 53
def self.to_objects(farm_manager_users)
  farm_manager_users.map do |user|
    new(
      id: user['objectId'],
      updated_at: user['updatedAt'],
      created_at: user['createdAt']
    )
  end
end
valid_key?(hash) click to toggle source
# File lib/kakaxi_parse/farm_manager_user.rb, line 49
def self.valid_key?(hash)
  hash.keys.all? { |key| %i(id devices updated_at created_at).include? key }
end

Public Instance Methods

add_device(id) click to toggle source
# File lib/kakaxi_parse/farm_manager_user.rb, line 26
def add_device(id)
  params = Datatype::AddRelation.new(KakaxiDevice, [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
remove_device(id) click to toggle source
# File lib/kakaxi_parse/farm_manager_user.rb, line 37
def remove_device(id)
  params = Datatype::RemoveRelation.new(KakaxiDevice, [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
save() click to toggle source
Calls superclass method KakaxiParse::BaseModel#save
# File lib/kakaxi_parse/farm_manager_user.rb, line 20
def save
  params = {}
  params = Datatype::AddRelation.new(KakaxiDevice, @devices.map(&:id)).to_hash if @devices
  id ? false : super(self, params)
end