marmerdo 0.2.0 → 0.2.1

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: 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