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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 81814d5582df9a62a329f7b9fd9410faf00156a6
4
- data.tar.gz: bc871053a185f4b885d772571473ffee28eaedb3
3
+ metadata.gz: 982c8127326f896d97483645e3c195e354216bff
4
+ data.tar.gz: 88fe18805a10b570cb610b140f5da01e5bf3f463
5
5
  SHA512:
6
- metadata.gz: ee53f858a918def4f0154fe64eb26199fb72018ad5efbb06504788438b174c7da542bde9767c447b1d1d41fb358f8a0d3dbf995c4e7ed63f9152aee8fc589515
7
- data.tar.gz: ad339f43326fced34ab9e0ed9a6cf33dd9b62fd9355963d2f2d74412e3a17d4c7787f38e54f5b574da69cb1ac7de61b619ca50a735bb89ffb36c5940f4bcd194
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
@@ -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
@@ -1,5 +1,3 @@
1
- require "pave/shell"
2
-
3
1
  module Pave
4
2
  class Theme
5
3
  include Pave::Shell
@@ -11,6 +9,7 @@ module Pave
11
9
  end
12
10
 
13
11
  def self.watch
12
+ system("pave livereload &")
14
13
  system("sass --watch ./themes/ --style compressed")
15
14
  end
16
15
 
data/lib/pave/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Pave
2
- VERSION = "0.7.1"
2
+ VERSION = "0.8.0"
3
3
  end
data/lib/pave.rb CHANGED
@@ -7,6 +7,7 @@ require "pave/files"
7
7
  require "pave/virtual_host"
8
8
  require "pave/remote"
9
9
  require "pave/theme"
10
+ require "pave/reload"
10
11
 
11
12
  module Pave
12
13
  def update
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.7.1
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: 2013-12-30 00:00:00.000000000 Z
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