analysand 1.1.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -8,7 +8,7 @@ require File.expand_path('../a_response', __FILE__)
8
8
  module Analysand
9
9
  describe Database do
10
10
  let(:db) { Database.new(database_uri) }
11
- let(:row_count) { 10000 }
11
+ let(:row_count) { 15000 }
12
12
 
13
13
  before(:all) do
14
14
  WebMock.disable!
@@ -0,0 +1,40 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://admin:admin@localhost:5984/_config/stats/rate
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - ! '*/*'
12
+ User-Agent:
13
+ - Ruby
14
+ Connection:
15
+ - keep-alive
16
+ Keep-Alive:
17
+ - 30
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Server:
24
+ - CouchDB/1.2.0 (Erlang OTP/R15B02)
25
+ Date:
26
+ - Tue, 13 Nov 2012 17:03:28 GMT
27
+ Content-Type:
28
+ - text/plain; charset=utf-8
29
+ Content-Length:
30
+ - '7'
31
+ Cache-Control:
32
+ - must-revalidate
33
+ body:
34
+ encoding: US-ASCII
35
+ string: ! '"1000"
36
+
37
+ '
38
+ http_version:
39
+ recorded_at: Tue, 13 Nov 2012 17:03:28 GMT
40
+ recorded_with: VCR 2.3.0
@@ -0,0 +1,40 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://admin:admin@localhost:5984/_config/stats
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - ! '*/*'
12
+ User-Agent:
13
+ - Ruby
14
+ Connection:
15
+ - keep-alive
16
+ Keep-Alive:
17
+ - 30
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Server:
24
+ - CouchDB/1.2.0 (Erlang OTP/R15B02)
25
+ Date:
26
+ - Tue, 13 Nov 2012 17:11:24 GMT
27
+ Content-Type:
28
+ - text/plain; charset=utf-8
29
+ Content-Length:
30
+ - '46'
31
+ Cache-Control:
32
+ - must-revalidate
33
+ body:
34
+ encoding: US-ASCII
35
+ string: ! '{"rate":"1000","samples":"[0, 60, 300, 900]"}
36
+
37
+ '
38
+ http_version:
39
+ recorded_at: Tue, 13 Nov 2012 17:11:24 GMT
40
+ recorded_with: VCR 2.3.0
@@ -0,0 +1,114 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://admin:admin@localhost:5984/_config/stats/samples
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - ! '*/*'
12
+ User-Agent:
13
+ - Ruby
14
+ Connection:
15
+ - keep-alive
16
+ Keep-Alive:
17
+ - 30
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Server:
24
+ - CouchDB/1.2.0 (Erlang OTP/R15B02)
25
+ Date:
26
+ - Wed, 14 Nov 2012 00:27:29 GMT
27
+ Content-Type:
28
+ - text/plain; charset=utf-8
29
+ Content-Length:
30
+ - '20'
31
+ Cache-Control:
32
+ - must-revalidate
33
+ body:
34
+ encoding: US-ASCII
35
+ string: ! '"[0, 60, 300, 900]"
36
+
37
+ '
38
+ http_version:
39
+ recorded_at: Wed, 14 Nov 2012 00:27:29 GMT
40
+ - request:
41
+ method: put
42
+ uri: http://admin:admin@localhost:5984/_config/stats/samples
43
+ body:
44
+ encoding: US-ASCII
45
+ string: ! '"[0, 60, 300, 900]"'
46
+ headers:
47
+ Accept:
48
+ - ! '*/*'
49
+ User-Agent:
50
+ - Ruby
51
+ Connection:
52
+ - keep-alive
53
+ Keep-Alive:
54
+ - 30
55
+ response:
56
+ status:
57
+ code: 200
58
+ message: OK
59
+ headers:
60
+ Server:
61
+ - CouchDB/1.2.0 (Erlang OTP/R15B02)
62
+ Date:
63
+ - Wed, 14 Nov 2012 00:27:29 GMT
64
+ Content-Type:
65
+ - text/plain; charset=utf-8
66
+ Content-Length:
67
+ - '20'
68
+ Cache-Control:
69
+ - must-revalidate
70
+ body:
71
+ encoding: US-ASCII
72
+ string: ! '"[0, 60, 300, 900]"
73
+
74
+ '
75
+ http_version:
76
+ recorded_at: Wed, 14 Nov 2012 00:27:29 GMT
77
+ - request:
78
+ method: get
79
+ uri: http://admin:admin@localhost:5984/_config/stats/samples
80
+ body:
81
+ encoding: US-ASCII
82
+ string: ''
83
+ headers:
84
+ Accept:
85
+ - ! '*/*'
86
+ User-Agent:
87
+ - Ruby
88
+ Connection:
89
+ - keep-alive
90
+ Keep-Alive:
91
+ - 30
92
+ response:
93
+ status:
94
+ code: 200
95
+ message: OK
96
+ headers:
97
+ Server:
98
+ - CouchDB/1.2.0 (Erlang OTP/R15B02)
99
+ Date:
100
+ - Wed, 14 Nov 2012 00:27:29 GMT
101
+ Content-Type:
102
+ - text/plain; charset=utf-8
103
+ Content-Length:
104
+ - '20'
105
+ Cache-Control:
106
+ - must-revalidate
107
+ body:
108
+ encoding: US-ASCII
109
+ string: ! '"[0, 60, 300, 900]"
110
+
111
+ '
112
+ http_version:
113
+ recorded_at: Wed, 14 Nov 2012 00:27:29 GMT
114
+ recorded_with: VCR 2.3.0
@@ -0,0 +1,77 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: put
5
+ uri: http://admin:admin@localhost:5984/_config/stats/rate
6
+ body:
7
+ encoding: UTF-8
8
+ string: ! '"1200"'
9
+ headers:
10
+ Accept:
11
+ - ! '*/*'
12
+ User-Agent:
13
+ - Ruby
14
+ Connection:
15
+ - keep-alive
16
+ Keep-Alive:
17
+ - 30
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Server:
24
+ - CouchDB/1.2.0 (Erlang OTP/R15B02)
25
+ Date:
26
+ - Wed, 14 Nov 2012 00:18:14 GMT
27
+ Content-Type:
28
+ - text/plain; charset=utf-8
29
+ Content-Length:
30
+ - '7'
31
+ Cache-Control:
32
+ - must-revalidate
33
+ body:
34
+ encoding: US-ASCII
35
+ string: ! '"1000"
36
+
37
+ '
38
+ http_version:
39
+ recorded_at: Wed, 14 Nov 2012 00:18:14 GMT
40
+ - request:
41
+ method: get
42
+ uri: http://admin:admin@localhost:5984/_config/stats/rate
43
+ body:
44
+ encoding: US-ASCII
45
+ string: ''
46
+ headers:
47
+ Accept:
48
+ - ! '*/*'
49
+ User-Agent:
50
+ - Ruby
51
+ Connection:
52
+ - keep-alive
53
+ Keep-Alive:
54
+ - 30
55
+ response:
56
+ status:
57
+ code: 200
58
+ message: OK
59
+ headers:
60
+ Server:
61
+ - CouchDB/1.2.0 (Erlang OTP/R15B02)
62
+ Date:
63
+ - Wed, 14 Nov 2012 00:18:14 GMT
64
+ Content-Type:
65
+ - text/plain; charset=utf-8
66
+ Content-Length:
67
+ - '7'
68
+ Cache-Control:
69
+ - must-revalidate
70
+ body:
71
+ encoding: US-ASCII
72
+ string: ! '"1200"
73
+
74
+ '
75
+ http_version:
76
+ recorded_at: Wed, 14 Nov 2012 00:18:14 GMT
77
+ recorded_with: VCR 2.3.0
@@ -0,0 +1,43 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: !binary |-
5
+ cHV0
6
+ uri: http://localhost:5984/_config/stats/rate
7
+ body:
8
+ encoding: !binary |-
9
+ VVRGLTg=
10
+ string: ! '"1000"'
11
+ headers:
12
+ Accept:
13
+ - ! '*/*'
14
+ User-Agent:
15
+ - Ruby
16
+ Connection:
17
+ - keep-alive
18
+ Keep-Alive:
19
+ - 30
20
+ response:
21
+ status:
22
+ code: 401
23
+ message: Unauthorized
24
+ headers:
25
+ Server:
26
+ - CouchDB/1.2.0 (Erlang OTP/R15B02)
27
+ Date:
28
+ - Wed, 14 Nov 2012 05:43:26 GMT
29
+ Content-Type:
30
+ - text/plain; charset=utf-8
31
+ Content-Length:
32
+ - '64'
33
+ Cache-Control:
34
+ - must-revalidate
35
+ body:
36
+ encoding: !binary |-
37
+ VVMtQVNDSUk=
38
+ string: ! '{"error":"unauthorized","reason":"You are not a server admin."}
39
+
40
+ '
41
+ http_version:
42
+ recorded_at: Wed, 14 Nov 2012 05:43:26 GMT
43
+ recorded_with: VCR 2.2.4
@@ -35,6 +35,6 @@ http_interactions:
35
35
  body:
