dpla-analysand 3.0.2 → 3.1.0.pre.dpla.1

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: 43f7060645db528706131e0bb8c6feaa5311cb45
4
- data.tar.gz: a9d1a3d8e8434f3039d7b0f441a4053000b1bca4
3
+ metadata.gz: 90b8e57499d6d55a1dfabd8b3ce5e9998c2d2ad4
4
+ data.tar.gz: 509ade65129c5986fe24e4b8f2a5cb5883171461
5
5
  SHA512:
6
- metadata.gz: 510cc920abf5f1fa85b82ed86e7d0f8fb4276761a424626122bfa79025c6795b4692481706a57208dde8b5916b0ff3afd4e151a7b496935dfbf84bd384688f29
7
- data.tar.gz: 1b247083c79d19ec91aa958712f6e7e7d3d80d33546914b3a7776b62ede70745d71ddea5c5f2e1142f5cb3ffe8ade9e7f8e191df6f4e851b3e0d9c2cd02f3a7d
6
+ metadata.gz: fa0aa6640a07ffa89a35f6aee54f6352d3e513abc6a43f6df053277b4ed41f453d3d4e0adbfb9b9c91eed74729ba7f57c1e758a3396e391a8e219dacc052c6fa
7
+ data.tar.gz: b1c7aff36819f6a3c22e2c04c21125efa1f6fec37bc57aa80c155ea543c81b5ac70aad096ae52bc3870d9b78f31469968d322065c8757a95f409c26280d486e6
data/.travis.yml CHANGED
@@ -1,6 +1,6 @@
1
1
  language: ruby
2
2
  rvm:
3
- - rbx-2.3.0
3
+ - rbx-2.4.1
4
4
  - 2.0.0
5
5
  before_script:
6
6
  - "./script/setup_database.rb"
data/CHANGELOG CHANGED
@@ -1,6 +1,11 @@
1
1
  Issue numbers refer to issues on Analysand's Github tracker:
2
2
  https://github.com/yipdw/analysand/issues
3
3
 
4
+ 3.1.0 (?)
5
+ ---------
6
+
7
+ * New: StreamingViewResponse#keys (#6)
8
+
4
9
  3.0.2 (2014-12-01)
5
10
  -----------------
6
11
 
@@ -55,6 +55,22 @@ module Analysand
55
55
  each { |r| yield r['doc'] if r.has_key?('doc') }
56
56
  end
57
57
 
58
+ # Public: Yields document keys from the view stream.
59
+ #
60
+ # Note that #keys and #rows advance the same stream, so expect to miss half
61
+ # your rows if you do something like
62
+ #
63
+ # resp.keys.zip(resp.rows)
64
+ #
65
+ # If this is a problem for you, let me know and we can work out a solution.
66
+ def keys
67
+ to_enum(:get_keys)
68
+ end
69
+
70
+ def get_keys
71
+ each { |r| yield r['key'] if r.has_key?('key') }
72
+ end
73
+
58
74
  def total_rows
59
75
  read until @generator.total_rows
60
76
 
@@ -1,3 +1,3 @@
1
1
  module Analysand
2
- VERSION = "3.0.2"
2
+ VERSION = "3.1.0.pre.dpla.1"
3
3
  end
@@ -20,5 +20,9 @@ module Analysand
20
20
  def docs
21
21
  rows.map { |r| r['doc'] }.compact
22
22
  end
23
+
24
+ def keys
25
+ rows.map { |r| r['key'] }.compact
26
+ end
23
27
  end
24
28
  end
@@ -40,5 +40,23 @@ module Analysand
40
40
  end
41
41
  end
42
42
  end
43
+
44
+ describe '#keys' do
45
+ describe 'if the view includes docs' do
46
+ subject { ViewResponse.new(double(:body => resp_with_docs)) }
47
+
48
+ it 'returns the value of the "key" key in each row' do
49
+ subject.keys.should == ['foo']
50
+ end
51
+ end
52
+
53
+ describe 'if the view does not include docs' do
54
+ subject { ViewResponse.new(double(:body => resp_without_docs)) }
55
+
56
+ it 'returns []' do
57
+ subject.keys.should == ['foo']
58
+ end
59
+ end
60
+ end
43
61
  end
