bemer 0.4.0 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE-RU.txt +1 -1
- data/LICENSE.txt +1 -1
- data/README.md +99 -81
- data/lib/bemer/configuration.rb +1 -0
- data/lib/bemer/railtie.rb +1 -4
- data/lib/bemer/version.rb +1 -1
- data/spec/bemer/railtie_spec.rb +1 -1
- metadata +3 -185
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 84098253bdd2d8a9d177fddcf79e6a98af7c76af3e7fab7c717e380a799d12e1
|
4
|
+
data.tar.gz: 673f538a9fe0f1e34c649527cd1d8a3d08940601b18d16223308ebf9ef22dfcf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9a3fb72c68982a9d558192541b7de078d6ec98df923ddf048a2074742b62b553852d7f8486e1fd4786f690c6cf0ec392c33d15d82bbded151ccbec14168ed999
|
7
|
+
data.tar.gz: 6a9d7821d738c7a4137438708b8c4b5c9c707aa726cf4619647f2a69fd2c76d33d5c66a82b21a9cf059520f1dcae733b799fc318b96f75216db3379e47e53977
|
data/LICENSE-RU.txt
CHANGED
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
@@ -1,34 +1,35 @@
|
|
1
1
|
# Bemer
|
2
2
|
|
3
|
-
|
3
|
+
1. Build reusable UI components for Ruby on Rails applications.
|
4
|
+
1. Develop Ruby on Rails applications using the `BEM` methodology.
|
4
5
|
|
5
|
-
|
6
|
-
1. Предоставляет функционал для разработки приложений на Ruby on Rails с использованием методологии БЭМ.
|
6
|
+
**IMPORTANT**. *Using the `BEM` methodology is optional.*
|
7
7
|
|
8
|
-
|
8
|
+
Additional resources:
|
9
9
|
|
10
|
-
1.
|
11
|
-
1. [`bemer-simple_form`](https://github.com/vill/bemer-simple_form) -
|
12
|
-
1. [`bemer-bootstrap`](https://github.com/vill/bemer-bootstrap) -
|
13
|
-
1. [
|
10
|
+
1. Habr article in Russian - [Переиспользуемые UI компоненты в приложениях на Ruby on Rails](https://habrahabr.ru/post/352938/).
|
11
|
+
1. [`bemer-simple_form`](https://github.com/vill/bemer-simple_form) - Add the `BEM` methodology to your `SimpleForm` forms.
|
12
|
+
1. [`bemer-bootstrap`](https://github.com/vill/bemer-bootstrap) - Reusable UI components of `Bootstrap`.
|
13
|
+
1. [Ruby on Rails application](https://github.com/vill/bemer-example) using `bemer` and [`bemer-bootstrap`](https://github.com/vill/bemer-bootstrap).
|
14
14
|
|
15
|
-
|
15
|
+
*Please refer to the [README.ru.md](README.ru.md) file for instructions in Russian.*
|
16
16
|
|
17
|
-
|
17
|
+
|
18
|
+
## Installation
|
19
|
+
|
20
|
+
Add it to your Gemfile:
|
18
21
|
|
19
22
|
```ruby
|
20
23
|
gem 'bemer'
|
21
24
|
```
|
22
25
|
|
23
|
-
|
26
|
+
Run the following command to install it:
|
24
27
|
|
25
28
|
$ bundle
|
26
29
|
|
27
|
-
##
|
28
|
-
|
29
|
-
### Конфигурация
|
30
|
+
## Configuration
|
30
31
|
|
31
|
-
[
|
32
|
+
See [configuration documentation](docs/%D0%9A%D0%BE%D0%BD%D1%84%D0%B8%D0%B3%D1%83%D1%80%D0%B0%D1%86%D0%B8%D1%8F.md) for details.
|
32
33
|
|
33
34
|
```ruby
|
34
35
|
# config/initializers/bemer.rb
|
@@ -36,14 +37,15 @@ gem 'bemer'
|
|
36
37
|
Bemer.setup do |config|
|
37
38
|
config.bem = true
|
38
39
|
config.modifier_name_separator = '--'
|
39
|
-
config.path = 'app/frontend/components' #
|
40
|
+
config.path = 'app/frontend/components' # or Webpacker.config.source_path
|
40
41
|
# config.default_path_prefix = lambda { |path, view|
|
41
42
|
# view.controller.class.name.split('::')[0].underscore
|
42
43
|
# }
|
43
44
|
end
|
44
45
|
```
|
45
46
|
|
46
|
-
|
47
|
+
## Integrations
|
48
|
+
### Webpacker
|
47
49
|
|
48
50
|
```yml
|
49
51
|
# config/webpacker.yml
|
@@ -66,36 +68,11 @@ production:
|
|
66
68
|
<<: *default
|
67
69
|
# ...
|
68
70
|
```
|
71
|
+
#### File naming and folder structure
|
72
|
+
See [file naming and folder structure documentation](docs/%D0%A4%D0%B0%D0%B8%CC%86%D0%BB%D0%BE%D0%B2%D0%B0%D1%8F-%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B0.md) for details.
|
69
73
|
|
70
|
-
### Файловая структура
|
71
|
-
|
72
|
-
Пример [файловой структуры](docs/%D0%A4%D0%B0%D0%B8%CC%86%D0%BB%D0%BE%D0%B2%D0%B0%D1%8F-%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B0.md) при использовании [`Sprockets`](https://github.com/rails/sprockets-rails):
|
73
74
|
```
|
74
75
|
app/
|
75
|
-
├── assets/
|
76
|
-
| ├── javascripts/
|
77
|
-
| | ├── admin_panel/
|
78
|
-
| | | ├── application.js
|
79
|
-
| | | └── ...
|
80
|
-
| | ├── landing/
|
81
|
-
| | | ├── application.js
|
82
|
-
| | | └── ...
|
83
|
-
| | ├── user_panel/
|
84
|
-
| | | ├── application.js
|
85
|
-
| | | └── ...
|
86
|
-
| | └── ...
|
87
|
-
| ├── stylesheets/
|
88
|
-
| | ├── admin_panel/
|
89
|
-
| | | ├── application.scss
|
90
|
-
| | | └── ...
|
91
|
-
| | ├── landing/
|
92
|
-
| | | ├── application.scss
|
93
|
-
| | | └── ...
|
94
|
-
| | ├── user_panel/
|
95
|
-
| | | ├── application.scss
|
96
|
-
| | | └── ...
|
97
|
-
| | └── ...
|
98
|
-
| └── ...
|
99
76
|
├── frontend/
|
100
77
|
| ├── components/
|
101
78
|
| | ├── common/
|
@@ -127,12 +104,62 @@ app/
|
|
127
104
|
| | ├── user_panel/
|
128
105
|
| | | └── ...
|
129
106
|
| | └── ...
|
107
|
+
| ├── packs/
|
108
|
+
| | ├── admin_panel/
|
109
|
+
| | | ├── application.js
|
110
|
+
| | | └── ...
|
111
|
+
| | ├── landing/
|
112
|
+
| | | ├── application.js
|
113
|
+
| | | └── ...
|
114
|
+
| | ├── user_panel/
|
115
|
+
| | | ├── application.js
|
116
|
+
| | | └── ...
|
117
|
+
| | └── ...
|
130
118
|
| └── ...
|
131
119
|
└── ...
|
132
120
|
```
|
133
|
-
|
121
|
+
|
122
|
+
### Sprockets
|
123
|
+
|
124
|
+
You do not need to do anything, but add additional assets to the asset load path if necessary:
|
125
|
+
|
126
|
+
```ruby
|
127
|
+
# config/initializers/bemer.rb
|
128
|
+
|
129
|
+
Bemer.setup do |config|
|
130
|
+
config.asset_paths << Rails.root.join('some/asset/path')
|
131
|
+
end
|
132
|
+
```
|
133
|
+
|
134
|
+
### File naming and folder structure
|
135
|
+
See [file naming and folder structure documentation](docs/%D0%A4%D0%B0%D0%B8%CC%86%D0%BB%D0%BE%D0%B2%D0%B0%D1%8F-%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B0.md) for details.
|
136
|
+
|
134
137
|
```
|
135
138
|
app/
|
139
|
+
├── assets/
|
140
|
+
| ├── javascripts/
|
141
|
+
| | ├── admin_panel/
|
142
|
+
| | | ├── application.js
|
143
|
+
| | | └── ...
|
144
|
+
| | ├── landing/
|
145
|
+
| | | ├── application.js
|
146
|
+
| | | └── ...
|
147
|
+
| | ├── user_panel/
|
148
|
+
| | | ├── application.js
|
149
|
+
| | | └── ...
|
150
|
+
| | └── ...
|
151
|
+
| ├── stylesheets/
|
152
|
+
| | ├── admin_panel/
|
153
|
+
| | | ├── application.scss
|
154
|
+
| | | └── ...
|
155
|
+
| | ├── landing/
|
156
|
+
| | | ├── application.scss
|
157
|
+
| | | └── ...
|
158
|
+
| | ├── user_panel/
|
159
|
+
| | | ├── application.scss
|
160
|
+
| | | └── ...
|
161
|
+
| | └── ...
|
162
|
+
| └── ...
|
136
163
|
├── frontend/
|
137
164
|
| ├── components/
|
138
165
|
| | ├── common/
|
@@ -164,24 +191,15 @@ app/
|
|
164
191
|
| | ├── user_panel/
|
165
192
|
| | | └── ...
|
166
193
|
| | └── ...
|
167
|
-
| ├── packs/
|
168
|
-
| | ├── admin_panel/
|
169
|
-
| | | ├── application.js
|
170
|
-
| | | └── ...
|
171
|
-
| | ├── landing/
|
172
|
-
| | | ├── application.js
|
173
|
-
| | | └── ...
|
174
|
-
| | ├── user_panel/
|
175
|
-
| | | ├── application.js
|
176
|
-
| | | └── ...
|
177
|
-
| | └── ...
|
178
194
|
| └── ...
|
179
195
|
└── ...
|
180
196
|
```
|
181
|
-
### Создание `HTML` структуры компонента
|
182
197
|
|
183
|
-
|
184
|
-
|
198
|
+
## Usage
|
199
|
+
|
200
|
+
### Component to which `BEMHTML` templates cannot be applied
|
201
|
+
|
202
|
+
HTML structure of the [Carousel component from Bootstrap](https://getbootstrap.com/docs/4.3/components/carousel/#with-indicators):
|
185
203
|
|
186
204
|
```slim
|
187
205
|
/ app/frontend/components/common/carousel/index.slim
|
@@ -196,19 +214,19 @@ app/
|
|
196
214
|
= image_tag image_url, class: 'd-block w-100'
|
197
215
|
a.carousel-control-prev data-slide="prev" data-target='.carousel' role="button"
|
198
216
|
span.carousel-control-prev-icon aria-hidden="true"
|
199
|
-
span.sr-only
|
217
|
+
span.sr-only Previous
|
200
218
|
a.carousel-control-next data-slide="next" data-target='.carousel' role="button"
|
201
219
|
span.carousel-control-next-icon aria-hidden="true"
|
202
|
-
span.sr-only
|
220
|
+
span.sr-only Next
|
203
221
|
```
|
204
|
-
[
|
222
|
+
[Rendering](docs/%D0%A5%D0%B5%D0%BB%D0%BF%D0%B5%D1%80-render_component.md) the `carousel` component in any view or [other UI components](docs/%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B8-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-UI-%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82.md):
|
205
223
|
```slim
|
206
224
|
= render_component :carousel, prefix: :common, image_urls: image_urls, cls: 'carousel-fade'
|
207
225
|
```
|
208
226
|
|
209
|
-
|
227
|
+
### Component to which `BEMHTML` templates can be applied
|
210
228
|
|
211
|
-
|
229
|
+
Tree structure of the [Carousel component from Bootstrap](https://getbootstrap.com/docs/4.3/components/carousel/#with-indicators):
|
212
230
|
|
213
231
|
```slim
|
214
232
|
/ app/frontend/components/common/carousel/index.slim
|
@@ -224,13 +242,13 @@ app/
|
|
224
242
|
= carousel.elem :image, tag: :img, cls: 'd-block w-100', src: image_url
|
225
243
|
= carousel.elem :control_prev, tag: :a, cls: 'carousel-control-prev', 'data-slide': :prev, role: :button, 'data-target': '.carousel'
|
226
244
|
span.carousel-control-prev-icon aria-hidden="true"
|
227
|
-
span.sr-only
|
245
|
+
span.sr-only Previous
|
228
246
|
= carousel.elem :control_next, tag: :a, cls: 'carousel-control-next', 'data-slide': :next, role: :button, 'data-target': '.carousel'
|
229
247
|
span.carousel-control-next-icon aria-hidden="true"
|
230
|
-
span.sr-only
|
248
|
+
span.sr-only Next
|
231
249
|
```
|
232
250
|
|
233
|
-
[
|
251
|
+
[Default template](docs/%D0%A5%D0%B5%D0%BB%D0%BF%D0%B5%D1%80-define_templates.md):
|
234
252
|
```slim
|
235
253
|
/ app/frontend/components/common/carousel/index.bemhtml.slim
|
236
254
|
|
@@ -238,18 +256,18 @@ app/
|
|
238
256
|
= template.elem(mods: :active).add_cls :active
|
239
257
|
```
|
240
258
|
|
241
|
-
[
|
259
|
+
[Rendering](docs/%D0%A5%D0%B5%D0%BB%D0%BF%D0%B5%D1%80-render_component.md) the `carousel` component in any view or [other UI components](docs/%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B8-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-UI-%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82.md) using [`BEMHTML`](docs/BEMHTML.md) [templates](docs/%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D1%8B.md):
|
242
260
|
```slim
|
243
261
|
= render_component :carousel, prefix: :common, image_urls: image_urls do |template|
|
244
262
|
= template.block(:carousel).add_mix :carousel_fade
|
245
263
|
```
|
246
264
|
|
247
|
-
##
|
265
|
+
## Documentation in Russian
|
248
266
|
|
249
|
-
1. [
|
250
|
-
1. [
|
251
|
-
1. [
|
252
|
-
1.
|
267
|
+
1. [File naming and folder structure](docs/%D0%A4%D0%B0%D0%B8%CC%86%D0%BB%D0%BE%D0%B2%D0%B0%D1%8F-%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B0.md)
|
268
|
+
1. [Configuration](docs/%D0%9A%D0%BE%D0%BD%D1%84%D0%B8%D0%B3%D1%83%D1%80%D0%B0%D1%86%D0%B8%D1%8F.md)
|
269
|
+
1. [Creating and using UI components](docs/%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B8-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-UI-%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82.md)
|
270
|
+
1. Helpers for UI components
|
253
271
|
1. [`define_component`](docs/%D0%A5%D0%B5%D0%BB%D0%BF%D0%B5%D1%80-define_component.md)
|
254
272
|
1. [`define_templates`](docs/%D0%A5%D0%B5%D0%BB%D0%BF%D0%B5%D1%80-define_templates.md)
|
255
273
|
1. [`render_component`](docs/%D0%A5%D0%B5%D0%BB%D0%BF%D0%B5%D1%80-render_component.md)
|
@@ -257,25 +275,25 @@ app/
|
|
257
275
|
1. [`component_pack`](docs/%D0%A5%D0%B5%D0%BB%D0%BF%D0%B5%D1%80-component_pack.md)
|
258
276
|
1. [`component_asset_path`](docs/%D0%A5%D0%B5%D0%BB%D0%BF%D0%B5%D1%80-component_asset_path.md)
|
259
277
|
1. [`component_partial_path`](docs/%D0%A5%D0%B5%D0%BB%D0%BF%D0%B5%D1%80-component_partial_path.md)
|
260
|
-
1.
|
278
|
+
1. Additional helpers for the BEM methodology
|
261
279
|
1. [`bem_attrs_for`](docs/%D0%A5%D0%B5%D0%BB%D0%BF%D0%B5%D1%80-bem_attrs_for.md)
|
262
280
|
1. [`bem_mix`](docs/%D0%A5%D0%B5%D0%BB%D0%BF%D0%B5%D1%80-bem_mix.md)
|
263
281
|
1. [`bem_mods`](docs/%D0%A5%D0%B5%D0%BB%D0%BF%D0%B5%D1%80-bem_mods.md)
|
264
282
|
1. [`block_tag`](docs/%D0%A5%D0%B5%D0%BB%D0%BF%D0%B5%D1%80-block_tag.md)
|
265
283
|
1. [`elem_tag`](docs/%D0%A5%D0%B5%D0%BB%D0%BF%D0%B5%D1%80-elem_tag.md)
|
266
284
|
1. [BEMHTML](docs/BEMHTML.md)
|
267
|
-
1. [
|
268
|
-
1. [
|
269
|
-
1. [
|
270
|
-
1. [
|
285
|
+
1. [Templates](docs/%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D1%8B.md)
|
286
|
+
1. [Node](docs/%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82-%D1%83%D0%B7%D0%BB%D0%B0.md)
|
287
|
+
1. [Predicates](docs/%D0%9F%D1%80%D0%B5%D0%B4%D0%B8%D0%BA%D0%B0%D1%82%D1%8B.md)
|
288
|
+
1. [Modes](docs/%D0%A0%D0%B5%D0%B6%D0%B8%D0%BC%D1%8B.md)
|
271
289
|
|
272
|
-
##
|
290
|
+
## Links
|
273
291
|
|
274
292
|
1. BEM methodology - https://bem.info/methodology/
|
275
293
|
1. Minimal stack for coding client-side JavaScript and templating - https://github.com/bem/bem-core
|
276
294
|
1. Declarative template engine for the browser and server with regular JS syntax - https://github.com/bem/bem-xjst
|
277
295
|
1. BEM Forum - https://bem.info/forum/
|
278
296
|
|
279
|
-
##
|
297
|
+
## License
|
280
298
|
|
281
|
-
Copyright (c) 2017
|
299
|
+
Copyright (c) 2017-2023 Alexander Grigorev. See [LICENSE.txt](LICENSE.txt) for further details.
|
data/lib/bemer/configuration.rb
CHANGED
@@ -18,6 +18,7 @@ module Bemer
|
|
18
18
|
def initialize # rubocop:disable Metrics/MethodLength
|
19
19
|
@asset_paths = []
|
20
20
|
@bem = false
|
21
|
+
# https://github.com/brainspec/enumerize/blob/9dd68ca36d1efed6bc4cec8557a359f34f408d47/lib/enumerize/activerecord.rb#L24
|
21
22
|
# https://github.com/heartcombo/devise/blob/b52e642c0131f7b0d9f2dd24d8607a186f18223e/lib/devise.rb#L301
|
22
23
|
# Gem::Version.new('0.4.1') > Gem::Version.new('0.10.1')
|
23
24
|
# Здесь вроде также используют https://github.com/rspec/rspec-rails/blob/9b7ab39c027a8cb25e2ebe9e0e985756025b0549/Gemfile#L45
|
data/lib/bemer/railtie.rb
CHANGED
@@ -9,10 +9,7 @@ module Bemer
|
|
9
9
|
class Railtie < ::Rails::Railtie
|
10
10
|
class << self
|
11
11
|
def assets_path_initializer
|
12
|
-
|
13
|
-
when 5..6 then :append_assets_path
|
14
|
-
when 3..4 then :load_config_initializers
|
15
|
-
end
|
12
|
+
::Rails::VERSION::MAJOR < 5 ? :load_config_initializers : :append_assets_path
|
16
13
|
end
|
17
14
|
end
|
18
15
|
|
data/lib/bemer/version.rb
CHANGED
data/spec/bemer/railtie_spec.rb
CHANGED
@@ -38,7 +38,7 @@ RSpec.describe Bemer::Railtie do
|
|
38
38
|
describe 'bemer.helpers initializer' do
|
39
39
|
subject(:initializer) { find_initializer('bemer.helpers') }
|
40
40
|
|
41
|
-
let(:action_view) { ActionView::Base.new }
|
41
|
+
let(:action_view) { ActionView::Base.respond_to?(:empty) ? ActionView::Base.empty : ActionView::Base.new }
|
42
42
|
|
43
43
|
helper_methods = %i[
|
44
44
|
block_tag elem_tag bem_mix bem_mods render_component
|
metadata
CHANGED
@@ -1,197 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bemer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexander Grigorev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-03-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: appraisal
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 2.2.0
|
20
|
-
type: :development
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: 2.2.0
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: bundler-audit
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: 0.6.1
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: 0.6.1
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: fasterer
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - "~>"
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: 0.7.1
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - "~>"
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: 0.7.1
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: fuubar
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - "~>"
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: 2.5.0
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - "~>"
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: 2.5.0
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: overcommit
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - "~>"
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: 0.47.0
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - "~>"
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: 0.47.0
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: rake
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - "~>"
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: 12.3.3
|
90
|
-
type: :development
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - "~>"
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: 12.3.3
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: rspec
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - "~>"
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: 3.9.0
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - "~>"
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: 3.9.0
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: rspec-html-matchers
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - "~>"
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: 0.9.2
|
118
|
-
type: :development
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - "~>"
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: 0.9.2
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: rspec-rails
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - "~>"
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: 3.9.0
|
132
|
-
type: :development
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - "~>"
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: 3.9.0
|
139
|
-
- !ruby/object:Gem::Dependency
|
140
|
-
name: rubocop
|
141
|
-
requirement: !ruby/object:Gem::Requirement
|
142
|
-
requirements:
|
143
|
-
- - "~>"
|
144
|
-
- !ruby/object:Gem::Version
|
145
|
-
version: 0.68.1
|
146
|
-
type: :development
|
147
|
-
prerelease: false
|
148
|
-
version_requirements: !ruby/object:Gem::Requirement
|
149
|
-
requirements:
|
150
|
-
- - "~>"
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
version: 0.68.1
|
153
|
-
- !ruby/object:Gem::Dependency
|
154
|
-
name: rubocop-performance
|
155
|
-
requirement: !ruby/object:Gem::Requirement
|
156
|
-
requirements:
|
157
|
-
- - "~>"
|
158
|
-
- !ruby/object:Gem::Version
|
159
|
-
version: 1.3.0
|
160
|
-
type: :development
|
161
|
-
prerelease: false
|
162
|
-
version_requirements: !ruby/object:Gem::Requirement
|
163
|
-
requirements:
|
164
|
-
- - "~>"
|
165
|
-
- !ruby/object:Gem::Version
|
166
|
-
version: 1.3.0
|
167
|
-
- !ruby/object:Gem::Dependency
|
168
|
-
name: rubocop-rspec
|
169
|
-
requirement: !ruby/object:Gem::Requirement
|
170
|
-
requirements:
|
171
|
-
- - "~>"
|
172
|
-
- !ruby/object:Gem::Version
|
173
|
-
version: 1.38.1
|
174
|
-
type: :development
|
175
|
-
prerelease: false
|
176
|
-
version_requirements: !ruby/object:Gem::Requirement
|
177
|
-
requirements:
|
178
|
-
- - "~>"
|
179
|
-
- !ruby/object:Gem::Version
|
180
|
-
version: 1.38.1
|
181
|
-
- !ruby/object:Gem::Dependency
|
182
|
-
name: wwtd
|
183
|
-
requirement: !ruby/object:Gem::Requirement
|
184
|
-
requirements:
|
185
|
-
- - "~>"
|
186
|
-
- !ruby/object:Gem::Version
|
187
|
-
version: 1.4.0
|
188
|
-
type: :development
|
189
|
-
prerelease: false
|
190
|
-
version_requirements: !ruby/object:Gem::Requirement
|
191
|
-
requirements:
|
192
|
-
- - "~>"
|
193
|
-
- !ruby/object:Gem::Version
|
194
|
-
version: 1.4.0
|
195
13
|
- !ruby/object:Gem::Dependency
|
196
14
|
name: railties
|
197
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -342,7 +160,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
342
160
|
- !ruby/object:Gem::Version
|
343
161
|
version: 2.2.0
|
344
162
|
requirements: []
|
345
|
-
rubygems_version: 3.
|
163
|
+
rubygems_version: 3.4.3
|
346
164
|
signing_key:
|
347
165
|
specification_version: 4
|
348
166
|
summary: Build reusable UI components for Rails applications with the ability to use
|