36
36
  encoding: US-ASCII
37
37
  string: ! "{\"total_rows\":1,\"offset\":0,\"rows\":[\r\n{\"id\":\"abc123\",\"key\":\"abc123\",\"value\":1}\r\n]}\n"
38
- http_version:
38
+ http_version:
39
39
  recorded_at: Fri, 02 Nov 2012 14:33:24 GMT
40
40
  recorded_with: VCR 2.3.0
@@ -0,0 +1,59 @@
1
+ require 'analysand'
2
+ require 'celluloid'
3
+ require 'spec_helper'
4
+
5
+ describe 'Analysand::Database from multiple threads' do
6
+ let!(:db) { Analysand::Database.new(database_uri) }
7
+ let!(:thread_count) { 32 }
8
+
9
+ before(:all) do
10
+ WebMock.disable!
11
+ end
12
+
13
+ after(:all) do
14
+ WebMock.enable!
15
+ end
16
+
17
+ before do
18
+ clean_databases!
19
+ end
20
+
21
+ it 'processes all PUTs' do
22
+ threads = (0...thread_count).map do |i|
23
+ Thread.new do
24
+ sleep 1
25
+
26
+ (0...10).each do |j|
27
+ tag = 10 * i + j
28
+ db.put(tag.to_s, { :num => tag }, member1_credentials)
29
+ end
30
+ end
31
+ end
32
+
33
+ threads.each(&:join)
34
+
35
+ db.all_docs(:stream => true).count.should == thread_count * 10
36
+ end
37
+
38
+ it 'processes all GETs' do
39
+ docs = []
40
+
41
+ (thread_count * 10).times do |i|
42
+ docs << { :_id => i.to_s, :num => i }
43
+ end
44
+
45
+ db.bulk_docs!(docs, member1_credentials)
46
+
47
+ result = (0...thread_count).map do |i|
48
+ Celluloid::Future.new do
49
+ sleep 1
50
+ (0...10).map do |j|
51
+ tag = 10 * i + j
52
+ db.get(tag.to_s, member1_credentials).body['num']
53
+ end.inject(&:+)
54
+ end
55
+ end.map(&:value).inject(&:+)
56
+
57
+ result.should == (0...thread_count * 10).inject(&:+)
58
+ end
59
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: analysand
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 2.0.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,252 +9,318 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-03 00:00:00.000000000 Z
12
+ date: 2012-11-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: celluloid
16
- requirement: !ruby/object:Gem::Requirement
15
+ version_requirements: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ! '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0.12'
17
20
  none: false
