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