deas 0.16.0 → 0.17.0
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.
- 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
|