21
+ requirement: !ruby/object:Gem::Requirement
18
22
  requirements:
19
23
  - - ! '>='
20
24
  - !ruby/object:Gem::Version
21
25
  version: '0.12'
26
+ none: false
27
+ name: celluloid
22
28
  type: :runtime
23
29
  prerelease: false
30
+ - !ruby/object:Gem::Dependency
24
31
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
32
  requirements:
27
33
  - - ! '>='
28
34
  - !ruby/object:Gem::Version
29
- version: '0.12'
30
- - !ruby/object:Gem::Dependency
31
- name: celluloid-io
32
- requirement: !ruby/object:Gem::Requirement
35
+ version: '0'
33
36
  none: false
37
+ requirement: !ruby/object:Gem::Requirement
34
38
  requirements:
35
39
  - - ! '>='
36
40
  - !ruby/object:Gem::Version
37
41
  version: '0'
42
+ none: false
43
+ name: celluloid-io
38
44
  type: :runtime
39
45
  prerelease: false
46
+ - !ruby/object:Gem::Dependency
40
47
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
48
  requirements:
43
49
  - - ! '>='
44
50
  - !ruby/object:Gem::Version
45
51
  version: '0'
46
- - !ruby/object:Gem::Dependency
47
- name: http_parser.rb
48
- requirement: !ruby/object:Gem::Requirement
49
52
  none: false
