class ArethusaPluginGenerator::CLI
Constants
- DIRECTORIES
Attributes
name[R]
namespace[R]
Public Class Methods
source_root()
click to toggle source
# File lib/arethusa_plugin_generator/cli.rb, line 9 def self.source_root File.dirname(__FILE__) end
Public Instance Methods
add_minification()
click to toggle source
# File lib/arethusa_plugin_generator/cli.rb, line 81 def add_minification insert_into_file(gruntfile, after: /pluginFiles\(.*?core.*?\).*?\n/, force: false) do %[ #{name}: { files: pluginFiles('#{namespaced_name}') },\n] end end
add_minification_task()
click to toggle source
# File lib/arethusa_plugin_generator/cli.rb, line 87 def add_minification_task insert_into_file(gruntfile, after: /registerTask.*?minify.*?\n/, force: false) do %{ 'uglify:#{name}',\n} end end
add_module()
click to toggle source
# File lib/arethusa_plugin_generator/cli.rb, line 71 def add_module insert_into_file(arethusa_main, before: /\n\]/, force: false) do ",\n '#{namespaced_name}'" end end
add_to_index()
click to toggle source
# File lib/arethusa_plugin_generator/cli.rb, line 97 def add_to_index insert_into_file(index_file, after: /script.*?core.*?script>\n/) do %{ <script src="../dist/#{namespaced_name}.min.js"></script>\n} end end
arethusa_main()
click to toggle source
# File lib/arethusa_plugin_generator/cli.rb, line 77 def arethusa_main js_dir('arethusa.js') end
commit_changes()
click to toggle source
# File lib/arethusa_plugin_generator/cli.rb, line 140 def commit_changes message = %{"Add skeleton for #{namespaced_name}"} `git add -A` `git commit -m #{message}` sha = `git rev-parse --short HEAD`.chomp puts say_status(:commited, %(#{sha} #{message})) end
create_directories()
click to toggle source
# File lib/arethusa_plugin_generator/cli.rb, line 49 def create_directories DIRECTORIES.each { |dir| empty_directory(send(dir)) } end
create_files()
click to toggle source
# File lib/arethusa_plugin_generator/cli.rb, line 53 def create_files create_module create_service create_html_template end
create_html_template()
click to toggle source
# File lib/arethusa_plugin_generator/cli.rb, line 67 def create_html_template template('templates/html_template.tt', html_template_file) end
create_module()
click to toggle source
# File lib/arethusa_plugin_generator/cli.rb, line 59 def create_module template('templates/module.tt', js_dir("#{namespaced_name}.js")) end
create_service()
click to toggle source
# File lib/arethusa_plugin_generator/cli.rb, line 63 def create_service template('templates/service.tt', plugin_dir("#{name}.js")) end
give_conf_instructions()
click to toggle source
# File lib/arethusa_plugin_generator/cli.rb, line 107 def give_conf_instructions text = <<-EOF Now add your new #{name} plugin to a conf file and add a configuration for it. It could look like this: "#{name}" : { "name" : "#{name}", "template" : "#{html_template_file.slice(/template.*/)}" } EOF puts text.lines.map { |line| "\t#{line}" }.join end
gruntfile()
click to toggle source
# File lib/arethusa_plugin_generator/cli.rb, line 93 def gruntfile File.join(destination_root, 'Gruntfile.js') end
html_template_file()
click to toggle source
# File lib/arethusa_plugin_generator/cli.rb, line 128 def html_template_file template_dir("#{name}.html") end
index_file()
click to toggle source
# File lib/arethusa_plugin_generator/cli.rb, line 103 def index_file File.join(destination_root, 'app', 'index.html') end
js_dir(file = '')
click to toggle source
# File lib/arethusa_plugin_generator/cli.rb, line 132 def js_dir(file = '') File.join(destination_root, 'app/js', file) end
namespaced_name()
click to toggle source
# File lib/arethusa_plugin_generator/cli.rb, line 44 def namespaced_name [namespace, name].compact.join('.') end
new(name)
click to toggle source
# File lib/arethusa_plugin_generator/cli.rb, line 18 def new(name) @name = name @namespace = options[:namespace] create_directories create_files try('insert module into arethusa', :add_module) try('add minification routine', :add_minification) try('add minification task', :add_minification_task) try('add module to index.html', :add_to_index) commit_changes if options[:commit] puts say_status(:success, "Created #{namespaced_name}") give_conf_instructions end
plugin_dir(file = '')
click to toggle source
# File lib/arethusa_plugin_generator/cli.rb, line 120 def plugin_dir(file = '') File.join(js_dir, namespaced_name, file) end
temp_dir()
click to toggle source
# File lib/arethusa_plugin_generator/cli.rb, line 136 def temp_dir File.join(destination_root, 'app/templates') end
template_dir(file = '')
click to toggle source
# File lib/arethusa_plugin_generator/cli.rb, line 124 def template_dir(file = '') File.join(temp_dir, namespaced_name, file) end
try(message, method)
click to toggle source
# File lib/arethusa_plugin_generator/cli.rb, line 38 def try(message, method) puts say_status('trying', "to #{message}...", :yellow) send(method) end