Class: Vedeu::CLI::Application
- Inherits:
-
Object
- Object
- Vedeu::CLI::Application
- Includes:
- Helpers
- Defined in:
- lib/vedeu/cli/application.rb
Overview
Generates the client application directory and file structure.
:nocov:
Class Method Summary collapse
Instance Method Summary collapse
- #copy_app_name ⇒ void private
- #copy_app_root_files ⇒ void private
- #copy_application_bootstrapper ⇒ void private
- #copy_application_controller ⇒ void private
- #copy_application_executable ⇒ void private
- #copy_application_helper ⇒ void private
- #copy_configuration ⇒ void private
- #copy_global_keymap ⇒ void private
- #directories ⇒ Array<String> private
- #generate ⇒ void
-
#initialize(name) ⇒ Vedeu::CLI::Application
constructor
Returns a new instance of Vedeu::CLI::Application.
- #make_application_executable ⇒ void private
- #make_directory_structure ⇒ void private
Methods included from Helpers
#app_bin_path, #app_borders_path, #app_config_path, #app_controllers_path, #app_geometries_path, #app_helpers_path, #app_keymaps_path, #app_models_path, #app_name, #app_views_path, #copy_file, #log_processed_file, #log_skipped_file, #make_directory, #make_file, #name, #name_as_class, #output, #parse, #source, #touch_file
Constructor Details
#initialize(name) ⇒ Vedeu::CLI::Application
Returns a new instance of Vedeu::CLI::Application.
29 30 31 |
# File 'lib/vedeu/cli/application.rb', line 29 def initialize(name) @name = name end |
Class Method Details
.generate(name) ⇒ Vedeu::CLI::Application
21 22 23 |
# File 'lib/vedeu/cli/application.rb', line 21 def self.generate(name) new(name).generate end |
Instance Method Details
#copy_app_name ⇒ void (private)
This method returns an undefined value.
85 86 87 88 |
# File 'lib/vedeu/cli/application.rb', line 85 def copy_app_name make_file(source + '/config/app_name.erb', app_config_path + 'app_name') end |
#copy_app_root_files ⇒ void (private)
This method returns an undefined value.
91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/vedeu/cli/application.rb', line 91 def copy_app_root_files [ '/Gemfile', '/.gitignore', '/LICENSE.txt', '/README.md', '/.ruby-version', ].each do |file| copy_file((source + file), (app_root_path + file)) end end |
#copy_application_bootstrapper ⇒ void (private)
This method returns an undefined value.
56 57 58 59 |
# File 'lib/vedeu/cli/application.rb', line 56 def copy_application_bootstrapper make_file(source + '/application.erb', app_root_path + '/application.rb') end |
#copy_application_controller ⇒ void (private)
This method returns an undefined value.
62 63 64 65 |
# File 'lib/vedeu/cli/application.rb', line 62 def copy_application_controller make_file(source + '/app/controllers/application_controller.erb', app_controllers_path + 'application_controller.rb') end |
#copy_application_executable ⇒ void (private)
This method returns an undefined value.
68 69 70 |
# File 'lib/vedeu/cli/application.rb', line 68 def copy_application_executable copy_file(source + '/bin/name', app_bin_path + name) end |
#copy_application_helper ⇒ void (private)
This method returns an undefined value.
73 74 75 76 |
# File 'lib/vedeu/cli/application.rb', line 73 def copy_application_helper make_file(source + '/app/helpers/application_helper.erb', app_helpers_path + 'application_helper.rb') end |
#copy_configuration ⇒ void (private)
This method returns an undefined value.
79 80 81 82 |
# File 'lib/vedeu/cli/application.rb', line 79 def copy_configuration make_file(source + '/config/configuration.erb', app_config_path + 'configuration.rb') end |
#copy_global_keymap ⇒ void (private)
This method returns an undefined value.
109 110 111 112 |
# File 'lib/vedeu/cli/application.rb', line 109 def copy_global_keymap copy_file(source + '/app/models/keymaps/_global_.rb', app_keymaps_path + '_global_.rb') end |
#directories ⇒ Array<String> (private)
115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 |
# File 'lib/vedeu/cli/application.rb', line 115 def directories [ '/app/controllers', '/app/helpers', '/app/models/keymaps', '/app/views/interfaces', '/app/views/interfaces/borders', '/app/views/interfaces/geometries', '/app/views/templates', '/bin', '/config', '/lib', '/log', '/test', '/vendor', ] end |
#generate ⇒ void
This method returns an undefined value.
34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/vedeu/cli/application.rb', line 34 def generate make_directory_structure copy_app_root_files copy_application_bootstrapper copy_application_controller copy_application_helper copy_global_keymap copy_application_executable make_application_executable copy_configuration copy_app_name end |
#make_application_executable ⇒ void (private)
This method returns an undefined value.
104 105 106 |
# File 'lib/vedeu/cli/application.rb', line 104 def make_application_executable FileUtils.chmod(0755, "#{name}/bin/#{name}") end |
#make_directory_structure ⇒ void (private)
This method returns an undefined value.
51 52 53 |
# File 'lib/vedeu/cli/application.rb', line 51 def make_directory_structure directories.each { |directory| make_directory(name + directory) } end |