From 8658c5d0372839ad5f634d53f0337f8c5c46dc18 Mon Sep 17 00:00:00 2001
From: nattanon <nattanon@hospital-os.com>
Date: Thu, 8 Jul 2021 10:28:09 +0700
Subject: [PATCH] Use original influxdb-client

---
 Gemfile                        |   2 +-
 Gemfile.lock                   |  11 +++-----
 README.md                      |  21 +++++++++++++--
 latias-influxdb-0.2.0.gem      | Bin 0 -> 7680 bytes
 lib/latias/influxdb/bucket.rb  |  48 +++++++++++----------------------
 lib/latias/influxdb/version.rb |   2 +-
 6 files changed, 40 insertions(+), 44 deletions(-)
 create mode 100644 latias-influxdb-0.2.0.gem

diff --git a/Gemfile b/Gemfile
index 71ad12b..14bfccf 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 02e5f2d..d100dfb 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 bf60d14..6a016ba 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
GIT binary patch
literal 7680
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
HO9%h}_?HL}

literal 0
HcmV?d00001

diff --git a/lib/latias/influxdb/bucket.rb b/lib/latias/influxdb/bucket.rb
index cdd7929..a9d0848 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 d48dada..9249b47 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
-- 
GitLab