Class: ForemanKatelloEngine::Environment
- Inherits:
-
Object
- Object
- ForemanKatelloEngine::Environment
- Defined in:
- app/models/foreman_katello_engine/environment.rb
Defined Under Namespace
Classes: Conflict
Class Method Summary collapse
- .create!(org_label, env_label, content_view_label, content_view_id) ⇒ Object
- .find(org_label, env_label, content_view_label) ⇒ Object
- .generate_katello_id(org_label, env_label, content_view_label) ⇒ Object
-
.generate_name(org_label, env_label, content_view_label, content_view_id) ⇒ Object
content_view_id provides the uniqueness of the name.
Class Method Details
.create!(org_label, env_label, content_view_label, content_view_id) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'app/models/foreman_katello_engine/environment.rb', line 11 def self.create!(org_label, env_label, content_view_label, content_view_id) katello_id = generate_katello_id(org_label, env_label, content_view_label) ::Environment.transaction do if existing_env = ::Environment.where(:katello_id => katello_id).first raise Conflict, "environment already exists: #{existing_env.id} - #{existing_env.name}" end ::Environment.create! do |env| env.name = generate_name(org_label, env_label, content_view_label, content_view_id) env.katello_id = katello_id yield env if block_given? end end end |
.find(org_label, env_label, content_view_label) ⇒ Object
6 7 8 9 |
# File 'app/models/foreman_katello_engine/environment.rb', line 6 def self.find(org_label, env_label, content_view_label) katello_id = generate_katello_id(org_label, env_label, content_view_label) ::Environment.where(:katello_id => katello_id).first end |
.generate_katello_id(org_label, env_label, content_view_label) ⇒ Object
25 26 27 28 29 |
# File 'app/models/foreman_katello_engine/environment.rb', line 25 def self.generate_katello_id(org_label, env_label, content_view_label) raise ArgumentError, "org_label has to be specified" if org_label.blank? raise ArgumentError, "env_label has to be specified" if env_label.blank? [org_label, env_label, content_view_label].reject(&:blank?).join('/') end |
.generate_name(org_label, env_label, content_view_label, content_view_id) ⇒ Object
content_view_id provides the uniqueness of the name
32 33 34 35 |
# File 'app/models/foreman_katello_engine/environment.rb', line 32 def self.generate_name(org_label, env_label, content_view_label, content_view_id) name = ["KT", org_label, env_label, content_view_label, content_view_id].reject(&:blank?).join('_') return name.gsub('-','_') end |