Class: Avm::EacRubyBase1::SourceGenerators::Base

Inherits:
SourceGenerators::Base
  • Object
show all
Defined in:
lib/avm/eac_ruby_base1/source_generators/base.rb,
lib/avm/eac_ruby_base1/source_generators/base/options.rb,
lib/avm/eac_ruby_base1/source_generators/base/dependencies.rb,
lib/avm/eac_ruby_base1/source_generators/base/gemfile_lock.rb,
lib/avm/eac_ruby_base1/source_generators/base/version_builder.rb

Defined Under Namespace

Modules: Dependencies, GemfileLock, Options Classes: VersionBuilder

Constant Summary collapse

GEMSPEC_FILES_DIRECTORY_PATHS =
%w[lib].freeze
GEMSPEC_FILES_FILE_PATHS =
[].freeze
IDENT =
'  '
JOBS =
%w[gemspec root_lib version_lib gemfile_lock].freeze
TEMPLATE_VARIABLES =
%w[lib_path name root_module].freeze

Instance Method Summary collapse

Instance Method Details

#gemspec_extraString

Returns:

  • (String)


23
24
25
# File 'lib/avm/eac_ruby_base1/source_generators/base.rb', line 23

def gemspec_extra
  gemspec_extra_lines.map { |line| "\n#{IDENT}#{line}" }.join
end

#gemspec_extra_linesArray<String>

Returns:

  • (Array<String>)


28
29
30
# File 'lib/avm/eac_ruby_base1/source_generators/base.rb', line 28

def gemspec_extra_lines
  []
end

#gemspec_files_directory_pathsArray<String>

Returns:

  • (Array<String>)


44
45
46
# File 'lib/avm/eac_ruby_base1/source_generators/base.rb', line 44

def gemspec_files_directory_paths
  GEMSPEC_FILES_DIRECTORY_PATHS
end

#gemspec_files_file_pathsArray<String>

Returns:

  • (Array<String>)


49
50
51
# File 'lib/avm/eac_ruby_base1/source_generators/base.rb', line 49

def gemspec_files_file_paths
  GEMSPEC_FILES_FILE_PATHS
end

#gemspec_files_pathsArray<String>

Returns:

  • (Array<String>)


38
39
40
41
# File 'lib/avm/eac_ruby_base1/source_generators/base.rb', line 38

def gemspec_files_paths
  ["{#{gemspec_files_directory_paths.sort.join(',')}}/**/*"] +
    gemspec_files_file_paths.sort
end

#gemspec_files_valueString

Returns:

  • (String)


33
34
35
# File 'lib/avm/eac_ruby_base1/source_generators/base.rb', line 33

def gemspec_files_value
  "Dir[#{gemspec_files_paths.map { |path| "'#{path}'" }.join(', ')}]"
end

#lib_pathObject



53
54
55
# File 'lib/avm/eac_ruby_base1/source_generators/base.rb', line 53

def lib_path
  name.split('-').join('/')
end

#root_moduleObject



57
58
59
# File 'lib/avm/eac_ruby_base1/source_generators/base.rb', line 57

def root_module
  lib_path.camelize
end

#root_module_closeObject



61
62
63
64
65
# File 'lib/avm/eac_ruby_base1/source_generators/base.rb', line 61

def root_module_close
  root_module_components.count.times.map do |index|
    "#{IDENT * index}end"
  end.reverse.join("\n")
end

#root_module_componentsObject



77
78
79
# File 'lib/avm/eac_ruby_base1/source_generators/base.rb', line 77

def root_module_components
  root_module.split('::')
end

#root_module_inner_identationObject



67
68
69
# File 'lib/avm/eac_ruby_base1/source_generators/base.rb', line 67

def root_module_inner_identation
  IDENT * root_module_components.count
end

#root_module_openObject



71
72
73
74
75
# File 'lib/avm/eac_ruby_base1/source_generators/base.rb', line 71

def root_module_open
  root_module_components.each_with_index.map do |component, index|
    "#{IDENT * index}module #{component}"
  end.join("\n")
end