53
+ requirement: !ruby/object:Gem::Requirement
50
54
  requirements:
51
55
  - - ! '>='
52
56
  - !ruby/object:Gem::Version
53
57
  version: '0'
58
+ none: false
59
+ name: http_parser.rb
54
60
  type: :runtime
55
61
  prerelease: false
62
+ - !ruby/object:Gem::Dependency
56
63
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
64
  requirements:
59
65
  - - ! '>='
60
66
  - !ruby/object:Gem::Version
61
67
  version: '0'
62
- - !ruby/object:Gem::Dependency
63
- name: json
64
- requirement: !ruby/object:Gem::Requirement
65
68
  none: false
69
+ requirement: !ruby/object:Gem::Requirement
66
70
  requirements:
67
71
  - - ! '>='
68
72
  - !ruby/object:Gem::Version
69
73
  version: '0'
74
+ none: false
75
+ name: json
70
76
  type: :runtime
71
77
  prerelease: false
78
+ - !ruby/object:Gem::Dependency
72
79
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
80
  requirements:
75
81
  - - ! '>='
76
82
  - !ruby/object:Gem::Version
77
83
  version: '0'
78
- - !ruby/object:Gem::Dependency
79
- name: json-stream
80
- requirement: !ruby/object:Gem::Requirement
81
84
  none: false
85
+ requirement: !ruby/object:Gem::Requirement
82
86
  requirements:
83
87
  - - ! '>='
84
88
  - !ruby/object:Gem::Version
85
89
  version: '0'
90
+ none: false
91
+ name: json-stream
86
92
  type: :runtime
87
93
  prerelease: false
94
+ - !ruby/object:Gem::Dependency
88
95
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
96
  requirements:
91
97
  - - ! '>='
92
98
  - !ruby/object:Gem::Version
93
99
  version: '0'
94
- - !ruby/object:Gem::Dependency
95
- name: net-http-persistent
96
- requirement: !ruby/object:Gem::Requirement
97
100
  none: false
101
+ requirement: !ruby/object:Gem::Requirement
98
102
  requirements:
99
103
  - - ! '>='
100
104
  - !ruby/object:Gem::Version
101
105
  version: '0'
106
+ none: false
107
+ name: net-http-persistent
102
108
  type: :runtime
103
109
  prerelease: false
110
+ - !ruby/object:Gem::Dependency
104
111
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
112
  requirements:
107
113
  - - ! '>='
108
114
  - !ruby/object:Gem::Version
109
115
  version: '0'
110
- - !ruby/object:Gem::Dependency
111
- name: rack
112
- requirement: !ruby/object:Gem::Requirement
113
116
  none: false
117
+ requirement: !ruby/object:Gem::Requirement
114
118
  requirements:
115
119
  - - ! '>='
116
120
  - !ruby/object:Gem::Version
117
121
  version: '0'
122
+ none: false
123
+ name: rack
118
124
  type: :runtime
119
125
  prerelease: false
126
+ - !ruby/object:Gem::Dependency
120
127
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
128
  requirements:
123
129
  - - ! '>='
124
130
  - !ruby/object:Gem::Version
125
131
  version: '0'
126
- - !ruby/object:Gem::Dependency
127
- name: yajl-ruby
128
- requirement: !ruby/object:Gem::Requirement
129
132
  none: false
133
+ requirement: !ruby/object:Gem::Requirement
130
134
  requirements:
131
135
  - - ! '>='
132
136
  - !ruby/object:Gem::Version
133
137
  version: '0'
138
+ none: false
139
+ name: yajl-ruby
134
140
  type: :runtime
135
141
  prerelease: false
142
+ - !ruby/object:Gem::Dependency
136
143
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
144
  requirements:
139
145
  - - ! '>='
140
146
  - !ruby/object:Gem::Version
141
147
  version: '0'
142
- - !ruby/object:Gem::Dependency
143
- name: rake
144
- requirement: !ruby/object:Gem::Requirement
145
148
  none: false
149
+ requirement: !ruby/object:Gem::Requirement
146
150
  requirements:
147
151
  - - ! '>='
148
152
  - !ruby/object:Gem::Version
149
153
  version: '0'
154
+ none: false
155
+ name: rake
150
156
  type: :development
151
157
  prerelease: false
158
+ - !ruby/object:Gem::Dependency
152
159
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
160
  requirements:
