Sha256: 76b353fb38f30cda5de46e423dfd8cb2293678ff67f2a97bcac13a40698ce250

Contents?: true

Size: 911 Bytes

Versions: 1

Compression:

Stored size: 911 Bytes

Contents

pp caller
module Coupler
  module Models
    class Matcher < Sequel::Model
      include CommonModel
      many_to_one :scenario
      one_to_many :comparisons

      plugin :nested_attributes
      nested_attributes :comparisons, :destroy => true

      def cross_match?
        comparisons.any? { |c| c.cross_match? }
      end

      private
        def validate
          super
          # use comparisons instead of comparisons_dataset, because the
          # comparisons aren't created yet
          result = comparisons.any? do |comparison|
            comparison.lhs_type == "field" && comparison.rhs_type == "field"
          end
          if !result
            errors.add(:base, "At least one field-to-field comparison is required.")
          end
        end

        def after_save
          super
          s = scenario
          s.set_linkage_type
          s.save
        end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
coupler-0.0.7-java lib/coupler/models/matcher.rb