class Arethusa::CLI::Generator
Constants
- DIRECTORIES
Public Class Methods
source_root()
click to toggle source
# File lib/arethusa/cli/generator.rb, line 7 def self.source_root File.dirname(__FILE__) end
Public Instance Methods
add_to_gruntfile()
click to toggle source
# File lib/arethusa/cli/generator.rb, line 81 def add_to_gruntfile insert_into_file(gruntfile, after: /var arethusaModules.*?\n/, force: false) do %[ "#{namespaced_name}",\n] end end
add_to_index()
click to toggle source
# File lib/arethusa/cli/generator.rb, line 91 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
commit_changes(spec = false)
click to toggle source
# File lib/arethusa/cli/generator.rb, line 114 def commit_changes(spec = false) sp = spec ? "spec " : "" message = %{"Add #{sp}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/cli/generator.rb, line 71 def create_directories DIRECTORIES.each { |dir| empty_directory(send(dir)) } end
create_files()
click to toggle source
# File lib/arethusa/cli/generator.rb, line 75 def create_files create_module create_service create_html_template end
give_conf_instructions()
click to toggle source
# File lib/arethusa/cli/generator.rb, line 101 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(true)}" : { "name" : "#{name(true)}", "template" : "#{html_template_file.slice(/template.*/)}" } EOF puts text.lines.map { |line| "\t#{line}" }.join end
gruntfile()
click to toggle source
# File lib/arethusa/cli/generator.rb, line 87 def gruntfile File.join(destination_root, 'Gruntfile.js') end
index_file()
click to toggle source
# File lib/arethusa/cli/generator.rb, line 97 def index_file File.join(destination_root, 'app', 'index.html') end
plugin(name)
click to toggle source
# File lib/arethusa/cli/generator.rb, line 18 def plugin(name) @name = name @namespace = options[:namespace] create_directories create_files try('add to Gruntfile', :add_to_gruntfile) 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
retriever(mod, name)
click to toggle source
# File lib/arethusa/cli/generator.rb, line 52 def retriever(mod, name) @module = mod @name = name create_retriever create_retriever_spec end
spec(name)
click to toggle source
# File lib/arethusa/cli/generator.rb, line 40 def spec(name) @name = name @namespace = options[:namespace] empty_directory(spec_dir) create_spec commit_changes if options[:commit] say_status(:success, "Created spec file for #{namespaced_name}") end
try(message, method)
click to toggle source
# File lib/arethusa/cli/generator.rb, line 64 def try(message, method) puts say_status('trying', "to #{message}...", :yellow) send(method) end