Class: Foobara::Autocrud::CreateType

Inherits:
AutocrudCommand show all
Defined in:
foobara-autocrud-0.0.1/src/create_type.rb

Constant Summary

Constants included from TruncatedInspect

TruncatedInspect::MAX_LENGTH

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from AutocrudCommand

#validate, #validate_base!

Methods inherited from Command

install!

Methods included from TruncatedInspect

#inspect, truncating

Methods included from Concern

foobara_class_methods_module_for, foobara_concern?, included

Instance Attribute Details

#typeObject

Returns the value of attribute type.



22
23
24
# File 'src/create_type.rb', line 22

def type
  @type
end

Instance Method Details

#build_typeObject



24
25
26
# File 'src/create_type.rb', line 24

def build_type
  self.type = run_subcommand!(BuildType, type_declaration:, domain:, type_symbol:)
end

#executeObject



15
16
17
18
19
20
# File 'src/create_type.rb', line 15

def execute
  build_type
  persist_type

  type
end

#persist_typeObject



28
29
30
31
32
33
34
35
36
# File 'src/create_type.rb', line 28

def persist_type
  PersistedType.create(
    Util.remove_blank(
      type_declaration: type.declaration_data,
      type_symbol: type.type_symbol,
      full_domain_name: type.foobara_domain.scoped_full_name
    )
  )
end