diagram 0.3.3 → 0.3.4
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 +4 -4
- data/lib/diagrams/class_diagram.rb +2 -2
- data/lib/diagrams/elements/class_entity.rb +9 -2
- data/lib/diagrams/elements/edge.rb +1 -2
- data/lib/diagrams/elements/event.rb +1 -1
- data/lib/diagrams/elements/git_commit.rb +0 -1
- data/lib/diagrams/elements/node.rb +0 -3
- data/lib/diagrams/elements/relationship.rb +1 -1
- data/lib/diagrams/elements/slice.rb +8 -0
- data/lib/diagrams/elements/state.rb +1 -1
- data/lib/diagrams/elements/transition.rb +1 -1
- data/lib/diagrams/er_diagram.rb +2 -2
- data/lib/diagrams/flowchart_diagram.rb +2 -2
- data/lib/diagrams/gantt_diagram.rb +1 -1
- data/lib/diagrams/pie_diagram.rb +1 -1
- data/lib/diagrams/state_diagram.rb +3 -3
- data/lib/diagrams/timeline_diagram.rb +1 -1
- data/lib/diagrams/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 22a26c92b613b6357a345213015ddb7d2a26273b8e7e6c1f8611adddee2016a8
|
4
|
+
data.tar.gz: ca84223561bac7932932a62223ec5215e548d7d7fe0b6a0152603941936fc6b8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e19963f33267bb05a8e6b699101b61115927e37c8301dab49ae4f3d1e51f6b2146c6f5ff3ba3d318293c11009b0b528c535e7809dff11cc61757f72fd0aaec1b
|
7
|
+
data.tar.gz: 0a2190bbe2dad110325ac13271eb2dfccf32b7009bdc10ece7117677e4f8fd819e2d4b4ae063c5175c400816d0f743aed5f4b448c685f78cd17c0347d1f64d39
|
@@ -12,8 +12,8 @@ module Diagrams
|
|
12
12
|
# @param version [String, Integer, nil] User-defined version identifier.
|
13
13
|
def initialize(classes: [], relationships: [], version: 1)
|
14
14
|
super(version:)
|
15
|
-
@classes = classes
|
16
|
-
@relationships = relationships
|
15
|
+
@classes = Array(classes)
|
16
|
+
@relationships = Array(relationships)
|
17
17
|
validate_elements!
|
18
18
|
update_checksum!
|
19
19
|
end
|
@@ -10,15 +10,22 @@ module Diagrams
|
|
10
10
|
# Name of the class
|
11
11
|
attribute :name, Types::Strict::String.constrained(min_size: 1)
|
12
12
|
|
13
|
-
# List of attributes (e.g., "id: Integer", "name: String")
|
13
|
+
# List of attributes (e.g., "id: Integer", "name: String") # Maybe this need renaming to "fields"?
|
14
14
|
attribute :attributes, Types::Strict::Array.of(Types::Strict::String).default([].freeze)
|
15
15
|
|
16
|
-
# List of methods (e.g., "save()", "find(id: Integer)")
|
16
|
+
# List of methods (e.g., "save()", "find(id: Integer)") # Maybe this need renaming to "functions"?
|
17
17
|
attribute :methods, Types::Strict::Array.of(Types::Strict::String).default([].freeze)
|
18
18
|
|
19
19
|
# Returns a hash representation suitable for serialization.
|
20
20
|
#
|
21
21
|
# @return [Hash{Symbol => String | Array<String>}]
|
22
|
+
def to_h
|
23
|
+
{
|
24
|
+
name:,
|
25
|
+
attributes: self[:attributes],
|
26
|
+
methods: self[:methods]
|
27
|
+
}
|
28
|
+
end
|
22
29
|
end
|
23
30
|
end
|
24
31
|
end
|
@@ -19,8 +19,7 @@ module Diagrams
|
|
19
19
|
#
|
20
20
|
# @return [Hash{Symbol => String | nil}]
|
21
21
|
def to_h
|
22
|
-
#
|
23
|
-
# Filter out nil label if desired.
|
22
|
+
# Start with Dry::Struct's hash and drop nil attributes.
|
24
23
|
super.compact
|
25
24
|
end
|
26
25
|
end
|
@@ -15,7 +15,6 @@ module Diagrams
|
|
15
15
|
attribute :cherry_pick_source_id, Types::Strict::String.optional.default(nil)
|
16
16
|
|
17
17
|
# Returns a hash representation suitable for serialization.
|
18
|
-
# Dry::Struct provides to_h, but explicit definition ensures desired keys/structure.
|
19
18
|
# Optional attributes are included only if they have non-nil values.
|
20
19
|
#
|
21
20
|
# @return [Hash{Symbol => String | Array<String> | Symbol}]
|
@@ -18,6 +18,14 @@ module Diagrams
|
|
18
18
|
# Returns a hash representation suitable for serialization.
|
19
19
|
#
|
20
20
|
# @return [Hash{Symbol => String | Float | nil}]
|
21
|
+
def to_h
|
22
|
+
hash = {
|
23
|
+
label:,
|
24
|
+
value:
|
25
|
+
}
|
26
|
+
hash[:percentage] = percentage if percentage
|
27
|
+
hash
|
28
|
+
end
|
21
29
|
end
|
22
30
|
end
|
23
31
|
end
|
data/lib/diagrams/er_diagram.rb
CHANGED
@@ -12,8 +12,8 @@ module Diagrams
|
|
12
12
|
# @param version [String, Integer, nil] User-defined version identifier.
|
13
13
|
def initialize(entities: [], relationships: [], version: 1)
|
14
14
|
super(version:)
|
15
|
-
@entities = (entities
|
16
|
-
@relationships = relationships
|
15
|
+
@entities = Array(entities).each_with_object({}) { |e, h| h[e.name] = e }
|
16
|
+
@relationships = Array(relationships)
|
17
17
|
validate_relationships!
|
18
18
|
update_checksum!
|
19
19
|
end
|
@@ -12,8 +12,8 @@ module Diagrams
|
|
12
12
|
# @param version [String, Integer, nil] User-defined version identifier.
|
13
13
|
def initialize(nodes: [], edges: [], version: 1)
|
14
14
|
super(version:)
|
15
|
-
@nodes = nodes
|
16
|
-
@edges = edges
|
15
|
+
@nodes = Array(nodes)
|
16
|
+
@edges = Array(edges)
|
17
17
|
validate_elements!
|
18
18
|
update_checksum!
|
19
19
|
end
|
@@ -15,7 +15,7 @@ module Diagrams
|
|
15
15
|
def initialize(title: '', sections: [], version: 1)
|
16
16
|
super(version:)
|
17
17
|
@title = title.is_a?(String) ? title : ''
|
18
|
-
@sections = sections
|
18
|
+
@sections = Array(sections)
|
19
19
|
ensure_default_section if @sections.empty?
|
20
20
|
validate_elements!
|
21
21
|
update_checksum!
|
data/lib/diagrams/pie_diagram.rb
CHANGED
@@ -15,7 +15,7 @@ module Diagrams
|
|
15
15
|
@title = title.is_a?(String) ? title : ''
|
16
16
|
@slices = [] # Initialize empty
|
17
17
|
# Add initial slices using the corrected add_slice method
|
18
|
-
(slices
|
18
|
+
Array(slices).each { |s| add_slice(s, update_checksum: false, initial_load: true) }
|
19
19
|
recalculate_percentages! # Calculate initial percentages
|
20
20
|
update_checksum! # Calculate final checksum after initial load
|
21
21
|
end
|
@@ -15,9 +15,9 @@ module Diagrams
|
|
15
15
|
def initialize(title: '', states: [], transitions: [], events: [], version: 1)
|
16
16
|
super(version:)
|
17
17
|
@title = title.is_a?(String) ? title : ''
|
18
|
-
@states = states
|
19
|
-
@transitions = transitions
|
20
|
-
@events = events
|
18
|
+
@states = Array(states)
|
19
|
+
@transitions = Array(transitions)
|
20
|
+
@events = Array(events) # Keep events for now
|
21
21
|
validate_elements!
|
22
22
|
update_checksum!
|
23
23
|
end
|
@@ -15,7 +15,7 @@ module Diagrams
|
|
15
15
|
def initialize(title: nil, sections: [], version: 1)
|
16
16
|
super(version:)
|
17
17
|
@title = title&.strip
|
18
|
-
@sections = sections
|
18
|
+
@sections = Array(sections)
|
19
19
|
# Ensure there's always at least a default section if none provided initially
|
20
20
|
ensure_default_section if @sections.empty?
|
21
21
|
update_checksum!
|
data/lib/diagrams/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: diagram
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Abdelkader Boudih
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date:
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: dry-equalizer
|
@@ -293,7 +293,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
293
293
|
- !ruby/object:Gem::Version
|
294
294
|
version: '0'
|
295
295
|
requirements: []
|
296
|
-
rubygems_version: 3.6.
|
296
|
+
rubygems_version: 3.6.7
|
297
297
|
specification_version: 4
|
298
298
|
summary: Work with diagrams in Ruby
|
299
299
|
test_files: []
|