finitio 0.11.4 → 0.12.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
- SHA1:
3
- metadata.gz: 29fd883abee1e98b436a1c8aa80ee32ffc9740dc
4
- data.tar.gz: 9aa135c687855dbdfb6a52e245d21c3488ef0128
2
+ SHA256:
3
+ metadata.gz: 98a5d335829b36e4723c0cd55955fdd9a17125fe86d74e671b87fb3c965ce78e
4
+ data.tar.gz: 3c32527c4dddb343f218420943f748b7126f26b3676c7860371feb9d32136efe
5
5
  SHA512:
6
- metadata.gz: 0af6653c37bc1fdb2e5aeef7f0d43e70f92d967658219b638c58a8039b975460f64ab80339d7d727aed716175cc722614973e387c5720315868bd6b8a6d1fc7c
7
- data.tar.gz: ef96c4bd3a7f4910b83acab224940afe7a1885be98eeddf5ce8542c0037d0c702da98e372f55a42638cb7cef3cfbf9394dd8c0d162daace35c6731e86083c061
6
+ metadata.gz: dd1a8adf0cc87610d51397fee2a6c735f1e42ee58d1cb107da7372b1b1eaa158bc6499bfa01a0870c9721431adc59b28c1efc969258e4c3c89ba6bf6b3957474
7
+ data.tar.gz: 8cd34bae14c768d99408191b7484cd6620f99e87b1f7e03e4b1df75914da76c9df50f854e564056aaf5c8ed41d556a2634215f43d102da7006cc0b4d0edc265a
data/CHANGELOG.md CHANGED
@@ -1,4 +1,17 @@
1
- # 0.11.4 - 2023/01/06
1
+ ## 0.12.1 - 2025/03/20
2
+
3
+ * Allow Hash as bulttin type recognized by JsonSchema generation.
4
+ * Remove Ruby 2.6 from supported versions. Requirement is Ruby 2.7.
5
+
6
+ ## 0.12.0 - 2023/05/23
7
+
8
+ * Remove support for ruby < 2.6
9
+
10
+ * Remove support for .Fixnum and .Bignum, .Integer is now used
11
+ everywhere. To ease the transition, Fixum and Bignum still exist
12
+ in the finitio/data stdlib schema, but will be removed in 0.13.x
13
+
14
+ ## 0.11.4 - 2023/01/06
2
15
 
3
16
  * The proxy resolution is fixed and clarified. When compiling
4
17
  a system, all proxies are actually replaced by their actual
@@ -13,27 +26,27 @@
13
26
  * Generated names of instantiated high order types are better
14
27
  (e.g. Collection<String>).
15
28
 
16
- # 0.11.3 - 2023/01/06
29
+ ## 0.11.3 - 2023/01/06
17
30
 
18
31
  * Fix json_schema generation on unresolved ProxyTypes. We use
19
32
  "object" by default, waiting for a better support for recursive
20
33
  types.
21
34
 
22
- # 0.11.2 - 2023/01/06
35
+ ## 0.11.2 - 2023/01/06
23
36
 
24
37
  * Fix json_schema generation on builtin_type NilClass. "null"
25
38
  is not a valid value, we now use "string" instead.
26
39
 
27
- # 0.11.1 - 2021/12/09
40
+ ## 0.11.1 - 2021/12/09
28
41
 
29
42
  * Fix github actions and extend test grid.
30
43
 
31
- # 0.11.0 - 2021/12/09
44
+ ## 0.11.0 - 2021/12/09
32
45
 
33
46
  * Fix json schema generation of Boolean and union types with a |Nil
34
47
  * Add support for dashses in attribute names (tuple & relation types).
35
48
 
36
- # 0.10.0 - 2021/01/11
49
+ ## 0.10.0 - 2021/01/11
37
50
 
38
51
  * Upgrade all dependencies.
39
52
 
@@ -41,18 +54,18 @@
41
54
 
42
55
  * Fix code and build under Ruby 3.0.
43
56
 
44
- # 0.9.1 - 2020/12/24
57
+ ## 0.9.1 - 2020/12/24
45
58
 
46
59
  * Fixes a bug where proxy types are not properly resolved when used
47
60
  in a heading extra, e.g. `{ ...: Proxy }`
48
61
 
49
- # 0.9.0 - 2020/12/16
62
+ ## 0.9.0 - 2020/12/16
50
63
 
51
64
  * Add Type#to_json_schema that converts Finitio types to JSON schema
52
65
  representations. This first implementation skips all constraints on sub types,
53
66
  though. You need to explicitly require 'finitio/json_schema' to use it.
54
67
 
55
- # 0.8.0 - 2019/10/21
68
+ ## 0.8.0 - 2019/10/21
56
69
 
57
70
  * Add `Type#unconstrained` that returns a super type with all user specific
58
71
  constraints removed on sub types, recursively on all non scalar types.
@@ -62,7 +75,7 @@
62
75
  * Add support for random data generation through `Finitio::Generation`.
63
76
  Please `require 'finitio/generation'` to use it.
64
77
 
65
- # 0.7.0 / 2019-02-28
78
+ ## 0.7.0 / 2019-02-28
66
79
 
67
80
  * Implement (basic) @import feature, working with relative paths
68
81
  and a standard library. The standard library systems are memoized
@@ -75,28 +88,28 @@
75
88
  * WARN: Finitio::DEFAULT_SYSTEM is deprecated. Use @import
76
89
  finitio/data instead.
77
90
 
78
- # 0.6.1 / 2018-03-23
91
+ ## 0.6.1 / 2018-03-23
79
92
 
80
93
  * Fix support for typed extra attributes, a KeyError was raised when
81
94
  keys were Symbols and not Strings.
82
95
 
83
- # 0.6.0 / 2018-02-17
96
+ ## 0.6.0 / 2018-02-17
84
97
 
