finery 3.0.1 → 3.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -2
  3. data/app/assets/javascripts/blazer/application.js +2 -2
  4. data/app/assets/javascripts/blazer/controllers/application.js.erb +2 -0
  5. data/app/assets/javascripts/blazer/controllers/index.js +2 -0
  6. data/app/assets/javascripts/blazer/controllers/more_controller.js +13 -0
  7. data/app/assets/javascripts/blazer/controllers/navbar_padding_controller.js +7 -0
  8. data/app/assets/stylesheets/blazer/application.css +18 -52
  9. data/app/controllers/blazer/base_controller.rb +1 -0
  10. data/app/controllers/blazer/queries_controller.rb +2 -1
  11. data/app/helpers/blazer/base_helper.rb +6 -0
  12. data/app/views/blazer/_navbar.html.erb +40 -0
  13. data/app/views/blazer/_variables.html.erb +16 -12
  14. data/app/views/blazer/checks/_form.html.erb +6 -6
  15. data/app/views/blazer/checks/index.html.erb +0 -19
  16. data/app/views/blazer/dashboards/_form.html.erb +7 -5
  17. data/app/views/blazer/dashboards/show.html.erb +7 -18
  18. data/app/views/blazer/queries/_form.html.erb +19 -13
  19. data/app/views/blazer/queries/home.html.erb +17 -30
  20. data/app/views/blazer/queries/run.html.erb +1 -1
  21. data/app/views/blazer/queries/show.html.erb +26 -31
  22. data/app/views/blazer/uploads/_form.html.erb +3 -3
  23. data/app/views/blazer/uploads/index.html.erb +0 -18
  24. data/app/views/layouts/blazer/application.html.erb +10 -11
  25. data/lib/blazer/adapters/clickhouse_adapter.rb +5 -2
  26. data/lib/blazer/engine.rb +0 -5
  27. data/lib/blazer/version.rb +1 -1
  28. data/lib/blazer.rb +11 -8
  29. metadata +6 -15
  30. data/app/assets/fonts/blazer/glyphicons-halflings-regular.eot +0 -0
  31. data/app/assets/fonts/blazer/glyphicons-halflings-regular.svg +0 -288
  32. data/app/assets/fonts/blazer/glyphicons-halflings-regular.ttf +0 -0
  33. data/app/assets/fonts/blazer/glyphicons-halflings-regular.woff +0 -0
  34. data/app/assets/fonts/blazer/glyphicons-halflings-regular.woff2 +0 -0
  35. data/app/assets/javascripts/blazer/bootstrap.js +0 -2580
  36. data/app/assets/javascripts/blazer/controllers/application.js +0 -2
  37. data/app/assets/javascripts/blazer/selectize.js +0 -3891
  38. data/app/assets/stylesheets/blazer/bootstrap-propshaft.css +0 -10
  39. data/app/assets/stylesheets/blazer/bootstrap-sprockets.css.erb +0 -10
  40. data/app/assets/stylesheets/blazer/bootstrap.css +0 -6828
  41. data/app/assets/stylesheets/blazer/selectize.css +0 -403
  42. data/app/views/blazer/_nav.html.erb +0 -18
@@ -1,27 +1,20 @@
1
1
  <% blazer_title @query.name %>
2
-
3
- <div class="topbar">
4
- <div class="container">
5
- <div class="row" style="padding-top: 13px;">
6
- <div class="col-sm-9">
7
- <%= render partial: "blazer/nav" %>
8
- <h3 style="line-height: 34px; display: inline; margin-left: 5px;">
9
- <%= @query.name %>
10
- </h3>
11
- </div>
12
- <div class="col-sm-3 text-right">
13
- <%= link_to "Edit", edit_query_path(@query, params: variable_params(@query)), class: "btn btn-default", disabled: !@query.editable?(blazer_user) %>
14
- <%= link_to "Fork", new_query_path(params: {variables: variable_params(@query), fork_query_id: @query.id, data_source: @query.data_source, name: @query.name}), class: "btn btn-info" %>
15
-
16
- <% if !@error && @success %>
17
- <%= button_to "Download", run_queries_path(format: "csv"), params: @run_data, class: "btn btn-primary" %>
18
- <% end %>
19
- </div>
20
- </div>
21
- </div>
22
- </div>
23
-
24
- <div style="margin-bottom: 60px;"></div>
2
+ <% content_for :nav do %>
3
+ <ul class="navbar-nav justify-content-end flex-grow-1 pe-3">
4
+ <li class="navbar-brand d-none d-sm-inline text-wrap"><%= @query.name %></li>
5
+ <li class="nav-item">
6
+ <%= link_to "Edit", blazer.edit_query_path(@query, params: variable_params(@query)), class: "nav-link", disabled: !@query.editable?(blazer_user) %>
7
+ </li>
8
+ <li class="nav-item">
9
+ <%= link_to "Fork", blazer.new_query_path(params: {variables: variable_params(@query), fork_query_id: @query.id, data_source: @query.data_source, name: @query.name}), class: "nav-link" %>
10
+ </li>
11
+ <li class="nav-item dropdown">
12
+ <% if !@error && @success %>
13
+ <%= button_to "Download", blazer.run_queries_path(format: "csv"), params: @run_data, class: "nav-link" %>
14
+ <% end %>
15
+ </li>
16
+ </ul>
17
+ <% end %>
25
18
 
