view_component_storybook 0.8.0 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +7 -128
  3. data/app/controllers/view_component/storybook/stories_controller.rb +10 -11
  4. data/app/views/view_component/storybook/stories/show.html.erb +8 -1
  5. data/config/locales/en.yml +32 -0
  6. data/lib/view_component/storybook/content_concern.rb +42 -0
  7. data/lib/view_component/storybook/controls/base_options_config.rb +41 -0
  8. data/lib/view_component/storybook/controls/boolean_config.rb +7 -6
  9. data/lib/view_component/storybook/controls/color_config.rb +4 -5
  10. data/lib/view_component/storybook/controls/control_config.rb +24 -36
  11. data/lib/view_component/storybook/controls/controls_helpers.rb +76 -0
  12. data/lib/view_component/storybook/controls/custom_config.rb +52 -0
  13. data/lib/view_component/storybook/controls/date_config.rb +14 -11
  14. data/lib/view_component/storybook/controls/multi_options_config.rb +46 -0
  15. data/lib/view_component/storybook/controls/number_config.rb +9 -9
  16. data/lib/view_component/storybook/controls/object_config.rb +13 -5
  17. data/lib/view_component/storybook/controls/options_config.rb +17 -30
  18. data/lib/view_component/storybook/controls/simple_control_config.rb +48 -0
  19. data/lib/view_component/storybook/controls/text_config.rb +1 -1
  20. data/lib/view_component/storybook/controls.rb +5 -1
  21. data/lib/view_component/storybook/dsl/{controls_dsl.rb → legacy_controls_dsl.rb} +18 -21
  22. data/lib/view_component/storybook/dsl.rb +1 -2
  23. data/lib/view_component/storybook/engine.rb +13 -2
  24. data/lib/view_component/storybook/method_args/component_constructor_args.rb +23 -0
  25. data/lib/view_component/storybook/method_args/control_method_args.rb +91 -0
  26. data/lib/view_component/storybook/method_args/dry_initializer_component_constructor_args.rb +45 -0
  27. data/lib/view_component/storybook/method_args/method_args.rb +52 -0
  28. data/lib/view_component/storybook/method_args/method_parameters_names.rb +97 -0
  29. data/lib/view_component/storybook/method_args.rb +17 -0
  30. data/lib/view_component/storybook/slots/slot.rb +24 -0
  31. data/lib/view_component/storybook/slots/slot_config.rb +79 -0
  32. data/lib/view_component/storybook/slots.rb +14 -0
  33. data/lib/view_component/storybook/stories.rb +60 -10
  34. data/lib/view_component/storybook/story.rb +18 -0
  35. data/lib/view_component/storybook/story_config.rb +143 -15
  36. data/lib/view_component/storybook/tasks/write_stories_json.rake +6 -0
  37. data/lib/view_component/storybook/version.rb +1 -1
  38. data/lib/view_component/storybook.rb +25 -0
  39. metadata +64 -20
  40. data/lib/view_component/storybook/controls/array_config.rb +0 -36
  41. data/lib/view_component/storybook/dsl/story_dsl.rb +0 -39
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: view_component_storybook
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jon Palmer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-09 00:00:00.000000000 Z
11
+ date: 2022-02-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: view_component
@@ -16,28 +16,56 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '2.2'
19
+ version: '2.36'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '2.2'
26
+ version: '2.36'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.14'
33
+ version: '2.2'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '2.2'
41
+ - !ruby/object:Gem::Dependency
42
+ name: capybara
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3'
55
+ - !ruby/object:Gem::Dependency
56
+ name: dry-initializer
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 3.0.4
34
62
  type: :development
35
63
  prerelease: false
36
64
  version_requirements: !ruby/object:Gem::Requirement
37
65
  requirements:
38
66
  - - "~>"
39
67
  - !ruby/object:Gem::Version
40
- version: '1.14'
68
+ version: 3.0.4
41
69
  - !ruby/object:Gem::Dependency
42
70
  name: rake
43
71
  requirement: !ruby/object:Gem::Requirement
@@ -72,56 +100,56 @@ dependencies:
72
100
  requirements:
