marmerdo 0.2.0 → 0.2.1

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: 8428d0053c598bd51bf6c6adad87c8039e8609f10abb36b2a1b1851cbf73550b
4
- data.tar.gz: cd7a5dd6f1450b262921c65400047112c830a6f77260505558bdb40598a7a5d5
3
+ metadata.gz: 69476fe32f74a4b4a7081f5bf65ce187026b8e3afa257ad7b0c5b3622153bba4
4
+ data.tar.gz: 7a0c231bdd97fb8a7c68e003d618421b8b5839ddce6cd8672e1f895478f0dd74
5
5
  SHA512:
6
- metadata.gz: bfc719b5f4b91525bb768e0bf055cb81af55a8c79db3ca21c550ff177eeafb26f833bb4ca3c652fb65fa0f98ee5d38da2bb12d2c2f5fc8f7a9c410a239bba4b3
7
- data.tar.gz: 5f287f8fbc54dc4e820af010fe8fd6c3026c0cb558587401425353e3b4f9d0eab56d22b37b93fdb0d371221196b4ae1db2dc975ab590313ea3bd2c679e9b3abf
6
+ metadata.gz: '08cb33a93c568b1e799aed8824a371d5716b521a6e8437727a304f59f1b806a1b6d56a7bef96cee1d6344fe8558b0db6fc86a5dd7fc002ce764ea54e48b5f9e9'
7
+ data.tar.gz: 24c9314b548c06974be900afbc46d0e7ab2a98c9a01b36dd936fddff2a676c87f64da9e80a0a87d1a98a153973b504a9bf98fb74eb1374f1dfc49da7c4550aae
data/CHANGELOG.md CHANGED
@@ -1,4 +1,8 @@
1
- ## [0.2.0] - 2023-12-18
1
+ ## [0.2.1] - 2023-12-20
2
+
3
+ - 複数の関連先をサポート。
4
+
5
+ ## [0.2.0] - 2023-12-20
2
6
 
3
7
  - 警告コメントを追加。
4
8
  - Markdowサポートを追加。
@@ -12,7 +12,7 @@ module Marmerdo
12
12
 
13
13
  relationships = @nodes.flat_map do |node|
14
14
  node.relationships.map do |relationship|
15
- relationship.to_mermaid_line(node.name)
15
+ relationship.to_mermaid_str(node.name)
16
16
  end
17
17
  end
18
18
 
@@ -19,7 +19,7 @@ module Marmerdo
19
19
  # @return [Symbol]
20
20
  attr_reader :type
21
21
 
22
- # @return [Symbol]
22
+ # @return [Array<Symbol>]
23
23
  attr_reader :to
24
24
 
25
25
  def self.valid_type?(type)
@@ -28,30 +28,36 @@ module Marmerdo
28
28
 
29
29
  def initialize(type:, to:)
30
30
  @type = type.to_sym
31
- @to = to.to_sym
31
+ @to = if to.is_a?(Array)
32
+ to.map(&:to_sym)
33
+ else
34
+ [to.to_sym]
35
+ end
32
36
  end
33
37
 
34
- def to_mermaid_line(from)
35
- case type
36
- when :inheritance
37
- "#{to} <|-- #{from}"
38
- when :composition
39
- "#{to} *-- #{from}"
40
- when :aggregation
41
- "#{to} o-- #{from}"
42
- when :association
43
- "#{from} --> #{to}"
44
- when :link_solid
45
- "#{from} -- #{to}"
46
- when :dependency
47
- "#{from} ..> #{to}"
48
- when :realization
49
- "#{from} ..|> #{to}"
50
- when :link_dashed
51
- "#{from} .. #{to}"
52
- else
53
- raise UnknownRelationshipType
54
- end
38
+ def to_mermaid_str(from)
39
+ to.map do |t|
40
+ case type
41
+ when :inheritance
42
+ "#{t} <|-- #{from}"
43
+ when :composition
44
+ "#{t} *-- #{from}"
45
+ when :aggregation
46
+ "#{t} o-- #{from}"
47
+ when :association
48
+ "#{from} --> #{t}"
49
+ when :link_solid
50
+ "#{from} -- #{t}"
51
+ when :dependency
52
+ "#{from} ..> #{t}"
53
+ when :realization
54
+ "#{from} ..|> #{t}"
55
+ when :link_dashed
56
+ "#{from} .. #{t}"
57
+ else
58
+ raise UnknownRelationshipType
59
+ end
60
+ end.join("\n")
55
61
  end
56
62
  end
57
63
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Marmerdo
4
- VERSION = "0.2.0"
4
+ VERSION = "0.2.1"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: marmerdo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - sijiaoh