Class: SupervisionItem

Inherits:
Ekylibre::Record::Base show all
Defined in:
app/models/supervision_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: supervision_items

color          :string
created_at     :datetime         not null
creator_id     :integer
id             :integer          not null, primary key
lock_version   :integer          default(0), not null
sensor_id      :integer          not null
supervision_id :integer          not null
updated_at     :datetime         not null
updater_id     :integer

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

#geolocalized?Boolean

Returns:

  • (Boolean)

63
64
65
# File 'app/models/supervision_item.rb', line 63

def geolocalized?
  true
end

#geolocation_pathObject


59
60
61
# File 'app/models/supervision_item.rb', line 59

def geolocation_path
  analyses.where('sampled_at > ?', Time.now - time_window)
end

#historic_of(indicator_name) ⇒ Object


53
54
55
56
57
# File 'app/models/supervision_item.rb', line 53

def historic_of(indicator_name)
  analysis_items.includes(:analysis).where(indicator_name: indicator_name).where('sampled_at > ?', Time.now - time_window).collect do |item|
    [item.analysis.sampled_at.to_usec, item.value.to_f]
  end
end

#indicator_namesObject


48
49
50
51
# File 'app/models/supervision_item.rb', line 48

def indicator_names
  list = analysis_items.pluck(:indicator_name)
  list.uniq
end