Class: PlantCountingItem

Inherits:
Ekylibre::Record::Base show all
Defined in:
app/models/plant_counting_item.rb

Overview

Informations

License

Ekylibre - Simple agricultural ERP Copyright (C) 2008-2009 Brice Texier, Thibaud Merigon Copyright (C) 2010-2012 Brice Texier Copyright (C) 2012-2019 Brice Texier, David Joulin

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see www.gnu.org/licenses.

Table: plant_counting_items

created_at        :datetime         not null
creator_id        :integer
id                :integer          not null, primary key
lock_version      :integer          default(0), not null
plant_counting_id :integer          not null
updated_at        :datetime         not null
updater_id        :integer
value             :integer          not null

Instance Method Summary collapse

Methods inherited from Ekylibre::Record::Base

#already_updated?, #check_if_destroyable?, #check_if_updateable?, columns_definition, #customizable?, customizable?, #customized?, #destroyable?, #editable?, has_picture, #human_attribute_name, nomenclature_reflections, #old_record, #others, refers_to, #unsuppress, #updateable?

Methods included from Userstamp::Stampable

included

Methods included from Userstamp::Stamper

included

Instance Method Details

#measured_seeding_densityObject


60
61
62
63
# File 'app/models/plant_counting_item.rb', line 60

def measured_seeding_density
  density = value * 10_000 / implanter_working_width.to_d(:meter)
  density.in :unity_per_hectare
end

#siblingsObject


56
57
58
# File 'app/models/plant_counting_item.rb', line 56

def siblings
  plant_counting.items
end

#update_average_valueObject


49
50
51
52
53
54
# File 'app/models/plant_counting_item.rb', line 49

def update_average_value
  plant_counting.reload
  items = plant_counting.items
  average_value = items.any? ? items.average(:value) : 0
  plant_counting.update_column(:average_value, average_value)
end