deas 0.16.0 → 0.17.0
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/deas/runner.rb +1 -0
- data/lib/deas/sinatra_runner.rb +4 -0
- data/lib/deas/test_runner.rb +6 -0
- data/lib/deas/version.rb +1 -1
- data/lib/deas/view_handler.rb +2 -3
- data/test/support/view_handlers.rb +11 -3
- data/test/unit/runner_tests.rb +7 -2
- data/test/unit/view_handler_tests.rb +6 -0
- metadata +4 -4
data/lib/deas/runner.rb
CHANGED
data/lib/deas/sinatra_runner.rb
CHANGED
data/lib/deas/test_runner.rb
CHANGED
@@ -74,6 +74,12 @@ module Deas
|
|
74
74
|
|
75
75
|
RenderArgs = Struct.new(:template_name, :options, :block)
|
76
76
|
|
77
|
+
def send_file(file_path, options = nil, &block)
|
78
|
+
SendFileArgs.new(file_path, options, block)
|
79
|
+
end
|
80
|
+
|
81
|
+
SendFileArgs = Struct.new(:file_path, :options, :block)
|
82
|
+
|
77
83
|
end
|
78
84
|
|
79
85
|
end
|
data/lib/deas/version.rb
CHANGED
data/lib/deas/view_handler.rb
CHANGED
@@ -53,9 +53,8 @@ module Deas
|
|
53
53
|
def status(*args); @deas_runner.status(*args); end
|
54
54
|
def headers(*args); @deas_runner.headers(*args); end
|
55
55
|
|
56
|
-
def render(*args, &block)
|
57
|
-
|
58
|
-
end
|
56
|
+
def render(*args, &block); @deas_runner.render(*args, &block); end
|
57
|
+
def send_file(*args, &block); @deas_runner.send_file(*args, &block); end
|
59
58
|
|
60
59
|
def app_settings; @deas_runner.app_settings; end
|
61
60
|
def logger; @deas_runner.logger; end
|
@@ -13,15 +13,23 @@ class RenderViewHandler
|
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
16
|
+
class SendFileViewHandler
|
17
|
+
include Deas::ViewHandler
|
18
|
+
|
19
|
+
def run!
|
20
|
+
send_file "my_file.txt", :some => :option
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
16
24
|
class FlagViewHandler
|
17
25
|
include Deas::ViewHandler
|
18
26
|
before{ @before_hook_called = true }
|
19
27
|
after{ @after_hook_called = true }
|
20
28
|
layout 'web'
|
21
29
|
|
22
|
-
attr_reader :before_init_called, :init_bang_called, :after_init_called
|
23
|
-
|
24
|
-
|
30
|
+
attr_reader :before_init_called, :init_bang_called, :after_init_called
|
31
|
+
attr_reader :before_run_called, :run_bang_called, :after_run_called
|
32
|
+
attr_reader :before_hook_called, :after_hook_called, :second_before_init_called
|
25
33
|
|
26
34
|
before_init do
|
27
35
|
@before_init_called = true
|
data/test/unit/runner_tests.rb
CHANGED
@@ -11,9 +11,14 @@ class Deas::Runner
|
|
11
11
|
end
|
12
12
|
subject{ @runner }
|
13
13
|
|
14
|
-
should have_reader
|
14
|
+
should have_reader :app_settings
|
15
15
|
should have_readers :request, :response, :params, :logger, :session
|
16
|
-
should have_imeths :halt, :redirect, :content_type, :status
|
16
|
+
should have_imeths :halt, :redirect, :content_type, :status
|
17
|
+
should have_imeths :render, :send_file
|
18
|
+
|
19
|
+
should "raise NotImplementedError with #send_file" do
|
20
|
+
assert_raises(NotImplementedError){ subject.send_file }
|
21
|
+
end
|
17
22
|
|
18
23
|
should "raise NotImplementedError with #halt" do
|
19
24
|
assert_raises(NotImplementedError){ subject.halt }
|
@@ -33,6 +33,12 @@ module Deas::ViewHandler
|
|
33
33
|
assert_equal({ :some => :option }, render_args.options)
|
34
34
|
end
|
35
35
|
|
36
|
+
should "be able to send files" do
|
37
|
+
send_file_args = test_runner(SendFileViewHandler).run
|
38
|
+
assert_equal "my_file.txt", send_file_args.file_path
|
39
|
+
assert_equal({ :some => :option }, send_file_args.options)
|
40
|
+
end
|
41
|
+
|
36
42
|
should "allow specifying the layouts using #layout or #layouts" do
|
37
43
|
handler_class = Class.new{ include Deas::ViewHandler }
|
38
44
|
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: deas
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 91
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
8
|
+
- 17
|
9
9
|
- 0
|
10
|
-
version: 0.
|
10
|
+
version: 0.17.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Kelly Redding
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2013-06-
|
19
|
+
date: 2013-06-12 00:00:00 Z
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
22
|
name: ns-options
|