85
98
  * Add support for typed extra attributes, e.g. { ...: Integer }
86
99
 
87
- # 0.5.2 / 2017-01-08
100
+ ## 0.5.2 / 2017-01-08
88
101
 
89
102
  * Disable memoization in parser because it leads to terrible performance
90
103
  issues on some schemas.
91
104
  * Avoid alternatives on high-level rules (Union, SubType) to prevent many
92
105
  fallbacks that kill performance without memoization enabled.
93
106
 
94
- # 0.5.1 / 2015-09-22
107
+ ## 0.5.1 / 2015-09-22
95
108
 
96
109
  * Enabled memoization in parser to avoid very long parsing time on complex
97
110
  schemas.
98
111
 
99
- # 0.5.0 / 2015-09-18
112
+ ## 0.5.0 / 2015-09-18
100
113
 
101
114
  * Breaking changes on public API
102
115
 
@@ -162,29 +175,29 @@
162
175
  * Make Finitio compatible with both Citrus 2.4.x and Citrus 3.x
163
176
  * Fixed parsing of constraint expressions having inner parentheses
164
177
 
165
- # 0.4.1 / 2014-03-20
178
+ ## 0.4.1 / 2014-03-20
166
179
 
167
180
  * Fixed access to the default system that lead to 'Unknown system
168
181
  Finitio/default (Finitio::Error)'
169
182
 
170
- # 0.4.0 / 2014-03-20
183
+ ## 0.4.0 / 2014-03-20
171
184
 
172
185
  * Finitio(-rb) is born from the sources of Q(rb) 0.3.0
173
186
  * Finitio.parse now recognizes Path-like objects (responding to :to_path),
174
187
  allowing to parse files directly (through Pathname, Path, etc.).
175
188
 
176
- # 0.3.0 / 2014-03-09
189
+ ## 0.3.0 / 2014-03-09
177
190
 
178
191
  * Added AnyType abstraction, aka '.'
179
192
  * Added support for external contracts in ADTs
180
193
  * Added support for extracting an Abstract Syntax Tree from parsing result
181
194
  * Allows camelCasing in constraint names
182
195
 
183
- # 0.2.0 / 2014-03-04
196
+ ## 0.2.0 / 2014-03-04
184
197
 
185
198
  * Fix dependencies in gemspec (judofyr)
186
199
 
187
- # 0.1.0 / 2014-03-03
200
+ ## 0.1.0 / 2014-03-03
188
201
 
189
202
  * Enhancements
190
203
 
data/Gemfile.lock CHANGED
@@ -1,21 +1,22 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- finitio (0.11.4)
4
+ finitio (0.12.1)
5
5
  citrus (>= 3.0, < 4.0)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- activesupport (5.2.8.1)
10
+ activesupport (7.0.8.7)
11
11
  concurrent-ruby (~> 1.0, >= 1.0.2)
12
- i18n (>= 0.7, < 2)
13
- minitest (~> 5.1)
14
- tzinfo (~> 1.1)
12
+ i18n (>= 1.6, < 2)
13
+ minitest (>= 5.1)
14
+ tzinfo (~> 2.0)
15
15
  awesome_print (1.9.2)
16
- builder (3.2.4)
16
+ bigdecimal (3.1.9)
17
+ builder (3.3.0)
17
18
  citrus (3.0.2)
18
- concurrent-ruby (1.1.10)
19
+ concurrent-ruby (1.3.5)
19
20
  coveralls (0.8.23)
20
21
  json (>= 1.8, < 3)
21
22
  simplecov (~> 0.16.1)
@@ -54,64 +55,66 @@ GEM
54
55
  cucumber-cucumber-expressions (~> 10.1, >= 10.1.0)
55
56
  cucumber-messages (~> 12.2, >= 12.2.0)
56
57
  diff-lcs (1.3)
57
- docile (1.3.5)
58
- ffi (1.15.5)
59
- i18n (1.12.0)
58
+ docile (1.4.1)
59
+ ffi (1.17.1-x86_64-linux-gnu)
60
+ i18n (1.14.7)
60
61
  concurrent-ruby (~> 1.0)
61
- json (2.6.3)
62
+ json (2.10.2)
62
63
  middleware (0.1.0)
63
- minitest (5.15.0)
64
+ minitest (5.25.5)
64
65
  multi_json (1.15.0)
65
66
  multi_test (0.1.2)
66
- path (2.0.1)
67
+ path (2.1.0)
67
68
  protobuf-cucumber (3.10.8)
68
69
  activesupport (>= 3.2)
69
70
  middleware
70
71
  thor
71
72
  thread_safe
72
- rake (13.0.6)
73
- rspec (3.12.0)
74
- rspec-core (~> 3.12.0)
75
- rspec-expectations (~> 3.12.0)
76
- rspec-mocks (~> 3.12.0)
77
- rspec-core (3.12.0)
78
- rspec-support (~> 3.12.0)
79
- rspec-expectations (3.12.1)
73
+ rake (13.2.1)
74
+ rspec (3.13.0)
75
+ rspec-core (~> 3.13.0)
76
+ rspec-expectations (~> 3.13.0)
77
+ rspec-mocks (~> 3.13.0)
78
+ rspec-core (3.13.3)
79
+ rspec-support (~> 3.13.0)
80
+ rspec-expectations (3.13.3)
80
81
  diff-lcs (>= 1.2.0, < 2.0)
81
- rspec-support (~> 3.12.0)
82
- rspec-mocks (3.12.1)
82
+ rspec-support (~> 3.13.0)
83
+ rspec-mocks (3.13.2)
83
84
  diff-lcs (>= 1.2.0, < 2.0)
84
- rspec-support (~> 3.12.0)
85
- rspec-support (3.12.0)
85
+ rspec-support (~> 3.13.0)
86
+ rspec-support (3.13.2)
86
87
  simplecov (0.16.1)
87
88
  docile (~> 1.1)
88
89
  json (>= 1.8, < 3)
89
90
  simplecov-html (~> 0.10.0)
90
91
  simplecov-html (0.10.2)
91
92
  sync (0.5.0)
92
- sys-uname (1.2.2)
93
+ sys-uname (1.3.1)
93
94
  ffi (~> 1.1)
94
- term-ansicolor (1.7.1)
95
+ term-ansicolor (1.11.2)
95
96
  tins (~> 1.0)
96
- thor (1.2.1)
97
+ thor (1.3.2)
97
98
  thread_safe (0.3.6)
98
- tins (1.32.1)
99
+ tins (1.38.0)
100
+ bigdecimal
99
101
  sync
100
- tzinfo (1.2.10)
101
- thread_safe (~> 0.1)
102
+ tzinfo (2.0.6)
103
+ concurrent-ruby (~> 1.0)
102
104
 
103
105
  PLATFORMS
104
106
  x86_64-linux
105
107
 
106
108
  DEPENDENCIES
109
+ activesupport (~> 7.0.8)
107
110
  awesome_print (~> 1.8)
108
111
  coveralls (~> 0.8)
109
112
  cucumber (~> 4.1)
110
113
  finitio!
111
114
  multi_json (~> 1.15)
112
- path (>= 2.0, < 3.0)
115
+ path (>= 2.1, < 3.0)
113
116
  rake (~> 13.0)
114
117
  rspec (~> 3.0)
115
118
 
116
119
  BUNDLED WITH
117
- 2.3.26
120
+ 2.4.19
data/finitio.gemspec CHANGED
@@ -19,13 +19,14 @@ Gem::Specification.new do |s|
19
19
  s.test_files = Dir["test/**/*"] + Dir["spec/**/*"]
20
20
  s.bindir = "bin"
21
21
  s.executables = (Dir["bin/*"]).collect{|f| File.basename(f)}
22
-
22
+
23
23
  s.add_dependency("citrus", ">= 3.0", "< 4.0")
24
-
24
+
25
25
  s.add_development_dependency("rake", "~> 13.0")
26
26
  s.add_development_dependency("rspec", "~> 3.0")
27
27
  s.add_development_dependency("cucumber", "~> 4.1")
28
- s.add_development_dependency("path", ">= 2.0", "< 3.0")
28
+ s.add_development_dependency('activesupport', '~> 7.0.8')
29
+ s.add_development_dependency("path", ">= 2.1", "< 3.0")
29
30
  s.add_development_dependency("awesome_print", "~> 1.8")
30
31
  s.add_development_dependency("coveralls", "~> 0.8")
31
32
  s.add_development_dependency("multi_json", "~> 1.15")
@@ -5,12 +5,11 @@ module Finitio
5
5
  NilClass => "string", # jsonapi does not support null
6
6
  String => "string",
7
7
  Integer => "integer",
8
- Fixnum => "integer",
9
- Bignum => "integer",
10
8
  Float => "number",
11
9
  Numeric => "number",
12
10
  TrueClass => "boolean",
13
11
  FalseClass => "boolean",
12
+ Hash => "object",
14
13
  Object => "object"
15
14
  }
16
15
 
@@ -11,8 +11,8 @@ Boolean = .TrueClass|.FalseClass
11
11
 
12
12
  # Numbers
13
13
  Numeric = .Numeric
14
- Fixnum = .Fixnum
15
- Bignum = .Bignum
14
+ Fixnum = .Integer
15
+ Bignum = .Integer
16
16
  Integer = .Integer
17
17
  Float = .Float
18
18
  Real = .Float
@@ -30,7 +30,7 @@ module Finitio
30
30
  # rgb_infotype = TupleType.new(...)
31
31
  #
32
32
  # # The RGB contract converter, an object that responds to `call` to
33
- # # convert from a valid Hash[r: Fixnum, ...] to a ColorImpl instance.
33
+ # # convert from a valid Hash[r: Integer, ...] to a ColorImpl instance.
34
34
  # rgb_contract = ...
35
35
  #
36
36
  # AdType.new(ColorImpl, rgb: [rgb_infotype, rgb_contract], hex: ...)
@@ -3,21 +3,21 @@ module Finitio
3
3
  # A BuiltinType generator allows capuring an information type to a type of
4
4
  # the host language, here a Ruby class. For instance,
5
5
  #
6
- # Int := BuiltinType(ruby.Fixnum)
6
+ # Int := BuiltinType(ruby.Integer)
7
7
  #
8
8
  # The set of values captured by the information type is the same set of
9
9
  # values that can be represented by the host type. In the example, `Int`
10
- # captures the same set of numbers as ruby's Fixnum.
10
+ # captures the same set of numbers as ruby's Integer.
11
11
  #
12
12
  # The ruby class is used as concrete representation of the information type.
13
13
  # In the example:
14
14
  #
15
- # R(Int) = Fixnum
15
+ # R(Int) = Integer
16
16
  #
17
17
  # Accordingly, the `dress` transformation function has the following signature:
18
18
  #
19
19
  # dress :: Alpha -> Int throws TypeError
20
- # dress :: Object -> Fixnum throws TypeError
20
+ # dress :: Object -> Integer throws TypeError
21
21
  #
22
22
  class BuiltinType < Type
23
23
 
@@ -8,7 +8,7 @@ module Finitio
8
8
  #
9
9
  # This class allows capturing those information types, as in:
10
10
  #
11
- # Length = BuiltinType.new(Fixnum)
11
+ # Length = BuiltinType.new(Integer)
12
12
  # Angle = BuiltinType.new(Float)
13
13
  # Point = StructType.new([Length, Angle])
14
14
  #
