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_config_path, #app_controllers_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.
27 28 29 |
# File 'lib/vedeu/cli/application.rb', line 27 def initialize(name) @name = name end |
Class Method Details
.generate(name) ⇒ Vedeu::CLI::Application
19 20 21 |
# File 'lib/vedeu/cli/application.rb', line 19 def self.generate(name) new(name).generate end |
Instance Method Details
#copy_app_name ⇒ void (private)
This method returns an undefined value.
83 84 85 86 |
# File 'lib/vedeu/cli/application.rb', line 83 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.
89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/vedeu/cli/application.rb', line 89 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.
54 55 56 57 |
# File 'lib/vedeu/cli/application.rb', line 54 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.
60 61 62 63 |
# File 'lib/vedeu/cli/application.rb', line 60 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.
66 67 68 |
# File 'lib/vedeu/cli/application.rb', line 66 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.
71 72 73 74 |
# File 'lib/vedeu/cli/application.rb', line 71 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.
77 78 79 80 |
# File 'lib/vedeu/cli/application.rb', line 77 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.
107 108 109 110 |
# File 'lib/vedeu/cli/application.rb', line 107 def copy_global_keymap copy_file(source + '/app/models/keymaps/_global_.rb', app_keymaps_path + '_global_.rb') end |
#directories ⇒ Array<String> (private)
113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 |
# File 'lib/vedeu/cli/application.rb', line 113 def directories [ '/app/controllers', '/app/helpers', '/app/models/keymaps', '/app/views/interfaces', '/app/views/templates', '/bin', '/config', '/lib', '/log', '/test', '/vendor', ] end |
#generate ⇒ void
This method returns an undefined value.
32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/vedeu/cli/application.rb', line 32 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.
102 103 104 |
# File 'lib/vedeu/cli/application.rb', line 102 def make_application_executable FileUtils.chmod(0755, "#{name}/bin/#{name}") end |
#make_directory_structure ⇒ void (private)
This method returns an undefined value.
49 50 51 |
# File 'lib/vedeu/cli/application.rb', line 49 def make_directory_structure directories.each { |directory| make_directory(name + directory) } end |