class ELA::Jasmine

Constants

APP_SRC_FILE_SPECS
ELA_JS_PATH
ELA_JS_PREFIX
ELA_SPEC_HELPERS_PATH
ELA_SPEC_HELPERS_PREFIX
ELA_SRC_FILE_SPECS

Public Class Methods

expand_specs(specs, path, prefix = '') click to toggle source
# File lib/ela/jasmine.rb, line 79
def self.expand_specs(specs, path, prefix = '')
  specs.map do |spec|
    Dir[File.join(path, spec)].map do |file|
      file.gsub(path, prefix)
    end.sort
  end
end
run() click to toggle source
# File lib/ela/jasmine.rb, line 62
def self.run
  configure
  ::Jasmine::CiRunner.new(::Jasmine.config).run
end
spec_files() click to toggle source
# File lib/ela/jasmine.rb, line 75
def self.spec_files
  Dir.glob(File.join(Dir.pwd, 'spec/javascripts/**/*[sS]pec.js'))
end
src_files() click to toggle source
# File lib/ela/jasmine.rb, line 67
def self.src_files
  [
    expand_specs(ELA_SRC_FILE_SPECS, ELA_JS_PATH, ELA_JS_PREFIX),
    expand_specs(APP_SRC_FILE_SPECS, ::Jasmine.config.src_dir),
    expand_specs(['**/*.js'], ELA_SPEC_HELPERS_PATH, ELA_SPEC_HELPERS_PREFIX)
  ].flatten
end
start_server() click to toggle source
# File lib/ela/jasmine.rb, line 53
def self.start_server
  configure
  ::Jasmine::Server.new(
    ::Jasmine.config.port(:server),
    ::Jasmine::Application.app(::Jasmine.config),
    ::Jasmine.config.rack_options
  ).start
end

Private Class Methods

configure() click to toggle source
# File lib/ela/jasmine.rb, line 41
def self.configure
  ::Jasmine.configure do |config|
    config.src_dir = File.join(Dir.pwd, 'spec/app_js')
    config.spec_dir = File.join(Dir.pwd, 'spec/javascripts')
    config.spec_files = lambda { spec_files }
    config.src_files = lambda { src_files }
    config.add_rack_path(ELA_JS_PREFIX, lambda { Rack::File.new(ELA_JS_PATH) })
    config.add_rack_path(ELA_SPEC_HELPERS_PREFIX, lambda { Rack::File.new(ELA_SPEC_HELPERS_PATH) })
  end
end