lookbook_storybook_json_generator 0.1.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: 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