influxer 1.1.3 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +92 -0
  3. data/{MIT-LICENSE → LICENSE.txt} +1 -1
  4. data/README.md +106 -47
  5. data/lib/influxer.rb +10 -9
  6. data/lib/influxer/client.rb +1 -1
  7. data/lib/influxer/config.rb +5 -4
  8. data/lib/influxer/engine.rb +1 -1
  9. data/lib/influxer/metrics/active_model3/model.rb +2 -4
  10. data/lib/influxer/metrics/metrics.rb +10 -13
  11. data/lib/influxer/metrics/quoting/timestamp.rb +52 -9
  12. data/lib/influxer/metrics/relation.rb +33 -19
  13. data/lib/influxer/metrics/relation/calculations.rb +1 -1
  14. data/lib/influxer/metrics/relation/time_query.rb +15 -13
  15. data/lib/influxer/metrics/relation/where_clause.rb +19 -11
  16. data/lib/influxer/metrics/scoping.rb +4 -4
  17. data/lib/influxer/metrics/scoping/current_scope.rb +2 -1
  18. data/lib/influxer/metrics/scoping/default.rb +1 -1
  19. data/lib/influxer/metrics/scoping/named.rb +2 -1
  20. data/lib/influxer/model.rb +4 -9
  21. data/lib/influxer/rails/client.rb +2 -2
  22. data/lib/influxer/version.rb +1 -1
  23. metadata +30 -95
  24. data/.gitignore +0 -37
  25. data/.rspec +0 -2
  26. data/.rubocop.yml +0 -77
  27. data/.travis.yml +0 -10
  28. data/Changelog.md +0 -103
  29. data/Gemfile +0 -10
  30. data/Rakefile +0 -13
  31. data/gemfiles/rails32.gemfile +0 -7
  32. data/gemfiles/rails42.gemfile +0 -7
  33. data/gemfiles/rails5.gemfile +0 -7
  34. data/influxer.gemspec +0 -33
  35. data/spec/cases/points_spec.rb +0 -36
  36. data/spec/cases/write_points_spec.rb +0 -85
  37. data/spec/client_spec.rb +0 -46
  38. data/spec/fixtures/empty_result.json +0 -21
  39. data/spec/fixtures/single_series.json +0 -29
  40. data/spec/metrics/metrics_spec.rb +0 -283
  41. data/spec/metrics/relation_spec.rb +0 -425
  42. data/spec/metrics/scoping_spec.rb +0 -66
  43. data/spec/model/user_spec.rb +0 -46
  44. data/spec/spec_helper.rb +0 -64
  45. data/spec/support/metrics/action_metrics.rb +0 -5
  46. data/spec/support/metrics/custom_metrics.rb +0 -6
  47. data/spec/support/metrics/dummy_metrics.rb +0 -12
  48. data/spec/support/metrics/user_metrics.rb +0 -6
  49. data/spec/support/metrics/visits_metrics.rb +0 -8
  50. data/spec/support/shared_contexts/shared_query.rb +0 -16
  51. data/spec/support/user.rb +0 -16
@@ -1,14 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'active_support/core_ext/module/delegation'
4
- require 'influxer/metrics/relation/time_query'
5
- require 'influxer/metrics/relation/calculations'
6
- require 'influxer/metrics/relation/where_clause'
7
- require 'influxer/metrics/quoting/timestamp'
3
+ require "active_support/core_ext/module/delegation"
4
+ require "influxer/metrics/relation/time_query"
5
+ require "influxer/metrics/relation/calculations"
6
+ require "influxer/metrics/relation/where_clause"
7
+ require "influxer/metrics/quoting/timestamp"
8
8
 
9
9
  module Influxer
10
10
  # Relation is used to build queries
11
- # rubocop:disable Metrics/ClassLength
12
11
  class Relation
13
12
  include Influxer::TimeQuery
14
13
  include Influxer::Calculations
@@ -23,11 +22,11 @@ module Influxer
23
22
 
24
23
  MULTI_KEY_METHODS = %i[fanout].freeze
25
24
 
26
- SINGLE_VALUE_METHODS = %i[fill time limit offset slimit soffset from normalized].freeze
25
+ SINGLE_VALUE_METHODS = %i[fill time limit offset slimit soffset from normalized timezone].freeze
27
26
 
28
27
  MULTI_VALUE_SIMPLE_METHODS = %i[select group].freeze
