influxdb 0.3.5 → 0.3.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.travis.yml +4 -2
- data/CHANGELOG.md +5 -0
- data/Gemfile +4 -0
- data/README.md +22 -1
- data/lib/influxdb/client/http.rb +9 -1
- data/lib/influxdb/config.rb +6 -0
- data/lib/influxdb/query/core.rb +10 -1
- data/lib/influxdb/version.rb +1 -1
- data/spec/influxdb/cases/{query_core.rb → query_core_spec.rb} +0 -0
- data/spec/influxdb/cases/querying_issue_7000_spec.rb +89 -0
- data/spec/influxdb/cases/querying_spec.rb +18 -2
- metadata +46 -66
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: c027fe626b731c0fe89678ae44f7f87a24db7c68
|
4
|
+
data.tar.gz: 929dc5eda07eabfba284891ede0a293a6b0fc49a
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 64db490708b15350c4e2ab2cc76b5f934db510a86eec7be024f9a6c652e26d09fa2570b729ab6987887382769b5b9a1f5bbfdb0a3c8fc96775ce2db7b0a563fb
|
7
|
+
data.tar.gz: b4fc2890772ec74612dac94633e5607904b4aadeef0a3760d698b24cbf16d4a23e6c004edece2b15d8926fa21e028f7479a26d168a03ab59ae4cbaedccc782f5
|
data/.travis.yml
CHANGED
@@ -2,6 +2,7 @@ sudo: required
|
|
2
2
|
dist: trusty
|
3
3
|
language: ruby
|
4
4
|
before_install:
|
5
|
+
- gem install bundler
|
5
6
|
- gem update bundler
|
6
7
|
rvm:
|
7
8
|
- 1.9.3
|
@@ -21,12 +22,13 @@ matrix:
|
|
21
22
|
- rvm: 2.3.1
|
22
23
|
env: TEST_TASK=rubocop
|
23
24
|
- rvm: jruby-9.0.5.0
|
24
|
-
env: JRUBY_OPTS='-J-Xmx256M'
|
25
|
+
env: JRUBY_OPTS='--client -J-XX:+TieredCompilation -J-XX:TieredStopAtLevel=1 -J-Xss2m -J-Xmx256M'
|
25
26
|
- rvm: jruby-head
|
26
|
-
env: JRUBY_OPTS='-J-Xmx256M'
|
27
|
+
env: JRUBY_OPTS='--client -J-XX:+TieredCompilation -J-XX:TieredStopAtLevel=1 -J-Xss2m -J-Xmx256M'
|
27
28
|
fail_fast: true
|
28
29
|
addons:
|
29
30
|
apt:
|
30
31
|
packages:
|
32
|
+
- haveged
|
31
33
|
- libgmp-dev
|
32
34
|
script: bundle exec rake $TEST_TASK
|
data/CHANGELOG.md
CHANGED
@@ -6,6 +6,11 @@ For the full commit log, [see here](https://github.com/influxdata/influxdb-ruby/
|
|
6
6
|
|
7
7
|
- None.
|
8
8
|
|
9
|
+
## v0.3.6, released 2016-07-24
|
10
|
+
|
11
|
+
- Added feature for JSON streaming response, via `"chunk_size"` parameter
|
12
|
+
(#155, @mhodson-qxbranch)
|
13
|
+
|
9
14
|
## v0.3.5, released 2016-06-09
|
10
15
|
|
11
16
|
- Reintroduced full dependency on "cause" (for Ruby 1.9 compat).
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -18,6 +18,9 @@ Maintained by [@toddboom](https://github.com/toddboom) and [@dmke](https://githu
|
|
18
18
|
|
19
19
|
This gem should work with Ruby 1.9+, but starting with v0.4, we'll likely drop Ruby 1.9 support.
|
20
20
|
|
21
|
+
Please note that for Ruby 1.9, you'll need to install the JSON gem in version 1.8.x yourself,
|
22
|
+
for example by pinning the version in your `Gemfile` (i.e. `gem "json", "~> 1.8.3"`).
|
23
|
+
|
21
24
|
## Install
|
22
25
|
|
23
26
|
```
|
@@ -424,7 +427,7 @@ influxdb.write_point(name, data)
|
|
424
427
|
|
425
428
|
### Reading data
|
426
429
|
|
427
|
-
Querying
|
430
|
+
### Querying
|
428
431
|
|
429
432
|
``` ruby
|
430
433
|
username = 'foo'
|
@@ -468,6 +471,8 @@ influxdb.query 'select * from time_series', epoch: 'ms'
|
|
468
471
|
# [{"name"=>"time_series", "tags"=>{"region"=>"uk"}, "values"=>[{"time"=>1438411376000, "count"=>32, "value"=>0.9673}]}]
|
469
472
|
```
|
470
473
|
|
474
|
+
#### (De-) Normalization
|
475
|
+
|
471
476
|
By default, InfluxDB::Client will denormalize points (received from InfluxDB as columns and rows), if you want to get _raw_ data add `denormalize: false` to initialization options or to query itself:
|
472
477
|
|
473
478
|
``` ruby
|
@@ -487,6 +492,22 @@ end
|
|
487
492
|
# time_series_1 [ {"region"=>"us"} ] => {"columns"=>["time", "count", "value"], "values"=>[["2015-07-09T09:02:54Z", 55, 0.4343]]}
|
488
493
|
```
|
489
494
|
|
495
|
+
#### Streaming response
|
496
|
+
|
497
|
+
If you expect large quantities of data in a response, you may want to enable JSON streaming by setting a `chunk_size`:
|
498
|
+
|
499
|
+
``` ruby
|
500
|
+
influxdb = InfluxDB::Client.new database,
|
501
|
+
username: username,
|
502
|
+
password: password,
|
503
|
+
chunk_size: 10000
|
504
|
+
```
|
505
|
+
|
506
|
+
See the [official documentation](http://docs.influxdata.com/influxdb/v0.13/guides/querying_data/#chunking) for more details.
|
507
|
+
|
508
|
+
|
509
|
+
#### Retry
|
510
|
+
|
490
511
|
By default, InfluxDB::Client will keep trying to connect to the database when it gets connection denied,
|
491
512
|
if you want to retry a finite number of times (or disable retries altogether), you should pass the `:retry`
|
492
513
|
value.
|
data/lib/influxdb/client/http.rb
CHANGED
@@ -4,6 +4,7 @@ require 'net/http'
|
|
4
4
|
require 'net/https'
|
5
5
|
|
6
6
|
module InfluxDB
|
7
|
+
# rubocop:disable Metrics/ModuleLength
|
7
8
|
# rubocop:disable Metrics/MethodLength
|
8
9
|
# rubocop:disable Metrics/AbcSize
|
9
10
|
module HTTP # :nodoc:
|
@@ -85,7 +86,14 @@ module InfluxDB
|
|
85
86
|
end
|
86
87
|
|
87
88
|
def handle_successful_response(response, options)
|
88
|
-
|
89
|
+
if options.fetch(:json_streaming, false)
|
90
|
+
parsed_response = response.body.each_line.with_object({}) do |line, parsed|
|
91
|
+
parsed.merge!(JSON.parse(line)) { |_key, oldval, newval| oldval + newval }
|
92
|
+
end
|
93
|
+
elsif response.body
|
94
|
+
parsed_response = JSON.parse(response.body)
|
95
|
+
end
|
96
|
+
|
89
97
|
errors = errors_from_response(parsed_response)
|
90
98
|
|
91
99
|
raise InfluxDB::QueryError, errors if errors
|
data/lib/influxdb/config.rb
CHANGED
@@ -20,6 +20,7 @@ module InfluxDB
|
|
20
20
|
:read_timeout,
|
21
21
|
:retry,
|
22
22
|
:prefix,
|
23
|
+
:chunk_size,
|
23
24
|
:denormalize,
|
24
25
|
:epoch
|
25
26
|
|
@@ -30,6 +31,7 @@ module InfluxDB
|
|
30
31
|
extract_ssl_options!(opts)
|
31
32
|
extract_database_options!(opts)
|
32
33
|
extract_writer_options!(opts)
|
34
|
+
extract_query_options!(opts)
|
33
35
|
|
34
36
|
configure_retry! opts.fetch(:retry, nil)
|
35
37
|
configure_hosts! opts[:hosts] || opts[:host] || "localhost".freeze
|
@@ -110,5 +112,9 @@ module InfluxDB
|
|
110
112
|
@async = opts.fetch :async, false
|
111
113
|
@udp = opts.fetch :udp, false
|
112
114
|
end
|
115
|
+
|
116
|
+
def extract_query_options!(opts)
|
117
|
+
@chunk_size = opts.fetch :chunk_size, nil
|
118
|
+
end
|
113
119
|
end
|
114
120
|
end
|
data/lib/influxdb/query/core.rb
CHANGED
@@ -14,9 +14,11 @@ module InfluxDB
|
|
14
14
|
# rubocop:disable Metrics/MethodLength
|
15
15
|
def query(query, opts = {})
|
16
16
|
denormalize = opts.fetch(:denormalize, config.denormalize)
|
17
|
+
json_streaming = !opts.fetch(:chunk_size, config.chunk_size).nil?
|
18
|
+
|
17
19
|
params = query_params(query, opts)
|
18
20
|
url = full_url("/query".freeze, params)
|
19
|
-
series = fetch_series(get(url, parse: true))
|
21
|
+
series = fetch_series(get(url, parse: true, json_streaming: json_streaming))
|
20
22
|
|
21
23
|
if block_given?
|
22
24
|
series.each do |s|
|
@@ -67,9 +69,16 @@ module InfluxDB
|
|
67
69
|
def query_params(query, opts)
|
68
70
|
precision = opts.fetch(:precision, config.time_precision)
|
69
71
|
epoch = opts.fetch(:epoch, config.epoch)
|
72
|
+
chunk_size = opts.fetch(:chunk_size, config.chunk_size)
|
70
73
|
|
71
74
|
params = { q: query, db: config.database, precision: precision }
|
72
75
|
params[:epoch] = epoch if epoch
|
76
|
+
|
77
|
+
if chunk_size
|
78
|
+
params[:chunked] = 'true'
|
79
|
+
params[:chunk_size] = chunk_size
|
80
|
+
end
|
81
|
+
|
73
82
|
params
|
74
83
|
end
|
75
84
|
|
data/lib/influxdb/version.rb
CHANGED
File without changes
|
@@ -0,0 +1,89 @@
|
|
1
|
+
# This test spec addresses closed issue https://github.com/influxdata/influxdb/issues/7000 where
|
2
|
+
# it was confirmed that when chunking is enabled, the InfluxDB REST API returns multi-line JSON.
|
3
|
+
|
4
|
+
require "spec_helper"
|
5
|
+
require "json"
|
6
|
+
|
7
|
+
describe InfluxDB::Client do
|
8
|
+
let(:subject) do
|
9
|
+
described_class.new "database", {
|
10
|
+
host: "influxdb.test",
|
11
|
+
port: 9999,
|
12
|
+
username: "username",
|
13
|
+
password: "password",
|
14
|
+
time_precision: "s"
|
15
|
+
}.merge(args)
|
16
|
+
end
|
17
|
+
|
18
|
+
let(:args) { {} }
|
19
|
+
let(:database) { subject.config.database }
|
20
|
+
let(:extra_params) { {} }
|
21
|
+
let(:response) { "" }
|
22
|
+
|
23
|
+
before do
|
24
|
+
stub_request(:get, "http://influxdb.test:9999/query")
|
25
|
+
.with(query: { q: query, u: "username", p: "password", precision: 's', db: database }.merge(extra_params))
|
26
|
+
.to_return(body: response)
|
27
|
+
end
|
28
|
+
|
29
|
+
describe "#query" do
|
30
|
+
context "with series with different tags (multi-line)" do
|
31
|
+
let(:args) { { chunk_size: 100 } }
|
32
|
+
let(:extra_params) { { chunked: "true", chunk_size: "100" } }
|
33
|
+
|
34
|
+
let(:response_line_1) do
|
35
|
+
{ "results" => [{ "series" => [{ "name" => "cpu", "tags" => { "region" => "pl" }, "columns" => %w(time temp value), "values" => [["2015-07-07T15:13:04Z", 34, 0.343443]] }] }] }
|
36
|
+
end
|
37
|
+
let(:response_line_2) do
|
38
|
+
{ "results" => [{ "series" => [{ "name" => "cpu", "tags" => { "region" => "us" }, "columns" => %w(time temp value), "values" => [["2015-07-07T14:58:37Z", 92, 0.3445], ["2015-07-07T14:59:09Z", 68, 0.8787]] }] }] }
|
39
|
+
end
|
40
|
+
let(:response) do
|
41
|
+
JSON.generate(response_line_1) + "\n" + JSON.generate(response_line_2)
|
42
|
+
end
|
43
|
+
let(:expected_result) do
|
44
|
+
[{ "name" => "cpu", "tags" => { "region" => "pl" },
|
45
|
+
"values" => [{ "time" => "2015-07-07T15:13:04Z", "temp" => 34, "value" => 0.343443 }] },
|
46
|
+
{ "name" => "cpu", "tags" => { "region" => "us" },
|
47
|
+
"values" => [{ "time" => "2015-07-07T14:58:37Z", "temp" => 92, "value" => 0.3445 },
|
48
|
+
{ "time" => "2015-07-07T14:59:09Z", "temp" => 68, "value" => 0.8787 }] }]
|
49
|
+
end
|
50
|
+
let(:query) { 'SELECT * FROM cpu' }
|
51
|
+
|
52
|
+
it "should return array with 2 elements grouped by tags" do
|
53
|
+
expect(subject.query(query)).to eq(expected_result)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
context "with multiple series with different tags" do
|
58
|
+
let(:args) { { chunk_size: 100 } }
|
59
|
+
let(:extra_params) { { chunked: "true", chunk_size: "100" } }
|
60
|
+
|
61
|
+
let(:response_line_1) do
|
62
|
+
{ "results" => [{ "series" => [{ "name" => "access_times.service_1", "tags" => { "code" => "200", "result" => "failure", "status" => "OK" }, "columns" => %w(time value), "values" => [["2015-07-08T07:15:22Z", 327]] }] }] }
|
63
|
+
end
|
64
|
+
let(:response_line_2) do
|
65
|
+
{ "results" => [{ "series" => [{ "name" => "access_times.service_1", "tags" => { "code" => "500", "result" => "failure", "status" => "Internal Server Error" }, "columns" => %w(time value), "values" => [["2015-07-08T06:15:22Z", 873]] }] }] }
|
66
|
+
end
|
67
|
+
let(:response_line_3) do
|
68
|
+
{ "results" => [{ "series" => [{ "name" => "access_times.service_2", "tags" => { "code" => "200", "result" => "failure", "status" => "OK" }, "columns" => %w(time value), "values" => [["2015-07-08T07:15:22Z", 943]] }] }] }
|
69
|
+
end
|
70
|
+
let(:response_line_4) do
|
71
|
+
{ "results" => [{ "series" => [{ "name" => "access_times.service_2", "tags" => { "code" => "500", "result" => "failure", "status" => "Internal Server Error" }, "columns" => %w(time value), "values" => [["2015-07-08T06:15:22Z", 606]] }] }] }
|
72
|
+
end
|
73
|
+
let(:response) do
|
74
|
+
JSON.generate(response_line_1) + "\n" + JSON.generate(response_line_2) + "\n" + JSON.generate(response_line_3) + "\n" + JSON.generate(response_line_4)
|
75
|
+
end
|
76
|
+
let(:expected_result) do
|
77
|
+
[{ "name" => "access_times.service_1", "tags" => { "code" => "200", "result" => "failure", "status" => "OK" }, "values" => [{ "time" => "2015-07-08T07:15:22Z", "value" => 327 }] },
|
78
|
+
{ "name" => "access_times.service_1", "tags" => { "code" => "500", "result" => "failure", "status" => "Internal Server Error" }, "values" => [{ "time" => "2015-07-08T06:15:22Z", "value" => 873 }] },
|
79
|
+
{ "name" => "access_times.service_2", "tags" => { "code" => "200", "result" => "failure", "status" => "OK" }, "values" => [{ "time" => "2015-07-08T07:15:22Z", "value" => 943 }] },
|
80
|
+
{ "name" => "access_times.service_2", "tags" => { "code" => "500", "result" => "failure", "status" => "Internal Server Error" }, "values" => [{ "time" => "2015-07-08T06:15:22Z", "value" => 606 }] }]
|
81
|
+
end
|
82
|
+
let(:query) { "SELECT * FROM /access_times.*/" }
|
83
|
+
|
84
|
+
it "should return array with 4 elements grouped by name and tags" do
|
85
|
+
expect(subject.query(query)).to eq(expected_result)
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
@@ -134,8 +134,7 @@ describe InfluxDB::Client do
|
|
134
134
|
"values" => [{ "time" => 1_438_580_576, "temp" => 34, "value" => 0.343443 }] },
|
135
135
|
{ "name" => "cpu", "tags" => { "region" => "us" },
|
136
136
|
"values" => [{ "time" => 1_438_612_976, "temp" => 92, "value" => 0.3445 },
|
137
|
-
{ "time" => 1_438_612_989, "temp" => 68, "value" => 0.8787 }]
|
138
|
-
}]
|
137
|
+
{ "time" => 1_438_612_989, "temp" => 68, "value" => 0.8787 }] }]
|
139
138
|
end
|
140
139
|
let(:query) { 'SELECT * FROM cpu' }
|
141
140
|
|
@@ -143,6 +142,23 @@ describe InfluxDB::Client do
|
|
143
142
|
expect(subject.query(query)).to eq(expected_result)
|
144
143
|
end
|
145
144
|
end
|
145
|
+
|
146
|
+
context "with chunk_size set to 100" do
|
147
|
+
let(:args) { { chunk_size: 100 } }
|
148
|
+
let(:extra_params) { { chunked: "true", chunk_size: "100" } }
|
149
|
+
|
150
|
+
let(:response) do
|
151
|
+
{ "results" => [{ "series" => [{ "name" => "cpu", "tags" => { "region" => "pl" }, "columns" => %w(time temp value), "values" => [[1_438_580_576, 34, 0.343443]] }] }] }
|
152
|
+
end
|
153
|
+
let(:expected_result) do
|
154
|
+
[{ "name" => "cpu", "tags" => { "region" => "pl" }, "values" => [{ "time" => 1_438_580_576, "temp" => 34, "value" => 0.343443 }] }]
|
155
|
+
end
|
156
|
+
let(:query) { 'SELECT * FROM cpu' }
|
157
|
+
|
158
|
+
it "should set 'chunked' and 'chunk_size' parameters" do
|
159
|
+
expect(subject.query(query)).to eq(expected_result)
|
160
|
+
end
|
161
|
+
end
|
146
162
|
end
|
147
163
|
|
148
164
|
describe "multiple select queries" do
|
metadata
CHANGED
@@ -1,126 +1,111 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: influxdb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
5
|
-
prerelease:
|
4
|
+
version: 0.3.6
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Todd Persen
|
9
|
-
autorequire:
|
8
|
+
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2016-
|
11
|
+
date: 2016-07-24 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
|
-
name: json
|
16
14
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
15
|
requirements:
|
19
|
-
- -
|
16
|
+
- - ">="
|
20
17
|
- !ruby/object:Gem::Version
|
21
18
|
version: '0'
|
22
|
-
|
19
|
+
name: json
|
23
20
|
prerelease: false
|
21
|
+
type: :runtime
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - ">="
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '0'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
|
-
name: cause
|
32
28
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
29
|
requirements:
|
35
|
-
- -
|
30
|
+
- - ">="
|
36
31
|
- !ruby/object:Gem::Version
|
37
32
|
version: '0'
|
38
|
-
|
33
|
+
name: cause
|
39
34
|
prerelease: false
|
35
|
+
type: :runtime
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - ">="
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '0'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
|
-
name: rake
|
48
42
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
43
|
requirements:
|
51
|
-
- -
|
44
|
+
- - ">="
|
52
45
|
- !ruby/object:Gem::Version
|
53
46
|
version: '0'
|
54
|
-
|
47
|
+
name: rake
|
55
48
|
prerelease: false
|
49
|
+
type: :development
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - ">="
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '0'
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
|
-
name: bundler
|
64
56
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
57
|
requirements:
|
67
|
-
- - ~>
|
58
|
+
- - "~>"
|
68
59
|
- !ruby/object:Gem::Version
|
69
60
|
version: '1.3'
|
70
|
-
|
61
|
+
name: bundler
|
71
62
|
prerelease: false
|
63
|
+
type: :development
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- - ~>
|
66
|
+
- - "~>"
|
76
67
|
- !ruby/object:Gem::Version
|
77
68
|
version: '1.3'
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
|
-
name: rspec
|
80
70
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
71
|
requirements:
|
83
|
-
- - ~>
|
72
|
+
- - "~>"
|
84
73
|
- !ruby/object:Gem::Version
|
85
74
|
version: 3.4.0
|
86
|
-
|
75
|
+
name: rspec
|
87
76
|
prerelease: false
|
77
|
+
type: :development
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
|
-
- - ~>
|
80
|
+
- - "~>"
|
92
81
|
- !ruby/object:Gem::Version
|
93
82
|
version: 3.4.0
|
94
83
|
- !ruby/object:Gem::Dependency
|
95
|
-
name: webmock
|
96
84
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
85
|
requirements:
|
99
|
-
- - ~>
|
86
|
+
- - "~>"
|
100
87
|
- !ruby/object:Gem::Version
|
101
88
|
version: 1.24.2
|
102
|
-
|
89
|
+
name: webmock
|
103
90
|
prerelease: false
|
91
|
+
type: :development
|
104
92
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
93
|
requirements:
|
107
|
-
- - ~>
|
94
|
+
- - "~>"
|
108
95
|
- !ruby/object:Gem::Version
|
109
96
|
version: 1.24.2
|
110
97
|
- !ruby/object:Gem::Dependency
|
111
|
-
name: rubocop
|
112
98
|
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
99
|
requirements:
|
115
|
-
- - ~>
|
100
|
+
- - "~>"
|
116
101
|
- !ruby/object:Gem::Version
|
117
102
|
version: 0.39.0
|
118
|
-
|
103
|
+
name: rubocop
|
119
104
|
prerelease: false
|
105
|
+
type: :development
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
107
|
requirements:
|
123
|
-
- - ~>
|
108
|
+
- - "~>"
|
124
109
|
- !ruby/object:Gem::Version
|
125
110
|
version: 0.39.0
|
126
111
|
description: This is the official Ruby library for InfluxDB.
|
@@ -130,9 +115,9 @@ executables: []
|
|
130
115
|
extensions: []
|
131
116
|
extra_rdoc_files: []
|
132
117
|
files:
|
133
|
-
- .gitignore
|
134
|
-
- .rubocop.yml
|
135
|
-
- .travis.yml
|
118
|
+
- ".gitignore"
|
119
|
+
- ".rubocop.yml"
|
120
|
+
- ".travis.yml"
|
136
121
|
- CHANGELOG.md
|
137
122
|
- Gemfile
|
138
123
|
- LICENSE.txt
|
@@ -159,13 +144,14 @@ files:
|
|
159
144
|
- spec/influxdb/cases/async_client_spec.rb
|
160
145
|
- spec/influxdb/cases/query_cluster_spec.rb
|
161
146
|
- spec/influxdb/cases/query_continuous_query_spec.rb
|
162
|
-
- spec/influxdb/cases/
|
147
|
+
- spec/influxdb/cases/query_core_spec.rb
|
163
148
|
- spec/influxdb/cases/query_database_spec.rb
|
164
149
|
- spec/influxdb/cases/query_retention_policy_spec.rb
|
165
150
|
- spec/influxdb/cases/query_series_spec.rb
|
166
151
|
- spec/influxdb/cases/query_shard_space_spec.rb
|
167
152
|
- spec/influxdb/cases/query_shard_spec.rb
|
168
153
|
- spec/influxdb/cases/query_user_spec.rb
|
154
|
+
- spec/influxdb/cases/querying_issue_7000_spec.rb
|
169
155
|
- spec/influxdb/cases/querying_spec.rb
|
170
156
|
- spec/influxdb/cases/retry_requests_spec.rb
|
171
157
|
- spec/influxdb/cases/udp_client_spec.rb
|
@@ -180,45 +166,39 @@ files:
|
|
180
166
|
homepage: http://influxdb.org
|
181
167
|
licenses:
|
182
168
|
- MIT
|
183
|
-
|
169
|
+
metadata: {}
|
170
|
+
post_install_message:
|
184
171
|
rdoc_options: []
|
185
172
|
require_paths:
|
186
173
|
- lib
|
187
174
|
required_ruby_version: !ruby/object:Gem::Requirement
|
188
|
-
none: false
|
189
175
|
requirements:
|
190
|
-
- -
|
176
|
+
- - ">="
|
191
177
|
- !ruby/object:Gem::Version
|
192
178
|
version: '0'
|
193
|
-
segments:
|
194
|
-
- 0
|
195
|
-
hash: -2716499157754774119
|
196
179
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
197
|
-
none: false
|
198
180
|
requirements:
|
199
|
-
- -
|
181
|
+
- - ">="
|
200
182
|
- !ruby/object:Gem::Version
|
201
183
|
version: '0'
|
202
|
-
segments:
|
203
|
-
- 0
|
204
|
-
hash: -2716499157754774119
|
205
184
|
requirements: []
|
206
|
-
rubyforge_project:
|
207
|
-
rubygems_version:
|
208
|
-
signing_key:
|
209
|
-
specification_version:
|
185
|
+
rubyforge_project:
|
186
|
+
rubygems_version: 2.4.8
|
187
|
+
signing_key:
|
188
|
+
specification_version: 4
|
210
189
|
summary: Ruby library for InfluxDB.
|
211
190
|
test_files:
|
212
191
|
- spec/influxdb/cases/async_client_spec.rb
|
213
192
|
- spec/influxdb/cases/query_cluster_spec.rb
|
214
193
|
- spec/influxdb/cases/query_continuous_query_spec.rb
|
215
|
-
- spec/influxdb/cases/
|
194
|
+
- spec/influxdb/cases/query_core_spec.rb
|
216
195
|
- spec/influxdb/cases/query_database_spec.rb
|
217
196
|
- spec/influxdb/cases/query_retention_policy_spec.rb
|
218
197
|
- spec/influxdb/cases/query_series_spec.rb
|
219
198
|
- spec/influxdb/cases/query_shard_space_spec.rb
|
220
199
|
- spec/influxdb/cases/query_shard_spec.rb
|
221
200
|
- spec/influxdb/cases/query_user_spec.rb
|
201
|
+
- spec/influxdb/cases/querying_issue_7000_spec.rb
|
222
202
|
- spec/influxdb/cases/querying_spec.rb
|
223
203
|
- spec/influxdb/cases/retry_requests_spec.rb
|
224
204
|
- spec/influxdb/cases/udp_client_spec.rb
|