Sha256: 545339ebd1b7e9f3a1b5670362f5b0543bd253355d97e3abddb4203732b89ff8
Contents?: true
Size: 1.11 KB
Versions: 1
Compression:
Stored size: 1.11 KB
Contents
module ForemanSalt class SaltEnvironment < ApplicationRecord include Authorizable extend FriendlyId friendly_id :name has_many :hosts, :class_name => '::Host::Managed' has_many :hostgroups, :class_name => '::Hostgroup' has_many :salt_modules, :through => :salt_module_environments, :before_remove => :remove_from_hosts has_many :salt_module_environments validates :name, :uniqueness => true, :presence => true, :format => { :with => /\A[\w\d\.]+\z/, :message => N_('is alphanumeric and cannot contain spaces') } scoped_search :on => :name, :complete_value => true scoped_search :relation => :hostgroups, :on => :name, :complete_value => true, :rename => :hostgroup scoped_search :relation => :hosts, :on => :name, :complete_value => true, :rename => :host def self.humanize_class_name(_name = nil) _('Salt environment') end def self.permission_name 'salt_environments' end private def remove_from_hosts(state) HostSaltModule.joins(:host).where(:hosts => { :salt_environment_id => id }, :salt_module_id => state).destroy end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
foreman_salt-9.0.0 | app/models/foreman_salt/salt_environment.rb |