module Cybele::Helpers
Private Instance Methods
Add template content to app_file @param [String] app_file @param [String] template_file Example: append_template_to_file
('env.sample', 'basic_authentication/no_basic_authentication.erb')
# File lib/cybele/helpers.rb, line 45 def append_template_to_file(app_file, template_file) append_file(app_file, template_content(template_file)) end
Add template content to multiple app_files @param [Hash] files { app_file => template_file } Example: append_template_to_files
('config/settings.yml' => 'paperclip/paperclip_settings.yml.erb')
# File lib/cybele/helpers.rb, line 54 def append_template_to_files(files) files.each do |app_file, template_file| append_file(app_file, template_content(template_file)) end end
Change <%= app_name %> string with app_name @param [Array] files Example: configure_app_name(%w)
# File lib/cybele/helpers.rb, line 34 def configure_app_name(files) files.each do |file| gsub_file file, /<%= app_name %>/, app_name end end
Copy template file to app directory @param [Hash] files { template_file => app_file } Example: copy_file 'config/locales/tr.yml', 'config/locales/tr.yml'
# File lib/cybele/helpers.rb, line 87 def copy_files(files) files.each do |template_file, app_file| copy_file template_file, app_file end end
Copy directory to app directory @param [Hash] dirs { template_dir => app_dir } Example: dirs_to_directory
('app_files/app/views/hq' => 'app/views/hq')
# File lib/cybele/helpers.rb, line 98 def dirs_to_directory(dirs) dirs.each do |template_dir, app_dir| directory template_dir, app_dir end end
Create app file from templates @param [Hash] files { template_file => app_file } Example: files_to_template
('dotenv/env.sample.erb' => 'env.sample')
# File lib/cybele/helpers.rb, line 76 def files_to_template(files) files.each do |template_file, app_file| template template_file, app_file, force: true end end
Remove app files @param [Array] app_files %w Example: remove_files(%w)
# File lib/cybele/helpers.rb, line 65 def remove_files(app_files) app_files.each do |app_file| remove_file app_file, force: true end end
Change relative_path file content @param [String] relative_path @param [String] find @param [String] replace Example: replace_in_file
'app/controllers/application_controller.rb',
'respond_to :html', 'respond_to :html, :js, :json'
# File lib/cybele/helpers.rb, line 15 def replace_in_file(relative_path, find, replace) path = File.join(destination_root, relative_path) contents = IO.read(path) raise "#{find.inspect} not found in #{relative_path}" unless contents.gsub!(find, replace) File.open(path, 'w') { |file| file.write(contents) } end
Read template file content @param [String] template_file Example: template_content
('error_pages/error_method.erb')
# File lib/cybele/helpers.rb, line 26 def template_content(template_file) File.read(File.expand_path(find_in_source_paths(template_file))) end