-
Notifications
You must be signed in to change notification settings - Fork 1
/
app.rb
68 lines (53 loc) · 1.41 KB
/
app.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
require 'rubygems'
require 'bundler'
Bundler.require
$: << File.expand_path('../', __FILE__)
$: << File.expand_path('../lib', __FILE__)
require 'sinatra'
require 'sprockets'
require 'sprockets/cache/memcache_store'
require 'stylus/sprockets'
require 'recruiter_lint'
configure do
set :assets, assets = Sprockets::Environment.new(settings.root)
assets.append_path('assets/javascripts')
assets.append_path('assets/stylesheets')
assets.append_path('assets/images')
assets.append_path('vendor/assets/javascripts')
assets.append_path('vendor/assets/stylesheets')
Stylus.setup(assets)
set :asset_host, ''
end
configure :development do
settings.assets.cache = Sprockets::Cache::FileStore.new('./tmp')
end
configure :production do
settings.assets.cache = Sprockets::Cache::MemcacheStore.new
settings.assets.js_compressor = Closure::Compiler.new
settings.assets.css_compressor = YUI::CssCompressor.new
end
helpers do
def json(value)
content_type :json
value.to_json
end
def asset_path(name)
asset = settings.assets[name]
raise UnknownAsset, "Unknown asset: #{name}" unless asset
"#{settings.asset_host}/assets/#{asset.digest_path}"
end
end
get '/assets/*' do
env['PATH_INFO'].sub!(%r{^/assets}, '')
settings.assets.call(env)
end
get '/' do
erb :index
end
post '/lint' do
text = params[:text]
if !text || text.empty?
error 406
end
json RecruiterLint.run(text)
end