mado 0.0.4 → 0.1.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: 1424884826aa2d29c1cf38a357e6c1ea7d5a0d21
4
- data.tar.gz: 4996784b598622d4c07a03cfdc15c0ac5301778e
3
+ metadata.gz: 98e1b4bb1a0f29db57b97d42ee0d60aac051575e
4
+ data.tar.gz: 675bd5ebee01e6bb023029b597f992919c0d2c85
5
5
  SHA512:
6
- metadata.gz: 4a64da322c766a914b29e6c1bc3f5be2bb6d173b883684d419a29513c0f4a24564e6457cfc384a4a44078a3eb53794e55b4a3e947e33fa280a40401915f2b708
7
- data.tar.gz: d82322dc1441ebbdbbebf19d36ac00d2623b050781acef46dafb76534d4ac96d651bf16cff1ef069d86652c720658b0b94dad344cec99cdbd08df79d5751265a
6
+ metadata.gz: b0d40125b424e8ba8b5db700cbed2260928eed9e649faa9fa9ce944c591fa94c80201e351544a9f2df9499dc39ef98e4b560693aa49657b400b581319870594f
7
+ data.tar.gz: 43760d60c02b67bb644feee4c537d8eb7a3e3fb94c7598b8f7e3ca9a02e6bcea4274c8e093938e73fe0823835817c4bf35df1134660be18dda25e20d82695f06
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --color
2
+ --format documentation
3
+ --require spec_helper
@@ -0,0 +1,5 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.3
4
+ - 2.0.0
5
+ - 2.1
@@ -1,3 +1,6 @@
1
+ ## 0.1.0
2
+ * Show local image
3
+
1
4
  ## 0.0.4
2
5
  * Use Thin 1.6.x
3
6
 
@@ -0,0 +1,8 @@
1
+ # A sample Guardfile
2
+ # More info at https://github.com/guard/guard#readme
3
+
4
+ guard :rspec do
5
+ watch(%r{^spec/.+_spec\.rb$})
6
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
7
+ watch('spec/spec_helper.rb') { "spec" }
8
+ end
data/README.md CHANGED
@@ -1,4 +1,5 @@
1
1
  # Mado
