altair-rails 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 073d47c7db152d67e61edaa10a53289026a6816ef6da55036223239f2516fa7e
4
- data.tar.gz: b93b8ad0b079abfaae4807e2c9ab331c103a8bd0ee35a17d8dcf4afe70c680fb
3
+ metadata.gz: 344439a2ddfd5623e093e51a9ca06500e41bc98164e2e1882d40a78f36ce8972
4
+ data.tar.gz: 54c35fb4b182cfdf734e39b098ac09ba0f8b04626986cbb8ed664987e4c23d78
5
5
  SHA512:
6
- metadata.gz: dfa4259a2aaf0e57a72e0d88d9726ab5c2608b35c79e96a5a6c96de8ae08e081dadef221a9e314abc12c0bee5f8003a53efb07198528faa0cac77f8bca4e3f01
7
- data.tar.gz: bf0bda9c47faf2d8d097c28240db179e62470ba3418ffff1077a17b5db0a00d2ca84f16cad53ff1da2504f9b0892e153d7d33335aa4e799bcecab7a1d937bc62
6
+ metadata.gz: b3425f713767207c1fdac7c65bb9638ff230ac39646174b587a43031375fa594bfec27036f66ed98088707ee367d845c7ff0a97b7e75ad8aff1ab1df965ebf05
7
+ data.tar.gz: 85ed28c6666dab28382765b14c26724ad37ad563e9cf1e14943c0403a8505a9f7b80ffb7137a54692d69a8307e7140cba930a8cd869f706845b1cee7575af241
data/README.md CHANGED
@@ -51,10 +51,12 @@ end
51
51
 
52
52
  ## License
53
53
 
54
- Active Experiment is released under the MIT license:
54
+ This project is released under the MIT license:
55
55
 
56
56
  * https://opensource.org/licenses/MIT
57
57
 
