yield 0.0.2 → 0.0.3
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/.gitignore +1 -0
- data/lib/yield.rb +1 -52
- data/lib/yield/markdown.rb +54 -0
- data/lib/yield/version.rb +1 -1
- data/lib/{views → yield/views}/index.erb +0 -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: e110a49fbc1543025a325b8f2f6d1de9c32ffd03
|
4
|
+
data.tar.gz: 878002a6f69b610556af6ddda461c37479653259
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c9406ff6ede1349d5d987b533a805079fd431f4a8bdcde3d46b204a9342c9e77c58f9488d6c79d5e98673ffa3dd8b1a42cedafab58ed0b091bf2c719a664e9f9
|
7
|
+
data.tar.gz: 84da1a0cde5f1245c394c626ec59c9e7ab65c3cc127579f5277df6700ea867d0f5e65220c19b4e1d6c8bbf1d111762bd0293a3376ba7cde364ef6aa6ceca0200
|
data/.gitignore
CHANGED
data/lib/yield.rb
CHANGED
@@ -6,57 +6,6 @@ require_relative "yield/version"
|
|
6
6
|
|
7
7
|
module Yield
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
set :server, %w[thin]
|
12
|
-
@@content = nil
|
13
|
-
@@filename = nil
|
14
|
-
|
15
|
-
# Override run! method from Sinatra
|
16
|
-
def self.run!(options = {})
|
17
|
-
set options
|
18
|
-
handler = detect_rack_handler
|
19
|
-
handler_name = handler.name.gsub(/.*::/, '')
|
20
|
-
server_settings = settings.respond_to?(:server_settings) ? settings.server_settings : {}
|
21
|
-
|
22
|
-
handler.run self, server_settings.merge(:Port => port, :Host => bind) do |server|
|
23
|
-
unless handler_name =~ /cgi/i
|
24
|
-
$stderr.puts "-> yield is now serving your markdown " +
|
25
|
-
"at localhost:#{port} using #{handler_name}..."
|
26
|
-
end
|
27
|
-
[:INT, :TERM].each { |sig| trap(sig) { quit!(server, handler_name) } }
|
28
|
-
server.threaded = settings.threaded if server.respond_to? :threaded=
|
29
|
-
set :running, true
|
30
|
-
yield server if block_given?
|
31
|
-
end
|
32
|
-
rescue Errno::EADDRINUSE
|
33
|
-
$stderr.puts "-> Port #{port} is already being used!"
|
34
|
-
end
|
35
|
-
|
36
|
-
# Override quit! method from Sinatra
|
37
|
-
def self.quit!(server, handler_name)
|
38
|
-
# Use Thin's hard #stop! if available, otherwise just #stop.
|
39
|
-
server.respond_to?(:stop!) ? server.stop! : server.stop
|
40
|
-
$stderr.puts "\n-> Stopping yield..." unless handler_name =~/cgi/i
|
41
|
-
end
|
42
|
-
|
43
|
-
def self.render(filename = 'README.md')
|
44
|
-
original_stdout = $stdout
|
45
|
-
$stdout = fake = StringIO.new
|
46
|
-
|
47
|
-
@@filename = filename
|
48
|
-
begin
|
49
|
-
@@content = Octokit.markdown(File.read(@@filename), mode: 'gfm')
|
50
|
-
rescue Exception => e
|
51
|
-
puts "Filename '#{@@filename}' doesn't exist."
|
52
|
-
exit
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
get '/' do
|
57
|
-
erb :index, locals: { content: @@content, filename: @@filename }
|
58
|
-
end
|
59
|
-
|
60
|
-
end
|
9
|
+
require_relative "yield/markdown"
|
61
10
|
|
62
11
|
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
module Yield
|
2
|
+
class Markdown < Sinatra::Base
|
3
|
+
|
4
|
+
set :server, %w[thin]
|
5
|
+
@@content = nil
|
6
|
+
@@filename = nil
|
7
|
+
|
8
|
+
# Override run! method from Sinatra
|
9
|
+
def self.run!(options = {})
|
10
|
+
set options
|
11
|
+
handler = detect_rack_handler
|
12
|
+
handler_name = handler.name.gsub(/.*::/, '')
|
13
|
+
server_settings = settings.respond_to?(:server_settings) ? settings.server_settings : {}
|
14
|
+
|
15
|
+
handler.run self, server_settings.merge(:Port => port, :Host => bind) do |server|
|
16
|
+
unless handler_name =~ /cgi/i
|
17
|
+
$stderr.puts "-> yield is now serving your markdown " +
|
18
|
+
"at localhost:#{port} using #{handler_name}..."
|
19
|
+
end
|
20
|
+
[:INT, :TERM].each { |sig| trap(sig) { quit!(server, handler_name) } }
|
21
|
+
server.threaded = settings.threaded if server.respond_to? :threaded=
|
22
|
+
set :running, true
|
23
|
+
yield server if block_given?
|
24
|
+
end
|
25
|
+
rescue Errno::EADDRINUSE
|
26
|
+
$stderr.puts "-> Port #{port} is already being used!"
|
27
|
+
end
|
28
|
+
|
29
|
+
# Override quit! method from Sinatra
|
30
|
+
def self.quit!(server, handler_name)
|
31
|
+
# Use Thin's hard #stop! if available, otherwise just #stop.
|
32
|
+
server.respond_to?(:stop!) ? server.stop! : server.stop
|
33
|
+
$stderr.puts "\n-> Stopping yield..." unless handler_name =~/cgi/i
|
34
|
+
end
|
35
|
+
|
36
|
+
def self.render(filename = 'README.md')
|
37
|
+
original_stdout = $stdout
|
38
|
+
$stdout = fake = StringIO.new
|
39
|
+
|
40
|
+
@@filename = filename
|
41
|
+
begin
|
42
|
+
@@content = Octokit.markdown(File.read(@@filename), mode: 'gfm')
|
43
|
+
rescue Exception => e
|
44
|
+
puts "Filename '#{@@filename}' doesn't exist."
|
45
|
+
exit
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
get '/' do
|
50
|
+
erb :index, locals: { content: @@content, filename: @@filename }
|
51
|
+
end
|
52
|
+
|
53
|
+
end
|
54
|
+
end
|
data/lib/yield/version.rb
CHANGED
File without changes
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: yield
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Casey Scarborough
|
@@ -94,9 +94,10 @@ files:
|
|
94
94
|
- README.md
|
95
95
|
- Rakefile
|
96
96
|
- bin/yield
|
97
|
-
- lib/views/index.erb
|
98
97
|
- lib/yield.rb
|
98
|
+
- lib/yield/markdown.rb
|
99
99
|
- lib/yield/version.rb
|
100
|
+
- lib/yield/views/index.erb
|
100
101
|
- yield.gemspec
|
101
102
|
homepage: ''
|
102
103
|
licenses:
|