155
161
  - - ! '>='
156
162
  - !ruby/object:Gem::Version
157
163
  version: '0'
158
- - !ruby/object:Gem::Dependency
159
- name: rspec
160
- requirement: !ruby/object:Gem::Requirement
161
164
  none: false
165
+ requirement: !ruby/object:Gem::Requirement
162
166
  requirements:
163
167
  - - ! '>='
164
168
  - !ruby/object:Gem::Version
165
169
  version: '0'
170
+ none: false
171
+ name: rspec
166
172
  type: :development
167
173
  prerelease: false
174
+ - !ruby/object:Gem::Dependency
168
175
  version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
176
  requirements:
171
177
  - - ! '>='
172
178
  - !ruby/object:Gem::Version
173
179
  version: '0'
174
- - !ruby/object:Gem::Dependency
175
- name: vcr
176
- requirement: !ruby/object:Gem::Requirement
177
180
  none: false
181
+ requirement: !ruby/object:Gem::Requirement
178
182
  requirements:
179
183
  - - ! '>='
180
184
  - !ruby/object:Gem::Version
181
185
  version: '0'
186
+ none: false
187
+ name: vcr
182
188
  type: :development
183
189
  prerelease: false
190
+ - !ruby/object:Gem::Dependency
184
191
  version_requirements: !ruby/object:Gem::Requirement
185
- none: false
186
192
  requirements:
187
193
  - - ! '>='
188
194
  - !ruby/object:Gem::Version
189
195
  version: '0'
190
- - !ruby/object:Gem::Dependency
191
- name: webmock
192
- requirement: !ruby/object:Gem::Requirement
193
196
  none: false
197
+ requirement: !ruby/object:Gem::Requirement
194
198
  requirements:
195
199
  - - ! '>='
196
200
  - !ruby/object:Gem::Version
197
201
  version: '0'
202
+ none: false
203
+ name: webmock
198
204
  type: :development
199
205
  prerelease: false
200
- version_requirements: !ruby/object:Gem::Requirement
201
- none: false
202
- requirements:
203
- - - ! '>='
204
- - !ruby/object:Gem::Version
205
- version: '0'
206
206
  description: A terrible burden for a couch
207
207
  email:
208
208
  - yipdw@member.fsf.org
209
209
  executables:
210
- - analysand
210
+ - !binary |-
211
+ YW5hbHlzYW5k
211
212
  extensions: []
212
213
  extra_rdoc_files: []
213
214
  files:
