Sha256: 390a199249bc175ed76940f4cd7e3dbe5604b218d236cec5e978a9bbbe2902fe

Contents?: true

Size: 1.06 KB

Versions: 5

Compression:

Stored size: 1.06 KB

Contents

class EnvironmentClass < ActiveRecord::Base
  belongs_to :environment
  belongs_to :puppetclass
  belongs_to :lookup_key
  validates_uniqueness_of :lookup_key_id,  :scope => [:environment_id, :puppetclass_id]
  validates_presence_of :puppetclass_id, :environment_id

  scope :parameters_for_class, lambda {|puppetclasses_ids, environment_id|
      all_parameters_for_class(puppetclasses_ids, environment_id).where(:lookup_keys => {:override => true})
  }
  scope :all_parameters_for_class, lambda {|puppetclasses_ids, environment_id|
    where(:puppetclass_id => puppetclasses_ids, :environment_id => environment_id).
      where('lookup_key_id is NOT NULL').
      includes(:lookup_key)
  }

  #TODO move these into scopes?
  def self.is_in_any_environment(puppetclass, lookup_key)
    EnvironmentClass.where(:puppetclass_id => puppetclass, :lookup_key_id => lookup_key ).count > 0
  end

  def self.key_in_environment(env, puppetclass,  lookup_key)
    EnvironmentClass.where(:environment_id => env, :puppetclass_id => puppetclass, :lookup_key_id => lookup_key ).first
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

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