blazer 2.6.5 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +12 -0
  3. data/LICENSE.txt +1 -1
  4. data/README.md +13 -28
  5. data/app/assets/javascripts/blazer/ace/ace.js +7235 -8906
  6. data/app/assets/javascripts/blazer/ace/ext-language_tools.js +762 -774
  7. data/app/assets/javascripts/blazer/ace/mode-sql.js +177 -72
  8. data/app/assets/javascripts/blazer/ace/snippets/sql.js +5 -29
  9. data/app/assets/javascripts/blazer/ace/snippets/text.js +1 -6
  10. data/app/assets/javascripts/blazer/ace/theme-twilight.js +8 -106
  11. data/app/assets/javascripts/blazer/application.js +9 -6
  12. data/app/assets/javascripts/blazer/chart.umd.js +13 -0
  13. data/app/assets/javascripts/blazer/chartjs-adapter-date-fns.bundle.js +6322 -0
  14. data/app/assets/javascripts/blazer/chartkick.js +1020 -914
  15. data/app/assets/javascripts/blazer/highlight.min.js +466 -3
  16. data/app/assets/javascripts/blazer/mapkick.bundle.js +1029 -0
  17. data/app/assets/javascripts/blazer/moment-timezone-with-data.js +39 -38
  18. data/app/assets/javascripts/blazer/moment.js +105 -88
  19. data/app/assets/javascripts/blazer/queries.js +10 -1
  20. data/app/assets/javascripts/blazer/rails-ujs.js +746 -0
  21. data/app/assets/javascripts/blazer/vue.global.prod.js +1 -0
  22. data/app/assets/stylesheets/blazer/bootstrap.css +1 -1
  23. data/app/assets/stylesheets/blazer/selectize.css +1 -1
  24. data/app/controllers/blazer/base_controller.rb +85 -84
  25. data/app/controllers/blazer/checks_controller.rb +6 -6
  26. data/app/controllers/blazer/dashboards_controller.rb +24 -24
  27. data/app/controllers/blazer/queries_controller.rb +208 -186
  28. data/app/controllers/blazer/uploads_controller.rb +49 -49
  29. data/app/helpers/blazer/base_helper.rb +0 -4
  30. data/app/models/blazer/query.rb +1 -12
  31. data/app/views/blazer/checks/index.html.erb +1 -1
  32. data/app/views/blazer/dashboards/_form.html.erb +11 -5
  33. data/app/views/blazer/queries/_form.html.erb +19 -14
  34. data/app/views/blazer/queries/docs.html.erb +11 -1
  35. data/app/views/blazer/queries/home.html.erb +9 -6
  36. data/app/views/blazer/queries/run.html.erb +17 -32
  37. data/app/views/blazer/queries/show.html.erb +12 -20
  38. data/app/views/layouts/blazer/application.html.erb +1 -5
  39. data/lib/blazer/adapters/sql_adapter.rb +1 -1
  40. data/lib/blazer/adapters.rb +17 -0
  41. data/lib/blazer/anomaly_detectors.rb +22 -0
  42. data/lib/blazer/data_source.rb +29 -40
  43. data/lib/blazer/engine.rb +11 -9
  44. data/lib/blazer/forecasters.rb +7 -0
  45. data/lib/blazer/result.rb +13 -71
  46. data/lib/blazer/result_cache.rb +71 -0
  47. data/lib/blazer/run_statement.rb +1 -1
  48. data/lib/blazer/run_statement_job.rb +2 -2
  49. data/lib/blazer/statement.rb +3 -1
  50. data/lib/blazer/version.rb +1 -1
  51. data/lib/blazer.rb +51 -53
  52. data/licenses/LICENSE-chart.js.txt +1 -1
  53. data/licenses/LICENSE-chartjs-adapter-date-fns.txt +9 -0
  54. data/licenses/LICENSE-chartkick.js.txt +1 -1
  55. data/licenses/LICENSE-date-fns.txt +21 -0
  56. data/licenses/LICENSE-kurkle-color.txt +9 -0
  57. data/licenses/LICENSE-mapkick-bundle.txt +1029 -0
  58. data/licenses/{LICENSE-jquery-ujs.txt → LICENSE-rails-ujs.txt} +1 -1
  59. data/licenses/LICENSE-vue.txt +1 -1
  60. metadata +26 -18
  61. data/app/assets/javascripts/blazer/Chart.js +0 -16172
  62. data/app/assets/javascripts/blazer/jquery-ujs.js +0 -555
  63. data/app/assets/javascripts/blazer/vue.js +0 -12014
  64. data/lib/blazer/adapters/mongodb_adapter.rb +0 -43
  65. data/lib/blazer/detect_anomalies.R +0 -19
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f7070457b0a2fa4af3ee1ae5306320cd9a9c77808b493ad67f99058494d93a21
4
- data.tar.gz: 47d7262771999768ec83ed42a610339e8086269f9ab30fa7fb60993f19fc3554
3
+ metadata.gz: 2162f01b076af999532a8e117f91398e2856e20877b114a0ab9f3c40cc41563b
4
+ data.tar.gz: 53826d22d24afdd1ea5c5456939480926cd8f75a7c06d6065f75e42f8d6a79fc
5
5
  SHA512:
6
- metadata.gz: bea82ccf67a483173c07e6e90fda48e8ed80a85607078a348e4b87cb7da12cce61067c768d9523e77aabd0af2ff9e4262455a8b16000b50d0237a55031e2abc5
7
- data.tar.gz: 7b9fd7b18b5960e7669a0ace42a182bf20bcf4024fbab26b2c96f26713f36ef426a262b33b327215689de1823647398170d3ff290f6bf4fb8c8c8ee033735c9a
6
+ metadata.gz: 47d13182d74b1cd21bed954519c7b6a38253db3bf88f09b75e7f1172c7ac1d62cbfefe402c7a9eb9f0e232f470f35c3f55f7b2bcc535ad8aa50e22c9814ff71f
7
+ data.tar.gz: 74af2d3652a256f1d4ec05da4ef0a86e53dd9b8671c42bc3f60b5862279059c2d5c846d813d6720030326df249caeaec6fca87a49336999ea9bbf97579d26ade
data/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ ## 3.0.0 (2023-09-20)
2
+
3
+ - Switched from Mapbox.js to Mapbox GL JS v1 for maps (this affects Mapbox billing)
4
+ - Support for AnomalyDetection.rb is no longer experimental
5
+ - Added support for maps from GeoJSON
6
+ - Added support for Trilogy
7
+ - Fixed `async` option
8
+ - Fixed run now button for cached queries
9
+ - Dropped support for Ruby < 3 and Rails < 6.1
10
+ - Dropped support for MongoDB (required < 4.2)
11
+ - Dropped support for R anomaly detection
12
+
1
13
  ## 2.6.5 (2022-08-31)
2
14
 
3
15
  - Use monotonic time
data/LICENSE.txt CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2014-2022 Andrew Kane
1
+ Copyright (c) 2014-2023 Andrew Kane
2
2
 
3
3
  MIT License
4
4
 
data/README.md CHANGED
@@ -168,16 +168,6 @@ GRANT SELECT, SHOW VIEW ON dbname.* TO 'blazer'@'127.0.0.1';
168
168
  FLUSH PRIVILEGES;
169
169
  ```
170
170
 
171
- ### MongoDB
172
-
173
- Create a user with read-only permissions:
174
-
175
- ```javascript
176
- db.createUser({user: "blazer", pwd: "secret", roles: ["read"]})
177
- ```
178
-
179
- Also, make sure authorization is enabled when you start the server.
180
-
181
171
  ## Sensitive Data
182
172
 
183
173
  If your database contains sensitive or personal data, check out [Hypershield](https://github.com/ankane/hypershield) to shield it.
@@ -360,6 +350,12 @@ Columns named `latitude` and `longitude` or `lat` and `lon` or `lat` and `lng` -
360
350
  SELECT name, latitude, longitude FROM cities
361
351
  ```