214
- - .gitignore
215
- - .rspec
216
- - .travis.yml
217
- - CHANGELOG
218
- - Gemfile
219
- - LICENSE
220
- - README
221
- - Rakefile
222
- - analysand.gemspec
223
- - bin/analysand
224
- - lib/analysand.rb
225
- - lib/analysand/bulk_response.rb
226
- - lib/analysand/change_watcher.rb
227
- - lib/analysand/connection_testing.rb
228
- - lib/analysand/database.rb
229
- - lib/analysand/errors.rb
230
- - lib/analysand/instance.rb
231
- - lib/analysand/reading.rb
232
- - lib/analysand/response.rb
233
- - lib/analysand/streaming_view_response.rb
234
- - lib/analysand/version.rb
235
- - lib/analysand/view_response.rb
236
- - lib/analysand/view_streaming/builder.rb
237
- - lib/analysand/viewing.rb
238
- - lib/analysand/writing.rb
239
- - script/setup_database.rb
240
- - spec/analysand/a_response.rb
241
- - spec/analysand/a_session_grantor.rb
242
- - spec/analysand/change_watcher_spec.rb
243
- - spec/analysand/database_spec.rb
244
- - spec/analysand/database_writing_spec.rb
245
- - spec/analysand/instance_spec.rb
246
- - spec/analysand/response_spec.rb
247
- - spec/analysand/view_response_spec.rb
248
- - spec/analysand/view_streaming/builder_spec.rb
249
- - spec/analysand/view_streaming_spec.rb
250
- - spec/fixtures/vcr_cassettes/get_session_does_not_refresh_cookie.yml
251
- - spec/fixtures/vcr_cassettes/get_session_refreshes_cookie.yml
252
- - spec/fixtures/vcr_cassettes/head_request_with_etag.yml
253
- - spec/fixtures/vcr_cassettes/view.yml
254
- - spec/spec_helper.rb
255
- - spec/support/database_access.rb
256
- - spec/support/example_isolation.rb
257
- - spec/support/test_parameters.rb
215
+ - !binary |-
216
+ LmdpdGlnbm9yZQ==
217
+ - !binary |-
218
+ LnJzcGVj
219
+ - !binary |-
220
+ LnRyYXZpcy55bWw=
221
+ - !binary |-
222
+ Q0hBTkdFTE9H
223
+ - !binary |-
224
+ R2VtZmlsZQ==
225
+ - !binary |-
226
+ TElDRU5TRQ==
227
+ - !binary |-
228
+ UkVBRE1F
229
+ - !binary |-
230
+ UmFrZWZpbGU=
231
+ - !binary |-
232
+ YW5hbHlzYW5kLmdlbXNwZWM=
233
+ - !binary |-
234
+ YmluL2FuYWx5c2FuZA==
235
+ - !binary |-
236
+ bGliL2FuYWx5c2FuZC5yYg==
237
+ - !binary |-
238
+ bGliL2FuYWx5c2FuZC9idWxrX3Jlc3BvbnNlLnJi
239
+ - !binary |-
240
+ bGliL2FuYWx5c2FuZC9jaGFuZ2Vfd2F0Y2hlci5yYg==
241
+ - !binary |-
242
+ bGliL2FuYWx5c2FuZC9jb25maWdfcmVzcG9uc2UucmI=
243
+ - !binary |-
244
+ bGliL2FuYWx5c2FuZC9jb25uZWN0aW9uX3Rlc3RpbmcucmI=
245
+ - !binary |-
246
+ bGliL2FuYWx5c2FuZC9kYXRhYmFzZS5yYg==
247
+ - !binary |-
248
+ bGliL2FuYWx5c2FuZC9lcnJvcnMucmI=
249
+ - !binary |-
250
+ bGliL2FuYWx5c2FuZC9odHRwLnJi
251
+ - !binary |-
252
+ bGliL2FuYWx5c2FuZC9pbnN0YW5jZS5yYg==
253
+ - !binary |-
254
+ bGliL2FuYWx5c2FuZC9yZWFkaW5nLnJi
255
+ - !binary |-
256
+ bGliL2FuYWx5c2FuZC9yZXNwb25zZS5yYg==
257
+ - !binary |-
258
+ bGliL2FuYWx5c2FuZC9yZXNwb25zZV9oZWFkZXJzLnJi
259
+ - !binary |-
260
+ bGliL2FuYWx5c2FuZC9zZXNzaW9uX3Jlc3BvbnNlLnJi
261
+ - !binary |-
262
+ bGliL2FuYWx5c2FuZC9zdGF0dXNfY29kZV9wcmVkaWNhdGVzLnJi
263
+ - !binary |-
264
+ bGliL2FuYWx5c2FuZC9zdHJlYW1pbmdfdmlld19yZXNwb25zZS5yYg==
265
+ - !binary |-
266
+ bGliL2FuYWx5c2FuZC92ZXJzaW9uLnJi
267
+ - !binary |-
268
+ bGliL2FuYWx5c2FuZC92aWV3X3Jlc3BvbnNlLnJi
269
+ - !binary |-
270
+ bGliL2FuYWx5c2FuZC92aWV3X3N0cmVhbWluZy9idWlsZGVyLnJi
271
+ - !binary |-
272
+ bGliL2FuYWx5c2FuZC92aWV3aW5nLnJi
273
+ - !binary |-
274
+ bGliL2FuYWx5c2FuZC93cml0aW5nLnJi
275
+ - !binary |-
276
+ c2NyaXB0L3NldHVwX2RhdGFiYXNlLnJi
277
+ - !binary |-
278
+ c3BlYy9hbmFseXNhbmQvYV9yZXNwb25zZS5yYg==
279
+ - !binary |-
280
+ c3BlYy9hbmFseXNhbmQvYV9zZXNzaW9uX2dyYW50b3IucmI=
281
+ - !binary |-
282
+ c3BlYy9hbmFseXNhbmQvY2hhbmdlX3dhdGNoZXJfc3BlYy5yYg==
283
+ - !binary |-
284
+ c3BlYy9hbmFseXNhbmQvZGF0YWJhc2Vfc3BlYy5yYg==
285
+ - !binary |-
286
+ c3BlYy9hbmFseXNhbmQvZGF0YWJhc2Vfd3JpdGluZ19zcGVjLnJi
287
+ - !binary |-
288
+ c3BlYy9hbmFseXNhbmQvaW5zdGFuY2Vfc3BlYy5yYg==
289
+ - !binary |-
290
+ c3BlYy9hbmFseXNhbmQvcmVzcG9uc2Vfc3BlYy5yYg==
291
+ - !binary |-
292
+ c3BlYy9hbmFseXNhbmQvdmlld19yZXNwb25zZV9zcGVjLnJi
293
+ - !binary |-
294
+ c3BlYy9hbmFseXNhbmQvdmlld19zdHJlYW1pbmcvYnVpbGRlcl9zcGVjLnJi
295
+ - !binary |-
296
+ c3BlYy9hbmFseXNhbmQvdmlld19zdHJlYW1pbmdfc3BlYy5yYg==
297
+ - !binary |-
298
+ c3BlYy9maXh0dXJlcy92Y3JfY2Fzc2V0dGVzL2dldF9jb25maWcueW1s
299
+ - !binary |-
300
+ c3BlYy9maXh0dXJlcy92Y3JfY2Fzc2V0dGVzL2dldF9tYW55X2NvbmZpZy55
301
+ bWw=
302
+ - !binary |-
303
+ c3BlYy9maXh0dXJlcy92Y3JfY2Fzc2V0dGVzL2hlYWRfcmVxdWVzdF93aXRo
304
+ X2V0YWcueW1s
305
+ - !binary |-
306
+ c3BlYy9maXh0dXJlcy92Y3JfY2Fzc2V0dGVzL3JlbG9hZF9jb25maWcueW1s
307
+ - !binary |-
308
+ c3BlYy9maXh0dXJlcy92Y3JfY2Fzc2V0dGVzL3NldF9jb25maWcueW1s
309
+ - !binary |-
310
+ c3BlYy9maXh0dXJlcy92Y3JfY2Fzc2V0dGVzL3VuYXV0aG9yaXplZF9zZXRf
311
+ Y29uZmlnLnltbA==
312
+ - !binary |-
313
+ c3BlYy9maXh0dXJlcy92Y3JfY2Fzc2V0dGVzL3ZpZXcueW1s
314
+ - !binary |-
315
+ c3BlYy9zbW9rZS9kYXRhYmFzZV90aHJlYWRfc3BlYy5yYg==
316
+ - !binary |-
317
+ c3BlYy9zcGVjX2hlbHBlci5yYg==
318
+ - !binary |-
319
+ c3BlYy9zdXBwb3J0L2RhdGFiYXNlX2FjY2Vzcy5yYg==
320
+ - !binary |-
321
+ c3BlYy9zdXBwb3J0L2V4YW1wbGVfaXNvbGF0aW9uLnJi
322
+ - !binary |-
323
+ c3BlYy9zdXBwb3J0L3Rlc3RfcGFyYW1ldGVycy5yYg==
258
324
  homepage: https://github.com/yipdw/analysand
