Class: Guide

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

active                        :boolean          default(FALSE), not null
created_at                    :datetime         not null
creator_id                    :integer
external                      :boolean          default(FALSE), not null
frequency                     :string           not null
id                            :integer          not null, primary key
lock_version                  :integer          default(0), not null
name                          :string           not null
nature                        :string           not null
reference_name                :string
reference_source_content_type :string
reference_source_file_name    :string
reference_source_file_size    :integer
reference_source_updated_at   :datetime
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

#run!(started_at = Time.zone.now) ⇒ Object


70
71
72
73
74
75
76
77
78
# File 'app/models/guide.rb', line 70

def run!(started_at = Time.zone.now)
  statuses = %i[passed passed_with_warnings failed]
  global_status = statuses.sample
  analysis = analyses.create!(acceptance_status: global_status, started_at: started_at, stopped_at: started_at + 10)
  (4 * name.size).times do |i|
    status = statuses[0..(statuses.index(global_status))].sample
    analysis.points.create!(acceptance_status: status, reference_name: "#{name.parameterize.underscore}_check_#{i}", advice_reference_name: (status.to_s == 'failed' ? 'do_something' : nil))
  end
end

#statusObject


66
67
68
# File 'app/models/guide.rb', line 66

def status
  last_analysis ? last_analysis_status : :undefined
end