Sha256: 541dc8aa98adf4992950612c57e70034a8872567d02a02a4440ecc24fab37daa
Contents?: true
Size: 785 Bytes
Versions: 3
Compression:
Stored size: 785 Bytes
Contents
module FinePrint class Signature < ActiveRecord::Base belongs_to :contract, inverse_of: :signatures belongs_to :user, polymorphic: true before_update { false } # no changes allowed validate :contract_published, on: :create validates :contract, presence: true validates :contract_id, uniqueness: { scope: [:user_type, :user_id] } validates :user, presence: true default_scope { order(:contract_id, :user_type, :user_id) } def is_explicit? !is_implicit? end protected ############## # Validation # ############## def contract_published return if contract.is_published? errors.add( :contract, I18n.t('fine_print.signature.errors.contract.not_published') ) false end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
fine_print-4.0.1 | app/models/fine_print/signature.rb |
fine_print-4.0.0 | app/models/fine_print/signature.rb |
fine_print-3.1.0 | app/models/fine_print/signature.rb |