Class: Etna::Clients::Magma::ConverterBase

Inherits:
Object
  • Object
show all
Defined in:
lib/etna/clients/magma/workflows/json_converters.rb

Direct Known Subclasses

AttributeActionsConverter

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.convert_attribute_user_json_to_magma_json(user_model_json) ⇒ Object



7
8
9
10
11
12
13
14
15
# File 'lib/etna/clients/magma/workflows/json_converters.rb', line 7

def self.convert_attribute_user_json_to_magma_json(user_model_json)
  json_attribute = Marshal.load(Marshal.dump(user_model_json['attributes']))
  return unless json_attribute

  json_attribute.keys.each do |attribute_name|
    json_attribute[attribute_name]['attribute_type'] = Etna::Clients::Magma::AttributeType::IDENTIFIER if user_model_json['identifier'] == attribute_name
  end
  json_attribute
end

.convert_model_user_json_to_magma_json(model_name, user_json) ⇒ Object



17
18
19
20
21
22
23
24
25
26
# File 'lib/etna/clients/magma/workflows/json_converters.rb', line 17

def self.convert_model_user_json_to_magma_json(model_name, user_json)
  json_model = Marshal.load(Marshal.dump(user_json))
  json_model['template'] = {
    'name' => model_name,
    'identifier' => user_json['identifier'],
    'parent' => user_json['parent_model_name'],
    'attributes' => convert_attribute_user_json_to_magma_json(json_model)
  }
  json_model
end

.convert_project_user_json_to_magma_json(user_json) ⇒ Object



28
29
30
31
32
33
34
35
36
37
# File 'lib/etna/clients/magma/workflows/json_converters.rb', line 28

def self.convert_project_user_json_to_magma_json(user_json)
  magma_models_json = {}
  user_json['models'].keys.each do |model_name|
    magma_models_json[model_name] = convert_model_user_json_to_magma_json(
      model_name,
      user_json['models'][model_name])
  end
  user_json['models'] = magma_models_json
  user_json
end

Instance Method Details

#prettify(name) ⇒ Object



39
40
41
# File 'lib/etna/clients/magma/workflows/json_converters.rb', line 39

def prettify(name)
  name.split('_').map(&:capitalize).join(' ')
end