Class: ForemanAcd::AnsiblePlaybook
- Inherits:
-
ApplicationRecord
- Object
- ApplicationRecord
- ForemanAcd::AnsiblePlaybook
- Extended by:
- FriendlyId
- Includes:
- Authorizable, Parameterizable::ByIdName, Taxonomix
- Defined in:
- app/models/foreman_acd/ansible_playbook.rb
Overview
Ansible playbook
Class Method Summary collapse
Instance Method Summary collapse
- #as_unified_structobj ⇒ Object
- #content ⇒ Object
- #used_location_ids ⇒ Object
- #used_organization_ids ⇒ Object
Class Method Details
.humanize_class_name(_name = nil) ⇒ Object
38 39 40 |
# File 'app/models/foreman_acd/ansible_playbook.rb', line 38 def self.humanize_class_name(_name = nil) _('Ansible playbook') end |
.permission_name ⇒ Object
42 43 44 |
# File 'app/models/foreman_acd/ansible_playbook.rb', line 42 def self. 'ansible_playbooks' end |
Instance Method Details
#as_unified_structobj ⇒ Object
55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'app/models/foreman_acd/ansible_playbook.rb', line 55 def as_unified_structobj # FIXME: For now, we convert all values to string - even booleans and dicts pretty_groups = JSON.parse(vars).each do |_, params| params.transform_values!(&:to_s) end OpenStruct.new( :id => id, :name => name, :groups => pretty_groups ) end |
#content ⇒ Object
46 47 48 49 50 51 52 53 |
# File 'app/models/foreman_acd/ansible_playbook.rb', line 46 def content case scm_type when 'directory' || 'git' File.read(File.join(path, playfile)) else raise NotImplementedError, "scm_type #{scm_type.inspect} not supported!" end end |
#used_location_ids ⇒ Object
24 25 26 27 28 29 |
# File 'app/models/foreman_acd/ansible_playbook.rb', line 24 def used_location_ids Location.joins(:taxable_taxonomies).where( 'taxable_taxonomies.taxable_type' => 'ForemanAcd::AnsiblePlaybook', 'taxable_taxonomies.taxable_id' => id ).pluck("#{Taxonomy.table_name}.id") end |
#used_organization_ids ⇒ Object
31 32 33 34 35 36 |
# File 'app/models/foreman_acd/ansible_playbook.rb', line 31 def used_organization_ids Organization.joins(:taxable_taxonomies).where( 'taxable_taxonomies.taxable_type' => 'ForemanAcd::AnsiblePlaybook', 'taxable_taxonomies.taxable_id' => id ).pluck("#{Taxonomy.table_name}.id") end |