Module: Sem::API::Traits::AssociatedWithSharedConfig

Included in:
EnvVars, Files
Defined in:
lib/sem/api/traits/associated_with_shared_config.rb

Instance Method Summary collapse

Instance Method Details

#add_to_shared_config(shared_config_path, params) ⇒ Object



13
14
15
16
17
# File 'lib/sem/api/traits/associated_with_shared_config.rb', line 13

def add_to_shared_config(shared_config_path, params)
  shared_config = SharedConfigs.info(shared_config_path)

  api.create_for_shared_config(shared_config[:id], params)
end

#list_for_shared_config(shared_config_path) ⇒ Object



5
6
7
8
9
10
11
# File 'lib/sem/api/traits/associated_with_shared_config.rb', line 5

def list_for_shared_config(shared_config_path)
  shared_config = SharedConfigs.info(shared_config_path)

  instances = api.list_for_shared_config(shared_config[:id])

  instances.map { |instance| to_hash(instance) }
end

#remove_from_shared_config(shared_config_path, instance_name) ⇒ Object



19
20
21
22
23
24
25
# File 'lib/sem/api/traits/associated_with_shared_config.rb', line 19

def remove_from_shared_config(shared_config_path, instance_name)
  instances = list_for_shared_config(shared_config_path)

  selected_instance = instances.find { |instance| instance[:name] == instance_name }

  api.delete(selected_instance[:id])
end