Sha256: 386bf716b4e706545d8f625e3b66d56871103e0461d7f3ad98d46a2ae797b447

Contents?: true

Size: 1.04 KB

Versions: 6

Compression:

Stored size: 1.04 KB

Contents

module Evergreen
  class Application < Sinatra::Base
    set :static, false
    set :root, File.expand_path('.', File.dirname(__FILE__))

    helpers do
      def url(path)
        Evergreen.mounted_at.to_s + path.to_s
      end

      def render_spec(spec)
        spec.read if spec
      rescue StandardError => error
        erb :_spec_error, :locals => { :error => error }
      end
    end

    get '/' do
      @suite = Evergreen::Suite.new
      erb :list
    end

    get '/run/all' do
      @suite = Evergreen::Suite.new
      erb :run
    end

    get '/run/*' do |name|
      @suite = Evergreen::Suite.new
      @spec  = @suite.get_spec(name)
      erb :run
    end

    get "/jasmine/*" do |path|
      send_file File.expand_path(File.join('../jasmine/lib/jasmine-core', path), File.dirname(__FILE__))
    end

    get "/resources/*" do |path|
      send_file File.expand_path(File.join('resources', path), File.dirname(__FILE__))
    end

    get '/*' do |path|
      send_file File.join(Evergreen.root, Evergreen.public_dir, path)
    end

  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
evergreen-1.3.0 lib/evergreen/application.rb
evergreen-1.2.0 lib/evergreen/application.rb
evergreen-1.1.3 lib/evergreen/application.rb
evergreen-1.1.2 lib/evergreen/application.rb
evergreen-1.1.0 lib/evergreen/application.rb
evergreen-1.0.1 lib/evergreen/application.rb