@@ -16,7 +16,7 @@ module Finitio
16
16
  # values map to the concrete representations of each component type:
17
17
  #
18
18
  # R(Point) = Array[R(Length) ^ R(Angle)]
19
- # = Array[Fixnum ^ Float]
19
+ # = Array[Integer ^ Float]
20
20
  # = Array[Numeric]
21
21
  #
22
22
  # where `^` denotes the `least common super type` operator on ruby classes.
@@ -18,12 +18,12 @@ module Finitio
18
18
  # The concrete representation of the super type is kept as representation
19
19
  # of the sub type. In other words:
20
20
  #
21
- # R(Byte) = R(Int) = Fixnum
21
+ # R(Byte) = R(Int) = Integer
22
22
  #
23
23
  # Accordingly, the `dress` transformation function has the following signature:
24
24
  #
25
25
  # dress :: Alpha -> Byte throws TypeError
26
- # dress :: Object -> Fixnum throws TypeError
26
+ # dress :: Object -> Integer throws TypeError
27
27
  #
28
28
  class SubType < Type
29
29
 
@@ -7,7 +7,7 @@ module Finitio
7
7
  #
8
8
  # This class allows capturing those information types, as in:
9
9
  #
10
- # Length = BuiltinType.new(Fixnum)
10
+ # Length = BuiltinType.new(Integer)
11
11
  # Angle = BuiltinType.new(Float)
12
12
  # Point = TupleType.new(Heading.new([
13
13
  # Attribute.new(:r, Length),
@@ -19,7 +19,7 @@ module Finitio
19
19
  # type:
20
20
  #
21
21
  # R(Point) = Hash[r: R(Length), theta: R(Angle)]
22
- # = Hash[r: Fixnum, theta: Float]
22
+ # = Hash[r: Integer, theta: Float]
23
23
  #
24
24
  # Accordingly, the `dress` transformation function has the signature below.
25
25
  # It expects it's Alpha/Object argument to be a Hash with all and only the
@@ -27,7 +27,7 @@ module Finitio
27
27
  # applies on every attribute value according to their respective type.
28
28
  #
29
29
  # dress :: Alpha -> Point throws TypeError
30
- # dress :: Object -> Hash[r: Fixnum, theta: Float] throws TypeError
30
+ # dress :: Object -> Hash[r: Integer, theta: Float] throws TypeError
31
31
  #
32
32
  class TupleType < Type
33
33
  include HeadingBasedType
@@ -8,7 +8,7 @@ module Finitio
8
8
  #
9
9
  # This class allows capturing such union types, as follows:
10
10
  #
11
- # Int = BuiltinType.new(Fixnum)
11
+ # Int = BuiltinType.new(Integer)
12
12
  # Real = BuiltinType.new(Float)
13
13
  # Numeric = UnionType.new([ Int, Real ])
14
14
  #
@@ -17,7 +17,7 @@ module Finitio
17
17
  # value ends the process and the value is simply returned. Accordingly,
18
18
  # the concrete representation will be
19
19
  #
20
- # R(Numeric) = R(Int) ^ R(Real) = Fixnum ^ Float = Numeric
20
+ # R(Numeric) = R(Int) ^ R(Real) = Integer ^ Float = Numeric
21
21
  #
22
22
  # where `^` denotes the `least common super type` operator on ruby classes.
23
23
  #
@@ -2,8 +2,8 @@ module Finitio
2
2
  module Version
3
3
 
4
4
  MAJOR = 0
5
- MINOR = 11
6
- TINY = 4
5
+ MINOR = 12
6
+ TINY = 1
7
7
 
8
8
  def self.to_s
9
9
  [ MAJOR, MINOR, TINY ].join('.')
@@ -3,7 +3,7 @@ describe Finitio, "ast" do
3
3
 