26
19
  <% if @sql_errors.any? %>
27
20
  <div class="alert alert-danger">
@@ -34,17 +27,19 @@
34
27
  <% end %>
35
28
 
36
29
  <% if @query.description.present? %>
37
- <p style="white-space: pre-line;"><%= @query.description %></p>
30
+ <p class="text-pre-line"><%= @query.description %></p>
38
31
  <% end %>
39
32
 
40
33
  <%= render partial: "blazer/variables", locals: {action: query_path(@query)} %>
41
34
 
42
- <details class="row">
43
- <summary class="col-md-1 col-md-offset-11 btn btn-sm btn-info">Show source</summary>
44
- <pre id="code" class="col-md-12">
45
- <code data-controller="code"><%= @statement.display_statement %></code>
46
- </pre>
47
- </details>
35
+ <div class="row">
36
+ <details class="col-12">
37
+ <summary class="btn btn-info">Show source</summary>
38
+ <pre id="code">
39
+ <code data-controller="code"><%= @statement.display_statement %></code>
40
+ </pre>
41
+ </details>
42
+ </div>
48
43
 
49
44
  <% if @success %>
50
45
  <div id="results">
@@ -54,7 +49,7 @@
54
49
  <script>
55
50
  function showRun(data) {
56
51
  $("#results").html(data)
57
- $("#results table").stupidtable(stupidtableCustomSettings).stickyTableHeaders({fixedOffset: 60})
52
+ $("#results table").stupidtable(stupidtableCustomSettings).stickyTableHeaders({fixedOffset: 56})
58
53
  }
59
54
 
