nacelle 0.5.0 → 0.6.1
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.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +2 -2
- data/Appraisals +6 -10
- data/CLAUDE.md +96 -0
- data/Gemfile +1 -2
- data/app/assets/config/manifest.js +1 -0
- data/gemfiles/{rails_6.0.gemfile → rails_7.2.gemfile} +1 -2
- data/gemfiles/rails_7.2.gemfile.lock +254 -0
- data/gemfiles/{rails_7.0.gemfile → rails_8.0.gemfile} +1 -2
- data/gemfiles/rails_8.0.gemfile.lock +251 -0
- data/gemfiles/{rails_6.1.gemfile → rails_8.1.gemfile} +1 -2
- data/gemfiles/rails_8.1.gemfile.lock +254 -0
- data/lib/nacelle/after_filter.rb +14 -9
- data/lib/nacelle/cell.rb +38 -21
- data/lib/nacelle/cells_serializer.rb +1 -1
- data/lib/nacelle/version.rb +1 -1
- data/nacelle.gemspec +0 -1
- metadata +11 -23
- data/gemfiles/rails_6.0.gemfile.lock +0 -205
- data/gemfiles/rails_6.1.gemfile.lock +0 -208
- data/gemfiles/rails_7.0.gemfile.lock +0 -212
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: bc7d2280de3747f26a968df1e8862382c8e8ac5617ef3f9db4cf8159f8b2c249
|
|
4
|
+
data.tar.gz: 17cd8e85dd59919c94d15f07d08d0a51dbb5f8ad1a4e05d3d6267efde41e8a35
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d5ce4bb55a621b8a014a4f76437ccd11015841dd2eb631a22fbdb389321d2009ff601b1a0e71c962a8c06122bec581a43d38a763adafc64a3ce0ad422cc91ebe
|
|
7
|
+
data.tar.gz: 398ed215fb0759151e64c7af48e516ea58d1c2c330cb05e06e145aeb32a9bd5411aafb1760b25e71bd01ee3e57caba50e8bfcece4dd09c6665250912ccb2da0f
|
data/.github/workflows/ci.yml
CHANGED
|
@@ -5,8 +5,8 @@ jobs:
|
|
|
5
5
|
strategy:
|
|
6
6
|
fail-fast: false
|
|
7
7
|
matrix:
|
|
8
|
-
gemfile: [
|
|
9
|
-
ruby: [ 2
|
|
8
|
+
gemfile: [ rails_7.2, rails_8.0, rails_8.1 ]
|
|
9
|
+
ruby: [ 3.2, 3.3, 3.4 ]
|
|
10
10
|
|
|
11
11
|
runs-on: ubuntu-latest
|
|
12
12
|
env: # $BUNDLE_GEMFILE must be set at the job level, so it is set for all steps
|
data/Appraisals
CHANGED
|
@@ -1,15 +1,11 @@
|
|
|
1
|
-
appraise "rails-
|
|
2
|
-
gem "rails", "~>
|
|
3
|
-
gem "sprockets", "~>3.0"
|
|
1
|
+
appraise "rails-7.2" do
|
|
2
|
+
gem "rails", "~>7.2.0"
|
|
4
3
|
end
|
|
5
4
|
|
|
6
|
-
appraise "rails-
|
|
7
|
-
gem "rails", "~>
|
|
8
|
-
gem "sprockets", "~>3.0"
|
|
5
|
+
appraise "rails-8.0" do
|
|
6
|
+
gem "rails", "~>8.0.0"
|
|
9
7
|
end
|
|
10
8
|
|
|
11
|
-
appraise "rails-
|
|
12
|
-
gem "rails", "~>
|
|
13
|
-
gem "sprockets", "~>3.0"
|
|
9
|
+
appraise "rails-8.1" do
|
|
10
|
+
gem "rails", "~>8.1.0"
|
|
14
11
|
end
|
|
15
|
-
|
data/CLAUDE.md
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# CLAUDE.md
|
|
2
|
+
|
|
3
|
+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
|
4
|
+
|
|
5
|
+
## Project Overview
|
|
6
|
+
|
|
7
|
+
Nacelle is a Rails engine that enables embedding dynamic cell components into CMS content. It works by parsing `<cell>` tags in HTML responses and replacing them with rendered cell content via a controller after filter.
|
|
8
|
+
|
|
9
|
+
## Core Architecture
|
|
10
|
+
|
|
11
|
+
### Cell Execution Flow
|
|
12
|
+
|
|
13
|
+
1. **Request Processing**: HTML responses flow through `Nacelle::AfterFilter` global controller after filter (registered in `lib/nacelle.rb:11`)
|
|
14
|
+
2. **Tag Parsing**: AfterFilter scans the response body for `<cell>` tags using regex and XML parsing (`lib/nacelle/after_filter.rb:38-46`)
|
|
15
|
+
3. **Cell Instantiation**: Tags like `<cell name="my_account/form" />` are converted to `MyAccountCell#form` calls
|
|
16
|
+
4. **Rendering**: Cells render their views from `app/cells/` directory structure
|
|
17
|
+
|
|
18
|
+
### Key Components
|
|
19
|
+
|
|
20
|
+
- **Nacelle::Cell** (`lib/nacelle/cell.rb`): Base class for all cells
|
|
21
|
+
- Provides controller context (request, session, cookies) to cells
|
|
22
|
+
- Implements custom rendering that looks up views in `app/cells/` directory
|
|
23
|
+
- Supports helper modules and helper methods
|
|
24
|
+
- Has cache key/timestamp methods for fragment caching
|
|
25
|
+
|
|
26
|
+
- **Nacelle::AfterFilter** (`lib/nacelle/after_filter.rb`): Middleware that processes HTML responses
|
|
27
|
+
- Only processes `text/html` content types
|
|
28
|
+
- Parses `<cell name="cell_name/action" attr="value" />` tags
|
|
29
|
+
- Instantiates cell classes and invokes actions with attributes
|
|
30
|
+
|
|
31
|
+
- **Nacelle::HasCells** (`lib/nacelle/has_cells.rb`): ActiveRecord mixin
|
|
32
|
+
- Use `has_cells :column_name` to scan model columns for embedded cells
|
|
33
|
+
- Returns array of cell classes found in the content
|
|
34
|
+
|
|
35
|
+
- **Nacelle::CellsSerializer** (`lib/nacelle/cells_serializer.rb`): JSON API for CKEditor integration
|
|
36
|
+
- Endpoint at `/nacelle/cells.json` lists all available cells and their actions
|
|
37
|
+
- Discovers cells by requiring all files in `app/cells/*.rb`
|
|
38
|
+
- Optionally loads form HTML from `app/cells/{cell}/{action}_form.html.erb`
|
|
39
|
+
|
|
40
|
+
### Cell Conventions
|
|
41
|
+
|
|
42
|
+
- Cell classes must inherit from `Nacelle::Cell` to appear in CKEditor
|
|
43
|
+
- Cell class names follow pattern: `{Name}Cell` (e.g., `TestCell`, `MyAccountCell`)
|
|
44
|
+
- Cell views live in `app/cells/{cell_name}/{action}.html.erb`
|
|
45
|
+
- Actions can accept zero arguments or a hash of attributes
|
|
46
|
+
- Action methods are alphabetically ordered in the CKEditor menu
|
|
47
|
+
|
|
48
|
+
## Development Commands
|
|
49
|
+
|
|
50
|
+
### Running Tests
|
|
51
|
+
```bash
|
|
52
|
+
bundle exec rake # Run all specs (default task)
|
|
53
|
+
bundle exec rspec # Run all specs
|
|
54
|
+
bundle exec rspec spec/acceptance/nacelle_spec.rb # Run specific spec file
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Testing Across Rails Versions
|
|
58
|
+
```bash
|
|
59
|
+
bundle exec appraisal install # Install dependencies for all Rails versions
|
|
60
|
+
bundle exec appraisal rails-7.1 rspec # Run specs against specific Rails version
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Testing Setup
|
|
64
|
+
|
|
65
|
+
The test suite uses RSpec with Capybara for acceptance testing. The spec creates a minimal Rails test app inline (`spec/acceptance/nacelle_spec.rb:5-16`) to test the engine's middleware behavior in a realistic environment.
|
|
66
|
+
|
|
67
|
+
When writing new tests:
|
|
68
|
+
- Place acceptance tests in `spec/acceptance/`
|
|
69
|
+
- The test app is configured with `secret_key_base`, `eager_load: false`, and `hosts: nil`
|
|
70
|
+
- Test cells should inherit from `Nacelle::Cell` and set `view_path` appropriately
|
|
71
|
+
|
|
72
|
+
## File Structure
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
lib/nacelle/
|
|
76
|
+
├── cell.rb # Base cell class with rendering logic
|
|
77
|
+
├── after_filter.rb # Middleware for processing <cell> tags
|
|
78
|
+
├── has_cells.rb # ActiveRecord mixin for scanning content
|
|
79
|
+
└── cells_serializer.rb # JSON API for CKEditor integration
|
|
80
|
+
|
|
81
|
+
app/
|
|
82
|
+
├── controllers/nacelle/
|
|
83
|
+
│ └── cells_controller.rb # Serves JSON list of cells
|
|
84
|
+
└── assets/javascripts/
|
|
85
|
+
├── nacelle/ckeditor.js # CKEditor integration entry point
|
|
86
|
+
└── ckeditor/plugins/cells/ # CKEditor plugin for inserting cells
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Important Implementation Details
|
|
90
|
+
|
|
91
|
+
- Cell tag parsing uses `Hash.from_xml` (requires Nokogiri backend)
|
|
92
|
+
- The AfterFilter runs on all ActionController::Base after_actions
|
|
93
|
+
- Cell names in tags use underscore format: `<cell name="my_account/form" />`
|
|
94
|
+
- Cell classes use CamelCase: `MyAccountCell`
|
|
95
|
+
- Action arity is checked to determine whether to pass attributes hash
|
|
96
|
+
- Missing cells/actions render error message: `<strong>Cell "{name} {action}" not found!</strong>`
|
data/Gemfile
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//= link_tree ../javascripts .js
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
PATH
|
|
2
|
+
remote: ..
|
|
3
|
+
specs:
|
|
4
|
+
nacelle (0.6.0)
|
|
5
|
+
rails
|
|
6
|
+
sprockets-rails
|
|
7
|
+
|
|
8
|
+
GEM
|
|
9
|
+
remote: https://rubygems.org/
|
|
10
|
+
specs:
|
|
11
|
+
actioncable (7.2.3)
|
|
12
|
+
actionpack (= 7.2.3)
|
|
13
|
+
activesupport (= 7.2.3)
|
|
14
|
+
nio4r (~> 2.0)
|
|
15
|
+
websocket-driver (>= 0.6.1)
|
|
16
|
+
zeitwerk (~> 2.6)
|
|
17
|
+
actionmailbox (7.2.3)
|
|
18
|
+
actionpack (= 7.2.3)
|
|
19
|
+
activejob (= 7.2.3)
|
|
20
|
+
activerecord (= 7.2.3)
|
|
21
|
+
activestorage (= 7.2.3)
|
|
22
|
+
activesupport (= 7.2.3)
|
|
23
|
+
mail (>= 2.8.0)
|
|
24
|
+
actionmailer (7.2.3)
|
|
25
|
+
actionpack (= 7.2.3)
|
|
26
|
+
actionview (= 7.2.3)
|
|
27
|
+
activejob (= 7.2.3)
|
|
28
|
+
activesupport (= 7.2.3)
|
|
29
|
+
mail (>= 2.8.0)
|
|
30
|
+
rails-dom-testing (~> 2.2)
|
|
31
|
+
actionpack (7.2.3)
|
|
32
|
+
actionview (= 7.2.3)
|
|
33
|
+
activesupport (= 7.2.3)
|
|
34
|
+
cgi
|
|
35
|
+
nokogiri (>= 1.8.5)
|
|
36
|
+
racc
|
|
37
|
+
rack (>= 2.2.4, < 3.3)
|
|
38
|
+
rack-session (>= 1.0.1)
|
|
39
|
+
rack-test (>= 0.6.3)
|
|
40
|
+
rails-dom-testing (~> 2.2)
|
|
41
|
+
rails-html-sanitizer (~> 1.6)
|
|
42
|
+
useragent (~> 0.16)
|
|
43
|
+
actiontext (7.2.3)
|
|
44
|
+
actionpack (= 7.2.3)
|
|
45
|
+
activerecord (= 7.2.3)
|
|
46
|
+
activestorage (= 7.2.3)
|
|
47
|
+
activesupport (= 7.2.3)
|
|
48
|
+
globalid (>= 0.6.0)
|
|
49
|
+
nokogiri (>= 1.8.5)
|
|
50
|
+
actionview (7.2.3)
|
|
51
|
+
activesupport (= 7.2.3)
|
|
52
|
+
builder (~> 3.1)
|
|
53
|
+
cgi
|
|
54
|
+
erubi (~> 1.11)
|
|
55
|
+
rails-dom-testing (~> 2.2)
|
|
56
|
+
rails-html-sanitizer (~> 1.6)
|
|
57
|
+
activejob (7.2.3)
|
|
58
|
+
activesupport (= 7.2.3)
|
|
59
|
+
globalid (>= 0.3.6)
|
|
60
|
+
activemodel (7.2.3)
|
|
61
|
+
activesupport (= 7.2.3)
|
|
62
|
+
activerecord (7.2.3)
|
|
63
|
+
activemodel (= 7.2.3)
|
|
64
|
+
activesupport (= 7.2.3)
|
|
65
|
+
timeout (>= 0.4.0)
|
|
66
|
+
activestorage (7.2.3)
|
|
67
|
+
actionpack (= 7.2.3)
|
|
68
|
+
activejob (= 7.2.3)
|
|
69
|
+
activerecord (= 7.2.3)
|
|
70
|
+
activesupport (= 7.2.3)
|
|
71
|
+
marcel (~> 1.0)
|
|
72
|
+
activesupport (7.2.3)
|
|
73
|
+
base64
|
|
74
|
+
benchmark (>= 0.3)
|
|
75
|
+
bigdecimal
|
|
76
|
+
concurrent-ruby (~> 1.0, >= 1.3.1)
|
|
77
|
+
connection_pool (>= 2.2.5)
|
|
78
|
+
drb
|
|
79
|
+
i18n (>= 1.6, < 2)
|
|
80
|
+
logger (>= 1.4.2)
|
|
81
|
+
minitest (>= 5.1)
|
|
82
|
+
securerandom (>= 0.3)
|
|
83
|
+
tzinfo (~> 2.0, >= 2.0.5)
|
|
84
|
+
addressable (2.8.7)
|
|
85
|
+
public_suffix (>= 2.0.2, < 7.0)
|
|
86
|
+
appraisal (2.5.0)
|
|
87
|
+
bundler
|
|
88
|
+
rake
|
|
89
|
+
thor (>= 0.14.0)
|
|
90
|
+
base64 (0.3.0)
|
|
91
|
+
benchmark (0.5.0)
|
|
92
|
+
bigdecimal (3.3.1)
|
|
93
|
+
builder (3.3.0)
|
|
94
|
+
byebug (12.0.0)
|
|
95
|
+
capybara (3.40.0)
|
|
96
|
+
addressable
|
|
97
|
+
matrix
|
|
98
|
+
mini_mime (>= 0.1.3)
|
|
99
|
+
nokogiri (~> 1.11)
|
|
100
|
+
rack (>= 1.6.0)
|
|
101
|
+
rack-test (>= 0.6.3)
|
|
102
|
+
regexp_parser (>= 1.5, < 3.0)
|
|
103
|
+
xpath (~> 3.2)
|
|
104
|
+
cgi (0.5.0)
|
|
105
|
+
concurrent-ruby (1.3.5)
|
|
106
|
+
connection_pool (2.5.4)
|
|
107
|
+
crass (1.0.6)
|
|
108
|
+
date (3.5.0)
|
|
109
|
+
diff-lcs (1.6.2)
|
|
110
|
+
drb (2.2.3)
|
|
111
|
+
erb (5.1.3)
|
|
112
|
+
erubi (1.13.1)
|
|
113
|
+
globalid (1.3.0)
|
|
114
|
+
activesupport (>= 6.1)
|
|
115
|
+
i18n (1.14.7)
|
|
116
|
+
concurrent-ruby (~> 1.0)
|
|
117
|
+
io-console (0.8.1)
|
|
118
|
+
irb (1.15.3)
|
|
119
|
+
pp (>= 0.6.0)
|
|
120
|
+
rdoc (>= 4.0.0)
|
|
121
|
+
reline (>= 0.4.2)
|
|
122
|
+
logger (1.7.0)
|
|
123
|
+
loofah (2.24.1)
|
|
124
|
+
crass (~> 1.0.2)
|
|
125
|
+
nokogiri (>= 1.12.0)
|
|
126
|
+
mail (2.9.0)
|
|
127
|
+
logger
|
|
128
|
+
mini_mime (>= 0.1.1)
|
|
129
|
+
net-imap
|
|
130
|
+
net-pop
|
|
131
|
+
net-smtp
|
|
132
|
+
marcel (1.1.0)
|
|
133
|
+
matrix (0.4.3)
|
|
134
|
+
mini_mime (1.1.5)
|
|
135
|
+
minitest (5.26.0)
|
|
136
|
+
net-imap (0.5.12)
|
|
137
|
+
date
|
|
138
|
+
net-protocol
|
|
139
|
+
net-pop (0.1.2)
|
|
140
|
+
net-protocol
|
|
141
|
+
net-protocol (0.2.2)
|
|
142
|
+
timeout
|
|
143
|
+
net-smtp (0.5.1)
|
|
144
|
+
net-protocol
|
|
145
|
+
nio4r (2.7.5)
|
|
146
|
+
nokogiri (1.18.10-x86_64-linux-gnu)
|
|
147
|
+
racc (~> 1.4)
|
|
148
|
+
pp (0.6.3)
|
|
149
|
+
prettyprint
|
|
150
|
+
prettyprint (0.2.0)
|
|
151
|
+
psych (5.2.6)
|
|
152
|
+
date
|
|
153
|
+
stringio
|
|
154
|
+
public_suffix (6.0.2)
|
|
155
|
+
racc (1.8.1)
|
|
156
|
+
rack (3.2.4)
|
|
157
|
+
rack-session (2.1.1)
|
|
158
|
+
base64 (>= 0.1.0)
|
|
159
|
+
rack (>= 3.0.0)
|
|
160
|
+
rack-test (2.2.0)
|
|
161
|
+
rack (>= 1.3)
|
|
162
|
+
rackup (2.2.1)
|
|
163
|
+
rack (>= 3)
|
|
164
|
+
rails (7.2.3)
|
|
165
|
+
actioncable (= 7.2.3)
|
|
166
|
+
actionmailbox (= 7.2.3)
|
|
167
|
+
actionmailer (= 7.2.3)
|
|
168
|
+
actionpack (= 7.2.3)
|
|
169
|
+
actiontext (= 7.2.3)
|
|
170
|
+
actionview (= 7.2.3)
|
|
171
|
+
activejob (= 7.2.3)
|
|
172
|
+
activemodel (= 7.2.3)
|
|
173
|
+
activerecord (= 7.2.3)
|
|
174
|
+
activestorage (= 7.2.3)
|
|
175
|
+
activesupport (= 7.2.3)
|
|
176
|
+
bundler (>= 1.15.0)
|
|
177
|
+
railties (= 7.2.3)
|
|
178
|
+
rails-dom-testing (2.3.0)
|
|
179
|
+
activesupport (>= 5.0.0)
|
|
180
|
+
minitest
|
|
181
|
+
nokogiri (>= 1.6)
|
|
182
|
+
rails-html-sanitizer (1.6.2)
|
|
183
|
+
loofah (~> 2.21)
|
|
184
|
+
nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
|
|
185
|
+
railties (7.2.3)
|
|
186
|
+
actionpack (= 7.2.3)
|
|
187
|
+
activesupport (= 7.2.3)
|
|
188
|
+
cgi
|
|
189
|
+
irb (~> 1.13)
|
|
190
|
+
rackup (>= 1.0.0)
|
|
191
|
+
rake (>= 12.2)
|
|
192
|
+
thor (~> 1.0, >= 1.2.2)
|
|
193
|
+
tsort (>= 0.2)
|
|
194
|
+
zeitwerk (~> 2.6)
|
|
195
|
+
rake (13.3.1)
|
|
196
|
+
rdoc (6.15.1)
|
|
197
|
+
erb
|
|
198
|
+
psych (>= 4.0.0)
|
|
199
|
+
tsort
|
|
200
|
+
regexp_parser (2.11.3)
|
|
201
|
+
reline (0.6.2)
|
|
202
|
+
io-console (~> 0.5)
|
|
203
|
+
rspec (3.13.2)
|
|
204
|
+
rspec-core (~> 3.13.0)
|
|
205
|
+
rspec-expectations (~> 3.13.0)
|
|
206
|
+
rspec-mocks (~> 3.13.0)
|
|
207
|
+
rspec-core (3.13.6)
|
|
208
|
+
rspec-support (~> 3.13.0)
|
|
209
|
+
rspec-expectations (3.13.5)
|
|
210
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
211
|
+
rspec-support (~> 3.13.0)
|
|
212
|
+
rspec-mocks (3.13.7)
|
|
213
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
214
|
+
rspec-support (~> 3.13.0)
|
|
215
|
+
rspec-support (3.13.6)
|
|
216
|
+
securerandom (0.4.1)
|
|
217
|
+
sprockets (4.2.2)
|
|
218
|
+
concurrent-ruby (~> 1.0)
|
|
219
|
+
logger
|
|
220
|
+
rack (>= 2.2.4, < 4)
|
|
221
|
+
sprockets-rails (3.5.2)
|
|
222
|
+
actionpack (>= 6.1)
|
|
223
|
+
activesupport (>= 6.1)
|
|
224
|
+
sprockets (>= 3.0.0)
|
|
225
|
+
stringio (3.1.7)
|
|
226
|
+
thor (1.4.0)
|
|
227
|
+
timeout (0.4.4)
|
|
228
|
+
tsort (0.2.0)
|
|
229
|
+
tzinfo (2.0.6)
|
|
230
|
+
concurrent-ruby (~> 1.0)
|
|
231
|
+
useragent (0.16.11)
|
|
232
|
+
websocket-driver (0.8.0)
|
|
233
|
+
base64
|
|
234
|
+
websocket-extensions (>= 0.1.0)
|
|
235
|
+
websocket-extensions (0.1.5)
|
|
236
|
+
xpath (3.2.0)
|
|
237
|
+
nokogiri (~> 1.8)
|
|
238
|
+
zeitwerk (2.7.3)
|
|
239
|
+
|
|
240
|
+
PLATFORMS
|
|
241
|
+
x86_64-linux
|
|
242
|
+
|
|
243
|
+
DEPENDENCIES
|
|
244
|
+
appraisal
|
|
245
|
+
bundler
|
|
246
|
+
byebug
|
|
247
|
+
capybara
|
|
248
|
+
nacelle!
|
|
249
|
+
rails (~> 7.2.0)
|
|
250
|
+
rake
|
|
251
|
+
rspec
|
|
252
|
+
|
|
253
|
+
BUNDLED WITH
|
|
254
|
+
2.4.19
|
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
PATH
|
|
2
|
+
remote: ..
|
|
3
|
+
specs:
|
|
4
|
+
nacelle (0.6.0)
|
|
5
|
+
rails
|
|
6
|
+
sprockets-rails
|
|
7
|
+
|
|
8
|
+
GEM
|
|
9
|
+
remote: https://rubygems.org/
|
|
10
|
+
specs:
|
|
11
|
+
actioncable (8.0.4)
|
|
12
|
+
actionpack (= 8.0.4)
|
|
13
|
+
activesupport (= 8.0.4)
|
|
14
|
+
nio4r (~> 2.0)
|
|
15
|
+
websocket-driver (>= 0.6.1)
|
|
16
|
+
zeitwerk (~> 2.6)
|
|
17
|
+
actionmailbox (8.0.4)
|
|
18
|
+
actionpack (= 8.0.4)
|
|
19
|
+
activejob (= 8.0.4)
|
|
20
|
+
activerecord (= 8.0.4)
|
|
21
|
+
activestorage (= 8.0.4)
|
|
22
|
+
activesupport (= 8.0.4)
|
|
23
|
+
mail (>= 2.8.0)
|
|
24
|
+
actionmailer (8.0.4)
|
|
25
|
+
actionpack (= 8.0.4)
|
|
26
|
+
actionview (= 8.0.4)
|
|
27
|
+
activejob (= 8.0.4)
|
|
28
|
+
activesupport (= 8.0.4)
|
|
29
|
+
mail (>= 2.8.0)
|
|
30
|
+
rails-dom-testing (~> 2.2)
|
|
31
|
+
actionpack (8.0.4)
|
|
32
|
+
actionview (= 8.0.4)
|
|
33
|
+
activesupport (= 8.0.4)
|
|
34
|
+
nokogiri (>= 1.8.5)
|
|
35
|
+
rack (>= 2.2.4)
|
|
36
|
+
rack-session (>= 1.0.1)
|
|
37
|
+
rack-test (>= 0.6.3)
|
|
38
|
+
rails-dom-testing (~> 2.2)
|
|
39
|
+
rails-html-sanitizer (~> 1.6)
|
|
40
|
+
useragent (~> 0.16)
|
|
41
|
+
actiontext (8.0.4)
|
|
42
|
+
actionpack (= 8.0.4)
|
|
43
|
+
activerecord (= 8.0.4)
|
|
44
|
+
activestorage (= 8.0.4)
|
|
45
|
+
activesupport (= 8.0.4)
|
|
46
|
+
globalid (>= 0.6.0)
|
|
47
|
+
nokogiri (>= 1.8.5)
|
|
48
|
+
actionview (8.0.4)
|
|
49
|
+
activesupport (= 8.0.4)
|
|
50
|
+
builder (~> 3.1)
|
|
51
|
+
erubi (~> 1.11)
|
|
52
|
+
rails-dom-testing (~> 2.2)
|
|
53
|
+
rails-html-sanitizer (~> 1.6)
|
|
54
|
+
activejob (8.0.4)
|
|
55
|
+
activesupport (= 8.0.4)
|
|
56
|
+
globalid (>= 0.3.6)
|
|
57
|
+
activemodel (8.0.4)
|
|
58
|
+
activesupport (= 8.0.4)
|
|
59
|
+
activerecord (8.0.4)
|
|
60
|
+
activemodel (= 8.0.4)
|
|
61
|
+
activesupport (= 8.0.4)
|
|
62
|
+
timeout (>= 0.4.0)
|
|
63
|
+
activestorage (8.0.4)
|
|
64
|
+
actionpack (= 8.0.4)
|
|
65
|
+
activejob (= 8.0.4)
|
|
66
|
+
activerecord (= 8.0.4)
|
|
67
|
+
activesupport (= 8.0.4)
|
|
68
|
+
marcel (~> 1.0)
|
|
69
|
+
activesupport (8.0.4)
|
|
70
|
+
base64
|
|
71
|
+
benchmark (>= 0.3)
|
|
72
|
+
bigdecimal
|
|
73
|
+
concurrent-ruby (~> 1.0, >= 1.3.1)
|
|
74
|
+
connection_pool (>= 2.2.5)
|
|
75
|
+
drb
|
|
76
|
+
i18n (>= 1.6, < 2)
|
|
77
|
+
logger (>= 1.4.2)
|
|
78
|
+
minitest (>= 5.1)
|
|
79
|
+
securerandom (>= 0.3)
|
|
80
|
+
tzinfo (~> 2.0, >= 2.0.5)
|
|
81
|
+
uri (>= 0.13.1)
|
|
82
|
+
addressable (2.8.7)
|
|
83
|
+
public_suffix (>= 2.0.2, < 7.0)
|
|
84
|
+
appraisal (2.5.0)
|
|
85
|
+
bundler
|
|
86
|
+
rake
|
|
87
|
+
thor (>= 0.14.0)
|
|
88
|
+
base64 (0.3.0)
|
|
89
|
+
benchmark (0.5.0)
|
|
90
|
+
bigdecimal (3.3.1)
|
|
91
|
+
builder (3.3.0)
|
|
92
|
+
byebug (12.0.0)
|
|
93
|
+
capybara (3.40.0)
|
|
94
|
+
addressable
|
|
95
|
+
matrix
|
|
96
|
+
mini_mime (>= 0.1.3)
|
|
97
|
+
nokogiri (~> 1.11)
|
|
98
|
+
rack (>= 1.6.0)
|
|
99
|
+
rack-test (>= 0.6.3)
|
|
100
|
+
regexp_parser (>= 1.5, < 3.0)
|
|
101
|
+
xpath (~> 3.2)
|
|
102
|
+
concurrent-ruby (1.3.5)
|
|
103
|
+
connection_pool (2.5.4)
|
|
104
|
+
crass (1.0.6)
|
|
105
|
+
date (3.5.0)
|
|
106
|
+
diff-lcs (1.6.2)
|
|
107
|
+
drb (2.2.3)
|
|
108
|
+
erb (5.1.3)
|
|
109
|
+
erubi (1.13.1)
|
|
110
|
+
globalid (1.3.0)
|
|
111
|
+
activesupport (>= 6.1)
|
|
112
|
+
i18n (1.14.7)
|
|
113
|
+
concurrent-ruby (~> 1.0)
|
|
114
|
+
io-console (0.8.1)
|
|
115
|
+
irb (1.15.3)
|
|
116
|
+
pp (>= 0.6.0)
|
|
117
|
+
rdoc (>= 4.0.0)
|
|
118
|
+
reline (>= 0.4.2)
|
|
119
|
+
logger (1.7.0)
|
|
120
|
+
loofah (2.24.1)
|
|
121
|
+
crass (~> 1.0.2)
|
|
122
|
+
nokogiri (>= 1.12.0)
|
|
123
|
+
mail (2.9.0)
|
|
124
|
+
logger
|
|
125
|
+
mini_mime (>= 0.1.1)
|
|
126
|
+
net-imap
|
|
127
|
+
net-pop
|
|
128
|
+
net-smtp
|
|
129
|
+
marcel (1.1.0)
|
|
130
|
+
matrix (0.4.3)
|
|
131
|
+
mini_mime (1.1.5)
|
|
132
|
+
minitest (5.26.0)
|
|
133
|
+
net-imap (0.5.12)
|
|
134
|
+
date
|
|
135
|
+
net-protocol
|
|
136
|
+
net-pop (0.1.2)
|
|
137
|
+
net-protocol
|
|
138
|
+
net-protocol (0.2.2)
|
|
139
|
+
timeout
|
|
140
|
+
net-smtp (0.5.1)
|
|
141
|
+
net-protocol
|
|
142
|
+
nio4r (2.7.5)
|
|
143
|
+
nokogiri (1.18.10-x86_64-linux-gnu)
|
|
144
|
+
racc (~> 1.4)
|
|
145
|
+
pp (0.6.3)
|
|
146
|
+
prettyprint
|
|
147
|
+
prettyprint (0.2.0)
|
|
148
|
+
psych (5.2.6)
|
|
149
|
+
date
|
|
150
|
+
stringio
|
|
151
|
+
public_suffix (6.0.2)
|
|
152
|
+
racc (1.8.1)
|
|
153
|
+
rack (3.2.4)
|
|
154
|
+
rack-session (2.1.1)
|
|
155
|
+
base64 (>= 0.1.0)
|
|
156
|
+
rack (>= 3.0.0)
|
|
157
|
+
rack-test (2.2.0)
|
|
158
|
+
rack (>= 1.3)
|
|
159
|
+
rackup (2.2.1)
|
|
160
|
+
rack (>= 3)
|
|
161
|
+
rails (8.0.4)
|
|
162
|
+
actioncable (= 8.0.4)
|
|
163
|
+
actionmailbox (= 8.0.4)
|
|
164
|
+
actionmailer (= 8.0.4)
|
|
165
|
+
actionpack (= 8.0.4)
|
|
166
|
+
actiontext (= 8.0.4)
|
|
167
|
+
actionview (= 8.0.4)
|
|
168
|
+
activejob (= 8.0.4)
|
|
169
|
+
activemodel (= 8.0.4)
|
|
170
|
+
activerecord (= 8.0.4)
|
|
171
|
+
activestorage (= 8.0.4)
|
|
172
|
+
activesupport (= 8.0.4)
|
|
173
|
+
bundler (>= 1.15.0)
|
|
174
|
+
railties (= 8.0.4)
|
|
175
|
+
rails-dom-testing (2.3.0)
|
|
176
|
+
activesupport (>= 5.0.0)
|
|
177
|
+
minitest
|
|
178
|
+
nokogiri (>= 1.6)
|
|
179
|
+
rails-html-sanitizer (1.6.2)
|
|
180
|
+
loofah (~> 2.21)
|
|
181
|
+
nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
|
|
182
|
+
railties (8.0.4)
|
|
183
|
+
actionpack (= 8.0.4)
|
|
184
|
+
activesupport (= 8.0.4)
|
|
185
|
+
irb (~> 1.13)
|
|
186
|
+
rackup (>= 1.0.0)
|
|
187
|
+
rake (>= 12.2)
|
|
188
|
+
thor (~> 1.0, >= 1.2.2)
|
|
189
|
+
tsort (>= 0.2)
|
|
190
|
+
zeitwerk (~> 2.6)
|
|
191
|
+
rake (13.3.1)
|
|
192
|
+
rdoc (6.15.1)
|
|
193
|
+
erb
|
|
194
|
+
psych (>= 4.0.0)
|
|
195
|
+
tsort
|
|
196
|
+
regexp_parser (2.11.3)
|
|
197
|
+
reline (0.6.2)
|
|
198
|
+
io-console (~> 0.5)
|
|
199
|
+
rspec (3.13.2)
|
|
200
|
+
rspec-core (~> 3.13.0)
|
|
201
|
+
rspec-expectations (~> 3.13.0)
|
|
202
|
+
rspec-mocks (~> 3.13.0)
|
|
203
|
+
rspec-core (3.13.6)
|
|
204
|
+
rspec-support (~> 3.13.0)
|
|
205
|
+
rspec-expectations (3.13.5)
|
|
206
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
207
|
+
rspec-support (~> 3.13.0)
|
|
208
|
+
rspec-mocks (3.13.7)
|
|
209
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
210
|
+
rspec-support (~> 3.13.0)
|
|
211
|
+
rspec-support (3.13.6)
|
|
212
|
+
securerandom (0.4.1)
|
|
213
|
+
sprockets (4.2.2)
|
|
214
|
+
concurrent-ruby (~> 1.0)
|
|
215
|
+
logger
|
|
216
|
+
rack (>= 2.2.4, < 4)
|
|
217
|
+
sprockets-rails (3.5.2)
|
|
218
|
+
actionpack (>= 6.1)
|
|
219
|
+
activesupport (>= 6.1)
|
|
220
|
+
sprockets (>= 3.0.0)
|
|
221
|
+
stringio (3.1.7)
|
|
222
|
+
thor (1.4.0)
|
|
223
|
+
timeout (0.4.4)
|
|
224
|
+
tsort (0.2.0)
|
|
225
|
+
tzinfo (2.0.6)
|
|
226
|
+
concurrent-ruby (~> 1.0)
|
|
227
|
+
uri (1.1.0)
|
|
228
|
+
useragent (0.16.11)
|
|
229
|
+
websocket-driver (0.8.0)
|
|
230
|
+
base64
|
|
231
|
+
websocket-extensions (>= 0.1.0)
|
|
232
|
+
websocket-extensions (0.1.5)
|
|
233
|
+
xpath (3.2.0)
|
|
234
|
+
nokogiri (~> 1.8)
|
|
235
|
+
zeitwerk (2.7.3)
|
|
236
|
+
|
|
237
|
+
PLATFORMS
|
|
238
|
+
x86_64-linux
|
|
239
|
+
|
|
240
|
+
DEPENDENCIES
|
|
241
|
+
appraisal
|
|
242
|
+
bundler
|
|
243
|
+
byebug
|
|
244
|
+
capybara
|
|
245
|
+
nacelle!
|
|
246
|
+
rails (~> 8.0.0)
|
|
247
|
+
rake
|
|
248
|
+
rspec
|
|
249
|
+
|
|
250
|
+
BUNDLED WITH
|
|
251
|
+
2.4.19
|