diff options
| author | Vlatka Pavisic | 2017-03-16 14:48:15 +0100 |
|---|---|---|
| committer | Vlatka Pavisic | 2017-03-16 14:48:22 +0100 |
| commit | 05084265e493358d0c4b0bd8a08b35502f480f9d (patch) | |
| tree | 1e92ef8432c835bbdbf2ade7c357382eddd20c95 | |
| parent | 0bffe28b645ff4beeeca31a68dc65475f440a774 (diff) | |
| download | chouette-core-05084265e493358d0c4b0bd8a08b35502f480f9d.tar.bz2 | |
DRY
| -rw-r--r-- | app/models/chouette/route_section.rb | 3 | ||||
| -rw-r--r-- | app/models/chouette/stop_area.rb | 9 | ||||
| -rw-r--r-- | app/models/chouette/time_table_period.rb | 15 | ||||
| -rw-r--r-- | app/models/compliance_check_task.rb | 31 | ||||
| -rw-r--r-- | app/models/concerns/report_concern.rb | 5 |
5 files changed, 29 insertions, 34 deletions
diff --git a/app/models/chouette/route_section.rb b/app/models/chouette/route_section.rb index 99f1e776f..3ce4232be 100644 --- a/app/models/chouette/route_section.rb +++ b/app/models/chouette/route_section.rb @@ -4,8 +4,7 @@ class Chouette::RouteSection < Chouette::TridentActiveRecord has_many :journey_pattern_sections has_many :journey_patterns, through: :journey_pattern_sections, dependent: :destroy - validates :departure, :arrival, presence: true - validates :processed_geometry, presence: true + validates :departure, :arrival, :processed_geometry, presence: true scope :by_endpoint_name, ->(endpoint, name) do joins("INNER JOIN stop_areas #{endpoint} ON #{endpoint}.id = route_sections.#{endpoint}_id").where(["#{endpoint}.name ilike ?", "%#{name}%"]) diff --git a/app/models/chouette/stop_area.rb b/app/models/chouette/stop_area.rb index cada56384..3301dd374 100644 --- a/app/models/chouette/stop_area.rb +++ b/app/models/chouette/stop_area.rb @@ -18,9 +18,12 @@ class Chouette::StopArea < Chouette::ActiveRecord # include DefaultAttributesSupport include StopAreaReferentialSupport - has_many :stop_points, :dependent => :destroy - has_many :access_points, :dependent => :destroy - has_many :access_links, :dependent => :destroy + with_options dependent: :destroy do |assoc| + assoc.has_many :stop_points + assoc.has_many :access_points + assoc.has_many :access_links + end + has_and_belongs_to_many :routing_lines, :class_name => 'Chouette::Line', :foreign_key => "stop_area_id", :association_foreign_key => "line_id", :join_table => "routing_constraints_lines", :order => "lines.number" has_and_belongs_to_many :routing_stops, :class_name => 'Chouette::StopArea', :foreign_key => "parent_id", :association_foreign_key => "child_id", :join_table => "stop_areas_stop_areas", :order => "stop_areas.name" diff --git a/app/models/chouette/time_table_period.rb b/app/models/chouette/time_table_period.rb index 0a75c18c3..6d3486bb6 100644 --- a/app/models/chouette/time_table_period.rb +++ b/app/models/chouette/time_table_period.rb @@ -3,16 +3,15 @@ class Chouette::TimeTablePeriod < Chouette::ActiveRecord belongs_to :time_table, inverse_of: :periods acts_as_list :scope => 'time_table_id = #{time_table_id}',:top_of_list => 0 - validates_presence_of :period_start - validates_presence_of :period_end - + validates_presence_of :period_start, :period_end + validate :start_must_be_before_end - + def self.model_name ActiveModel::Name.new Chouette::TimeTablePeriod, Chouette, "TimeTablePeriod" end - + def start_must_be_before_end # security against nil values if period_end.nil? || period_start.nil? @@ -22,11 +21,11 @@ class Chouette::TimeTablePeriod < Chouette::ActiveRecord errors.add(:period_end,I18n.t("activerecord.errors.models.time_table_period.start_must_be_before_end")) end end - + def copy Chouette::TimeTablePeriod.new(:period_start => self.period_start,:period_end => self.period_end) end - + # Test to see if a period overlap this period def overlap?(p) (p.period_start >= self.period_start && p.period_start <= self.period_end) || (p.period_end >= self.period_start && p.period_end <= self.period_end) @@ -36,5 +35,5 @@ class Chouette::TimeTablePeriod < Chouette::ActiveRecord def contains?(p) (p.period_start >= self.period_start && p.period_end <= self.period_end) end - + end diff --git a/app/models/compliance_check_task.rb b/app/models/compliance_check_task.rb index 9ec6bbe27..da0508cbf 100644 --- a/app/models/compliance_check_task.rb +++ b/app/models/compliance_check_task.rb @@ -5,15 +5,12 @@ class ComplianceCheckTask extend ActiveModel::Callbacks include ActiveModel::Validations include ActiveModel::Conversion - + enumerize :references_type, in: %w( network line company group_of_line ) attr_accessor :rule_parameter_set_id, :referential_id, :user_id, :user_name, :name, :references_type, :reference_ids - - validates_presence_of :referential_id - validates_presence_of :user_id - validates_presence_of :user_name - validates_presence_of :name - + + validates_presence_of :referential_id, :user_id, :user_name, :name + def initialize( params = {} ) params.each {|k,v| send("#{k}=",v)} end @@ -33,10 +30,10 @@ class ComplianceCheckTask def save if valid? # Call Iev Server - begin + begin Ievkit.create_job( referential.slug, "validator", "", { :file1 => params_io, - } ) + } ) rescue Exception => exception raise exception end @@ -45,7 +42,7 @@ class ComplianceCheckTask false end end - + def self.references_types self.references_type.values end @@ -66,16 +63,16 @@ class ComplianceCheckTask "organisation_name" => organisation.name, "referential_name" => referential.name, } - + } end def validation_params { "validation" => rule_parameter_set.parameters - } if rule_parameter_set.present? + } if rule_parameter_set.present? end - + def self.data_formats self.data_format.values end @@ -83,7 +80,7 @@ class ComplianceCheckTask def params_io file = StringIO.new( params.to_json ) Faraday::UploadIO.new(file, "application/json", "parameters.json") - end + end def transport_data_io file = File.new(saved_resources_path, "r") @@ -91,8 +88,8 @@ class ComplianceCheckTask Faraday::UploadIO.new(file, "application/zip", original_filename ) elsif file_extname == ".xml" Faraday::UploadIO.new(file, "application/xml", original_filename ) - end - end + end + end def save_resources FileUtils.mkdir_p root @@ -106,7 +103,7 @@ class ComplianceCheckTask def original_filename resources.original_filename end - + def file_extname File.extname(resources.original_filename) end diff --git a/app/models/concerns/report_concern.rb b/app/models/concerns/report_concern.rb index b0157fec3..f195f8f36 100644 --- a/app/models/concerns/report_concern.rb +++ b/app/models/concerns/report_concern.rb @@ -11,10 +11,7 @@ module ReportConcern module ClassMethods end - delegate :progression?, to: :datas - delegate :progression, to: :datas - delegate :zip_file, to: :datas - delegate :stats, to: :datas + delegate :progression?, :progression, :zip_file, :stats, to: :datas def failure_code? datas.result == "NOK" && datas.failure? |
