devcenter 1.1.0 → 1.1.1
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/devcenter.gemspec +1 -1
- data/lib/devcenter/previewer.rb +56 -20
- data/lib/devcenter/previewer/file_listener.rb +2 -2
- data/lib/devcenter/previewer/web_server.rb +2 -1
- data/lib/devcenter/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7a1de6c52f42b4388b5cc465df6e2125d5979299
|
4
|
+
data.tar.gz: 93ea202ebe6e5542b6915c3652f055792c5a019f
|
5
5
|
!binary "U0hBNTEy":
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3a080acfe9a2fdc6fbc5697f4c260011feee27b5508afb1b2b800a67c7eaf7d33f3a30e509795b68446620bdf49f51af433f3767445f7b5bfe183071b2f58384
|
7
|
+
data.tar.gz: da72b5fac7361fde1ac96b761a9d1bcfd930197d8803915ee5e6fac644192526ec6ea6921e3b95e4a89ca2d1aa4633acc9efeb7771cee5c08dfb096e14dae080
|
data/devcenter.gemspec
CHANGED
@@ -16,7 +16,7 @@ Gem::Specification.new do |gem|
|
|
16
16
|
gem.executables = %w{ devcenter }
|
17
17
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
18
18
|
gem.require_paths = %w{ lib }
|
19
|
-
gem.add_runtime_dependency('listen', '~>
|
19
|
+
gem.add_runtime_dependency('listen', '~> 1.3.1')
|
20
20
|
gem.add_runtime_dependency('commander', '~> 4.1.3')
|
21
21
|
gem.add_runtime_dependency('json', '~>1.7.6')
|
22
22
|
gem.add_runtime_dependency('excon', '~>0.15.4')
|
data/lib/devcenter/previewer.rb
CHANGED
@@ -4,33 +4,69 @@ require_relative 'previewer/web_server'
|
|
4
4
|
require_relative 'previewer/file_listener'
|
5
5
|
|
6
6
|
module Devcenter::Previewer
|
7
|
-
|
8
7
|
extend self
|
9
8
|
|
10
9
|
def preview(slug, md_path, host, port)
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
10
|
+
Runner.new(slug, md_path, host, port).run
|
11
|
+
end
|
12
|
+
|
13
|
+
class Runner
|
14
|
+
attr_reader :slug, :md_path, :host, :port, :url
|
15
|
+
|
16
|
+
def initialize(slug, md_path, host, port)
|
17
|
+
@slug = slug
|
18
|
+
@md_path = md_path
|
19
|
+
@host = host
|
20
|
+
@port = port
|
21
|
+
@url = "http://#{@host}:#{@port}/#{@slug}"
|
22
|
+
@listener = init_listener
|
23
|
+
@server = init_server
|
24
|
+
end
|
25
|
+
|
26
|
+
def run
|
27
|
+
start
|
28
|
+
@running = true
|
29
|
+
[:INT, :TERM].each do |signal|
|
30
|
+
trap(signal) do
|
31
|
+
stop
|
32
|
+
exit
|
33
|
+
end
|
34
|
+
end
|
35
|
+
sleep 1 while running?
|
36
|
+
end
|
37
|
+
|
38
|
+
private
|
39
|
+
|
40
|
+
def running?
|
41
|
+
@running
|
15
42
|
end
|
16
43
|
|
17
|
-
|
44
|
+
def init_server
|
45
|
+
WebServer.new(host, port, WebApp)
|
46
|
+
end
|
18
47
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
say "\nPreview finished."
|
24
|
-
exit
|
48
|
+
def init_listener
|
49
|
+
file_listener_callback = Proc.new do |modified, added, removed|
|
50
|
+
modified.each{ |f| Devcenter::Logger.log "File modified: #{f}" }
|
51
|
+
WebApp.send_server_event
|
25
52
|
end
|
53
|
+
FileListener.new(md_path, file_listener_callback)
|
26
54
|
end
|
27
|
-
listener.start
|
28
|
-
url = "http://#{host}:#{port}/#{slug}"
|
29
|
-
say "\nLive preview for #{slug} available in #{url}"
|
30
|
-
say "It will refresh when you save #{md_path}"
|
31
|
-
say "Press Ctrl+C to exit...\n"
|
32
|
-
Launchy.open(url)
|
33
|
-
server.start
|
34
|
-
end
|
35
55
|
|
56
|
+
def start
|
57
|
+
@server.start
|
58
|
+
@listener.start
|
59
|
+
say "\nLive preview for #{slug} available in #{url}"
|
60
|
+
say "It will refresh when you save #{md_path}"
|
61
|
+
say "Press Ctrl+C to exit...\n"
|
62
|
+
Launchy.open(url)
|
63
|
+
end
|
64
|
+
|
65
|
+
def stop
|
66
|
+
@server.stop
|
67
|
+
@listener.stop
|
68
|
+
say "\nPreview finished."
|
69
|
+
@running = false
|
70
|
+
end
|
71
|
+
end
|
36
72
|
end
|
@@ -6,7 +6,7 @@ module Devcenter::Previewer
|
|
6
6
|
def initialize(file_path, callback)
|
7
7
|
dir = File.dirname(file_path)
|
8
8
|
basename = File.basename(file_path)
|
9
|
-
@listener = Listen.to(dir
|
9
|
+
@listener = Listen.to(dir)
|
10
10
|
@listener.filter(%r{#{basename}})
|
11
11
|
@listener.change(&callback)
|
12
12
|
end
|
@@ -16,7 +16,7 @@ module Devcenter::Previewer
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def stop
|
19
|
-
@listener.stop
|
19
|
+
@listener.stop rescue ThreadError
|
20
20
|
Thread.kill(@thread)
|
21
21
|
end
|
22
22
|
end
|
data/lib/devcenter/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: devcenter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Raul Murciano
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-01-
|
12
|
+
date: 2014-01-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: listen
|
@@ -17,14 +17,14 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - ~>
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version:
|
20
|
+
version: 1.3.1
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - ~>
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version:
|
27
|
+
version: 1.3.1
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: commander
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|