lutaml 0.7.4 → 0.7.6
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/.github/workflows/rake.yml +14 -0
- data/.github/workflows/release.yml +22 -0
- data/.hound.yml +5 -0
- data/.rubocop.yml +10 -0
- data/Gemfile +0 -2
- data/README.adoc +67 -36
- data/exe/lutaml +5 -3
- data/lib/lutaml/command_line.rb +7 -3
- data/lib/lutaml/express/lutaml_path/document_wrapper.rb +7 -2
- data/lib/lutaml/express/lutaml_path/formatter.rb +1 -1
- data/lib/lutaml/formatter/base.rb +1 -1
- data/lib/lutaml/formatter/graphviz.rb +6 -8
- data/lib/lutaml/layout/graph_viz_engine.rb +1 -0
- data/lib/lutaml/lutaml_path/document_wrapper.rb +6 -8
- data/lib/lutaml/parser.rb +4 -3
- data/lib/lutaml/version.rb +1 -1
- data/lutaml.gemspec +7 -6
- metadata +33 -47
- data/.github/workflows/macos.yml +0 -41
- data/.github/workflows/ubuntu.yml +0 -40
- data/.github/workflows/windows.yml +0 -48
- data/.travis.yml +0 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 98c639beedce6095e724dd236e5dc3037d74b58cf1624ff7c6c8d262a32c6e98
|
4
|
+
data.tar.gz: 3e51d0cef9b57a0e7f22922e6de07cdecef034ab03dd8fa9869f8aa35fc36c7e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 023b5fe40356139612aa5426c76cd72971a7763f182bb1d6c4e13e8d718e2a875352b1fbfcd0d03b126fc3313e359c8ade3fb03d681e03db735ec344f7876050
|
7
|
+
data.tar.gz: ff7e1f727d0709a88e3d88b41cd89d544c7f0a38ed145b0791c7aa15b0bca7446da485ec85adb2180a5c1108cd056265c6e5b47826ebbf77061ab01a3eaa326f
|
@@ -0,0 +1,14 @@
|
|
1
|
+
name: rake
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches: [ master, main ]
|
6
|
+
tags: [ v* ]
|
7
|
+
pull_request:
|
8
|
+
workflow_dispatch:
|
9
|
+
|
10
|
+
jobs:
|
11
|
+
rake:
|
12
|
+
uses: metanorma/ci/.github/workflows/graphviz-rake.yml@main
|
13
|
+
secrets:
|
14
|
+
pat_token: ${{ secrets.METANORMA_CI_PAT_TOKEN }}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
name: release
|
2
|
+
|
3
|
+
on:
|
4
|
+
workflow_dispatch:
|
5
|
+
inputs:
|
6
|
+
next_version:
|
7
|
+
description: |
|
8
|
+
Next release version. Possible values: x.y.z, major, minor, patch or pre|rc|etc
|
9
|
+
required: true
|
10
|
+
default: 'skip'
|
11
|
+
push:
|
12
|
+
tags: [ v* ]
|
13
|
+
|
14
|
+
jobs:
|
15
|
+
release:
|
16
|
+
uses: metanorma/ci/.github/workflows/rubygems-release.yml@main
|
17
|
+
with:
|
18
|
+
next_version: ${{ github.event.inputs.next_version }}
|
19
|
+
secrets:
|
20
|
+
rubygems-api-key: ${{ secrets.LUTAML_CI_RUBYGEMS_API_KEY }}
|
21
|
+
pat_token: ${{ secrets.LUTAML_CI_PAT_TOKEN }}
|
22
|
+
|
data/.hound.yml
ADDED
data/.rubocop.yml
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
# Auto-generated by Cimas: Do not edit it manually!
|
2
|
+
# See https://github.com/metanorma/cimas
|
3
|
+
inherit_from:
|
4
|
+
- https://raw.githubusercontent.com/riboseinc/oss-guides/master/ci/rubocop.yml
|
5
|
+
|
6
|
+
# local repo-specific modifications
|
7
|
+
# ...
|
8
|
+
|
9
|
+
AllCops:
|
10
|
+
TargetRubyVersion: 2.5
|
data/Gemfile
CHANGED
data/README.adoc
CHANGED
@@ -1,74 +1,105 @@
|
|
1
|
-
=
|
1
|
+
= LutaML: Ruby library for accessing data models
|
2
2
|
|
3
|
-
==
|
3
|
+
== Purpose
|
4
4
|
|
5
|
-
|
5
|
+
LutaML aims to be a universal data model accessor that allows parsing
|
6
|
+
data models in multiple languages, including:
|
6
7
|
|
7
|
-
|
8
|
+
* EXPRESS (https://www.expresslang.org[EXPRESS Language Foundation], ISO 10303-11)
|
9
|
+
* XMI (from OMG)
|
10
|
+
* UML in LutaML format
|
8
11
|
|
9
|
-
|
12
|
+
|
13
|
+
== Install
|
14
|
+
|
15
|
+
With bundler, in `Gemfile`:
|
10
16
|
|
11
17
|
[source,ruby]
|
12
18
|
----
|
13
|
-
# Gemfile
|
14
19
|
gem "lutaml"
|
15
20
|
----
|
16
21
|
|
17
|
-
|
22
|
+
Directly:
|
18
23
|
|
19
24
|
[source,console]
|
20
25
|
----
|
21
|
-
$
|
26
|
+
$ gem install lutaml
|
22
27
|
----
|
23
28
|
|
24
|
-
|
29
|
+
== Usage
|
25
30
|
|
26
|
-
|
27
|
-
----
|
28
|
-
$ gem install lutaml
|
29
|
-
----
|
31
|
+
=== Parsing
|
30
32
|
|
31
|
-
|
33
|
+
The `Lutaml::Parser.parse` method provides a single point of entry for parsing
|
34
|
+
data model files.
|
32
35
|
|
33
|
-
|
36
|
+
The return object is always a `Lutaml::LutamlPath::DocumentWrapper` object,
|
37
|
+
where `#original_document` returns the native parsed models.
|
34
38
|
|
35
|
-
|
39
|
+
[source,ruby]
|
40
|
+
----
|
41
|
+
# example.exp is an EXPRESS schema file
|
42
|
+
wrapper = Lutaml::Parser.parse([File.new("example.exp")])
|
43
|
+
# => returns a Lutaml::LutamlPath::DocumentWrapper object
|
44
|
+
wrapper.original_document
|
45
|
+
# => returns the original Expressir::Repository object
|
46
|
+
----
|
36
47
|
|
37
48
|
[source,ruby]
|
38
49
|
----
|
39
|
-
# example.exp is an EXPRESS
|
40
|
-
Lutaml::Parser.parse([File.new("example.exp")]
|
41
|
-
#
|
42
|
-
Lutaml::Parser.parse([File.new("example.yaml")], ::Lutaml::Parser::EXPRESS_CACHE_PARSE_TYPE)
|
50
|
+
# example.exp.yaml is an EXPRESS cache file created with Expressir
|
51
|
+
wrapper = Lutaml::Parser.parse([File.new("example.exp.yaml")], ::Lutaml::Parser::EXPRESS_CACHE_PARSE_TYPE)
|
52
|
+
# => returns the DocumentWrapper but with the repository loaded from the Expressir cache file
|
43
53
|
----
|
44
54
|
|
45
|
-
== With cli tool
|
46
55
|
|
47
|
-
|
56
|
+
=== Selecting EXPRESS schemas
|
48
57
|
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
$: lutaml -o . test.lutaml
|
58
|
+
LutaML supports the `ModelElement#to_hash(..., select_proc:)` functionality
|
59
|
+
of Expressir, allowing Expressir to only call `to_hash` on schemas that
|
60
|
+
fit a dynamic criteria.
|
53
61
|
|
54
|
-
|
55
|
-
|
62
|
+
The criteria is set via a Ruby `Proc` object, as follows.
|
63
|
+
|
64
|
+
[source,ruby]
|
65
|
+
----
|
66
|
+
# Sets the filter
|
67
|
+
filtered_schemas = ["action_schema", "date_time_schema"]
|
68
|
+
|
69
|
+
# Sets the Proc
|
70
|
+
wrapper.select_proc = Proc.new do |value|
|
71
|
+
if value.is_a?(Expressir::Model::Declarations::Schema)
|
72
|
+
filtered_schemas.include?(value.id)
|
73
|
+
else
|
74
|
+
true
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
serialized = wrapper.to_liquid
|
79
|
+
# => returns the filtered to_hash method
|
56
80
|
----
|
57
81
|
|
58
|
-
For additional info refer to `lutaml --help output`
|
59
82
|
|
83
|
+
=== CLI
|
60
84
|
|
61
|
-
|
85
|
+
There is a command-line interface available for parsing supported data model files.
|
62
86
|
|
63
|
-
|
87
|
+
* EXPRESS `*.exp`
|
88
|
+
* LutaML UML `*.lutaml`
|
89
|
+
* LutaML YAML datastruct files
|
64
90
|
|
65
|
-
|
91
|
+
[source,bash]
|
92
|
+
----
|
93
|
+
# Will generate `test.dot` file in the current directory
|
94
|
+
$ lutaml -o . test.lutaml
|
66
95
|
|
67
|
-
|
96
|
+
# Will generate `test.png` file in the `assets` directory
|
97
|
+
$ lutaml -o assets -t png test.lutaml
|
98
|
+
----
|
68
99
|
|
69
|
-
|
100
|
+
For additional info refer to `lutaml --help output`.
|
70
101
|
|
71
102
|
|
72
|
-
==
|
103
|
+
== Copyright and license
|
73
104
|
|
74
|
-
|
105
|
+
Copyright Ribose. BSD-3 License.
|
data/exe/lutaml
CHANGED
@@ -12,11 +12,13 @@ $:.unshift File.expand_path("../../lib", bin_file)
|
|
12
12
|
# Fixes https://github.com/rubygems/rubygems/issues/1420
|
13
13
|
require "rubygems/specification"
|
14
14
|
|
15
|
-
|
16
|
-
|
15
|
+
module Gem
|
16
|
+
class Specification
|
17
|
+
def this; self; end
|
18
|
+
end
|
17
19
|
end
|
18
20
|
|
19
21
|
require "lutaml"
|
20
22
|
require "lutaml/command_line"
|
21
23
|
|
22
|
-
Lutaml::CommandLine.run(ARGV.dup,
|
24
|
+
Lutaml::CommandLine.run(ARGV.dup, $stdout)
|
data/lib/lutaml/command_line.rb
CHANGED
@@ -21,7 +21,7 @@ module Lutaml
|
|
21
21
|
new(attributes, out_object).run(args)
|
22
22
|
end
|
23
23
|
|
24
|
-
def initialize(attributes = {}, out_object =
|
24
|
+
def initialize(attributes = {}, out_object = $stdout)
|
25
25
|
@formatter = ::Lutaml::Formatter::Graphviz.new
|
26
26
|
@verbose = false
|
27
27
|
@option_parser = OptionParser.new
|
@@ -70,11 +70,15 @@ module Lutaml
|
|
70
70
|
|
71
71
|
def run(original_args)
|
72
72
|
args = original_args.dup
|
73
|
-
if args.
|
73
|
+
if args.empty? || args.first.strip == "help"
|
74
74
|
print_help
|
75
75
|
exit
|
76
76
|
end
|
77
|
-
|
77
|
+
begin
|
78
|
+
@option_parser.parse!(args)
|
79
|
+
rescue StandardError
|
80
|
+
nil
|
81
|
+
end
|
78
82
|
@paths = args
|
79
83
|
@formatter.type = @type
|
80
84
|
|
@@ -5,11 +5,16 @@ module Lutaml
|
|
5
5
|
module Express
|
6
6
|
module LutamlPath
|
7
7
|
class DocumentWrapper < ::Lutaml::LutamlPath::DocumentWrapper
|
8
|
+
attr_accessor :select_proc
|
9
|
+
|
8
10
|
protected
|
9
11
|
|
10
12
|
def serialize_document(repository)
|
11
|
-
repository
|
12
|
-
|
13
|
+
repository.to_hash(
|
14
|
+
formatter: Formatter,
|
15
|
+
include_empty: true,
|
16
|
+
select_proc: select_proc,
|
17
|
+
)
|
13
18
|
end
|
14
19
|
end
|
15
20
|
end
|
@@ -44,7 +44,7 @@ module Lutaml
|
|
44
44
|
when ::Lutaml::Uml::Node::Method then format_method(node)
|
45
45
|
when ::Lutaml::Uml::Node::Relationship then format_relationship(node)
|
46
46
|
when ::Lutaml::Uml::Node::ClassRelationship
|
47
|
-
|
47
|
+
format_class_relationship(node)
|
48
48
|
when ::Lutaml::Uml::Node::ClassNode then format_class(node)
|
49
49
|
when Lutaml::Uml::Document then format_document(node)
|
50
50
|
end
|
@@ -17,11 +17,11 @@ module Lutaml
|
|
17
17
|
end
|
18
18
|
|
19
19
|
ACCESS_SYMBOLS = {
|
20
|
-
"public"
|
20
|
+
"public" => "+",
|
21
21
|
"protected" => "#",
|
22
|
-
"private"
|
22
|
+
"private" => "-",
|
23
23
|
}.freeze
|
24
|
-
DEFAULT_CLASS_FONT = "Helvetica"
|
24
|
+
DEFAULT_CLASS_FONT = "Helvetica"
|
25
25
|
|
26
26
|
VALID_TYPES = %i[
|
27
27
|
dot
|
@@ -65,9 +65,7 @@ module Lutaml
|
|
65
65
|
@type = :dot
|
66
66
|
end
|
67
67
|
|
68
|
-
attr_reader :graph
|
69
|
-
attr_reader :edge
|
70
|
-
attr_reader :node
|
68
|
+
attr_reader :graph, :edge, :node
|
71
69
|
|
72
70
|
def type=(value)
|
73
71
|
super
|
@@ -147,13 +145,13 @@ module Lutaml
|
|
147
145
|
if node.owner_end_attribute_name
|
148
146
|
attributes["headlabel"] = format_label(
|
149
147
|
node.owner_end_attribute_name,
|
150
|
-
node.owner_end_cardinality
|
148
|
+
node.owner_end_cardinality,
|
151
149
|
)
|
152
150
|
end
|
153
151
|
if node.member_end_attribute_name
|
154
152
|
attributes["taillabel"] = format_label(
|
155
153
|
node.member_end_attribute_name,
|
156
|
-
node.member_end_cardinality
|
154
|
+
node.member_end_cardinality,
|
157
155
|
)
|
158
156
|
end
|
159
157
|
|
@@ -5,11 +5,10 @@ module Lutaml
|
|
5
5
|
|
6
6
|
def initialize(document)
|
7
7
|
@original_document = document
|
8
|
-
@serialized_document = serialize_document(document)
|
9
8
|
end
|
10
9
|
|
11
10
|
def to_liquid
|
12
|
-
serialized_document
|
11
|
+
@serialized_document ||= serialize_document(@original_document)
|
13
12
|
end
|
14
13
|
|
15
14
|
protected
|
@@ -27,7 +26,8 @@ module Lutaml
|
|
27
26
|
end
|
28
27
|
|
29
28
|
def serialize_to_hash(object)
|
30
|
-
return object if [String, Integer, Float, FalseClass, TrueClass,
|
29
|
+
return object if [String, Integer, Float, FalseClass, TrueClass,
|
30
|
+
Symbol, NilClass, Hash].include?(object.class)
|
31
31
|
|
32
32
|
object.instance_variables.each_with_object({}) do |var, res|
|
33
33
|
variable = object.instance_variable_get(var)
|
@@ -35,12 +35,10 @@ module Lutaml
|
|
35
35
|
variable.map do |n|
|
36
36
|
serialize_to_hash(n)
|
37
37
|
end
|
38
|
+
elsif [String, Integer, Float, FalseClass, TrueClass, Symbol, NilClass, Hash].include?(variable.class) || var == :@parent
|
39
|
+
variable
|
38
40
|
else
|
39
|
-
|
40
|
-
variable
|
41
|
-
else
|
42
|
-
serialize_to_hash(variable)
|
43
|
-
end
|
41
|
+
serialize_to_hash(variable)
|
44
42
|
end
|
45
43
|
end
|
46
44
|
end
|
data/lib/lutaml/parser.rb
CHANGED
@@ -24,13 +24,14 @@ module Lutaml
|
|
24
24
|
end
|
25
25
|
|
26
26
|
def initialize(file_list, input_type)
|
27
|
-
@parse_type = input_type
|
27
|
+
@parse_type = input_type || File.extname(file_list.first.path)[1..-1]
|
28
28
|
@file_list = file_list
|
29
29
|
end
|
30
30
|
|
31
31
|
def parse
|
32
32
|
documents = parse_into_document
|
33
|
-
return document_wrapper(documents) if ["exp",
|
33
|
+
return document_wrapper(documents) if ["exp",
|
34
|
+
EXPRESS_CACHE_PARSE_TYPE].include?(parse_type)
|
34
35
|
|
35
36
|
documents.map { |doc| document_wrapper(doc) }
|
36
37
|
end
|
@@ -41,7 +42,7 @@ module Lutaml
|
|
41
42
|
Expressir::Express::Parser.from_files(file_list.map(&:path))
|
42
43
|
when EXPRESS_CACHE_PARSE_TYPE
|
43
44
|
Expressir::Express::Cache.from_file(file_list.first.path)
|
44
|
-
when
|
45
|
+
when "xmi"
|
45
46
|
file_list.map { |file| Lutaml::XMI::Parsers::XML.parse(file) }
|
46
47
|
when "lutaml"
|
47
48
|
file_list.map { |file| Lutaml::Uml::Parsers::Dsl.parse(file) }
|
data/lib/lutaml/version.rb
CHANGED
data/lutaml.gemspec
CHANGED
@@ -27,16 +27,17 @@ Gem::Specification.new do |spec|
|
|
27
27
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
28
28
|
spec.require_paths = ["lib"]
|
29
29
|
|
30
|
+
spec.required_ruby_version = ">= 2.7.0"
|
31
|
+
|
32
|
+
spec.add_runtime_dependency "expressir", "~> 1.3"
|
30
33
|
spec.add_runtime_dependency "lutaml-express"
|
31
34
|
spec.add_runtime_dependency "lutaml-uml"
|
32
35
|
spec.add_runtime_dependency "lutaml-xmi"
|
33
|
-
spec.add_runtime_dependency "thor", "~> 1.0"
|
34
36
|
spec.add_runtime_dependency "nokogiri", "~> 1.10"
|
37
|
+
spec.add_runtime_dependency "thor", "~> 1.0"
|
35
38
|
|
36
|
-
spec.add_development_dependency "bundler", "~> 2.0"
|
37
|
-
spec.add_development_dependency "byebug"
|
38
39
|
spec.add_development_dependency "pry", "~> 0.12.2"
|
39
|
-
spec.add_development_dependency "rake", "~>
|
40
|
-
spec.add_development_dependency "rspec", "~> 3.
|
41
|
-
spec.add_development_dependency "rubocop", "~>
|
40
|
+
spec.add_development_dependency "rake", "~> 13.0"
|
41
|
+
spec.add_development_dependency "rspec", "~> 3.11"
|
42
|
+
spec.add_development_dependency "rubocop", "~> 1.58"
|
42
43
|
end
|
metadata
CHANGED
@@ -1,31 +1,31 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lutaml
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-05-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: expressir
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '1.3'
|
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: '
|
26
|
+
version: '1.3'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name: lutaml-
|
28
|
+
name: lutaml-express
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
@@ -39,7 +39,7 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name: lutaml-
|
42
|
+
name: lutaml-uml
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - ">="
|
@@ -53,19 +53,19 @@ dependencies:
|
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: lutaml-xmi
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '0'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: nokogiri
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -81,33 +81,19 @@ dependencies:
|
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '1.10'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
84
|
+
name: thor
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
90
|
-
type: :
|
89
|
+
version: '1.0'
|
90
|
+
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: byebug
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - ">="
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - ">="
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
96
|
+
version: '1.0'
|
111
97
|
- !ruby/object:Gem::Dependency
|
112
98
|
name: pry
|
113
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -128,42 +114,42 @@ dependencies:
|
|
128
114
|
requirements:
|
129
115
|
- - "~>"
|
130
116
|
- !ruby/object:Gem::Version
|
131
|
-
version: '
|
117
|
+
version: '13.0'
|
132
118
|
type: :development
|
133
119
|
prerelease: false
|
134
120
|
version_requirements: !ruby/object:Gem::Requirement
|
135
121
|
requirements:
|
136
122
|
- - "~>"
|
137
123
|
- !ruby/object:Gem::Version
|
138
|
-
version: '
|
124
|
+
version: '13.0'
|
139
125
|
- !ruby/object:Gem::Dependency
|
140
126
|
name: rspec
|
141
127
|
requirement: !ruby/object:Gem::Requirement
|
142
128
|
requirements:
|
143
129
|
- - "~>"
|
144
130
|
- !ruby/object:Gem::Version
|
145
|
-
version: '3.
|
131
|
+
version: '3.11'
|
146
132
|
type: :development
|
147
133
|
prerelease: false
|
148
134
|
version_requirements: !ruby/object:Gem::Requirement
|
149
135
|
requirements:
|
150
136
|
- - "~>"
|
151
137
|
- !ruby/object:Gem::Version
|
152
|
-
version: '3.
|
138
|
+
version: '3.11'
|
153
139
|
- !ruby/object:Gem::Dependency
|
154
140
|
name: rubocop
|
155
141
|
requirement: !ruby/object:Gem::Requirement
|
156
142
|
requirements:
|
157
143
|
- - "~>"
|
158
144
|
- !ruby/object:Gem::Version
|
159
|
-
version:
|
145
|
+
version: '1.58'
|
160
146
|
type: :development
|
161
147
|
prerelease: false
|
162
148
|
version_requirements: !ruby/object:Gem::Requirement
|
163
149
|
requirements:
|
164
150
|
- - "~>"
|
165
151
|
- !ruby/object:Gem::Version
|
166
|
-
version:
|
152
|
+
version: '1.58'
|
167
153
|
description: 'LutaML: data models in textual form'
|
168
154
|
email:
|
169
155
|
- open.source@ribose.com'
|
@@ -172,12 +158,12 @@ executables:
|
|
172
158
|
extensions: []
|
173
159
|
extra_rdoc_files: []
|
174
160
|
files:
|
175
|
-
- ".github/workflows/
|
176
|
-
- ".github/workflows/
|
177
|
-
- ".github/workflows/windows.yml"
|
161
|
+
- ".github/workflows/rake.yml"
|
162
|
+
- ".github/workflows/release.yml"
|
178
163
|
- ".gitignore"
|
164
|
+
- ".hound.yml"
|
179
165
|
- ".rspec"
|
180
|
-
- ".
|
166
|
+
- ".rubocop.yml"
|
181
167
|
- CODE_OF_CONDUCT.md
|
182
168
|
- Gemfile
|
183
169
|
- README.adoc
|
@@ -206,7 +192,7 @@ metadata:
|
|
206
192
|
homepage_uri: https://github.com/lutaml/lutaml
|
207
193
|
source_code_uri: https://github.com/lutaml/lutaml
|
208
194
|
changelog_uri: https://github.com/lutaml/lutaml/releases
|
209
|
-
post_install_message:
|
195
|
+
post_install_message:
|
210
196
|
rdoc_options: []
|
211
197
|
require_paths:
|
212
198
|
- lib
|
@@ -214,15 +200,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
214
200
|
requirements:
|
215
201
|
- - ">="
|
216
202
|
- !ruby/object:Gem::Version
|
217
|
-
version:
|
203
|
+
version: 2.7.0
|
218
204
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
219
205
|
requirements:
|
220
206
|
- - ">="
|
221
207
|
- !ruby/object:Gem::Version
|
222
208
|
version: '0'
|
223
209
|
requirements: []
|
224
|
-
rubygems_version: 3.
|
225
|
-
signing_key:
|
210
|
+
rubygems_version: 3.3.27
|
211
|
+
signing_key:
|
226
212
|
specification_version: 4
|
227
213
|
summary: 'LutaML: data models in textual form'
|
228
214
|
test_files: []
|
data/.github/workflows/macos.yml
DELETED
@@ -1,41 +0,0 @@
|
|
1
|
-
name: macos
|
2
|
-
|
3
|
-
on:
|
4
|
-
push:
|
5
|
-
branches: [ master ]
|
6
|
-
pull_request:
|
7
|
-
paths-ignore:
|
8
|
-
- .github/workflows/ubuntu.yml
|
9
|
-
- .github/workflows/windows.yml
|
10
|
-
|
11
|
-
jobs:
|
12
|
-
test-macos:
|
13
|
-
name: Test on Ruby ${{ matrix.ruby }} macOS
|
14
|
-
runs-on: macos-latest
|
15
|
-
continue-on-error: ${{ matrix.experimental }}
|
16
|
-
strategy:
|
17
|
-
fail-fast: false
|
18
|
-
matrix:
|
19
|
-
ruby: [ '2.6', '2.5' ]
|
20
|
-
experimental: [false]
|
21
|
-
include:
|
22
|
-
- ruby: '2.7'
|
23
|
-
experimental: true
|
24
|
-
steps:
|
25
|
-
- uses: actions/checkout@master
|
26
|
-
- name: Install build tools
|
27
|
-
run: |
|
28
|
-
brew install automake libtool
|
29
|
-
- name: Use Ruby
|
30
|
-
uses: actions/setup-ruby@v1
|
31
|
-
with:
|
32
|
-
ruby-version: ${{ matrix.ruby }}
|
33
|
-
- name: Install Grpahviz macOS
|
34
|
-
run: brew install graphviz
|
35
|
-
- name: Update gems
|
36
|
-
run: |
|
37
|
-
sudo gem install bundler --force
|
38
|
-
bundle install --jobs 4 --retry 3
|
39
|
-
- name: Run specs
|
40
|
-
run: |
|
41
|
-
bundle exec rake
|
@@ -1,40 +0,0 @@
|
|
1
|
-
name: ubuntu
|
2
|
-
|
3
|
-
on:
|
4
|
-
push:
|
5
|
-
branches: [ master ]
|
6
|
-
tags:
|
7
|
-
- '*'
|
8
|
-
pull_request:
|
9
|
-
paths-ignore:
|
10
|
-
- .github/workflows/macos.yml
|
11
|
-
- .github/workflows/windows.yml
|
12
|
-
|
13
|
-
jobs:
|
14
|
-
test-linux:
|
15
|
-
name: Test on Ruby ${{ matrix.ruby }} Ubuntu
|
16
|
-
runs-on: ubuntu-latest
|
17
|
-
continue-on-error: ${{ matrix.experimental }}
|
18
|
-
strategy:
|
19
|
-
fail-fast: false
|
20
|
-
matrix:
|
21
|
-
ruby: [ '2.6', '2.5' ]
|
22
|
-
experimental: [false]
|
23
|
-
include:
|
24
|
-
- ruby: '2.7'
|
25
|
-
experimental: true
|
26
|
-
steps:
|
27
|
-
- uses: actions/checkout@master
|
28
|
-
- name: Use Ruby
|
29
|
-
uses: actions/setup-ruby@v1
|
30
|
-
with:
|
31
|
-
ruby-version: ${{ matrix.ruby }}
|
32
|
-
- name: Install Grpahviz Ubuntu
|
33
|
-
run: sudo apt-get install graphviz
|
34
|
-
- name: Update gems
|
35
|
-
run: |
|
36
|
-
gem install bundler
|
37
|
-
bundle install --jobs 4 --retry 3
|
38
|
-
- name: Run specs
|
39
|
-
run: |
|
40
|
-
bundle exec rake
|
@@ -1,48 +0,0 @@
|
|
1
|
-
name: windows
|
2
|
-
|
3
|
-
on:
|
4
|
-
push:
|
5
|
-
branches: [ master ]
|
6
|
-
pull_request:
|
7
|
-
paths-ignore:
|
8
|
-
- .github/workflows/macos.yml
|
9
|
-
- .github/workflows/ubuntu.yml
|
10
|
-
|
11
|
-
jobs:
|
12
|
-
test-windows:
|
13
|
-
name: Test on Ruby ${{ matrix.ruby }} Windows
|
14
|
-
runs-on: windows-latest
|
15
|
-
continue-on-error: ${{ matrix.experimental }}
|
16
|
-
strategy:
|
17
|
-
fail-fast: false
|
18
|
-
matrix:
|
19
|
-
ruby: [ '2.6', '2.5' ]
|
20
|
-
experimental: [false]
|
21
|
-
# Does not supported yet:
|
22
|
-
# Ruby (< 2.7.dev, >= 2.3), which is required by gem 'nokogiri (~> 1.10)', is not
|
23
|
-
# available in the local ruby installation
|
24
|
-
# include:
|
25
|
-
# - ruby: '2.7'
|
26
|
-
# experimental: true
|
27
|
-
steps:
|
28
|
-
- uses: actions/checkout@master
|
29
|
-
- name: Use Ruby
|
30
|
-
uses: actions/setup-ruby@v1
|
31
|
-
with:
|
32
|
-
ruby-version: ${{ matrix.ruby }}
|
33
|
-
- name: Install graphviz
|
34
|
-
uses: nick-invision/retry@v1
|
35
|
-
with:
|
36
|
-
polling_interval_seconds: 5
|
37
|
-
timeout_minutes: 5
|
38
|
-
max_attempts: 3
|
39
|
-
command: choco install --no-progress graphviz --version 2.38.0.20190211
|
40
|
-
- name: Update gems
|
41
|
-
shell: pwsh
|
42
|
-
run: |
|
43
|
-
gem install bundler
|
44
|
-
bundle config --local path vendor/bundle
|
45
|
-
bundle install --jobs 4 --retry 3
|
46
|
-
- name: Run specs
|
47
|
-
run: |
|
48
|
-
bundle exec rake
|