Sha256: 43ca78456dc43b1692761156e6654152c3e0bcd3aa7ce2120660a8deff010898

Contents?: true

Size: 645 Bytes

Versions: 5

Compression:

Stored size: 645 Bytes

Contents

require 'puppet/rails'

class UserFact < ActiveRecord::Base
  belongs_to :user
  belongs_to :fact_name

  validates_inclusion_of :andor,    :in => %w{and or}
  validates_inclusion_of :operator, :in => %w{= !=  > >= < <= }
  validates_presence_of  :fact_name
  validates_presence_of  :criteria
  validates_presence_of  :user
  before_validation :set_defaults

  def to_s
    n  = user.try(:name) || _("Unknown user")
    fn = fact_name.try(:name) || _("Unknown fact")
    "#{n}:#{fn}:#{criteria.empty? ? "Empty" : criteria}:#{operator}:#{andor}"
  end

  private
  def set_defaults
    self.operator ||= "="
    self.andor    ||= "or"
  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
foreman_discovery-1.0.0 test/foreman_app/app/models/user_fact.rb
foreman_discovery-1.0.0.rc4 test/foreman_app/app/models/user_fact.rb
foreman_discovery-1.0.0.rc3 test/foreman_app/app/models/user_fact.rb
foreman_discovery-1.0.0.rc2 test/foreman_app/app/models/user_fact.rb
foreman_discovery-1.0.0.rc1 test/foreman_app/app/models/user_fact.rb