259
325
  licenses: []
260
326
  post_install_message:
@@ -262,20 +328,17 @@ rdoc_options: []
262
328
  require_paths:
263
329
  - lib
264
330
  required_ruby_version: !ruby/object:Gem::Requirement
265
- none: false
266
331
  requirements:
267
332
  - - ! '>='
268
333
  - !ruby/object:Gem::Version
269
334
  version: '1.9'
270
- required_rubygems_version: !ruby/object:Gem::Requirement
271
335
  none: false
336
+ required_rubygems_version: !ruby/object:Gem::Requirement
272
337
  requirements:
273
338
  - - ! '>='
274
339
  - !ruby/object:Gem::Version
275
340
  version: '0'
276
- segments:
277
- - 0
278
- hash: 1636075710604712169
341
+ none: false
279
342
  requirements: []
280
343
  rubyforge_project:
281
344
  rubygems_version: 1.8.24
@@ -283,21 +346,50 @@ signing_key:
283
346
  specification_version: 3
284
347
  summary: A CouchDB client of dubious worth
285
348
  test_files:
286
- - spec/analysand/a_response.rb
287
- - spec/analysand/a_session_grantor.rb
288
- - spec/analysand/change_watcher_spec.rb
289
- - spec/analysand/database_spec.rb
290
- - spec/analysand/database_writing_spec.rb
291
- - spec/analysand/instance_spec.rb
292
- - spec/analysand/response_spec.rb
293
- - spec/analysand/view_response_spec.rb
294
- - spec/analysand/view_streaming/builder_spec.rb
295
- - spec/analysand/view_streaming_spec.rb
296
- - spec/fixtures/vcr_cassettes/get_session_does_not_refresh_cookie.yml
297
- - spec/fixtures/vcr_cassettes/get_session_refreshes_cookie.yml
298
- - spec/fixtures/vcr_cassettes/head_request_with_etag.yml
299
- - spec/fixtures/vcr_cassettes/view.yml
300
- - spec/spec_helper.rb
301
- - spec/support/database_access.rb
302
- - spec/support/example_isolation.rb
303
- - spec/support/test_parameters.rb
349
+ - !binary |-
350
+ c3BlYy9hbmFseXNhbmQvYV9yZXNwb25zZS5yYg==
351
+ - !binary |-
352
+ c3BlYy9hbmFseXNhbmQvYV9zZXNzaW9uX2dyYW50b3IucmI=
353
+ - !binary |-
354
+ c3BlYy9hbmFseXNhbmQvY2hhbmdlX3dhdGNoZXJfc3BlYy5yYg==
355
+ - !binary |-
356
+ c3BlYy9hbmFseXNhbmQvZGF0YWJhc2Vfc3BlYy5yYg==
357
+ - !binary |-
358
+ c3BlYy9hbmFseXNhbmQvZGF0YWJhc2Vfd3JpdGluZ19zcGVjLnJi
359
+ - !binary |-
360
+ c3BlYy9hbmFseXNhbmQvaW5zdGFuY2Vfc3BlYy5yYg==
361
+ - !binary |-
362
+ c3BlYy9hbmFseXNhbmQvcmVzcG9uc2Vfc3BlYy5yYg==
363
+ - !binary |-
364
+ c3BlYy9hbmFseXNhbmQvdmlld19yZXNwb25zZV9zcGVjLnJi
365
+ - !binary |-
366
+ c3BlYy9hbmFseXNhbmQvdmlld19zdHJlYW1pbmcvYnVpbGRlcl9zcGVjLnJi
367
+ - !binary |-
368
+ c3BlYy9hbmFseXNhbmQvdmlld19zdHJlYW1pbmdfc3BlYy5yYg==
369
+ - !binary |-
370
+ c3BlYy9maXh0dXJlcy92Y3JfY2Fzc2V0dGVzL2dldF9jb25maWcueW1s
371
+ - !binary |-
372
+ c3BlYy9maXh0dXJlcy92Y3JfY2Fzc2V0dGVzL2dldF9tYW55X2NvbmZpZy55
373
+ bWw=
374
+ - !binary |-
375
+ c3BlYy9maXh0dXJlcy92Y3JfY2Fzc2V0dGVzL2hlYWRfcmVxdWVzdF93aXRo
376
+ X2V0YWcueW1s
377
+ - !binary |-
378
+ c3BlYy9maXh0dXJlcy92Y3JfY2Fzc2V0dGVzL3JlbG9hZF9jb25maWcueW1s
379
+ - !binary |-
380
+ c3BlYy9maXh0dXJlcy92Y3JfY2Fzc2V0dGVzL3NldF9jb25maWcueW1s
381
+ - !binary |-
382
+ c3BlYy9maXh0dXJlcy92Y3JfY2Fzc2V0dGVzL3VuYXV0aG9yaXplZF9zZXRf
383
+ Y29uZmlnLnltbA==
384
+ - !binary |-
385
+ c3BlYy9maXh0dXJlcy92Y3JfY2Fzc2V0dGVzL3ZpZXcueW1s
386
+ - !binary |-
387
+ c3BlYy9zbW9rZS9kYXRhYmFzZV90aHJlYWRfc3BlYy5yYg==
388
+ - !binary |-
389
+ c3BlYy9zcGVjX2hlbHBlci5yYg==
390
+ - !binary |-
391
+ c3BlYy9zdXBwb3J0L2RhdGFiYXNlX2FjY2Vzcy5yYg==
392
+ - !binary |-
393
+ c3BlYy9zdXBwb3J0L2V4YW1wbGVfaXNvbGF0aW9uLnJi
394
+ - !binary |-
395
+ c3BlYy9zdXBwb3J0L3Rlc3RfcGFyYW1ldGVycy5yYg==