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