362
352
 
353
+ or a column named `geojson`
354
+
355
+ ```sql
356
+ SELECT name, geojson FROM counties
357
+ ```
358
+
363
359
  To enable, get an access token from [Mapbox](https://www.mapbox.com/) and set `ENV["MAPBOX_ACCESS_TOKEN"]`.
364
360
 
365
361
  ### Targets
@@ -455,7 +451,7 @@ For the [self-hosted API](https://github.com/ankane/trend-api), create an initia
455
451
  Trend.url = "http://localhost:8000"
456
452
  ```
457
453
 
458
- ### AnomalyDetection.rb (experimental)
454
+ ### AnomalyDetection.rb
459
455
 
460
456
  Add [anomaly_detection](https://github.com/ankane/AnomalyDetection.rb) to your Gemfile:
461
457
 
@@ -513,7 +509,7 @@ Trend.url = "http://localhost:8000"
513
509
 
514
510
  ## Uploads
515
511
 
516
- Creating database tables from CSV files. [Example](https://blazer.dokkuapp.com/uploads)
512
+ Create database tables from CSV files. [Example](https://blazer.dokkuapp.com/uploads)
517
513
 
518
514
  Run:
519
515
 
@@ -570,7 +566,6 @@ data_sources:
570
566
  - [Google BigQuery](#google-bigquery)
571
567
  - [IBM DB2 and Informix](#ibm-db2-and-informix)
572
568
  - [InfluxDB](#influxdb)
573
- - [MongoDB](#mongodb-1)
574
569
  - [MySQL](#mysql-1)
575
570
  - [Neo4j](#neo4j)
576
571
  - [OpenSearch](#opensearch)
@@ -784,20 +779,6 @@ data_sources:
784
779
 
785
780
  Use a [read-only user](https://docs.influxdata.com/influxdb/v1.8/administration/authentication_and_authorization/). Supports [InfluxQL](https://docs.influxdata.com/influxdb/v1.8/query_language/explore-data/).
786
781
 
787
- ### MongoDB
788
-
789
- *Requires MongoDB < 4.2 at the moment*
790
-
791
- Add [mongo](https://github.com/mongodb/mongo-ruby-driver) to your Gemfile and set:
792
-
793
- ```yml
794
- data_sources:
795
- my_source:
796
- url: mongodb://user:password@hostname:27017/database
797
- ```
798
-
799
- Use a [read-only user](#mongodb).
800
-
801
782
  ### MySQL
802
783
 
803
784
  Add [mysql2](https://github.com/brianmario/mysql2) to your Gemfile (if it’s not there) and set:
@@ -1017,7 +998,7 @@ By default, queries take up a request while they are running. To run queries asy
1017
998
  async: true
1018
999
  ```
1019
1000
 
1020
- **Note:** Requires Rails 5+ and caching to be enabled. If you have multiple web processes, your app must use a centralized cache store like Memcached or Redis.
1001
+ **Note:** Requires caching to be enabled. If you have multiple web processes, your app must use a centralized cache store like Memcached or Redis.
1021
1002
 
1022
1003
  ```ruby
1023
1004
  config.cache_store = :mem_cache_store
@@ -1041,6 +1022,10 @@ override_csp: true
1041
1022
 
1042
1023
  ## Upgrading
1043
1024
 
1025
+ ### 3.0
1026
+
1027
+ Maps now use Mapbox GL JS v1 instead of Mapbox.js, which affects Mapbox billing.
1028
+
1044
1029
  ### 2.6
1045
1030
 
1046
1031
  Custom adapters now need to specify how to quote variables in queries (there is no longer a default)