lookbook_storybook_json_generator 0.2.0 → 0.3.0

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: 4706ac0d61b2baa9bc6489c25928ed6a0ac54a6aa7563bf80503ad98816132e3
4
- data.tar.gz: aa9934bf2431c4841044b503359e9cc2da0a8ec0f378fb1de5741da44dfd9f74
3
+ metadata.gz: '0918677905f162afe15aaf2e4d59a63709f0b79f14b9fee2561a37d230bfd1cd'
4
+ data.tar.gz: 858aca738508af72e733332c0ba93211282bf2542b02bead5879aa3114f77537
5
5
  SHA512:
6
- metadata.gz: 3c5853c5ace1a5150db8a08b2480a2146ed3a58edc1ff22b87060e9c626874476e4671b8fa40d5263c8e73114dc7ee931e299b9f3c84119f25c8c24c9ca8bc58
7
- data.tar.gz: ce6935361b6979972f5e96ee33c626802f1f58443d6c87cfdacbaaa8368b8e632468ecac92173a334c30e3a3f622c3ee727fee8acc935df26404d8200ab0e868
6
+ metadata.gz: 7e41e2a8b9dd88c0e17d39a4bbd40bb4c8203bb37e5dcd5dc4316c1317641e84768889d0eb5ff080c56d4c137ed7cfb56df87105b62d9251ea646e9450584ff0
7
+ data.tar.gz: 3ac9349b5754888777ca3aecd231f237c24633bacc64d4259d1e6773938b6e02f5c108414fc07b360e162ab5b107c95d9b7a2a4cf7cc51086466ea9810bba34d
@@ -20,43 +20,37 @@ module LookbookStorybookJsonGenerator
20
20
 
21
21
  attr_reader :code_object
22
22
 
23
+ def preview_entity
24
+ @preview_entity ||= Lookbook::PreviewEntity.new(code_object)
25
+ end
26
+
23
27
  def title
24
- if code_object.namespace.root?
25
- code_object.name.to_s.underscore.gsub(/_preview$/, '')
26
- else
27
- code_object.namespace.title.gsub(code_object.namespace.sep, '/')
28
- end
28
+ preview_entity.lookup_path.titleize
29
29
  end
30
30
 
31
31
  def stories
32
- code_object.meths.map { story(_1) }
32
+ preview_entity.scenarios.map { story(_1) }
33
33
  end
34
34
 
35
- def story(meth)
35
+ def story(scenario_entity)
36
36
  {
37
- name: meth.name,
38
- parameters: parameters(meth),
39
- args: args(meth),
40
- argTypes: arg_types(meth)
37
+ name: scenario_entity.name,
38
+ parameters: parameters(scenario_entity),
39
+ args: args(scenario_entity),
40
+ argTypes: arg_types(scenario_entity)
41
41
  }
42
42
  end
43
43
 
44
- def parameters(meth)
45
- { server: { id: "#{title.underscore}/#{meth.name}" } }
44
+ def parameters(scenario_entity)
45
+ { server: { id: scenario_entity.lookup_path } }
46
46
  end
47
47
 
48
- def args(meth)
49
- meth.parameters.each_with_object({}) do |(k, v), a|
50
- key = k.delete(':').to_sym
51
- # 値から引用符を削除し、シンボルがあれば文字列に変換
52
- val = v.gsub(/'|"/, '').then { _1.start_with?(':') ? _1[1..] : _1 }
53
-
54
- a[key] = val
55
- end
48
+ def args(scenario_entity)
49
+ scenario_entity.tags.to_h { [_1.name, _1.value_default] }
56
50
  end
57
51
 
58
- def arg_types(meth)
59
- meth.tags.each_with_object({}) do |e, a|
52
+ def arg_types(scenario_entity)
53
+ scenario_entity.tags.each_with_object({}) do |e, a|
60
54
  a[e.name] = {
61
55
  control: { type: control_type(e.tag_args[:input]) },
62
56
  name: e.name.camelcase,
@@ -69,8 +63,8 @@ module LookbookStorybookJsonGenerator
69
63
  case input
70
64
  when 'toggle'
71
65
  'boolean'
72
- when 'number'
73
- 'number'
66
+ when 'number', 'select', 'color', 'range'
67
+ input
74
68
  else
75
69
  'text'
76
70
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module LookbookStorybookJsonGenerator
4
- VERSION = '0.2.0'
4
+ VERSION = '0.3.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lookbook_storybook_json_generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ikad
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-01-16 00:00:00.000000000 Z
11
+ date: 2024-01-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lookbook