2
+ [![Build Status](https://travis-ci.org/dtan4/mado.svg?branch=master)](https://travis-ci.org/dtan4/mado)
2
3
  [![Gem Version](https://badge.fury.io/rb/mado.svg)](http://badge.fury.io/rb/mado)
3
4
 
4
5
  Realtime [Github Flavored Markdown](https://help.github.com/articles/github-flavored-markdown) Preview with WebSocket
data/Rakefile CHANGED
@@ -1,2 +1,7 @@
1
1
  require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
2
7
 
@@ -13,6 +13,12 @@ module Mado
13
13
  register Sinatra::Reloader
14
14
  end
15
15
 
16
+ helpers do
17
+ def markdown_dir
18
+ @markdown_dir ||= File.dirname(settings.markdown_path)
19
+ end
20
+ end
21
+
16
22
  get '/' do
17
23
  slim :index
18
24
  end
@@ -24,5 +30,15 @@ module Mado
24
30
  get "/js/application.js" do
25
31
  coffee :application
26
32
  end
33
+
34
+ get "/*" do
35
+ path = File.expand_path(params[:splat][0], markdown_dir)
36
+
37
+ if File.exist?(path)
38
+ send_file path, disposition: "inline"
39
+ else
40
+ not_found
41
+ end
42
+ end
27
43
  end
28
44
  end
@@ -28,6 +28,8 @@ module Mado
28
28
  end
29
29
 
30
30
  app = Rack::Builder.app do
31
+ Mado::App.set :markdown_path, markdown_path
32
+
31
33
  map "/" do
32
34
  run Mado::App
33
35
  end
@@ -1,3 +1,3 @@
1
1
  module Mado
2
- VERSION = "0.0.4"
2
+ VERSION = "0.1.0"
3
3
  end
@@ -29,6 +29,9 @@ Gem::Specification.new do |spec|
29
29
  spec.add_dependency "thin", "~> 1.6"
30
30
 
31
31
  spec.add_development_dependency "bundler", "~> 1.6"
32
+ spec.add_development_dependency "guard-rspec"
32
33
  spec.add_development_dependency "rake"
34
+ spec.add_development_dependency "rspec", "~> 3.0.0"
33
35
  spec.add_development_dependency "sinatra-reloader"
36
+ spec.add_development_dependency "terminal-notifier-guard"
34
37
  end
@@ -0,0 +1,64 @@
1
+ require "spec_helper"
2
+ require "rack/test"
3
+
4
+ module Mado
5
+ describe App do
6
+ include Rack::Test::Methods
7
+
8
+ let(:app) do
9
+ described_class
10
+ end
11
+
12
+ describe "GET /" do
13
+ it "should show the root page" do
14
+ get "/"
15
+ expect(last_response).to be_ok
16
+ end
17
+ end
18
+
19
+ describe "GET /<image>" do
20
+ let(:base_dir) do
21
+ fixture_path("example")
22
+ end
23
+
24
+ let(:other_dir) do
25
+ fixture_path("other")
26
+ end
27
+
28
+ before do
29
+ Dir.chdir(base_dir)
30
+ end
31
+
32
+ context "with existed image" do
33
+ context "in the same directory" do
34
+ before do
35
+ described_class.set :markdown_path, File.join(base_dir, "sample.md")
36
+ end
37
+
38
+ it "should return the specified image" do
39
+ get "/example.png"
40
+ expect(last_response).to be_ok
41
+ end
42
+ end
43
+
44
+ context "in the different directory" do
45
+ before do
46
+ described_class.set :markdown_path, File.join(other_dir, "other.md")
47
+ end
48
+
49
+ it "should return the specified image" do
50
+ get "/other.png"
51
+ expect(last_response).to be_ok
52
+ end
53
+ end
54
+ end
55
+
56
+ context "with non-existed image" do
57
+ it "should return 404" do
58
+ get "/notfound.png"
59
+ expect(last_response).to be_not_found
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,6 @@
1
+ $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
2
+ require 'mado'
3
+
4
+ def fixture_path(name)
5
+ File.expand_path(File.join("..", "fixtures", name), __FILE__)
6
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mado
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - dtan4
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-10 00:00:00.000000000 Z
11
+ date: 2014-06-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: coffee-script
@@ -150,6 +150,20 @@ dependencies:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
152
  version: '1.6'
153
+ - !ruby/object:Gem::Dependency
154
+ name: guard-rspec
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
153
167
  - !ruby/object:Gem::Dependency
154
168
  name: rake
155
169
  requirement: !ruby/object:Gem::Requirement
@@ -164,6 +178,20 @@ dependencies:
164
178
  - - ">="
165
179
  - !ruby/object:Gem::Version
166
180
  version: '0'
181
+ - !ruby/object:Gem::Dependency
182
+ name: rspec
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: 3.0.0
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: 3.0.0
167
195
  - !ruby/object:Gem::Dependency
168
196
  name: sinatra-reloader
169
197
  requirement: !ruby/object:Gem::Requirement
@@ -178,6 +206,20 @@ dependencies:
178
206
  - - ">="
179
207
  - !ruby/object:Gem::Version
180
208
  version: '0'
209
+ - !ruby/object:Gem::Dependency
210
+ name: terminal-notifier-guard
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
181
223
  description: Realtime Github Flavored Markdown Preview with WebSocket
182
224
  email:
183
225
  - dtanshi45@gmail.com
@@ -187,8 +229,11 @@ extensions: []
187
229
  extra_rdoc_files: []
188
230
  files:
189
231
  - ".gitignore"
232
+ - ".rspec"
233
+ - ".travis.yml"
190
234
  - CHANGELOG.md
191
235
  - Gemfile
236
+ - Guardfile
192
237
  - LICENSE.txt
193
238
  - README.md
194
239
  - Rakefile
@@ -208,6 +253,10 @@ files:
208
253
  - lib/mado/server.rb
209
254
  - lib/mado/version.rb
210
255
  - mado.gemspec
256
+ - spec/fixtures/example/example.png
257
+ - spec/fixtures/other/other.png
258
+ - spec/mado/app_spec.rb
259
+ - spec/spec_helper.rb
211
260
  homepage: https://github.com/dtan4/mado
212
261
  licenses:
213
262
  - MIT
@@ -232,4 +281,9 @@ rubygems_version: 2.2.2
232
281
  signing_key:
233
282
  specification_version: 4
234
283
  summary: Realtime Github Flavored Markdown Preview
235
- test_files: []
284
+ test_files:
285
+ - spec/fixtures/example/example.png
286
+ - spec/fixtures/other/other.png
287
+ - spec/mado/app_spec.rb
288
+ - spec/spec_helper.rb
289
+ has_rdoc: