prow 0.2.5 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/prow.rb +0 -2
- data/lib/prow/app_builder/create.rb +1 -0
- data/lib/prow/app_builder/templates/Guardfile +12 -0
- data/lib/prow/app_builder/templates/config.ru +10 -2
- data/lib/prow/app_builder/templates/config/pages.json +5 -0
- data/lib/prow/app_builder/templates/templates/pages/404.mustache +8 -0
- data/lib/prow/version.rb +1 -1
- data/lib/tasks/prow.rake +2 -2
- data/prow.gemspec +5 -2
- data/spec/app_builder/create_spec.rb +6 -0
- metadata +48 -7
- data/lib/prow/watcher.rb +0 -44
- data/spec/watcher_spec.rb +0 -59
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 770daa6188a05f8c47e7c4b4bcd4a0f1d7c5f7e9
|
|
4
|
+
data.tar.gz: bfc66fc6865668b5646e99edba52683bf8abc07c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e080c7f7f1b83492165e6300353d13bf71f9b73ca8696847a398b9c39e6b048e2b69dbd12b341d6d4bb56127c9f7a45ac2bf33ff1eb4ced6d80a1ecb49783bd4
|
|
7
|
+
data.tar.gz: feb4ef1c6111fef869bbc3cbb9d1fca146b7fefd0b1fb6ffe7d34d5e60d291195baf3974a9a8bd7bcb1c8c2c7b1c0fd8792d60b959e64ca9da1199784ab52e57
|
data/lib/prow.rb
CHANGED
|
@@ -1,2 +1,10 @@
|
|
|
1
|
-
require '
|
|
2
|
-
|
|
1
|
+
require 'rack'
|
|
2
|
+
require 'rack/contrib/try_static'
|
|
3
|
+
|
|
4
|
+
use Rack::TryStatic,
|
|
5
|
+
root: "public", # static files root dir
|
|
6
|
+
urls: %w[/], # match all requests
|
|
7
|
+
try: ['.html', 'index.html', '/index.html'] # try these postfixes sequentially
|
|
8
|
+
|
|
9
|
+
# otherwise 404 NotFound
|
|
10
|
+
run -> { [404, {'Content-Type' => 'text/html'}, ['whoops! Not Found']]}
|
data/lib/prow/version.rb
CHANGED
data/lib/tasks/prow.rake
CHANGED
data/prow.gemspec
CHANGED
|
@@ -30,8 +30,11 @@ Gem::Specification.new do |spec|
|
|
|
30
30
|
|
|
31
31
|
spec.add_dependency "shipd_style"
|
|
32
32
|
spec.add_dependency "mustache"
|
|
33
|
-
spec.add_dependency "
|
|
34
|
-
spec.add_dependency "
|
|
33
|
+
spec.add_dependency "thin"
|
|
34
|
+
spec.add_dependency "rack-contrib"
|
|
35
|
+
spec.add_dependency "guard"
|
|
36
|
+
spec.add_dependency "guard-rack"
|
|
37
|
+
spec.add_dependency "guard-rake"
|
|
35
38
|
|
|
36
39
|
spec.add_development_dependency "bundler", "~> 1.6"
|
|
37
40
|
spec.add_development_dependency "rspec"
|
|
@@ -13,6 +13,12 @@ RSpec.describe Prow::AppBuilder::Create do
|
|
|
13
13
|
expect(File.read(app_path + "/config.ru")).to eq(File.read(app_templates_path + "/config.ru"))
|
|
14
14
|
end
|
|
15
15
|
|
|
16
|
+
it "should copy the Guardfile file" do
|
|
17
|
+
creator.perform
|
|
18
|
+
expect(File.exist?(app_path + "/Guardfile")).to be(true)
|
|
19
|
+
expect(File.read(app_path + "/Guardfile")).to eq(File.read(app_templates_path + "/Guardfile"))
|
|
20
|
+
end
|
|
21
|
+
|
|
16
22
|
it "should make the public directory" do
|
|
17
23
|
creator.perform
|
|
18
24
|
expect(File.exist?(app_path + "/public")).to be(true)
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: prow
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Kane Baccigalupi
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2015-02-
|
|
11
|
+
date: 2015-02-23 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: shipd_style
|
|
@@ -39,7 +39,7 @@ dependencies:
|
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
40
|
version: '0'
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
|
-
name:
|
|
42
|
+
name: thin
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
45
|
- - ">="
|
|
@@ -53,7 +53,49 @@ dependencies:
|
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
54
|
version: '0'
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
|
-
name:
|
|
56
|
+
name: rack-contrib
|
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
59
|
+
- - ">="
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: '0'
|
|
62
|
+
type: :runtime
|
|
63
|
+
prerelease: false
|
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - ">="
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: '0'
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: guard
|
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - ">="
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: '0'
|
|
76
|
+
type: :runtime
|
|
77
|
+
prerelease: false
|
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - ">="
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: '0'
|
|
83
|
+
- !ruby/object:Gem::Dependency
|
|
84
|
+
name: guard-rack
|
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - ">="
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: '0'
|
|
90
|
+
type: :runtime
|
|
91
|
+
prerelease: false
|
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
+
requirements:
|
|
94
|
+
- - ">="
|
|
95
|
+
- !ruby/object:Gem::Version
|
|
96
|
+
version: '0'
|
|
97
|
+
- !ruby/object:Gem::Dependency
|
|
98
|
+
name: guard-rake
|
|
57
99
|
requirement: !ruby/object:Gem::Requirement
|
|
58
100
|
requirements:
|
|
59
101
|
- - ">="
|
|
@@ -131,9 +173,11 @@ files:
|
|
|
131
173
|
- lib/prow.rb
|
|
132
174
|
- lib/prow/app_builder/create.rb
|
|
133
175
|
- lib/prow/app_builder/style_compiler.rb
|
|
176
|
+
- lib/prow/app_builder/templates/Guardfile
|
|
134
177
|
- lib/prow/app_builder/templates/config.ru
|
|
135
178
|
- lib/prow/app_builder/templates/config/pages.json
|
|
136
179
|
- lib/prow/app_builder/templates/templates/layouts/default.mustache
|
|
180
|
+
- lib/prow/app_builder/templates/templates/pages/404.mustache
|
|
137
181
|
- lib/prow/app_builder/templates/templates/pages/index.mustache
|
|
138
182
|
- lib/prow/page.rb
|
|
139
183
|
- lib/prow/page_compiler.rb
|
|
@@ -146,7 +190,6 @@ files:
|
|
|
146
190
|
- lib/prow/template.rb
|
|
147
191
|
- lib/prow/templates.rb
|
|
148
192
|
- lib/prow/version.rb
|
|
149
|
-
- lib/prow/watcher.rb
|
|
150
193
|
- lib/tasks/prow.rake
|
|
151
194
|
- prow.gemspec
|
|
152
195
|
- spec/app_builder/create_spec.rb
|
|
@@ -169,7 +212,6 @@ files:
|
|
|
169
212
|
- spec/support/fixtures/templates/partials/things/it.mustache
|
|
170
213
|
- spec/template_spec.rb
|
|
171
214
|
- spec/templates_spec.rb
|
|
172
|
-
- spec/watcher_spec.rb
|
|
173
215
|
homepage: https://github.com/shipd/prow
|
|
174
216
|
licenses:
|
|
175
217
|
- MIT
|
|
@@ -215,4 +257,3 @@ test_files:
|
|
|
215
257
|
- spec/support/fixtures/templates/partials/things/it.mustache
|
|
216
258
|
- spec/template_spec.rb
|
|
217
259
|
- spec/templates_spec.rb
|
|
218
|
-
- spec/watcher_spec.rb
|
data/lib/prow/watcher.rb
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
module Prow
|
|
2
|
-
class Watcher
|
|
3
|
-
attr_reader :paths
|
|
4
|
-
|
|
5
|
-
def initialize(paths=nil)
|
|
6
|
-
@paths = paths || Paths.new
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
def start
|
|
10
|
-
watch_all
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
def stop
|
|
14
|
-
template_listener.stop
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def watch_all
|
|
18
|
-
silence_warnings do
|
|
19
|
-
template_listener.start
|
|
20
|
-
sass_listener.start
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
def template_listener
|
|
25
|
-
@template_listener ||= Listen.to(paths.templates) do
|
|
26
|
-
compile_pages
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
def sass_listener
|
|
31
|
-
@sass_listener ||= Listen.to(paths.sass) do
|
|
32
|
-
compile_stylesheets
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
def compile_pages
|
|
37
|
-
Prow::PagesCompiler.new(paths).compile
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
def compile_stylesheets
|
|
41
|
-
Prow::AppBuilder::StyleCompiler.new(paths).perform
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
end
|
data/spec/watcher_spec.rb
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
describe Prow::Watcher do
|
|
4
|
-
let(:runner) { Prow::Watcher.new(paths) }
|
|
5
|
-
let(:paths) { Prow::Paths.new(File.dirname(__FILE__) + "/support/fixtures" )}
|
|
6
|
-
|
|
7
|
-
before do
|
|
8
|
-
# create some initial content
|
|
9
|
-
Prow::PagesCompiler.new(paths).compile
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
after do
|
|
13
|
-
runner.stop
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
describe '#start' do
|
|
17
|
-
context 'when templates change' do
|
|
18
|
-
after do
|
|
19
|
-
File.open(header_template_path, 'w') do |f|
|
|
20
|
-
f.write(original_header_content)
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
let(:header_template_path) { paths.templates + "/partials/header.mustache" }
|
|
25
|
-
let(:new_header_content) { "Yo, header!" }
|
|
26
|
-
let(:original_header_content) { "Hello Header World\n" }
|
|
27
|
-
|
|
28
|
-
it "regenerates pages" do
|
|
29
|
-
runner.start
|
|
30
|
-
File.open(header_template_path, 'w') do |f|
|
|
31
|
-
f.write(new_header_content)
|
|
32
|
-
end
|
|
33
|
-
sleep 1
|
|
34
|
-
expect(File.read(paths.compile + "/index.html")).to include(new_header_content)
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
context 'when the pages.json changes' do
|
|
39
|
-
it "regenerates pages"
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
context 'when sass files change' do
|
|
43
|
-
let(:scss_path) { paths.sass + "/foo.scss" }
|
|
44
|
-
let(:stylesheet_path) { paths.compile + "/stylesheets/foo.css" }
|
|
45
|
-
|
|
46
|
-
before do
|
|
47
|
-
File.delete(scss_path) if File.exist?(scss_path)
|
|
48
|
-
File.delete(stylesheet_path) if File.exist?(stylesheet_path)
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
it "watches sass files and regenerates stylesheets" do
|
|
52
|
-
runner.start
|
|
53
|
-
File.open(scss_path, 'w') {|f| f.write("body {background: red;}") }
|
|
54
|
-
sleep 1
|
|
55
|
-
expect(File.exist?(stylesheet_path)).to be(true)
|
|
56
|
-
end
|
|
57
|
-
end
|
|
58
|
-
end
|
|
59
|
-
end
|