58
58
  Copyright 2023 [jejacks0n](https://github.com/jejacks0n)
59
59
 
60
- ## Make Code Not War
60
+ ## Make Code Not War
61
+
62
+ [![forthebadge](http://forthebadge.com/images/badges/built-with-love.svg)](http://forthebadge.com)
@@ -5,14 +5,19 @@ module Altair
5
5
  class Configuration
6
6
  include Singleton
7
7
 
8
- cattr_accessor(*[:mount_at, :graphql_path, :action_cable_path, :altair_options, :altair_version])
8
+ cattr_accessor(*[
9
+ :mount_at,
10
+ :graphql_path,
11
+ :action_cable_path,
12
+ :altair_options,
13
+ :altair_version,
14
+ :altair_template
15
+ ])
9
16
 
10
17
  # Where you want to mount the engine in your application. If set to nil,
11
18
  # the engine will not be mounted automatically and it will need to be
12
19
  # mounted manually. E.g.: in your routes.rb file, adding:
13
20
  # mount Altair::Rails::Engine => "/altair"`
14
- #
15
- # Defaults to "/altair".
16
21
  @@mount_at = "/altair"
17
22
 
18
23
  # The path to your GraphQL endpoint. This is used to set the endpointURL.
@@ -29,6 +34,54 @@ module Altair
29
34
  # Generally this should be left to the release version of altair-rails,
30
35
  # but if you really want, you can override it here.
31
36
  @@altair_version = "5.0.28" # Altair::Rails.version
37
+
38
+ # Generally this should be left to the release version of altair-rails,
39
+ # but if you really want, you can override it here.
40
+ @@altair_template = ->(env) do
41
+ [200, {}, <<~HTML_BODY]
42
+ <!DOCTYPE html>
43
+ <html>
44
+ <head>
45
+ <meta charset="utf-8" />
46
+ <title>Altair</title>
47
+ <base href="https://cdn.jsdelivr.net/npm/altair-static@#{altair_version}/build/dist/">
48
+ <meta name="viewport" content="width=device-width,initial-scale=1" />
49
+ <link href="styles.css" rel="stylesheet" />
50
+ <style>.loading-screen { display: none }</style>
51
+ </head>
52
+ <body>
53
+ <script>
54
+ // window.__ALTAIR_WEB_APP__ = 1;
55
+ const defaultOptions = {
56
+ endpointURL: window.location.origin + "#{graphql_path}",
57
+ subscriptionsEndpoint: "ws://" + window.location.host + "#{action_cable_path}",
58
+ initialSubscriptionsProvider: "action-cable"
59
+ };
60
+ document.addEventListener('DOMContentLoaded', function() {
61
+ AltairGraphQL.init(Object.assign({}, defaultOptions, #{altair_options.to_json}));
62
+ });
63
+ </script>
64
+ <app-root>
65
+ <div class="loading-screen styled">
66
+ <div class="loading-screen-inner">
67
+ <div class="loading-screen-logo-container">
68
+ <img src="assets/img/logo_350.svg" alt="Altair" />
69
+ </div>
70
+ <div class="loading-screen-loading-indicator">
71
+ <span class="loading-indicator-dot"></span>
72
+ <span class="loading-indicator-dot"></span>
73
+ <span class="loading-indicator-dot"></span>
74
+ </div>
75
+ </div>
76
+ </div>
77
+ </app-root>
78
+ <script rel="preload" as="script" type="text/javascript" src="runtime.js"></script>
79
+ <script rel="preload" as="script" type="text/javascript" src="polyfills.js" ></script>
80
+ <script rel="preload" as="script" type="text/javascript" src="main.js" ></script>
81
+ </body>
82
+ </html>
83
+ HTML_BODY
84
+ end
32
85
  end
33
86
 
34
87
  mattr_accessor :configuration
@@ -5,59 +5,12 @@ module Altair
5
5
  class Engine < ::Rails::Engine
6
6
  isolate_namespace Altair::Rails
7
7
 
8
- altair_rails = Altair::Rails.configuration
8
+ conf = Altair::Rails.configuration
9
+ opts = { at: conf.mount_at, as: :altair }
9
10
 
10
- if altair_rails.mount_at.present?
11
- config.after_initialize do |app|
12
- app.routes.prepend { mount Altair::Rails::Engine => altair_rails.mount_at }
13
- end
14
- end
11
+ routes { root to: conf.altair_template }
15
12
 
16
- routes do
17
- root to: ->(_) { [200, {}, <<~HTML_BODY] }
18
- <!DOCTYPE html>
19
- <html>
20
- <head>
21
- <meta charset="utf-8" />
22
- <title>Altair</title>
23
- <base href="https://cdn.jsdelivr.net/npm/altair-static@#{altair_rails.altair_version}/build/dist/">
24
- <meta name="viewport" content="width=device-width,initial-scale=1" />
25
- <link href="styles.css" rel="stylesheet" />
26
- <style>.loading-screen { display: none }</style>
27
- </head>
28
- <body>
29
- <script>
30
- // window.__ALTAIR_WEB_APP__ = 1;
31
- const defaultOptions = {
32
- endpointURL: window.location.origin + "#{altair_rails.graphql_path}",
33
- subscriptionsEndpoint: "ws://" + window.location.host + "#{altair_rails.action_cable_path}",
34
- initialSubscriptionsProvider: "action-cable"
35
- };
36
- document.addEventListener('DOMContentLoaded', function() {
37
- AltairGraphQL.init(Object.assign({}, defaultOptions, #{altair_rails.altair_options.to_json}));
38
- });
39
- </script>
40
- <app-root>
41
- <div class="loading-screen styled">
42
- <div class="loading-screen-inner">
43
- <div class="loading-screen-logo-container">
44
- <img src="assets/img/logo_350.svg" alt="Altair" />
45
- </div>
46
- <div class="loading-screen-loading-indicator">
47
- <span class="loading-indicator-dot"></span>
48
- <span class="loading-indicator-dot"></span>
49
- <span class="loading-indicator-dot"></span>
50
- </div>
51
- </div>
52
- </div>
53
- </app-root>
54
- <script rel="preload" as="script" type="text/javascript" src="runtime.js"></script>
55
- <script rel="preload" as="script" type="text/javascript" src="polyfills.js" ></script>
56
- <script rel="preload" as="script" type="text/javascript" src="main.js" ></script>
57
- </body>
58
- </html>
59
- HTML_BODY
60
- end
13
+ config.after_initialize { |app| app.routes.prepend { mount(Engine, opts) } } if conf.mount_at.present?
61
14
  end
62
15
  end
63
- end
16
+ end
@@ -2,8 +2,7 @@
2
2
 
3
3
  module Altair
4
4
  module Rails
5
- # Returns the currently loaded version of Active Experiment as a
6
- # +Gem::Version+.
5
+ # Returns the currently loaded version as a +Gem::Version+.
7
6
  def self.version
8
7
  Gem::Version.new(VERSION::STRING)
9
8
  end
@@ -11,10 +10,10 @@ module Altair
11
10
  module VERSION
12
11
  MAJOR = 0
13
12
  MINOR = 0
14
- TINY = 2
13
+ TINY = 3
15
14
  PRE = nil
16
15
 
17
16
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
18
17
  end
19
18
  end
20
- end
19
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: altair-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Jackson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-07-22 00:00:00.000000000 Z
11
+ date: 2023-07-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties