Sha256: a16483270f2d2182733570accbc95c32c879530e44327f3bc4096b8ae39e1db8

Contents?: true

Size: 936 Bytes

Versions: 1

Compression:

Stored size: 936 Bytes

Contents

module ForemanSalt
  class SaltModule < ActiveRecord::Base
    include Taxonomix
    include Authorizable

    before_destroy EnsureNotUsedBy.new(:hosts, :hostgroups)
    has_and_belongs_to_many :hosts, :class_name => "::Host::Managed", :join_table => "hosts_salt_modules",
                            :association_foreign_key => 'host_id'

    has_and_belongs_to_many :hostgroups, :class_name => "::Hostgroup", :join_table => "hostgroups_salt_modules"

    validates :name, :uniqueness => true, :presence => true, :format => { :with => /\A[\w\d]+\z/, :message => N_("is alphanumeric and cannot contain spaces") }

    default_scope lambda {
      order("salt_modules.name")
    }

    scoped_search :on => :name, :complete_value => true
    scoped_search :in => :hostgroups, :on => :name, :complete_value => true, :rename => :hostgroup
    scoped_search :in => :hosts, :on => :name, :complete_value => true, :rename => :host
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
foreman_salt-0.0.2 app/models/foreman_salt/salt_module.rb