60
55
  function showError(message) {
@@ -5,15 +5,15 @@
5
5
  <p>Create a database table from a CSV file. The table will be created in the <code><%= Blazer.settings["uploads"]["schema"] %></code> schema.</p>
6
6
  <% end %>
7
7
 
8
- <div class="form-group">
8
+ <div class="form-group mb-3">
9
9
  <%= f.label :table %>
10
10
  <%= f.text_field :table, class: "form-control" %>
11
11
  </div>
12
- <div class="form-group">
12
+ <div class="form-group mb-3">
13
13
  <%= f.label :description %>
14
14
  <%= f.text_area :description, placeholder: "Optional", style: "height: 60px;", class: "form-control" %>
15
15
  </div>
16
- <div class="form-group">
16
+ <div class="form-group mb-3">
17
17
  <%= f.label :file %>
18
18
  <%= f.file_field :file, accept: "text/csv", style: "margin-top: 6px; margin-bottom: 21px;" %>
19
19
  </div>
@@ -1,24 +1,6 @@
1
1
  <% blazer_title "Uploads" %>
2
2
 
3
3
  <div id="header">
4
- <div class="pull-right" style="line-height: 34px;">
5
- <div class="btn-group">
6
- <%= link_to "New Upload", new_upload_path, class: "btn btn-info" %>
7
- <button type="button" class="btn btn-info dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
8
- <span class="caret"></span>
9
- <span class="sr-only">Toggle Dropdown</span>
10
- </button>
11
- <ul class="dropdown-menu">
12
- <li><%= link_to "Home", root_path %></li>
13
- <li><%= link_to "Checks", checks_path %></li>
14
- <li role="separator" class="divider"></li>
15
- <li><%= link_to "New Query", new_query_path %></li>
16
- <li><%= link_to "New Dashboard", new_dashboard_path %></li>
17
- <li><%= link_to "New Check", new_check_path %></li>
18
- </ul>
19
- </div>
20
- </div>
21
-
22
4
  <input id="search" type="text" placeholder="Start typing a table or person" style="width: 300px; display: inline-block;" class="search form-control" />
23
5
  </div>
24
6
 
@@ -1,25 +1,24 @@
1
1
  <!DOCTYPE html>
2
2
  <html>
3
3
  <head>
4
- <title><%= blazer_title ? blazer_title : "Blazer" %></title>
4
+ <title><%= blazer_title ? blazer_title : "Finery" %></title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1" />
6
+ <meta name="robots" content="noindex" />
7
+ <meta name="referrer" content="same-origin" />
5
8
 
6
9
  <meta charset="utf-8" />
7
10
  <%= favicon_link_tag "blazer/favicon.png" %>
8
- <% if defined?(Propshaft::Railtie) %>
9
- <%= stylesheet_link_tag "blazer/bootstrap-propshaft", "blazer/bootstrap", "blazer/selectize", "blazer/github", "blazer/daterangepicker", "blazer/application" %>
10
- <%= javascript_include_tag "blazer/jquery", "blazer/rails-ujs", "blazer/stupidtable", "blazer/stupidtable-custom-settings", "blazer/jquery.stickytableheaders", "blazer/selectize", "blazer/highlight.min", "blazer/moment", "blazer/moment-timezone-with-data", "blazer/daterangepicker", "blazer/chart.umd", "blazer/chartjs-adapter-date-fns.bundle", "blazer/chartkick", "blazer/mapkick.bundle", "blazer/ace/ace", "blazer/ace/ext-language_tools", "blazer/ace/theme-twilight", "blazer/ace/mode-sql", "blazer/ace/snippets/text", "blazer/ace/snippets/sql", "blazer/Sortable", "blazer/bootstrap", "blazer/vue.global.prod", "blazer/routes", "blazer/queries", "blazer/fuzzysearch", "blazer/application" %>
11
- <% else %>
12
- <%= stylesheet_link_tag "blazer/application" %>
13
- <%= javascript_include_tag "blazer/application" %>
14
- <%= javascript_include_tag "blazer/module", type: "module" %>
15
- <% end %>
11
+ <%= stylesheet_link_tag "blazer/application" %>
12
+ <%= javascript_include_tag "blazer/application" %>
13
+ <%= javascript_include_tag "blazer/module", type: "module" %>
16
14
  <script>
17
15
  <%= blazer_js_var "rootPath", root_path %>
18
16
  </script>
19
17
  <%= csrf_meta_tags %>
20
18
  </head>
21
- <body>
22
- <div class="container">
19
+ <body class="with-navbar overflow-y-scroll" data-controller="navbar-padding">
20
+ <%= render partial: "blazer/navbar" %>
21
+ <div class="container mt-2">
23
22
  <%= yield %>
24
23
  </div>
25
24
  </body>
@@ -37,6 +37,9 @@ module Blazer
37
37
  SQL
38
38
 
39
39
  response = connection.post(query: { query: statement, default_format: "CSV" })
40
+
41
+ return [] if response.body.nil?
42
+
40
43
  response.body
41
44
  .group_by { |row| row[0] }
42
45
  .transform_values { |columns| columns.map { |c| { name: c[1], data_type: c[2] } } }
@@ -54,7 +57,7 @@ module Blazer
54
57
  protected
55
58
 
56
59
  def connection
57
- @connection ||= ClickHouse::Connection.new(config)
60
+ @connection ||= ::ClickHouse::Connection.new(config)
58
61
  end
59
62
 
60
63
  def config
@@ -69,7 +72,7 @@ module Blazer
69
72
  database: uri.path.sub(/\A\//, ""),
70
73
  ssl_verify: settings.fetch("ssl_verify", false)
71
74
  }.compact
72
- ClickHouse::Config.new(**options)
75
+ ::ClickHouse::Config.new(**options)
73
76
  end
74
77
  end
75
78
 
data/lib/blazer/engine.rb CHANGED
@@ -8,11 +8,6 @@ module Blazer
8
8
  "blazer/application.js",
9
9
  "blazer/module.js",
10
10
  "blazer/application.css",
11
- "blazer/glyphicons-halflings-regular.eot",
12
- "blazer/glyphicons-halflings-regular.svg",
13
- "blazer/glyphicons-halflings-regular.ttf",
14
- "blazer/glyphicons-halflings-regular.woff",
15
- "blazer/glyphicons-halflings-regular.woff2",
16
11
  "blazer/favicon.png"
17
12
  ]
18
13
  else
@@ -1,3 +1,3 @@
1
1
  module Blazer
2
- VERSION = "3.0.1"
2
+ VERSION = "3.0.3"
3
3
  end
data/lib/blazer.rb CHANGED
@@ -119,14 +119,17 @@ module Blazer
119
119
  end
120
120
 
121
121
  def self.settings
122
- @settings ||= begin
123
- path = Rails.root.join("config", "blazer.yml").to_s
124
- if File.exist?(path)
125
- YAML.safe_load(ERB.new(File.read(path)).result, aliases: true)
126
- else
127
- {}
128
- end
129
- end
122
+ @settings ||= load_settings!
123
+ end
124
+
125
+ def self.load_settings!
126
+ path = Rails.root.join("config", "blazer.yml").to_s
127
+ return YAML.safe_load(ERB.new(File.read(path)).result, aliases: true) if File.exist?(path)
128
+
129
+ path = Rails.root.join("config", "finery.yml").to_s
130
+ return YAML.safe_load(ERB.new(File.read(path)).result, aliases: true) if File.exist?(path)
131
+
132
+ {}
130
133
  end
