segregate 0.5.5 → 0.5.6

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: a8a2fe5b5f775232c83f94a827265ba6a9625fc3
4
- data.tar.gz: 77c340f7fe206a0c0398b7505f3b627c0df547ec
3
+ metadata.gz: 0d07a86adbce8db21d2dbd7e56b09fae123a8f8b
4
+ data.tar.gz: 0947b2007442a95c5551c576a7bd1a6cbbd4c021
5
5
  SHA512:
6
- metadata.gz: 3f869e55b8faf9ecb9d257ce32dac4082ac74d185ac04a9ddab5d800d9b5a55593e064d0094c5eae2631416f6a51aab849edebd08126cc392cc9bcb9afa42a2b
7
- data.tar.gz: db1b10304734bcb0fa481af2706a310168ebba4418acd73df5faedc9ef7ce009189fbb9cc50dc277ef4b067c92e0f89bcf15bf894b3192567c743dcf66dbc222
6
+ metadata.gz: 0c1d9a9965dc30280f5de06c98dfe1054b50185e9e195a58d9ef3b79851757539796e0edf1eda41cd14125d77eed1926b14451db4b6302623dd470c5b13ba68d
7
+ data.tar.gz: 837f9599d5a0a90438f499f9f8260c625fd06a092da183831a947c3eddf1f24a362c5865c87ae553005be2c6636f1afde2f7a28845c9a1a1098521eeca46874e
@@ -1,4 +1,4 @@
1
1
  class Segregate
2
- VERSION = "0.5.5".freeze
3
- DATE = "2014-02-12".freeze
2
+ VERSION = "0.5.6".freeze
3
+ DATE = "2015-06-02".freeze
4
4
  end
data/lib/segregate.rb CHANGED
@@ -111,7 +111,14 @@ class Segregate
111
111
  def build_headers raw_message
112
112
  request? ? raw_message << request_line + "\r\n" : raw_message << status_line + "\r\n"
113
113
  @header_order.each do |header|
114
- raw_message << "%s: %s\r\n" % [header, headers[header.downcase]]
114
+ values = @headers[header.downcase]
115
+ if values.kind_of?(Array)
116
+ values.each do |value|
117
+ raw_message << "%s: %s\r\n" % [header, value]
118
+ end
119
+ else
120
+ raw_message << "%s: %s\r\n" % [header, values]
121
+ end
115
122
  end
116
123
  raw_message << "\r\n"
117
124
  end
@@ -204,8 +211,8 @@ class Segregate
204
211
  @state.next
205
212
  else
206
213
  key, value = line.split(": ",2)
207
- @header_order << key
208
- @headers[key.downcase] = value
214
+ @header_order << key unless @header_order.include?(key)
215
+ save_value(@headers, key, value)
209
216
  end
210
217
 
211
218
  if headers_complete?
@@ -269,4 +276,14 @@ class Segregate
269
276
  @stashed_body = @inital_line.end_with?("\r\n") ? (line + "\r\n") : line
270
277
  end
271
278
  end
279
+
280
+ def save_value(store_hash, key, value)
281
+ key = key.downcase
282
+ if store_hash.key?(key)
283
+ store_hash[key] = [] << store_hash[key] unless store_hash[key].kind_of?(Array)
284
+ store_hash[key] << value
285
+ else
286
+ store_hash[key] = value
287
+ end
288
+ end
272
289
  end
data/spec/spec_helper.rb CHANGED
@@ -4,7 +4,7 @@ Coveralls.wear!
4
4
  require 'segregate'
5
5
 
6
6
  RSpec.configure do |config|
7
- config.color_enabled = true
7
+ # config.color_enabled = true
8
8
  config.formatter = :documentation
9
9
  end
10
10
 
metadata CHANGED
@@ -1,97 +1,97 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: segregate
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.5
4
+ version: 0.5.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Slaughter
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-12 00:00:00.000000000 Z
11
+ date: 2015-06-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: yard
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: coveralls
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: hashie
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: juncture
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - '>='
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - '>='
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  description: An http parser that also includes URI parsing and retaining and rebuilding
@@ -120,12 +120,12 @@ require_paths:
120
120
  - lib
121
121
  required_ruby_version: !ruby/object:Gem::Requirement
122
122
  requirements:
123
- - - '>='
123
+ - - ">="
124
124
  - !ruby/object:Gem::Version
125
125
  version: '0'
126
126
  required_rubygems_version: !ruby/object:Gem::Requirement
127
127
  requirements:
128
- - - '>='
128
+ - - ">="
129
129
  - !ruby/object:Gem::Version
130
130
  version: '0'
131
131
  requirements: []