class Finatra
Public Class Methods
source_root()
click to toggle source
# File lib/finatra.rb, line 7 def self.source_root File.expand_path(File.dirname(__FILE__)) end
Public Instance Methods
compile()
click to toggle source
# File lib/finatra.rb, line 31 def compile exec "mvn compile" end
console()
click to toggle source
# File lib/finatra.rb, line 26 def console exec "mvn scala:console" end
new(name)
click to toggle source
# File lib/finatra.rb, line 12 def new(name) @app_name = name.to_s.gsub(/[^a-zA-Z0-9]/,'') @dir_name = name.downcase.to_s.gsub(/[^a-zA-Z0-9]/,'') @org_name = ask 'Org Name (com.<username>)' while @org_name.to_s.empty? log "Creating #{@app_name} in #{Dir.pwd}..." copy_project_files create_controller create_controller_test create_template end
package()
click to toggle source
# File lib/finatra.rb, line 46 def package exec "mvn package" end
start()
click to toggle source
# File lib/finatra.rb, line 36 def start exec "mvn scala:run" end
test()
click to toggle source
# File lib/finatra.rb, line 41 def test exec "mvn test" end
Private Instance Methods
copy_project_files()
click to toggle source
# File lib/finatra.rb, line 52 def copy_project_files directory "templates/project", @dir_name end
create_controller()
click to toggle source
# File lib/finatra.rb, line 56 def create_controller template "templates/App.scala.tt", "#{src_dir}/#{@app_name}.scala" end
create_controller_test()
click to toggle source
# File lib/finatra.rb, line 60 def create_controller_test template "templates/Spec.scala.tt", "#{test_dir}/#{@app_name}Spec.scala" end
create_template()
click to toggle source
# File lib/finatra.rb, line 64 def create_template template "templates/timeline.mustache.tt", "#{resource_dir}/timeline.mustache" end
log(msg)
click to toggle source
# File lib/finatra.rb, line 80 def log(msg) puts "[finatra] :: #{msg}" end
resource_dir()
click to toggle source
# File lib/finatra.rb, line 72 def resource_dir "#{@dir_name}/src/main/resources" end
src_dir()
click to toggle source
# File lib/finatra.rb, line 68 def src_dir "#{@dir_name}/src/main/scala/#{@org_name.gsub('.','/')}/#{@dir_name}" end
test_dir()
click to toggle source
# File lib/finatra.rb, line 76 def test_dir "#{@dir_name}/src/test/scala/#{@org_name.gsub('.','/')}/#{@dir_name}" end