regal 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.yardopts +1 -1
- data/README.md +145 -0
- data/lib/regal/app.rb +395 -137
- data/lib/regal/request.rb +17 -14
- data/lib/regal/response.rb +24 -0
- data/lib/regal/version.rb +2 -1
- data/spec/regal/app_spec.rb +606 -146
- data/spec/regal/request_spec.rb +12 -19
- data/spec/spec_helper.rb +7 -0
- metadata +4 -2
data/lib/regal/response.rb
CHANGED
@@ -1,10 +1,23 @@
|
|
1
1
|
module Regal
|
2
2
|
class Response
|
3
|
+
# @!attribute [rw] status
|
4
|
+
# @return [Hash]
|
5
|
+
|
6
|
+
# @!attribute [rw] body
|
7
|
+
# @return [Object]
|
8
|
+
|
9
|
+
# @!attribute [rw] raw_body
|
10
|
+
# @return [Enumerable]
|
11
|
+
|
12
|
+
# @!attribute [r] headers
|
13
|
+
# @return [Hash]
|
14
|
+
|
3
15
|
attr_accessor :status, :body, :raw_body
|
4
16
|
attr_reader :headers
|
5
17
|
|
6
18
|
EMPTY_BODY = [].freeze
|
7
19
|
|
20
|
+
# @private
|
8
21
|
def initialize
|
9
22
|
@status = 200
|
10
23
|
@headers = {}
|
@@ -13,18 +26,23 @@ module Regal
|
|
13
26
|
@finished = false
|
14
27
|
end
|
15
28
|
|
29
|
+
# @return [void]
|
16
30
|
def finish
|
17
31
|
@finished = true
|
18
32
|
end
|
19
33
|
|
34
|
+
# @return [true, false]
|
20
35
|
def finished?
|
21
36
|
@finished
|
22
37
|
end
|
23
38
|
|
39
|
+
# @return [Array<()>]
|
24
40
|
def no_body
|
25
41
|
@raw_body = EMPTY_BODY
|
26
42
|
end
|
27
43
|
|
44
|
+
# @param [Integer] n
|
45
|
+
# @return [Integer, Hash, Enumerable]
|
28
46
|
def [](n)
|
29
47
|
case n
|
30
48
|
when 0 then @status
|
@@ -33,6 +51,9 @@ module Regal
|
|
33
51
|
end
|
34
52
|
end
|
35
53
|
|
54
|
+
# @param [Integer] n
|
55
|
+
# @param [Integer, Hash, Enumerable] v
|
56
|
+
# @return [Integer, Hash, Enumerable]
|
36
57
|
def []=(n, v)
|
37
58
|
case n
|
38
59
|
when 0 then @status = v
|
@@ -41,6 +62,7 @@ module Regal
|
|
41
62
|
end
|
42
63
|
end
|
43
64
|
|
65
|
+
# @return [Array<(Integer, Hash, Enumerable)>]
|
44
66
|
def to_ary
|
45
67
|
[@status, @headers, rack_body]
|
46
68
|
end
|
@@ -53,6 +75,8 @@ module Regal
|
|
53
75
|
@raw_body
|
54
76
|
elsif @body.is_a?(String)
|
55
77
|
[@body]
|
78
|
+
elsif @body.nil?
|
79
|
+
EMPTY_BODY
|
56
80
|
else
|
57
81
|
@body
|
58
82
|
end
|
data/lib/regal/version.rb
CHANGED