29
28
 
30
- SINGLE_VALUE_SIMPLE_METHODS = %i[fill limit offset slimit soffset from].freeze
29
+ SINGLE_VALUE_SIMPLE_METHODS = %i[fill limit offset slimit soffset from timezone].freeze
31
30
 
32
31
  MULTI_VALUE_METHODS.each do |name|
33
32
  class_eval <<-CODE, __FILE__, __LINE__ + 1
@@ -122,6 +121,13 @@ module Influxer
122
121
  self
123
122
  end
124
123
 
124
+ def timezone(val)
125
+ return self if val.blank?
126
+
127
+ @values[:timezone] = val
128
+ self
129
+ end
130
+
125
131
  def order(val)
126
132
  case val
127
133
  when Hash
@@ -144,22 +150,23 @@ module Influxer
144
150
 
145
151
  sql << "from #{build_series_name}"
146
152
 
147
- sql << "where #{where_values.join(' and ')}" unless where_values.empty?
153
+ sql << "where #{where_values.join(" and ")}" unless where_values.empty?
148
154
 
149
155
  unless group_values.empty? && time_value.nil?
150
- group_fields = (time_value.nil? ? [] : ['time(' + @values[:time] + ')']) + group_values
156
+ group_fields = (time_value.nil? ? [] : ["time(" + @values[:time] + ")"]) + group_values
151
157
  group_fields.uniq!
152
- sql << "group by #{group_fields.join(', ')}"
158
+ sql << "group by #{group_fields.join(", ")}"
153
159
  end
154
160
 
155
161
  sql << "fill(#{fill_value})" unless fill_value.nil?
156
162
 
157
- sql << "order by #{order_values.uniq.join(',')}" unless order_values.empty?
163
+ sql << "order by #{order_values.uniq.join(",")}" unless order_values.empty?
158
164
 
159
165
  sql << "limit #{limit_value}" unless limit_value.nil?
160
166
  sql << "offset #{offset_value}" unless offset_value.nil?
161
167
  sql << "slimit #{slimit_value}" unless slimit_value.nil?
162
168
  sql << "soffset #{soffset_value}" unless soffset_value.nil?
169
+ sql << "TZ('#{timezone_value}')" unless timezone_value.blank?
163
170
  sql.join " "
164
171
  end
165
172
  # rubocop:enable Metrics/AbcSize
@@ -169,14 +176,15 @@ module Influxer
169
176
 
170
177
  def to_a
171
178
  return @records if loaded?
179
+
172
180
  load
173
181
  end
174
182
 
175
183
  def inspect
176
184
  entries = to_a.take(11).map!(&:inspect)
177
- entries[10] = '...' if entries.size == 11
185
+ entries[10] = "..." if entries.size == 11
178
186
 
179
- "#<#{self.class.name} [#{entries.join(', ')}]>"
187
+ "#<#{self.class.name} [#{entries.join(", ")}]>"
180
188
  end
181
189
 
182
190
  def empty?
@@ -205,11 +213,15 @@ module Influxer
205
213
  end
206
214
 
207
215
  def delete_all
208
- sql = ["drop series"]
216
+ sql = if where_contains_time?
217
+ ["delete"]
218
+ else
219
+ ["drop series"]
220
+ end
209
221
 
210
222
  sql << "from #{@instance.series}"
211
223
 
212
- sql << "where #{where_values.join(' and ')}" unless where_values.empty?
224
+ sql << "where #{where_values.join(" and ")}" unless where_values.empty?
213
225
 
214
226
  sql = sql.join " "
215
227
 
@@ -228,6 +240,7 @@ module Influxer
228
240
  # rubocop:disable Metrics/MethodLength
229
241
  def merge!(rel)
230
242
  return self if rel.nil?
243
+
231
244
  MULTI_VALUE_METHODS.each do |method|
232
245
  (@values[method] ||= []).concat(rel.values[method]).uniq! unless rel.values[method].nil?
233
246
  end
@@ -268,20 +281,19 @@ module Influxer
268
281
  self
269
282
  end
270
283
 
271
- # rubocop: disable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
272
284
  def quoted(val, key = nil)
273
285
  if val.is_a?(String) || val.is_a?(Symbol) || @klass.tag?(key)
274
286
  "'#{val}'"
275
- elsif val.is_a?(Time) || val.is_a?(Date) || val.is_a?(DateTime)
287
+ elsif key.to_s == "time"
276
288
  quote_timestamp val, @instance.client
277
289
  else
278
290
  val.to_s
279
291
  end
280
292
  end
281
- # rubocop: enable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
282
293
 
283
294
  def get_points(list)
284
295
  return list if normalized?
296
+
285
297
  list.reduce([]) do |a, e|
286
298
  a + e.fetch("values", []).map { |v| inject_tags(v, e["tags"] || {}) }
287
299
  end
@@ -293,11 +305,13 @@ module Influxer
293
305
 
294
306
  def method_missing(method, *args, &block)
295
307
  return super unless @klass.respond_to?(method)
308
+
296
309
  merge!(scoping { @klass.public_send(method, *args, &block) })
297
310
  end
298
311
 
299
312
  def respond_to_missing?(method, *args)
300
313
  return true if @klass.respond_to?(method)
314
+
301
315
  super
302
316
  end
303
317
  end
@@ -21,7 +21,7 @@ module Influxer
21
21
 
22
22
  def percentile(name, val, alias_name = nil)
23
23
  @values[:has_calculations] = true
24
- select_values << "percentile(#{name}, #{val})#{alias_name ? ' as ' + alias_name.to_s : ''}"
24
+ select_values << "percentile(#{name}, #{val})#{alias_name ? " as " + alias_name.to_s : ""}"
25
25
  self
26
26
  end
27
27
  end
@@ -3,14 +3,15 @@
3
3
  module Influxer
4
4
  module TimeQuery #:nodoc:
5
5
  TIME_ALIASES = {
6
- hour: '1h',
7
- minute: '1m',
8
- second: '1s',
9
- ms: '1ms',
10
- u: '1u',
11
- week: '1w',
12
- day: '1d',
13
- month: '30d'
6
+ hour: "1h",
7
+ minute: "1m",
8
+ second: "1s",
9
+ ms: "1ms",
10
+ u: "1u",
11
+ week: "1w",
12
+ day: "1d",
13
+ month: "30d",
14
+ year: "365d"
14
15
  }.freeze
15
16
 
16
17
  FILL_RESERVED = %i[null previous none].freeze
@@ -27,10 +28,10 @@ module Influxer
27
28
  # # select * from metrics group by time(4d) fill(0)
28
29
  def time(val, options = {})
29
30
  @values[:time] = if val.is_a?(Symbol)
30
- TIME_ALIASES[val] || '1' + val.to_s
31
- else
32
- val
33
- end
31
+ TIME_ALIASES[val] || "1" + val.to_s
32
+ else
33
+ val
34
+ end
34
35
 
35
36
  build_fill(options[:fill])
36
37
  self
@@ -50,7 +51,7 @@ module Influxer
50
51
  def past(val)
51
52
  case val
52
53
  when Symbol
53
- where("time > now() - #{TIME_ALIASES[val] || ('1' + val.to_s)}")
54
+ where("time > now() - #{TIME_ALIASES[val] || ("1" + val.to_s)}")
54
55
  when String
55
56
  where("time > now() - #{val}")
56
57
  else
@@ -75,6 +76,7 @@ module Influxer
75
76
 
76
77
  def build_fill(val)
77
78
  return if val.nil?
79
+
78
80
  fill(FILL_RESERVED.include?(val) ? val.to_s : val.to_i)
79
81
  end
80
82
  end
@@ -29,6 +29,7 @@ module Influxer
29
29
 
30
30
  def load
31
31
  return if @null_relation
32
+
32
33
  super
33
34
  end
34
35
 
@@ -57,14 +58,15 @@ module Influxer
57
58
  when NilClass
58
59
  build_eql(key, /.*/, !negate)
59
60
  when Regexp
60
- "#{key}#{negate ? ' !~ ' : ' =~ '}#{val.inspect}"
61
+ "#{key}#{negate ? " !~ " : " =~ "}#{val.inspect}"
61
62
  when Array
62
- return build_none if val.empty?
63
+ return build_none(negate) if val.empty?
64
+
63
65
  build_in(key, val, negate)
64
66
  when Range
65
67
  build_range(key, val, negate)
66
68
  else
67
- "#{key}#{negate ? ' <> ' : ' = '}#{quoted(val, key)}"
69
+ "#{key}#{negate ? " <> " : " = "}#{quoted(val, key)}"
68
70
  end
69
71
  end
70
72
  # rubocop:enable Metrics/CyclomaticComplexity
@@ -75,7 +77,7 @@ module Influxer
75
77
  arr.each do |val|
76
78
  buf << build_eql(key, val, negate)
77
79
  end
78
- buf.join(negate ? ' and ' : ' or ').to_s
80
+ buf.join(negate ? " and " : " or ").to_s
79
81
  end
80
82
 
81
83
  # rubocop: disable Metrics/AbcSize, Metrics/MethodLength, Style/IfInsideElse
@@ -83,24 +85,30 @@ module Influxer
83
85
  if val.exclude_end?
84
86
  # begin...end range
85
87
  if negate
86
- "#{key} < #{quoted(val.begin)} or #{key} >= #{quoted(val.end)}"
88
+ "#{key} < #{quoted(val.begin, key)} or #{key} >= #{quoted(val.end, key)}"
87
89
  else
88
- "#{key} >= #{quoted(val.begin)} and #{key} < #{quoted(val.end)}"
90
+ "#{key} >= #{quoted(val.begin, key)} and #{key} < #{quoted(val.end, key)}"
89
91
  end
90
92
  else
91
93
  # begin..end range
92
94
  if negate
93
- "#{key} < #{quoted(val.begin)} or #{key} > #{quoted(val.end)}"
95
+ "#{key} < #{quoted(val.begin, key)} or #{key} > #{quoted(val.end, key)}"
94
96
  else
95
- "#{key} >= #{quoted(val.begin)} and #{key} <= #{quoted(val.end)}"
97
+ "#{key} >= #{quoted(val.begin, key)} and #{key} <= #{quoted(val.end, key)}"
96
98
  end
97
99
  end
98
100
  end
99
101
  # rubocop: enable Metrics/AbcSize, Metrics/MethodLength, Style/IfInsideElse
100
102
 
101
- def build_none
102
- @null_relation = true
103
- build_eql(1, 0, false)
103
+ def build_none(negate = false)
104
+ @null_relation = !negate
105
+ negate ? "time >= 0" : "time < 0"
106
+ end
107
+
108
+ def where_contains_time?
109
+ where_values.any? do |where_clause|
110
+ /time( )/ === where_clause
111
+ end
104
112
  end
105
113
  end
106
114
  end
@@ -1,12 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'influxer/metrics/scoping/default'
4
- require 'influxer/metrics/scoping/named'
3
+ require "influxer/metrics/scoping/default"
4
+ require "influxer/metrics/scoping/named"
5
5
 
6
6
  if Influxer.active_model3?
7
- require 'influxer/metrics/scoping/old_current_scope'
7
+ require "influxer/metrics/scoping/old_current_scope"
8
8
  else
9
- require 'influxer/metrics/scoping/current_scope'
9
+ require "influxer/metrics/scoping/current_scope"
10
10
  end
11
11
 
12
12
  module Influxer
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'active_support/per_thread_registry'
3
+ require "active_support/per_thread_registry"
4
4
 
5
5
  module Influxer
6
6
  module Scoping
@@ -39,6 +39,7 @@ module Influxer
39
39
 
40
40
  def raise_invalid_scope_type!(scope_type)
41
41
  return if VALID_SCOPE_TYPES.include?(scope_type)
42
+
42
43
  raise ArgumentError, "Invalid scope type '#{scope_type}' sent to the registry. \
43
44
  Scope types must be included in VALID_SCOPE_TYPES"
44
45
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'active_support/concern'
3
+ require "active_support/concern"
4
4
 
5
5
  module Influxer
6
6
  module Scoping
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'active_support/concern'
3
+ require "active_support/concern"
4
4
 
5
5
  module Influxer
6
6
  module Scoping
@@ -10,6 +10,7 @@ module Influxer
10
10
  module ClassMethods
11
11
  def scope(name, scope)
12
12
  raise "Scope not defined: #{name}" if scope.nil? || !scope.respond_to?(:call)
13
+
13
14
  singleton_class.send(:define_method, name) do |*args|
14
15
  rel = all
15
16
  rel.merge!(rel.scoping { scope.call(*args) })
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'active_support'
3
+ require "active_support"
4
4
 
5
5
  module Influxer
6
6
  # Add `has_metrics` method to AR::Base
@@ -8,9 +8,6 @@ module Influxer
8
8
  extend ActiveSupport::Concern
9
9
 
10
10
  module ClassMethods # :nodoc:
11
- # rubocop:disable Naming/PredicateName
12
- # rubocop:disable Metrics/MethodLength
13
- # rubocop:disable Metrics/AbcSize
14
11
  def has_metrics(*args, **params)
15
12
  metrics_name = args.empty? ? "metrics" : args.first.to_s
16
13
 
@@ -22,12 +19,10 @@ module Influxer
22
19
  foreign_key = params.fetch(:foreign_key, to_s.foreign_key)
23
20
 
24
21
  define_method(metrics_name) do
25
- rel_attrs = foreign_key ? { foreign_key => id } : {}
22
+ rel_attrs = foreign_key ? {foreign_key => id} : {}
26
23
 
27
- unless attrs.nil?
28
- attrs.each do |key|
29
- rel_attrs[key] = send(key)
30
- end
24
+ attrs&.each do |key|
25
+ rel_attrs[key] = send(key)
31
26
  end
32
27
  Relation.new klass, attributes: rel_attrs
33
28
  end
@@ -33,13 +33,13 @@ module Influxer
33
33
  # of config.cache if defined
34
34
  def cache_options(sql = nil)
35
35
  options = Influxer.config.cache.dup
36
- options[:expires_in] = (options[:cache_now_for] || 60) if sql =~ /\snow\(\)/
36
+ options[:expires_in] = (options[:cache_now_for] || 60) if /\snow\(\)/.match?(sql)
37
37
  options
38
38
  end
39
39
 
40
40
  # add prefix; remove whitespaces
41
41
  def normalized_cache_key(sql)
42
- "influxer:#{sql.gsub(/\s*/, '')}"
42
+ "influxer:#{sql.gsub(/\s*/, "")}"
43
43
  end
44
44
 
45
45
  def logger
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Influxer # :nodoc:
4
- VERSION = "1.1.3"
4
+ VERSION = "1.2.1"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: influxer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vlad Dem
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-01-11 00:00:00.000000000 Z
11
+ date: 2020-07-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -42,14 +42,14 @@ dependencies:
42
42
  name: anyway_config
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '1.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: '1.0'
55
55
  - !ruby/object:Gem::Dependency
@@ -66,20 +66,6 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: simplecov
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: 0.3.8
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: 0.3.8
83
69
  - !ruby/object:Gem::Dependency
84
70
  name: rake
85
71
  requirement: !ruby/object:Gem::Requirement
@@ -95,61 +81,47 @@ dependencies:
95
81
  - !ruby/object:Gem::Version
96
82
  version: '10.1'
97
83
  - !ruby/object:Gem::Dependency
98
- name: sqlite3
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: activerecord
84
+ name: rspec
113
85
  requirement: !ruby/object:Gem::Requirement
114
86
  requirements:
115
87
  - - ">="
116
88
  - !ruby/object:Gem::Version
117
- version: 3.2.0
89
+ version: 3.1.0
118
90
  type: :development
119
91
  prerelease: false
120
92
  version_requirements: !ruby/object:Gem::Requirement
121
93
  requirements:
122
94
  - - ">="
123
95
  - !ruby/object:Gem::Version
124
- version: 3.2.0
96
+ version: 3.1.0
125
97
  - !ruby/object:Gem::Dependency
126
- name: pry-byebug
98
+ name: standard
127
99
  requirement: !ruby/object:Gem::Requirement
128
100
  requirements:
129
- - - ">="
101
+ - - "~>"
130
102
  - !ruby/object:Gem::Version
131
- version: '0'
103
+ version: 0.0.39
132
104
  type: :development
133
105
  prerelease: false
134
106
  version_requirements: !ruby/object:Gem::Requirement
135
107
  requirements:
136
- - - ">="
108
+ - - "~>"
137
109
  - !ruby/object:Gem::Version
138
- version: '0'
110
+ version: 0.0.39
139
111
  - !ruby/object:Gem::Dependency
140
- name: rspec
112
+ name: rubocop-md
141
113
  requirement: !ruby/object:Gem::Requirement
142
114
  requirements:
143
- - - ">="
115
+ - - "~>"
144
116
  - !ruby/object:Gem::Version
