coldwire-rails 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +53 -0
  3. data/LICENSE +21 -0
  4. data/README.md +69 -0
  5. data/VERSION +1 -0
  6. data/app/assets/javascripts/coldwire/archives.js +52 -0
  7. data/app/assets/javascripts/coldwire/cache_controller.js +1058 -0
  8. data/app/assets/javascripts/coldwire/entries.js +55 -0
  9. data/app/assets/javascripts/coldwire/format.js +60 -0
  10. data/app/assets/javascripts/coldwire/worker.js +35 -0
  11. data/app/controllers/coldwire/application_controller.rb +21 -0
  12. data/app/controllers/coldwire/caches_controller.rb +33 -0
  13. data/app/controllers/coldwire/service_worker_controller.rb +26 -0
  14. data/app/helpers/coldwire/service_worker_helper.rb +59 -0
  15. data/app/views/coldwire/caches/show.html.erb +304 -0
  16. data/app/views/coldwire/service_worker/offline_frame.html.erb +16 -0
  17. data/app/views/coldwire/service_worker/offline_page.html.erb +112 -0
  18. data/app/views/coldwire/service_worker/show.js.erb +66 -0
  19. data/config/importmap.rb +7 -0
  20. data/config/routes.rb +8 -0
  21. data/docs/README.md +19 -0
  22. data/docs/configuration.md +539 -0
  23. data/docs/how-it-works.md +64 -0
  24. data/docs/images/offline-fallback.png +0 -0
  25. data/docs/images/offline-settings-cached.png +0 -0
  26. data/docs/images/offline-settings.png +0 -0
  27. data/docs/setup.md +218 -0
  28. data/lib/coldwire/client/api.js +44 -0
  29. data/lib/coldwire/client/cookie.js +13 -0
  30. data/lib/coldwire/client/forced.js +17 -0
  31. data/lib/coldwire/client/identity.js +28 -0
  32. data/lib/coldwire/client/marker.js +35 -0
  33. data/lib/coldwire/client/register.js +19 -0
  34. data/lib/coldwire/client/store.js +69 -0
  35. data/lib/coldwire/client/sync.js +122 -0
  36. data/lib/coldwire/client_user_agent.rb +48 -0
  37. data/lib/coldwire/configuration.rb +319 -0
  38. data/lib/coldwire/debug.css +197 -0
  39. data/lib/coldwire/engine.rb +34 -0
  40. data/lib/coldwire/source.rb +50 -0
  41. data/lib/coldwire/version.rb +11 -0
  42. data/lib/coldwire/worker/archives.js +158 -0
  43. data/lib/coldwire/worker/events.js +79 -0
  44. data/lib/coldwire/worker/inspect.js +81 -0
  45. data/lib/coldwire/worker/ranges.js +136 -0
  46. data/lib/coldwire/worker/rules.js +100 -0
  47. data/lib/coldwire/worker/serve.js +226 -0
  48. data/lib/coldwire/worker/sync.js +234 -0
  49. data/lib/coldwire-rails.rb +5 -0
  50. data/lib/coldwire.rb +55 -0
  51. data/lib/generators/coldwire/install/install_generator.rb +110 -0
  52. data/lib/generators/coldwire/install/templates/coldwire.rb +53 -0
  53. data/lib/tasks/coldwire.rake +8 -0
  54. metadata +113 -0
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ namespace :coldwire do
4
+ desc "Install Coldwire: mount the engine, add the initializer, register the Stimulus controller, and tag the layout"
5
+ task :install do
6
+ Rails::Command.invoke :generate, [ "coldwire:install" ]
7
+ end
8
+ end
metadata ADDED
@@ -0,0 +1,113 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: coldwire-rails
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Noreaster Group, Stuart Yamartino
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: rails
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: '7.1'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - ">="
24
+ - !ruby/object:Gem::Version
25
+ version: '7.1'
26
+ description: When your Hotwire wires go cold. A Rails engine that serves a Cache API
27
+ service worker, precaches the pages you nominate, and falls back to an offline view
28
+ Turbo will actually render. Built against Hotwire Native's rules, which are stricter
29
+ than a browser's, so the same cache works in a plain Hotwire app and an installed
30
+ PWA.
31
+ email:
32
+ - stuart@noreastergroup.com
33
+ executables: []
34
+ extensions: []
35
+ extra_rdoc_files: []
36
+ files:
37
+ - CHANGELOG.md
38
+ - LICENSE
39
+ - README.md
40
+ - VERSION
41
+ - app/assets/javascripts/coldwire/archives.js
42
+ - app/assets/javascripts/coldwire/cache_controller.js
43
+ - app/assets/javascripts/coldwire/entries.js
44
+ - app/assets/javascripts/coldwire/format.js
45
+ - app/assets/javascripts/coldwire/worker.js
46
+ - app/controllers/coldwire/application_controller.rb
47
+ - app/controllers/coldwire/caches_controller.rb
48
+ - app/controllers/coldwire/service_worker_controller.rb
49
+ - app/helpers/coldwire/service_worker_helper.rb
50
+ - app/views/coldwire/caches/show.html.erb
51
+ - app/views/coldwire/service_worker/offline_frame.html.erb
52
+ - app/views/coldwire/service_worker/offline_page.html.erb
53
+ - app/views/coldwire/service_worker/show.js.erb
54
+ - config/importmap.rb
55
+ - config/routes.rb
56
+ - docs/README.md
57
+ - docs/configuration.md
58
+ - docs/how-it-works.md
59
+ - docs/images/offline-fallback.png
60
+ - docs/images/offline-settings-cached.png
61
+ - docs/images/offline-settings.png
62
+ - docs/setup.md
63
+ - lib/coldwire-rails.rb
64
+ - lib/coldwire.rb
65
+ - lib/coldwire/client/api.js
66
+ - lib/coldwire/client/cookie.js
67
+ - lib/coldwire/client/forced.js
68
+ - lib/coldwire/client/identity.js
69
+ - lib/coldwire/client/marker.js
70
+ - lib/coldwire/client/register.js
71
+ - lib/coldwire/client/store.js
72
+ - lib/coldwire/client/sync.js
73
+ - lib/coldwire/client_user_agent.rb
74
+ - lib/coldwire/configuration.rb
75
+ - lib/coldwire/debug.css
76
+ - lib/coldwire/engine.rb
77
+ - lib/coldwire/source.rb
78
+ - lib/coldwire/version.rb
79
+ - lib/coldwire/worker/archives.js
80
+ - lib/coldwire/worker/events.js
81
+ - lib/coldwire/worker/inspect.js
82
+ - lib/coldwire/worker/ranges.js
83
+ - lib/coldwire/worker/rules.js
84
+ - lib/coldwire/worker/serve.js
85
+ - lib/coldwire/worker/sync.js
86
+ - lib/generators/coldwire/install/install_generator.rb
87
+ - lib/generators/coldwire/install/templates/coldwire.rb
88
+ - lib/tasks/coldwire.rake
89
+ homepage: https://github.com/noreastergroup/coldwire-rails
90
+ licenses:
91
+ - MIT
92
+ metadata:
93
+ homepage_uri: https://github.com/noreastergroup/coldwire-rails
94
+ source_code_uri: https://github.com/noreastergroup/coldwire-rails
95
+ changelog_uri: https://github.com/noreastergroup/coldwire-rails/blob/main/CHANGELOG.md
96
+ rdoc_options: []
97
+ require_paths:
98
+ - lib
99
+ required_ruby_version: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: 3.1.0
104
+ required_rubygems_version: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - ">="
107
+ - !ruby/object:Gem::Version
108
+ version: '0'
109
+ requirements: []
110
+ rubygems_version: 3.6.9
111
+ specification_version: 4
112
+ summary: Offline page caching for Hotwire, PWA, and Hotwire Native Rails apps.
113
+ test_files: []