lookbook_storybook_json_generator 0.1.0 → 0.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: babe0884a77140c8d7cc84ba17cb0f55e0cfafc6d07ce5327477fe2a1972ed00
4
- data.tar.gz: a09c553d2f901371aa2773cb634d40eca08c2504b5d8d9629355858ee06d15b4
3
+ metadata.gz: '0918677905f162afe15aaf2e4d59a63709f0b79f14b9fee2561a37d230bfd1cd'
4
+ data.tar.gz: 858aca738508af72e733332c0ba93211282bf2542b02bead5879aa3114f77537
5
5
  SHA512:
6
- metadata.gz: fc3ed8a22ac5983b81de12fb8dbeb5de9faa98542ee6b8ff9b823981328f72414adbf6ccb5f0cf91f43c4c1578bfe32d50c65973c5d3837782594c9a54ee5bf9
7
- data.tar.gz: 06edb1028589a39b07cda734805a4a94973f7d851f68cedb5b66e5c7365119ca38cd350b29217aaed7db95831736f522991a3146d61f751a60df97838e43ad17
6
+ metadata.gz: 7e41e2a8b9dd88c0e17d39a4bbd40bb4c8203bb37e5dcd5dc4316c1317641e84768889d0eb5ff080c56d4c137ed7cfb56df87105b62d9251ea646e9450584ff0
7
+ data.tar.gz: 3ac9349b5754888777ca3aecd231f237c24633bacc64d4259d1e6773938b6e02f5c108414fc07b360e162ab5b107c95d9b7a2a4cf7cc51086466ea9810bba34d
@@ -20,39 +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
- code_object.namespace.title.gsub(code_object.namespace.sep, '/')
28
+ preview_entity.lookup_path.titleize
25
29
  end
26
30
 
27
31
  def stories
28
- code_object.meths.map { story(_1) }
32
+ preview_entity.scenarios.map { story(_1) }
29
33
  end
30
34
 
31
- def story(meth)
35
+ def story(scenario_entity)
32
36
  {
33
- name: meth.name,
34
- parameters: parameters(meth),
35
- args: args(meth),
36
- 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)
37
41
  }
38
42
  end
39
43
 
40
- def parameters(meth)
41
- { server: { id: "#{title.underscore}/#{meth.name}" } }
44
+ def parameters(scenario_entity)
45
+ { server: { id: scenario_entity.lookup_path } }
42
46
  end
43
47
 
44
- def args(meth)
45
- meth.parameters.each_with_object({}) do |(k, v), a|
46
- key = k.delete(':').to_sym
47
- # 値から引用符を削除し、シンボルがあれば文字列に変換
48
- val = v.gsub(/'|"/, '').then { _1.start_with?(':') ? _1[1..] : _1 }
49
-
50
- a[key] = val
51
- end
48
+ def args(scenario_entity)
49
+ scenario_entity.tags.to_h { [_1.name, _1.value_default] }
52
50
  end
53
51
 
54
- def arg_types(meth)
55
- meth.tags.each_with_object({}) do |e, a|
52
+ def arg_types(scenario_entity)
53
+ scenario_entity.tags.each_with_object({}) do |e, a|
56
54
  a[e.name] = {
57
55
  control: { type: control_type(e.tag_args[:input]) },
58
56
  name: e.name.camelcase,
@@ -65,8 +63,8 @@ module LookbookStorybookJsonGenerator
65
63
  case input
66
64
  when 'toggle'
67
65
  'boolean'
68
- when 'number'
69
- 'number'
66
+ when 'number', 'select', 'color', 'range'
67
+ input
70
68
  else
71
69
  'text'
72
70
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module LookbookStorybookJsonGenerator
4
- VERSION = '0.1.0'
4
+ VERSION = '0.3.0'
5
5
  end
@@ -21,13 +21,13 @@ Gem::Specification.new do |spec|
21
21
  spec.files = Dir.chdir(__dir__) do
22
22
  `git ls-files -z`.split("\x0").reject do |f|
23
23
  (File.expand_path(f) == __FILE__) ||
24
- f.start_with?(*%w[bin/ test/ spec/ features/ .git .circleci appveyor Gemfile])
24
+ f.start_with?(*%w[bin/ test/ spec/ features/ .git .circleci appveyor Gemfile dummy_app/])
25
25
  end
26
26
  end
27
27
  spec.bindir = 'exe'
28
28
  spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
29
29
  spec.require_paths = ['lib']
30
30
 
31
- spec.add_dependency 'lookbook', '~> 2.1.1'
31
+ spec.add_dependency 'lookbook'
32
32
  spec.metadata['rubygems_mfa_required'] = 'true'
33
33
  end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lookbook_storybook_json_generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.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-14 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
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 2.1.1
19
+ version: '0'
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.1.1
26
+ version: '0'
27
27
  description: Generates JSON for Storybook from Lookbook.
28
28
  email:
29
29
  - tokunaga.c.daigo@forgxisto.com