131
134
 
132
135
  def self.data_sources
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: finery
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.1
4
+ version: 3.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Kane, Chris Hasinski, Tomasz Ratajczak and contributors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-10-03 00:00:00.000000000 Z
11
+ date: 2023-10-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
@@ -90,11 +90,6 @@ files:
90
90
  - CONTRIBUTING.md
91
91
  - LICENSE.txt
92
92
  - README.md
93
- - app/assets/fonts/blazer/glyphicons-halflings-regular.eot
94
- - app/assets/fonts/blazer/glyphicons-halflings-regular.svg
95
- - app/assets/fonts/blazer/glyphicons-halflings-regular.ttf
96
- - app/assets/fonts/blazer/glyphicons-halflings-regular.woff
97
- - app/assets/fonts/blazer/glyphicons-halflings-regular.woff2
98
93
  - app/assets/images/blazer/favicon.png
99
94
  - app/assets/javascripts/blazer/Sortable.js
100
95
  - app/assets/javascripts/blazer/ace.js
@@ -105,17 +100,18 @@ files:
105
100
  - app/assets/javascripts/blazer/ace/snippets/text.js
106
101
  - app/assets/javascripts/blazer/ace/theme-twilight.js
107
102
  - app/assets/javascripts/blazer/application.js
108
- - app/assets/javascripts/blazer/bootstrap.js
109
103
  - app/assets/javascripts/blazer/chart.umd.js
110
104
  - app/assets/javascripts/blazer/chartjs-adapter-date-fns.bundle.js
111
105
  - app/assets/javascripts/blazer/chartjs-plugin-annotation.min.js
112
106
  - app/assets/javascripts/blazer/chartkick.js
113
- - app/assets/javascripts/blazer/controllers/application.js
107
+ - app/assets/javascripts/blazer/controllers/application.js.erb
114
108
  - app/assets/javascripts/blazer/controllers/autosubmit_controller.js
115
109
  - app/assets/javascripts/blazer/controllers/code_controller.js
116
110
  - app/assets/javascripts/blazer/controllers/datepicker_controller.js
117
111
  - app/assets/javascripts/blazer/controllers/daterangepicker_controller.js
118
112
  - app/assets/javascripts/blazer/controllers/index.js
113
+ - app/assets/javascripts/blazer/controllers/more_controller.js
114
+ - app/assets/javascripts/blazer/controllers/navbar_padding_controller.js
119
115
  - app/assets/javascripts/blazer/controllers/selectize_controller.js
120
116
  - app/assets/javascripts/blazer/controllers/unsaved_controller.js
121
117
  - app/assets/javascripts/blazer/daterangepicker.js
@@ -130,17 +126,12 @@ files:
130
126
  - app/assets/javascripts/blazer/queries.js
131
127
  - app/assets/javascripts/blazer/rails-ujs.js
132
128
  - app/assets/javascripts/blazer/routes.js
133
- - app/assets/javascripts/blazer/selectize.js
134
129
  - app/assets/javascripts/blazer/stupidtable-custom-settings.js
135
130
  - app/assets/javascripts/blazer/stupidtable.js
136
131
  - app/assets/javascripts/blazer/vue.global.prod.js
137
132
  - app/assets/stylesheets/blazer/application.css
138
- - app/assets/stylesheets/blazer/bootstrap-propshaft.css
139
- - app/assets/stylesheets/blazer/bootstrap-sprockets.css.erb
140
- - app/assets/stylesheets/blazer/bootstrap.css
141
133
  - app/assets/stylesheets/blazer/daterangepicker.css
142
134
  - app/assets/stylesheets/blazer/github.css
143
- - app/assets/stylesheets/blazer/selectize.css
144
135
  - app/controllers/blazer/base_controller.rb
145
136
  - app/controllers/blazer/checks_controller.rb
146
137
  - app/controllers/blazer/dashboards_controller.rb
@@ -156,7 +147,7 @@ files:
156
147
  - app/models/blazer/record.rb
157
148
  - app/models/blazer/upload.rb
158
149
  - app/models/blazer/uploads_connection.rb
159
- - app/views/blazer/_nav.html.erb
150
+ - app/views/blazer/_navbar.html.erb
160
151
  - app/views/blazer/_variables.html.erb
161
152
  - app/views/blazer/check_mailer/failing_checks.html.erb
162
153
  - app/views/blazer/check_mailer/state_change.html.erb