44
62
  end
@@ -64,6 +64,11 @@ module Analysand
64
64
  expect(resp.docs.take(10).all? { |d| d.has_key?('_id') }).to eq(true)
65
65
  end
66
66
 
67
+ it 'yields keys' do
68
+ resp = get_view(:include_docs => false, :stream => true)
69
+ expect(resp.keys.take(10).each { |k| k }).to eq(['abc123'] * 10)
70
+ end
71
+
67
72
  it 'returns rows as soon as possible' do
68
73
  # first, make sure the view's built
69
74
  db.head('_design/doc/_view/a_view', admin_credentials)
metadata CHANGED
@@ -1,181 +1,181 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dpla-analysand
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.2
4
+ version: 3.1.0.pre.dpla.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Yip
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-29 00:00:00.000000000 Z
11
+ date: 2015-01-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: celluloid
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: 0.16.0
20
20
  type: :runtime
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.16.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: celluloid-io
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: :runtime
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: http_parser.rb
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: :runtime
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: json
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: :runtime
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: json-stream
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: net-http-persistent
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
  - !ruby/object:Gem::Dependency
98
98
  name: rack
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - '>='
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - '>='
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: yajl-ruby
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - '>='
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - '>='
122
+ - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: rake
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - '>='
129
+ - - ">="
130
130
  - !ruby/object:Gem::Version
131
131
  version: '0'
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - '>='
136
+ - - ">="
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: rspec
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - '>='
143
+ - - ">="
144
144
  - !ruby/object:Gem::Version
145
145
  version: '0'
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - '>='
150
+ - - ">="
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0'
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: vcr
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - '>='
157
+ - - ">="
158
158
  - !ruby/object:Gem::Version
159
159
  version: '0'
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
- - - '>='
164
+ - - ">="
165
165
  - !ruby/object:Gem::Version
166
166
  version: '0'
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: webmock
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
- - - '>='
171
+ - - ">="
172
172
  - !ruby/object:Gem::Version
173
173
  version: '0'
174
174
  type: :development
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
- - - '>='
178
+ - - ">="
179
179
  - !ruby/object:Gem::Version
180
180
  version: '0'
181
181
  description: A terrible burden for a couch
@@ -186,9 +186,9 @@ executables:
186
186
  extensions: []
187
187
  extra_rdoc_files: []
188
188
  files:
189
- - .gitignore
190
- - .rspec
191
- - .travis.yml
189
+ - ".gitignore"
190
+ - ".rspec"
191
+ - ".travis.yml"
192
192
  - CHANGELOG
193
193
  - Gemfile
194
194
  - LICENSE
@@ -246,17 +246,17 @@ require_paths:
246
246
  - lib
247
247
  required_ruby_version: !ruby/object:Gem::Requirement
248
248
  requirements:
249
- - - '>='
249
+ - - ">="
250
250
  - !ruby/object:Gem::Version
251
251
  version: '1.9'
252
252
  required_rubygems_version: !ruby/object:Gem::Requirement
253
253
  requirements:
254
- - - '>='
254
+ - - ">"
255
255
  - !ruby/object:Gem::Version
256
- version: '0'
256
+ version: 1.3.1
257
257
  requirements: []
258
258
  rubyforge_project:
259
- rubygems_version: 2.0.14
259
+ rubygems_version: 2.2.2
260
260
  signing_key:
261
261
  specification_version: 4
262
262
  summary: A CouchDB client of dubious worth
@@ -281,3 +281,4 @@ test_files:
281
281
  - spec/support/database_access.rb
282
282
  - spec/support/example_isolation.rb
283
283
  - spec/support/test_parameters.rb
284
+ has_rdoc: