diff --git a/Gemfile b/Gemfile index 71ad12b1bf5046ac9227acde4cf29835f98add1d..14bfccf9d3d121e4e27d3bce4b614fdd3f5b3f77 100644 --- a/Gemfile +++ b/Gemfile @@ -6,7 +6,7 @@ gemspec group :development do # gem 'sqlite3' - gem 'influxdb-client', git: 'git://github.com/karn18/influxdb-client-ruby.git' + gem 'influxdb-client', '1.16.0.pre.2765' end # To use a debugger diff --git a/Gemfile.lock b/Gemfile.lock index 02e5f2d4c097e7bf6992ca9542caebc155ea07b1..d100dfb82bdd2d3e9fcaadb87c24d25ba77fc842 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,13 +1,7 @@ -GIT - remote: git://github.com/karn18/influxdb-client-ruby.git - revision: f68a9cea5e88219db71b230438d843ccd329e438 - specs: - influxdb-client (1.16.0) - PATH remote: . specs: - latias-influxdb (0.1.0) + latias-influxdb (0.2.0) rails (~> 6.1.4) GEM @@ -80,6 +74,7 @@ GEM activesupport (>= 4.2.0) i18n (1.8.10) concurrent-ruby (~> 1.0) + influxdb-client (1.16.0.pre.2765) loofah (2.10.0) crass (~> 1.0.2) nokogiri (>= 1.5.9) @@ -142,7 +137,7 @@ PLATFORMS x86_64-darwin-19 DEPENDENCIES - influxdb-client! + influxdb-client (= 1.16.0.pre.2765) latias-influxdb! BUNDLED WITH diff --git a/README.md b/README.md index bf60d14df8196709c7a9fc7030fa0a995379b6f4..6a016bad0ae9a45d80bddf32e97a874d35cb3c4f 100644 --- a/README.md +++ b/README.md @@ -4,16 +4,33 @@ Ruby lib for use influxdb version 2 on Ruby language ## Usage +<!-- ```ruby +class MdbEnergyBucket < Latias::Influxdb::Bucket + def initialize + super + @url = 'http://188.166.252.165:8086' + @token = 'YyD4UGu4_Xn0CIVsycFdjaQVd7m1g5wRp0z2BCfBSyNL6-GHqqyZRePGy46B2m8Zg6jgqHAN_J6jyhCmvGeQRA==' + @bucket = 'MDBEnergy' + @org = 'MDBEnergy' + @use_ssl = false + client_connection + end +end + +mdb_energy_bucket = MdbEnergyBucket.new +mdb_energy_bucket.range('start: -1m').filter('fn: (r) => r["_measurement"] == "cpu"') +mdb_energy_bucket.call +``` --> + ```ruby class MdbEnergyBucket < Latias::Influxdb::Bucket def initialize + super @url = 'http://localhost:8086' @token = 'your token' @bucket = 'MDBEnergy' @org = 'MDBEnergy' @use_ssl = false - @verify_mode = OpenSSL::SSL::VERIFY_NONE - @precision = InfluxDB2::WritePrecision::NANOSECOND @client = client end end diff --git a/latias-influxdb-0.2.0.gem b/latias-influxdb-0.2.0.gem new file mode 100644 index 0000000000000000000000000000000000000000..37b2e8ceaab13dfdf77a32c8e6c383bb2842da3b Binary files /dev/null and b/latias-influxdb-0.2.0.gem differ diff --git a/lib/latias/influxdb/bucket.rb b/lib/latias/influxdb/bucket.rb index cdd792926253b82e099cca27f20817432fe9465a..a9d084830706a2279e9ed937da1d26d0babbdb55 100644 --- a/lib/latias/influxdb/bucket.rb +++ b/lib/latias/influxdb/bucket.rb @@ -10,13 +10,7 @@ module Latias attr_reader :url, :token, :bucket, :org, :use_ssl, :verify_mode, :precision def initialize - @query = '' - @url = 'http://localhost:8086' - @token = 'token' - @bucket = 'bucket' - @org = 'org' - @use_ssl = false - @verify_mode = OpenSSL::SSL::VERIFY_NONE + set_default end def call @@ -25,52 +19,42 @@ module Latias @client.create_query_api.query(query: all_query, org: @org) end - # old code - # def call - # all_query = "from(bucket: \"#{@bucket}\")" \ - # '|> range(start: -1m) - # |> filter(fn: (r) => r["_measurement"] == "cpu") - # |> filter(fn: (r) => r["_field"] == "usage_user") - # |> filter(fn: (r) => r["cpu"] == "cpu-total" or r["cpu"] == "cpu0" or r["cpu"] == "cpu1") - # |> yield(name: "sum")' - - # @client.create_query_api.query(query: all_query, org: @org) - # end - def yield(query) - @query += yield_format(query) + @query += "#{new_command} yield(#{query})" self end def range(query) - @query += range_format(query) + @query += "#{new_command} range(#{query})" self end def filter(query) - @query += filter_format(query) + @query += "#{new_command} filter(#{query})" self end - private - - def yield_format(query) - "#{new_command} yield(#{query})" + def real_query(query) + @query += query end - def range_format(query) - "#{new_command} range(#{query})" - end + private - def filter_format(query) - "#{new_command} filter(#{query})" + def set_default + @query = '' + @url = 'http://localhost:8086' + @token = 'token' + @bucket = 'bucket' + @org = 'org' + @use_ssl = false + @verify_mode = OpenSSL::SSL::VERIFY_NONE end def new_command '|> ' end - def client + def client_connection @client = InfluxDB2::Client.new(@url, @token, use_ssl: @use_ssl, verify_mode: @verify_mode.present? ? @verify_mode : OpenSSL::SSL::VERIFY_NONE, diff --git a/lib/latias/influxdb/version.rb b/lib/latias/influxdb/version.rb index d48dada4c29b14a0a1db73ea5044c2e2e9ad7483..9249b478783b8ee2d8f6341c36a9b7a324859cd1 100644 --- a/lib/latias/influxdb/version.rb +++ b/lib/latias/influxdb/version.rb @@ -2,6 +2,6 @@ module Latias module Influxdb - VERSION = '0.1.0' + VERSION = '0.2.0' end end