73
101
  - - "~>"
74
102
  - !ruby/object:Gem::Version
75
- version: '3.9'
103
+ version: '3.10'
76
104
  type: :development
77
105
  prerelease: false
78
106
  version_requirements: !ruby/object:Gem::Requirement
79
107
  requirements:
80
108
  - - "~>"
81
109
  - !ruby/object:Gem::Version
82
- version: '3.9'
110
+ version: '3.10'
83
111
  - !ruby/object:Gem::Dependency
84
112
  name: rspec-rails
85
113
  requirement: !ruby/object:Gem::Requirement
86
114
  requirements:
87
115
  - - "~>"
88
116
  - !ruby/object:Gem::Version
89
- version: '3.9'
117
+ version: '5.0'
90
118
  type: :development
91
119
  prerelease: false
92
120
  version_requirements: !ruby/object:Gem::Requirement
93
121
  requirements:
94
122
  - - "~>"
95
123
  - !ruby/object:Gem::Version
96
- version: '3.9'
124
+ version: '5.0'
97
125
  - !ruby/object:Gem::Dependency
98
126
  name: rubocop
99
127
  requirement: !ruby/object:Gem::Requirement
100
128
  requirements:
101
129
  - - "~>"
102
130
  - !ruby/object:Gem::Version
103
- version: '1.9'
131
+ version: '1.18'
104
132
  type: :development
105
133
  prerelease: false
106
134
  version_requirements: !ruby/object:Gem::Requirement
107
135
  requirements:
108
136
  - - "~>"
109
137
  - !ruby/object:Gem::Version
110
- version: '1.9'
138
+ version: '1.18'
111
139
  - !ruby/object:Gem::Dependency
112
140
  name: rubocop-rails
113
141
  requirement: !ruby/object:Gem::Requirement
114
142
  requirements:
115
143
  - - "~>"
116
144
  - !ruby/object:Gem::Version
117
- version: 2.9.1
145
+ version: '2.11'
118
146
  type: :development
119
147
  prerelease: false
120
148
  version_requirements: !ruby/object:Gem::Requirement
121
149
  requirements:
122
150
  - - "~>"
123
151
  - !ruby/object:Gem::Version
124
- version: 2.9.1
152
+ version: '2.11'
125
153
  - !ruby/object:Gem::Dependency
126
154
  name: rubocop-rspec
127
155
  requirement: !ruby/object:Gem::Requirement
@@ -142,14 +170,14 @@ dependencies:
142
170
  requirements:
143
171
  - - "~>"
144
172
  - !ruby/object:Gem::Version
145
- version: 0.18.5
173
+ version: 0.21.2
146
174
  type: :development
147
175
  prerelease: false
148
176
  version_requirements: !ruby/object:Gem::Requirement
149
177
  requirements:
150
178
  - - "~>"
151
179
  - !ruby/object:Gem::Version
152
- version: 0.18.5
180
+ version: 0.21.2
153
181
  - !ruby/object:Gem::Dependency
154
182
  name: simplecov-console
155
183
  requirement: !ruby/object:Gem::Requirement
@@ -175,22 +203,37 @@ files:
175
203
  - README.md
176
204
  - app/controllers/view_component/storybook/stories_controller.rb
177
205
  - app/views/view_component/storybook/stories/show.html.erb
206
+ - config/locales/en.yml
178
207
  - lib/view_component/storybook.rb
208
+ - lib/view_component/storybook/content_concern.rb
179
209
  - lib/view_component/storybook/controls.rb
180
- - lib/view_component/storybook/controls/array_config.rb
210
+ - lib/view_component/storybook/controls/base_options_config.rb
181
211
  - lib/view_component/storybook/controls/boolean_config.rb
182
212
  - lib/view_component/storybook/controls/color_config.rb
183
213
  - lib/view_component/storybook/controls/control_config.rb
214
+ - lib/view_component/storybook/controls/controls_helpers.rb
215
+ - lib/view_component/storybook/controls/custom_config.rb
184
216
  - lib/view_component/storybook/controls/date_config.rb
217
+ - lib/view_component/storybook/controls/multi_options_config.rb
185
218
  - lib/view_component/storybook/controls/number_config.rb
186
219
  - lib/view_component/storybook/controls/object_config.rb
187
220
  - lib/view_component/storybook/controls/options_config.rb
221
+ - lib/view_component/storybook/controls/simple_control_config.rb
188
222
  - lib/view_component/storybook/controls/text_config.rb
189
223
  - lib/view_component/storybook/dsl.rb
190
- - lib/view_component/storybook/dsl/controls_dsl.rb
191
- - lib/view_component/storybook/dsl/story_dsl.rb
224
+ - lib/view_component/storybook/dsl/legacy_controls_dsl.rb
192
225
  - lib/view_component/storybook/engine.rb
226
+ - lib/view_component/storybook/method_args.rb
227
+ - lib/view_component/storybook/method_args/component_constructor_args.rb
228
+ - lib/view_component/storybook/method_args/control_method_args.rb
229
+ - lib/view_component/storybook/method_args/dry_initializer_component_constructor_args.rb
230
+ - lib/view_component/storybook/method_args/method_args.rb
231
+ - lib/view_component/storybook/method_args/method_parameters_names.rb
232
+ - lib/view_component/storybook/slots.rb
233
+ - lib/view_component/storybook/slots/slot.rb
234
+ - lib/view_component/storybook/slots/slot_config.rb
193
235
  - lib/view_component/storybook/stories.rb
236
+ - lib/view_component/storybook/story.rb
194
237
  - lib/view_component/storybook/story_config.rb
195
238
  - lib/view_component/storybook/tasks/write_stories_json.rake
196
239
  - lib/view_component/storybook/version.rb
@@ -201,6 +244,7 @@ metadata:
201
244
  allowed_push_host: https://rubygems.org
202
245
  homepage_uri: https://github.com/jonspalmer/view_component_storybook
203
246
  source_code_uri: https://github.com/jonspalmer/view_component_storybook
247
+ rubygems_mfa_required: 'true'
204
248
  post_install_message:
205
249
  rdoc_options: []
206
250
  require_paths:
@@ -209,7 +253,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
209
253
  requirements:
210
254
  - - ">="
211
255
  - !ruby/object:Gem::Version
212
- version: 2.4.0
256
+ version: 2.5.0
213
257
  required_rubygems_version: !ruby/object:Gem::Requirement
214
258
  requirements:
215
259
  - - ">="
@@ -1,36 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module ViewComponent
4
- module Storybook
5
- module Controls
6
- class ArrayConfig < ControlConfig
7
- attr_reader :separator
8
-
9
- validates :separator, presence: true
10
-
11
- def initialize(component, param, value, separator = ",", name: nil)
12
- super(component, param, value, name: name)
13
- @separator = separator
14
- end
15
-
16
- def type
17
- :array
18
- end
19
-
20
- def value_from_param(param)
21
- if param.is_a?(String)
22
- param.split(separator)
23
- else
24
- super(param)
25
- end
26
- end
27
-
28
- private
29
-
30
- def csf_control_params
31
- super.merge(separator: separator)
32
- end
33
- end
34
- end
35
- end
36
- end
@@ -1,39 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module ViewComponent
4
- module Storybook
5
- module Dsl
6
- class StoryDsl
7
- def self.evaluate!(story_config, &block)
8
- new(story_config).instance_eval(&block)
9
- end
10
-
11
- def parameters(**params)
12
- @story_config.parameters = params
13
- end
14
-
15
- def controls(&block)
16
- controls_dsl = ControlsDsl.new(story_config.component)
17
- controls_dsl.instance_eval(&block)
18
- @story_config.controls = controls_dsl.controls
19
- end
20
-
21
- def layout(layout)
22
- @story_config.layout = layout
23
- end
24
-
25
- def content(&block)
26
- @story_config.content_block = block
27
- end
28
-
29
- private
30
-
31
- attr_reader :story_config
32
-
33
- def initialize(story_config)
34
- @story_config = story_config
35
- end
36
- end
37
- end
38
- end
39
- end