4
4
  subject{
5
5
  Finitio.ast <<-EOF
6
- Posint = .Fixnum( i | i>=0 )
6
+ Posint = .Integer( i | i>=0 )
7
7
  Point = { x: Posint, y: Posint }
8
8
  {{ p: Point }}
9
9
  EOF
@@ -14,7 +14,7 @@ describe Finitio, "ast" do
14
14
  [ :type_def,
15
15
  "Posint",
16
16
  [ :sub_type,
17
- [:builtin_type, "Fixnum"],
17
+ [:builtin_type, "Integer"],
18
18
  [ :constraint,
19
19
  "default",
20
20
  [:fn, [:parameters, "i"], [:source, "i>=0"] ]
@@ -4,7 +4,7 @@ describe Finitio, "parse" do
4
4
  context 'with a string' do
5
5
  subject{
6
6
  Finitio.parse <<-EOF
7
- Posint = .Fixnum( i | i>=0 )
7
+ Posint = .Integer( i | i>=0 )
8
8
  Point = { x: Posint, y: Posint }
9
9
  EOF
10
10
  }
@@ -4,7 +4,7 @@ describe Finitio, "system" do
4
4
  context 'with a string' do
5
5
  subject{
6
6
  Finitio.system <<-EOF
7
- Posint = .Fixnum( i | i>=0 )
7
+ Posint = .Integer( i | i>=0 )
8
8
  Point = { x: Posint, y: Posint }
9
9
  EOF
10
10
  }
@@ -26,13 +26,11 @@ module Finitio
26
26
  end
27
27
  end
28
28
 
29
- [Fixnum, Bignum, Integer].each do |rt|
30
- context "with #{rt}" do
31
- let(:ruby_type){ rt }
29
+ context "with Integer" do
30
+ let(:ruby_type){ Integer }
32
31
 
33
- it 'works' do
34
- expect(subject).to eql({ type: "integer" })
35
- end
32
+ it 'works' do
33
+ expect(subject).to eql({ type: "integer" })
36
34
  end
37
35
  end
38
36
 
@@ -8,9 +8,9 @@ module Finitio
8
8
 
9
9
  it{ should be_a(SubType) }
10
10
 
11
- it 'should have the BuiltinType(Fixnum) super type' do
11
+ it 'should have the BuiltinType(Integer) super type' do
12
12
  expect(subject.super_type).to be_a(BuiltinType)
13
- expect(subject.super_type.ruby_type).to be(Fixnum)
13
+ expect(subject.super_type.ruby_type).to be(Integer)
14
14
  end
15
15
 
16
16
  it 'should have the correct constraint' do
@@ -22,7 +22,7 @@ module Finitio
22
22
 
23
23
  context 'when use with a ruby class and a block' do
24
24
  subject{
25
- factory.type(Fixnum){|i| i>=0 and i<=10 }
25
+ factory.type(Integer){|i| i>=0 and i<=10 }
26
26
  }
27
27
 
28
28
  it_should_behave_like "The 1..10 type"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: finitio
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.4
4
+ version: 0.12.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bernard Lambeau
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-07 00:00:00.000000000 Z
11
+ date: 2025-03-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: citrus
@@ -72,13 +72,27 @@ dependencies:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
74
  version: '4.1'
75
+ - !ruby/object:Gem::Dependency
76
+ name: activesupport
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: 7.0.8
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: 7.0.8
75
89
  - !ruby/object:Gem::Dependency
76
90
  name: path
77
91
  requirement: !ruby/object:Gem::Requirement
78
92
  requirements:
79
93
  - - ">="
80
94
  - !ruby/object:Gem::Version
81
- version: '2.0'
95
+ version: '2.1'
82
96
  - - "<"
83
97
  - !ruby/object:Gem::Version
84
98
  version: '3.0'
@@ -88,7 +102,7 @@ dependencies:
88
102
  requirements:
89
103
  - - ">="
90
104
  - !ruby/object:Gem::Version
91
- version: '2.0'
105
+ version: '2.1'
92
106
  - - "<"
93
107
  - !ruby/object:Gem::Version
94
108
  version: '3.0'
@@ -471,7 +485,7 @@ files:
471
485
  homepage: https://github.com/blambeau/finitio
472
486
  licenses: []
473
487
  metadata: {}
474
- post_install_message:
488
+ post_install_message:
475
489
  rdoc_options: []
476
490
  require_paths:
477
491
  - lib
@@ -486,199 +500,198 @@ required_rubygems_version: !ruby/object:Gem::Requirement
486
500
  - !ruby/object:Gem::Version
487
501
  version: '0'
488
502
  requirements: []
489
- rubyforge_project:
490
- rubygems_version: 2.6.14.4
491
- signing_key:
503
+ rubygems_version: 3.4.19
504
+ signing_key:
492
505
  specification_version: 4
493
506
  summary: Finitio - in Ruby
494
507
  test_files:
495
- - spec/regression/test_dress_on_recursive_type.rb
496
- - spec/regression/test_name_of_generic_types.rb
497
- - spec/regression/test_heading_extra_are_proxy_resolved.rb
498
- - spec/test_finitio.rb
499
- - spec/constraint/test_named.rb
508
+ - spec/attribute/test_equality.rb
509
+ - spec/attribute/test_fetch_on.rb
510
+ - spec/attribute/test_initialize.rb
511
+ - spec/attribute/test_optional.rb
512
+ - spec/attribute/test_required.rb
513
+ - spec/attribute/test_to_name.rb
500
514
  - spec/constraint/test_anonymous.rb
501
515
  - spec/constraint/test_equality.rb
502
516
  - spec/constraint/test_name.rb
517
+ - spec/constraint/test_named.rb
503
518
  - spec/constraint/test_triple_equal.rb
519
+ - spec/finitio/system.fio
520
+ - spec/finitio/test_ast.rb
521
+ - spec/finitio/test_parse.rb
522
+ - spec/finitio/test_stdlib_memoization.rb
523
+ - spec/finitio/test_system.rb
524
+ - spec/generation/test_generation.rb
525
+ - spec/heading/test_allow_extra.rb
526
+ - spec/heading/test_each.rb
527
+ - spec/heading/test_equality.rb
528
+ - spec/heading/test_hash.rb
529
+ - spec/heading/test_hash_get.rb
530
+ - spec/heading/test_initialize.rb
531
+ - spec/heading/test_looks_similar.rb
532
+ - spec/heading/test_multi.rb
533
+ - spec/heading/test_size.rb
534
+ - spec/heading/test_suppremum.rb
535
+ - spec/heading/test_to_name.rb
504
536
  - spec/inference/test_inference.rb
505
- - spec/type_factory/factory/test_tuple_type.rb
506
- - spec/type_factory/factory/test_set_type.rb
507
- - spec/type_factory/factory/test_builtin.rb
508
- - spec/type_factory/factory/test_sub_type.rb
509
- - spec/type_factory/factory/test_seq_type.rb
510
- - spec/type_factory/factory/test_struct_type.rb
511
- - spec/type_factory/dsl/test_subtype.rb
512
- - spec/type_factory/dsl/test_any.rb
513
- - spec/type_factory/dsl/test_attributes.rb
514
- - spec/type_factory/dsl/test_tuple.rb
515
- - spec/type_factory/dsl/test_union.rb
516
- - spec/type_factory/dsl/test_builtin.rb
517
- - spec/type_factory/dsl/test_multi_tuple.rb
518
- - spec/type_factory/dsl/test_relation.rb
519
- - spec/type_factory/dsl/test_set.rb
520
- - spec/type_factory/dsl/test_struct.rb
521
- - spec/type_factory/dsl/test_seq.rb
522
- - spec/type_factory/dsl/test_multi_relation.rb
523
- - spec/type_factory/dsl/test_adt.rb
524
- - spec/type_factory/dsl/test_attribute.rb
537
+ - spec/json_schema/test_ad_type.rb
538
+ - spec/json_schema/test_alias_type.rb
539
+ - spec/json_schema/test_any_type.rb
540
+ - spec/json_schema/test_builtin_type.rb
541
+ - spec/json_schema/test_multi_relation_type.rb
542
+ - spec/json_schema/test_multi_tuple_type.rb
543
+ - spec/json_schema/test_recursive_type.rb
544
+ - spec/json_schema/test_relation_type.rb
545
+ - spec/json_schema/test_seq_type.rb
546
+ - spec/json_schema/test_set_type.rb
547
+ - spec/json_schema/test_struct_type.rb
548
+ - spec/json_schema/test_sub_type.rb
549
+ - spec/json_schema/test_tuple_type.rb
550
+ - spec/json_schema/test_union_type.rb
551
+ - spec/regression/test_dress_on_recursive_type.rb
552
+ - spec/regression/test_heading_extra_are_proxy_resolved.rb
553
+ - spec/regression/test_name_of_generic_types.rb
554
+ - spec/spec_helper.rb
555
+ - spec/support/test_compare_attrs.rb
556
+ - spec/support/test_proc_with_code.rb
557
+ - spec/syntax/expr/test_free_variables.rb
558
+ - spec/syntax/expr/test_to_proc_source.rb
559
+ - spec/syntax/nodes/imported.fio
560
+ - spec/syntax/nodes/test_ad_type.rb
561
+ - spec/syntax/nodes/test_any_type.rb
562
+ - spec/syntax/nodes/test_attribute.rb
563
+ - spec/syntax/nodes/test_builtin_type.rb
564
+ - spec/syntax/nodes/test_comment.rb
565
+ - spec/syntax/nodes/test_constraint_def.rb
566
+ - spec/syntax/nodes/test_constraints.rb
567
+ - spec/syntax/nodes/test_contract.rb
568
+ - spec/syntax/nodes/test_expression.rb
569
+ - spec/syntax/nodes/test_heading.rb
570
+ - spec/syntax/nodes/test_import.rb
571
+ - spec/syntax/nodes/test_metadata.rb
572
+ - spec/syntax/nodes/test_named_constraint.rb
573
+ - spec/syntax/nodes/test_relation_type.rb
574
+ - spec/syntax/nodes/test_seq_type.rb
575
+ - spec/syntax/nodes/test_set_type.rb
576
+ - spec/syntax/nodes/test_spacing.rb
577
+ - spec/syntax/nodes/test_struct_type.rb
578
+ - spec/syntax/nodes/test_sub_type.rb
579
+ - spec/syntax/nodes/test_system.rb
580
+ - spec/syntax/nodes/test_tuple_type.rb
581
+ - spec/syntax/nodes/test_type_def.rb
582
+ - spec/syntax/nodes/test_type_ref.rb
583
+ - spec/syntax/nodes/test_union_type.rb
584
+ - spec/syntax/nodes/test_unnamed_constraint.rb
585
+ - spec/syntax/test_compile.rb
586
+ - spec/syntax/test_compile_type.rb
587
+ - spec/system/fixtures/system.fio
588
+ - spec/system/fixtures/with-duplicates.fio
589
+ - spec/system/test_add_type.rb
590
+ - spec/system/test_check_and_warn.rb
591
+ - spec/system/test_dsl.rb
592
+ - spec/system/test_dup.rb
593
+ - spec/system/test_fetch.rb
594
+ - spec/system/test_get_type.rb
595
+ - spec/system/test_initialize.rb
596
+ - spec/test_finitio.rb
597
+ - spec/type/ad_type/test_default_name.rb
598
+ - spec/type/ad_type/test_dress.rb
599
+ - spec/type/ad_type/test_include.rb
600
+ - spec/type/ad_type/test_initialize.rb
601
+ - spec/type/ad_type/test_name.rb
602
+ - spec/type/alias_type/test_default_name.rb
525
603
  - spec/type/alias_type/test_delegation.rb
526
604
  - spec/type/alias_type/test_name.rb
527
- - spec/type/alias_type/test_default_name.rb
528
- - spec/type/struct_type/test_include.rb
529
- - spec/type/struct_type/test_dress.rb
530
- - spec/type/struct_type/test_equality.rb
531
- - spec/type/struct_type/test_name.rb
532
- - spec/type/struct_type/test_default_name.rb
533
- - spec/type/struct_type/test_initialize.rb
534
- - spec/type/relation_type/test_include.rb
605
+ - spec/type/any_type/test_default_name.rb
606
+ - spec/type/any_type/test_dress.rb
607
+ - spec/type/any_type/test_equality.rb
608
+ - spec/type/any_type/test_include.rb
609
+ - spec/type/any_type/test_initialize.rb
610
+ - spec/type/any_type/test_name.rb
611
+ - spec/type/builtin_type/test_default_name.rb
612
+ - spec/type/builtin_type/test_dress.rb
613
+ - spec/type/builtin_type/test_equality.rb
614
+ - spec/type/builtin_type/test_include.rb
615
+ - spec/type/builtin_type/test_initialize.rb
616
+ - spec/type/builtin_type/test_name.rb
617
+ - spec/type/multi_relation_type/test_default_name.rb
618
+ - spec/type/multi_relation_type/test_dress.rb
619
+ - spec/type/multi_relation_type/test_equality.rb
620
+ - spec/type/multi_relation_type/test_include.rb
621
+ - spec/type/multi_relation_type/test_initialize.rb
622
+ - spec/type/multi_relation_type/test_name.rb
623
+ - spec/type/multi_tuple_type/test_default_name.rb
624
+ - spec/type/multi_tuple_type/test_dress.rb
625
+ - spec/type/multi_tuple_type/test_equality.rb
626
+ - spec/type/multi_tuple_type/test_include.rb
627
+ - spec/type/multi_tuple_type/test_initialize.rb
628
+ - spec/type/multi_tuple_type/test_name.rb
629
+ - spec/type/relation_type/test_default_name.rb
535
630
  - spec/type/relation_type/test_dress.rb
536
631
  - spec/type/relation_type/test_equality.rb
632
+ - spec/type/relation_type/test_include.rb
633
+ - spec/type/relation_type/test_initialize.rb
537
634
  - spec/type/relation_type/test_name.rb
538
- - spec/type/relation_type/test_default_name.rb
539
635
  - spec/type/relation_type/test_suppremum.rb
540
- - spec/type/relation_type/test_initialize.rb
541
- - spec/type/seq_type/test_include.rb
636
+ - spec/type/seq_type/test_default_name.rb
542
637
  - spec/type/seq_type/test_dress.rb
543
638
  - spec/type/seq_type/test_equality.rb
639
+ - spec/type/seq_type/test_include.rb
640
+ - spec/type/seq_type/test_initialize.rb
544
641
  - spec/type/seq_type/test_name.rb
545
- - spec/type/seq_type/test_default_name.rb
546
642
  - spec/type/seq_type/test_suppremum.rb
547
- - spec/type/seq_type/test_initialize.rb
548
- - spec/type/builtin_type/test_include.rb
549
- - spec/type/builtin_type/test_dress.rb
550
- - spec/type/builtin_type/test_equality.rb
551
- - spec/type/builtin_type/test_name.rb
552
- - spec/type/builtin_type/test_default_name.rb
553
- - spec/type/builtin_type/test_initialize.rb
554
- - spec/type/multi_tuple_type/test_include.rb
555
- - spec/type/multi_tuple_type/test_dress.rb
556
- - spec/type/multi_tuple_type/test_equality.rb
557
- - spec/type/multi_tuple_type/test_name.rb
558
- - spec/type/multi_tuple_type/test_default_name.rb
559
- - spec/type/multi_tuple_type/test_initialize.rb
560
- - spec/type/ad_type/test_include.rb
561
- - spec/type/ad_type/test_dress.rb
562
- - spec/type/ad_type/test_name.rb
563
- - spec/type/ad_type/test_default_name.rb
564
- - spec/type/ad_type/test_initialize.rb
565
- - spec/type/multi_relation_type/test_include.rb
566
- - spec/type/multi_relation_type/test_dress.rb
567
- - spec/type/multi_relation_type/test_equality.rb
568
- - spec/type/multi_relation_type/test_name.rb
569
- - spec/type/multi_relation_type/test_default_name.rb
570
- - spec/type/multi_relation_type/test_initialize.rb
571
- - spec/type/any_type/test_include.rb
572
- - spec/type/any_type/test_dress.rb
573
- - spec/type/any_type/test_equality.rb
574
- - spec/type/any_type/test_name.rb
575
- - spec/type/any_type/test_default_name.rb
576
- - spec/type/any_type/test_initialize.rb
577
- - spec/type/test_unconstrained.rb
578
- - spec/type/union_type/test_include.rb
579
- - spec/type/union_type/test_dress.rb
580
- - spec/type/union_type/test_equality.rb
581
- - spec/type/union_type/test_name.rb
582
- - spec/type/union_type/test_default_name.rb
583
- - spec/type/union_type/test_suppremum.rb
584
- - spec/type/union_type/test_initialize.rb
585
- - spec/type/sub_type/test_include.rb
586
- - spec/type/sub_type/test_dress.rb
587
- - spec/type/sub_type/test_equality.rb
588
- - spec/type/sub_type/test_name.rb
589
- - spec/type/sub_type/test_default_name.rb
590
- - spec/type/sub_type/test_initialize.rb
591
- - spec/type/set_type/test_include.rb
643
+ - spec/type/set_type/test_default_name.rb
592
644
  - spec/type/set_type/test_dress.rb
593
645
  - spec/type/set_type/test_equality.rb
646
+ - spec/type/set_type/test_include.rb
647
+ - spec/type/set_type/test_initialize.rb
594
648
  - spec/type/set_type/test_name.rb
595
- - spec/type/set_type/test_default_name.rb
596
649
  - spec/type/set_type/test_suppremum.rb
597
- - spec/type/set_type/test_initialize.rb
650
+ - spec/type/struct_type/test_default_name.rb
651
+ - spec/type/struct_type/test_dress.rb
652
+ - spec/type/struct_type/test_equality.rb
653
+ - spec/type/struct_type/test_include.rb
654
+ - spec/type/struct_type/test_initialize.rb
655
+ - spec/type/struct_type/test_name.rb
656
+ - spec/type/sub_type/test_default_name.rb
657
+ - spec/type/sub_type/test_dress.rb
658
+ - spec/type/sub_type/test_equality.rb
659
+ - spec/type/sub_type/test_include.rb
660
+ - spec/type/sub_type/test_initialize.rb
661
+ - spec/type/sub_type/test_name.rb
598
662
  - spec/type/test_suppremum.rb
599
- - spec/type/tuple_type/test_include.rb
663
+ - spec/type/test_unconstrained.rb
664
+ - spec/type/tuple_type/test_default_name.rb
600
665
  - spec/type/tuple_type/test_dress.rb
601
666
  - spec/type/tuple_type/test_equality.rb
667
+ - spec/type/tuple_type/test_include.rb
668
+ - spec/type/tuple_type/test_initialize.rb
602
669
  - spec/type/tuple_type/test_name.rb
603
- - spec/type/tuple_type/test_default_name.rb
604
670
  - spec/type/tuple_type/test_suppremum.rb
605
- - spec/type/tuple_type/test_initialize.rb
606
- - spec/support/test_proc_with_code.rb
607
- - spec/support/test_compare_attrs.rb
608
- - spec/heading/test_size.rb
609
- - spec/heading/test_hash_get.rb
610
- - spec/heading/test_hash.rb
611
- - spec/heading/test_each.rb
612
- - spec/heading/test_equality.rb
613
- - spec/heading/test_multi.rb
614
- - spec/heading/test_looks_similar.rb
615
- - spec/heading/test_allow_extra.rb
616
- - spec/heading/test_suppremum.rb
617
- - spec/heading/test_initialize.rb
618
- - spec/heading/test_to_name.rb
619
- - spec/json_schema/test_tuple_type.rb
620
- - spec/json_schema/test_alias_type.rb
621
- - spec/json_schema/test_set_type.rb
622
- - spec/json_schema/test_relation_type.rb
623
- - spec/json_schema/test_ad_type.rb
624
- - spec/json_schema/test_builtin_type.rb
625
- - spec/json_schema/test_multi_relation_type.rb
626
- - spec/json_schema/test_recursive_type.rb
627
- - spec/json_schema/test_sub_type.rb
628
- - spec/json_schema/test_any_type.rb
629
- - spec/json_schema/test_seq_type.rb
630
- - spec/json_schema/test_union_type.rb
631
- - spec/json_schema/test_multi_tuple_type.rb
632
- - spec/json_schema/test_struct_type.rb
633
- - spec/system/test_dsl.rb
634
- - spec/system/test_get_type.rb
635
- - spec/system/test_add_type.rb
636
- - spec/system/test_dup.rb
637
- - spec/system/fixtures/system.fio
638
- - spec/system/fixtures/with-duplicates.fio
639
- - spec/system/test_check_and_warn.rb
640
- - spec/system/test_fetch.rb
641
- - spec/system/test_initialize.rb
642
- - spec/attribute/test_required.rb
643
- - spec/attribute/test_optional.rb
644
- - spec/attribute/test_equality.rb
645
- - spec/attribute/test_fetch_on.rb
646
- - spec/attribute/test_initialize.rb
647
- - spec/attribute/test_to_name.rb
648
- - spec/syntax/nodes/test_unnamed_constraint.rb
649
- - spec/syntax/nodes/test_constraints.rb
650
- - spec/syntax/nodes/test_tuple_type.rb
651
- - spec/syntax/nodes/test_set_type.rb
652
- - spec/syntax/nodes/test_heading.rb
653
- - spec/syntax/nodes/test_comment.rb
654
- - spec/syntax/nodes/test_spacing.rb
655
- - spec/syntax/nodes/test_metadata.rb
656
- - spec/syntax/nodes/test_type_ref.rb
657
- - spec/syntax/nodes/test_relation_type.rb
658
- - spec/syntax/nodes/test_contract.rb
659
- - spec/syntax/nodes/test_ad_type.rb
660
- - spec/syntax/nodes/test_constraint_def.rb
661
- - spec/syntax/nodes/test_builtin_type.rb
662
- - spec/syntax/nodes/test_system.rb
663
- - spec/syntax/nodes/test_named_constraint.rb
664
- - spec/syntax/nodes/test_type_def.rb
665
- - spec/syntax/nodes/imported.fio
666
- - spec/syntax/nodes/test_sub_type.rb
667
- - spec/syntax/nodes/test_any_type.rb
668
- - spec/syntax/nodes/test_seq_type.rb
669
- - spec/syntax/nodes/test_union_type.rb
670
- - spec/syntax/nodes/test_attribute.rb
671
- - spec/syntax/nodes/test_import.rb
672
- - spec/syntax/nodes/test_struct_type.rb
673
- - spec/syntax/nodes/test_expression.rb
674
- - spec/syntax/expr/test_free_variables.rb
675
- - spec/syntax/expr/test_to_proc_source.rb
676
- - spec/syntax/test_compile_type.rb
677
- - spec/syntax/test_compile.rb
678
- - spec/spec_helper.rb
679
- - spec/finitio/system.fio
680
- - spec/finitio/test_ast.rb
681
- - spec/finitio/test_stdlib_memoization.rb
682
- - spec/finitio/test_parse.rb
683
- - spec/finitio/test_system.rb
684
- - spec/generation/test_generation.rb
671
+ - spec/type/union_type/test_default_name.rb
672
+ - spec/type/union_type/test_dress.rb
673
+ - spec/type/union_type/test_equality.rb
674
+ - spec/type/union_type/test_include.rb
675
+ - spec/type/union_type/test_initialize.rb
676
+ - spec/type/union_type/test_name.rb
677
+ - spec/type/union_type/test_suppremum.rb
678
+ - spec/type_factory/dsl/test_adt.rb
679
+ - spec/type_factory/dsl/test_any.rb
680
+ - spec/type_factory/dsl/test_attribute.rb
681
+ - spec/type_factory/dsl/test_attributes.rb
682
+ - spec/type_factory/dsl/test_builtin.rb
683
+ - spec/type_factory/dsl/test_multi_relation.rb
684
+ - spec/type_factory/dsl/test_multi_tuple.rb
685
+ - spec/type_factory/dsl/test_relation.rb
686
+ - spec/type_factory/dsl/test_seq.rb
687
+ - spec/type_factory/dsl/test_set.rb
688
+ - spec/type_factory/dsl/test_struct.rb
689
+ - spec/type_factory/dsl/test_subtype.rb
690
+ - spec/type_factory/dsl/test_tuple.rb
691
+ - spec/type_factory/dsl/test_union.rb
692
+ - spec/type_factory/factory/test_builtin.rb
693
+ - spec/type_factory/factory/test_seq_type.rb
694
+ - spec/type_factory/factory/test_set_type.rb
695
+ - spec/type_factory/factory/test_struct_type.rb
696
+ - spec/type_factory/factory/test_sub_type.rb
697
+ - spec/type_factory/factory/test_tuple_type.rb