145
- version: 3.1.0
117
+ version: 0.2.0
146
118
  type: :development
147
119
  prerelease: false
148
120
  version_requirements: !ruby/object:Gem::Requirement
149
121
  requirements:
150
- - - ">="
122
+ - - "~>"
151
123
  - !ruby/object:Gem::Version
152
- version: 3.1.0
124
+ version: 0.2.0
153
125
  - !ruby/object:Gem::Dependency
154
126
  name: webmock
155
127
  requirement: !ruby/object:Gem::Requirement
@@ -164,20 +136,6 @@ dependencies:
164
136
  - - "~>"
165
137
  - !ruby/object:Gem::Version
166
138
  version: '2.1'
167
- - !ruby/object:Gem::Dependency
168
- name: rubocop
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - "~>"
172
- - !ruby/object:Gem::Version
173
- version: '0.52'
174
- type: :development
175
- prerelease: false
176
- version_requirements: !ruby/object:Gem::Requirement
177
- requirements:
178
- - - "~>"
179
- - !ruby/object:Gem::Version
180
- version: '0.52'
181
139
  description: InfluxDB the Rails way
182
140
  email:
183
141
  - dementiev.vm@gmail.com
@@ -185,19 +143,9 @@ executables: []
185
143
  extensions: []
186
144
  extra_rdoc_files: []
187
145
  files:
188
- - ".gitignore"
189
- - ".rspec"
190
- - ".rubocop.yml"
191
- - ".travis.yml"
192
- - Changelog.md
193
- - Gemfile
194
- - MIT-LICENSE
146
+ - CHANGELOG.md
147
+ - LICENSE.txt
195
148
  - README.md
196
- - Rakefile
197
- - gemfiles/rails32.gemfile
198
- - gemfiles/rails42.gemfile
199
- - gemfiles/rails5.gemfile
200
- - influxer.gemspec
201
149
  - lib/influxer.rb
202
150
  - lib/influxer/client.rb
203
151
  - lib/influxer/config.rb
@@ -217,28 +165,16 @@ files:
217
165
  - lib/influxer/model.rb
218
166
  - lib/influxer/rails/client.rb
219
167
  - lib/influxer/version.rb
220
- - spec/cases/points_spec.rb
221
- - spec/cases/write_points_spec.rb
222
- - spec/client_spec.rb
223
- - spec/fixtures/empty_result.json
224
- - spec/fixtures/single_series.json
225
- - spec/metrics/metrics_spec.rb
226
- - spec/metrics/relation_spec.rb
227
- - spec/metrics/scoping_spec.rb
228
- - spec/model/user_spec.rb
229
- - spec/spec_helper.rb
230
- - spec/support/metrics/action_metrics.rb
231
- - spec/support/metrics/custom_metrics.rb
232
- - spec/support/metrics/dummy_metrics.rb
233
- - spec/support/metrics/user_metrics.rb
234
- - spec/support/metrics/visits_metrics.rb
235
- - spec/support/shared_contexts/shared_query.rb
236
- - spec/support/user.rb
237
168
  homepage: http://github.com/palkan/influxer
238
169
  licenses:
239
170
  - MIT
240
- metadata: {}
241
- post_install_message:
171
+ metadata:
172
+ bug_tracker_uri: http://github.com/palkan/influxer/issues
173
+ changelog_uri: https://github.com/palkan/influxer/blob/master/Changelog.md
174
+ documentation_uri: http://github.com/palkan/influxer
175
+ homepage_uri: http://github.com/palkan/influxer
176
+ source_code_uri: http://github.com/palkan/influxer
177
+ post_install_message:
242
178
  rdoc_options: []
243
179
  require_paths:
244
180
  - lib
@@ -246,16 +182,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
246
182
  requirements:
247
183
  - - ">="
248
184
  - !ruby/object:Gem::Version
249
- version: '0'
185
+ version: 2.4.0
250
186
  required_rubygems_version: !ruby/object:Gem::Requirement
251
187
  requirements:
252
188
  - - ">="
253
189
  - !ruby/object:Gem::Version
254
190
  version: '0'
255
191
  requirements: []
256
- rubyforge_project:
257
- rubygems_version: 2.6.13
258
- signing_key:
192
+ rubygems_version: 3.1.2
193
+ signing_key:
259
194
  specification_version: 4
260
195
  summary: InfluxDB for Rails
261
196
  test_files: []