pave 0.7.1 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/pave +8 -0
- data/lib/pave/reload.rb +60 -0
- data/lib/pave/theme.rb +1 -2
- data/lib/pave/version.rb +1 -1
- data/lib/pave.rb +1 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 982c8127326f896d97483645e3c195e354216bff
|
4
|
+
data.tar.gz: 88fe18805a10b570cb610b140f5da01e5bf3f463
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b2a5e62598e82635699007121141a77e674dbe50056c9331896733616750c91605ec195f75d8db7bfe5ed9452a85c288090af8c4c790126013b46625e39fd839
|
7
|
+
data.tar.gz: 454720859d23c96b172f122f993179a210b85d3ce59007d16f0da4728187dbd4c453f0f2c9662f5050b928b61d533e8d4b388366c9bb7cb21f5beca48c6df45d
|
data/bin/pave
CHANGED
@@ -258,3 +258,11 @@ command :"deploy:setup" do |c|
|
|
258
258
|
Pave::Remote.setup
|
259
259
|
end
|
260
260
|
end
|
261
|
+
|
262
|
+
command :"livereload" do |c|
|
263
|
+
c.syntax = "pave livereload"
|
264
|
+
c.description = "Watch project for changes and refresh page."
|
265
|
+
c.action do |args|
|
266
|
+
Pave::Reload.live_reload
|
267
|
+
end
|
268
|
+
end
|
data/lib/pave/reload.rb
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
module Pave
|
2
|
+
class Reload
|
3
|
+
def self.live_reload
|
4
|
+
# docs: http://brettterpstra.com/2011/03/07/watch-for-file-changes-and-refresh-your-browser-automatically/
|
5
|
+
trap("SIGINT") { exit }
|
6
|
+
|
7
|
+
puts "Watching #{watch_folder} and subfolders for changes in project files..."
|
8
|
+
|
9
|
+
while true do
|
10
|
+
files = []
|
11
|
+
filetypes.each {|type|
|
12
|
+
files += Dir.glob( File.join( watch_folder, "**", "*.#{type}" ) )
|
13
|
+
}
|
14
|
+
new_hash = files.collect {|f| [ f, File.stat(f).mtime.to_i ] }
|
15
|
+
hash ||= new_hash
|
16
|
+
diff_hash = new_hash - hash
|
17
|
+
|
18
|
+
unless diff_hash.empty?
|
19
|
+
hash = new_hash
|
20
|
+
|
21
|
+
diff_hash.each do |df|
|
22
|
+
puts "Detected change in #{df[0]}, refreshing"
|
23
|
+
%x{osascript<<ENDGAME
|
24
|
+
tell application "Google Chrome"
|
25
|
+
set windowList to every window
|
26
|
+
repeat with aWindow in windowList
|
27
|
+
set tabList to every tab of aWindow
|
28
|
+
repeat with atab in tabList
|
29
|
+
if (URL of atab contains "#{keyword}") then
|
30
|
+
tell atab to reload
|
31
|
+
end if
|
32
|
+
end repeat
|
33
|
+
end repeat
|
34
|
+
end tell
|
35
|
+
}
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
sleep 1
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
43
|
+
|
44
|
+
def self.dev_extension
|
45
|
+
"site"
|
46
|
+
end
|
47
|
+
|
48
|
+
def self.filetypes
|
49
|
+
['css','html','htm','php','rb','erb','less','js']
|
50
|
+
end
|
51
|
+
|
52
|
+
def self.watch_folder
|
53
|
+
Dir.pwd
|
54
|
+
end
|
55
|
+
|
56
|
+
def self.keyword
|
57
|
+
File.basename(Dir.pwd)
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
data/lib/pave/theme.rb
CHANGED
data/lib/pave/version.rb
CHANGED
data/lib/pave.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pave
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jamon Holmgren
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2014-01-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -102,6 +102,7 @@ files:
|
|
102
102
|
- lib/pave/concrete.rb
|
103
103
|
- lib/pave/database.rb
|
104
104
|
- lib/pave/files.rb
|
105
|
+
- lib/pave/reload.rb
|
105
106
|
- lib/pave/remote.rb
|
106
107
|
- lib/pave/shell.rb
|
107
108
|
- lib/pave/theme.rb
|