class KakaxiParse::Farm

Attributes

farmer_id[RW]
location[RW]

Public Class Methods

new( id: nil, name: nil, farmer_id: nil, location: nil, updated_at: nil, created_at: nil ) click to toggle source
Calls superclass method KakaxiParse::BaseModel::new
# File lib/kakaxi_parse/farm.rb, line 6
def initialize(
      id: nil,
      name: nil,
      farmer_id: nil,
      location:  nil,
      updated_at: nil,
      created_at: nil
    )
  @farmer_id = farmer_id
  @location  = location
  super(id, name, updated_at, created_at)
end
short_name() click to toggle source
# File lib/kakaxi_parse/farm.rb, line 23
def self.short_name
  'farm'
end
where(hash, limit: DEFUALT_LIMIT) click to toggle source
Calls superclass method KakaxiParse::BaseModel::where
# File lib/kakaxi_parse/farm.rb, line 19
def self.where(hash, limit: DEFUALT_LIMIT)
  to_objects(super(self, hash, limit, @@belongs_to)) if valid_key?(hash)
end

Private Class Methods

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

Public Instance Methods

devices() click to toggle source
# File lib/kakaxi_parse/farm.rb, line 45
def devices
  KakaxiDevice.where(farm_id: id)
end
farmer() click to toggle source
# File lib/kakaxi_parse/farm.rb, line 41
def farmer
  User.find(farmer_id)
end
save() click to toggle source
Calls superclass method KakaxiParse::BaseModel#save
# File lib/kakaxi_parse/farm.rb, line 27
def save
  id ? false : super(self, { name: name, farmer_id: farmer_id }, @@belongs_to)
end
update(params) click to toggle source
Calls superclass method KakaxiParse::BaseModel#update
# File lib/kakaxi_parse/farm.rb, line 31
def update(params)
  original_params = build_original_params(params)
  if super(self, params, @@belongs_to)
    original_params.each { |key, value| self.send("#{key}=", value) }
    true
  else
    false
  end
end