marmerdo 0.2.0 → 0.2.2

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: 75e6024f088234f63afcedd06d33ca186beb1b13f0736b39f015027341930b7a
4
+ data.tar.gz: 6366471bac61e54a3203fa00f9076902e1312314668052f2382e3c13ceef19a3
5
5
  SHA512:
6
- metadata.gz: bfc719b5f4b91525bb768e0bf055cb81af55a8c79db3ca21c550ff177eeafb26f833bb4ca3c652fb65fa0f98ee5d38da2bb12d2c2f5fc8f7a9c410a239bba4b3
7
- data.tar.gz: 5f287f8fbc54dc4e820af010fe8fd6c3026c0cb558587401425353e3b4f9d0eab56d22b37b93fdb0d371221196b4ae1db2dc975ab590313ea3bd2c679e9b3abf
6
+ metadata.gz: d8c2114f14742c25fde0c4b8c455a843fbd28af00cad65a1a45a09d57f74575d116366daa2a05367a32f720edd31f153eacf403b718de74c35fef9df780784bc
7
+ data.tar.gz: 8c042444b75adff10d17cc72d4c882ccb70cf1274a7ba0bbba1aa263b27a1fe4dde4863a1d325a72308f5b2be0015bf1ca9a22b6fc6549a8db735b67754e5b2a
data/CHANGELOG.md CHANGED
@@ -1,4 +1,12 @@
1
- ## [0.2.0] - 2023-12-18
1
+ ## [0.2.2] - 2023-12-20
2
+
3
+ - 相対リンクが`./`から始まらないことがある問題を修正。
4
+
5
+ ## [0.2.1] - 2023-12-20
6
+
7
+ - 複数の関連先をサポート。
8
+
9
+ ## [0.2.0] - 2023-12-20
2
10
 
3
11
  - 警告コメントを追加。
4
12
  - 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
 
data/lib/marmerdo/node.rb CHANGED
@@ -21,6 +21,7 @@ module Marmerdo
21
21
  def generate_mermaid_link(output_path)
22
22
  output_dir = Pathname.new(output_path).dirname
23
23
  relative_path = Pathname.new(path).relative_path_from(output_dir).to_s
24
+ relative_path = "./#{relative_path}" unless relative_path.start_with?("../")
24
25
  "link #{name} \"#{relative_path}\""
25
26
  end
26
27
  end
@@ -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.2"
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.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - sijiaoh