finitio 0.11.4 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
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: 92c67dd32e89dd6c4597b4a8456572bb1a5b3de07bdf58e88bcb9dc3f0874462
4
+ data.tar.gz: 4ecd7898e477113040613415f9bc2cc8f23bc3605d0f71a3ccaefbbe1eaf31ff
5
5
  SHA512:
6
- metadata.gz: 0af6653c37bc1fdb2e5aeef7f0d43e70f92d967658219b638c58a8039b975460f64ab80339d7d727aed716175cc722614973e387c5720315868bd6b8a6d1fc7c
7
- data.tar.gz: ef96c4bd3a7f4910b83acab224940afe7a1885be98eeddf5ce8542c0037d0c702da98e372f55a42638cb7cef3cfbf9394dd8c0d162daace35c6731e86083c061
6
+ metadata.gz: eb3042b639a82d469bb760807e6c94e1f70c39a3249420d30e339d5f004048e8abe6026de3b3b834e3703f88b3dd10a6d2937abdba5a183444af13609cc150b5
7
+ data.tar.gz: f44c30f37848ad1e0b8344487cc0f0353ad694ce31c535ff6dd4ae02e903bebc92d11b29ac78ae0aa7d21f7bce6ba3fbd7ecdceb2cb6d14aa4bd3f9d6fb5164a
data/CHANGELOG.md CHANGED
@@ -1,4 +1,12 @@
1
- # 0.11.4 - 2023/01/06
1
+ ## 0.12.0 - 2023/05/23
2
+
3
+ * Remove support for ruby < 2.6
4
+
5
+ * Remove support for .Fixnum and .Bignum, .Integer is now used
6
+ everywhere. To ease the transition, Fixum and Bignum still exist
7
+ in the finitio/data stdlib schema, but will be removed in 0.13.x
8
+
9
+ ## 0.11.4 - 2023/01/06
2
10
 
3
11
  * The proxy resolution is fixed and clarified. When compiling
4
12
  a system, all proxies are actually replaced by their actual
@@ -13,27 +21,27 @@
13
21
  * Generated names of instantiated high order types are better
14
22
  (e.g. Collection<String>).
15
23
 
16
- # 0.11.3 - 2023/01/06
24
+ ## 0.11.3 - 2023/01/06
17
25
 
18
26
  * Fix json_schema generation on unresolved ProxyTypes. We use
19
27
  "object" by default, waiting for a better support for recursive
20
28
  types.
21
29
 
22
- # 0.11.2 - 2023/01/06
30
+ ## 0.11.2 - 2023/01/06
23
31
 
24
32
  * Fix json_schema generation on builtin_type NilClass. "null"
25
33
  is not a valid value, we now use "string" instead.
26
34
 
27
- # 0.11.1 - 2021/12/09
35
+ ## 0.11.1 - 2021/12/09
28
36
 
29
37
  * Fix github actions and extend test grid.
30
38
 
31
- # 0.11.0 - 2021/12/09
39
+ ## 0.11.0 - 2021/12/09
32
40
 
33
41
  * Fix json schema generation of Boolean and union types with a |Nil
34
42
  * Add support for dashses in attribute names (tuple & relation types).
35
43
 
36
- # 0.10.0 - 2021/01/11
44
+ ## 0.10.0 - 2021/01/11
37
45
 
38
46
  * Upgrade all dependencies.
39
47
 
@@ -41,18 +49,18 @@
41
49
 
42
50
  * Fix code and build under Ruby 3.0.
43
51
 
44
- # 0.9.1 - 2020/12/24
52
+ ## 0.9.1 - 2020/12/24
45
53
 
46
54
  * Fixes a bug where proxy types are not properly resolved when used
47
55
  in a heading extra, e.g. `{ ...: Proxy }`
48
56
 
49
- # 0.9.0 - 2020/12/16
57
+ ## 0.9.0 - 2020/12/16
50
58
 
51
59
  * Add Type#to_json_schema that converts Finitio types to JSON schema
52
60
  representations. This first implementation skips all constraints on sub types,
53
61
  though. You need to explicitly require 'finitio/json_schema' to use it.
54
62
 
55
- # 0.8.0 - 2019/10/21
63
+ ## 0.8.0 - 2019/10/21
56
64
 
57
65
  * Add `Type#unconstrained` that returns a super type with all user specific
58
66
  constraints removed on sub types, recursively on all non scalar types.
@@ -62,7 +70,7 @@
62
70
  * Add support for random data generation through `Finitio::Generation`.
63
71
  Please `require 'finitio/generation'` to use it.
64
72
 
65
- # 0.7.0 / 2019-02-28
73
+ ## 0.7.0 / 2019-02-28
66
74
 
67
75
  * Implement (basic) @import feature, working with relative paths
68
76
  and a standard library. The standard library systems are memoized
@@ -75,28 +83,28 @@
75
83
  * WARN: Finitio::DEFAULT_SYSTEM is deprecated. Use @import
76
84
  finitio/data instead.
77
85
 
78
- # 0.6.1 / 2018-03-23
86
+ ## 0.6.1 / 2018-03-23
79
87
 
80
88
  * Fix support for typed extra attributes, a KeyError was raised when
81
89
  keys were Symbols and not Strings.
82
90
 
83
- # 0.6.0 / 2018-02-17
91
+ ## 0.6.0 / 2018-02-17
84
92
 
85
93
  * Add support for typed extra attributes, e.g. { ...: Integer }
86
94
 
87
- # 0.5.2 / 2017-01-08
95
+ ## 0.5.2 / 2017-01-08
88
96
 
89
97
  * Disable memoization in parser because it leads to terrible performance
90
98
  issues on some schemas.
91
99
  * Avoid alternatives on high-level rules (Union, SubType) to prevent many
92
100
  fallbacks that kill performance without memoization enabled.
93
101
 
94
- # 0.5.1 / 2015-09-22
102
+ ## 0.5.1 / 2015-09-22
95
103
 
96
104
  * Enabled memoization in parser to avoid very long parsing time on complex
97
105
  schemas.
98
106
 
99
- # 0.5.0 / 2015-09-18
107
+ ## 0.5.0 / 2015-09-18
100
108
 
101
109
  * Breaking changes on public API
102
110
 
@@ -162,29 +170,29 @@
162
170
  * Make Finitio compatible with both Citrus 2.4.x and Citrus 3.x
163
171
  * Fixed parsing of constraint expressions having inner parentheses
164
172
 
165
- # 0.4.1 / 2014-03-20
173
+ ## 0.4.1 / 2014-03-20
166
174
 
167
175
  * Fixed access to the default system that lead to 'Unknown system
168
176
  Finitio/default (Finitio::Error)'
169
177
 
170
- # 0.4.0 / 2014-03-20
178
+ ## 0.4.0 / 2014-03-20
171
179
 
172
180
  * Finitio(-rb) is born from the sources of Q(rb) 0.3.0
173
181
  * Finitio.parse now recognizes Path-like objects (responding to :to_path),
174
182
  allowing to parse files directly (through Pathname, Path, etc.).
175
183
 
176
- # 0.3.0 / 2014-03-09
184
+ ## 0.3.0 / 2014-03-09
177
185
 
178
186
  * Added AnyType abstraction, aka '.'
179
187
  * Added support for external contracts in ADTs
180
188
  * Added support for extracting an Abstract Syntax Tree from parsing result
181
189
  * Allows camelCasing in constraint names
182
190
 
183
- # 0.2.0 / 2014-03-04
191
+ ## 0.2.0 / 2014-03-04
184
192
 
185
193
  * Fix dependencies in gemspec (judofyr)
186
194
 
187
- # 0.1.0 / 2014-03-03
195
+ ## 0.1.0 / 2014-03-03
188
196
 
189
197
  * Enhancements
190
198
 
data/Gemfile.lock CHANGED
@@ -1,21 +1,21 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- finitio (0.11.4)
4
+ finitio (0.12.0)
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.4.3)
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
16
  builder (3.2.4)
17
17
  citrus (3.0.2)
18
- concurrent-ruby (1.1.10)
18
+ concurrent-ruby (1.2.2)
19
19
  coveralls (0.8.23)
20
20
  json (>= 1.8, < 3)
21
21
  simplecov (~> 0.16.1)
@@ -54,16 +54,16 @@ GEM
54
54
  cucumber-cucumber-expressions (~> 10.1, >= 10.1.0)
55
55
  cucumber-messages (~> 12.2, >= 12.2.0)
56
56
  diff-lcs (1.3)
57
- docile (1.3.5)
57
+ docile (1.4.0)
58
58
  ffi (1.15.5)
59
- i18n (1.12.0)
59
+ i18n (1.13.0)
60
60
  concurrent-ruby (~> 1.0)
61
61
  json (2.6.3)
62
62
  middleware (0.1.0)
63
- minitest (5.15.0)
63
+ minitest (5.18.0)
64
64
  multi_json (1.15.0)
65
65
  multi_test (0.1.2)
66
- path (2.0.1)
66
+ path (2.1.0)
67
67
  protobuf-cucumber (3.10.8)
68
68
  activesupport (>= 3.2)
69
69
  middleware
@@ -74,12 +74,12 @@ GEM
74
74
  rspec-core (~> 3.12.0)
75
75
  rspec-expectations (~> 3.12.0)
76
76
  rspec-mocks (~> 3.12.0)
77
- rspec-core (3.12.0)
77
+ rspec-core (3.12.2)
78
78
  rspec-support (~> 3.12.0)
79
- rspec-expectations (3.12.1)
79
+ rspec-expectations (3.12.3)
80
80
  diff-lcs (>= 1.2.0, < 2.0)
81
81
  rspec-support (~> 3.12.0)
82
- rspec-mocks (3.12.1)
82
+ rspec-mocks (3.12.5)
83
83
  diff-lcs (>= 1.2.0, < 2.0)
84
84
  rspec-support (~> 3.12.0)
85
85
  rspec-support (3.12.0)
@@ -89,16 +89,16 @@ GEM
89
89
  simplecov-html (~> 0.10.0)
90
90
  simplecov-html (0.10.2)
91
91
  sync (0.5.0)
92
- sys-uname (1.2.2)
92
+ sys-uname (1.2.3)
93
93
  ffi (~> 1.1)
94
94
  term-ansicolor (1.7.1)
95
95
  tins (~> 1.0)
96
- thor (1.2.1)
96
+ thor (1.2.2)
97
97
  thread_safe (0.3.6)
98
98
  tins (1.32.1)
99
99
  sync
100
- tzinfo (1.2.10)
101
- thread_safe (~> 0.1)
100
+ tzinfo (2.0.6)
101
+ concurrent-ruby (~> 1.0)
102
102
 
103
103
  PLATFORMS
104
104
  x86_64-linux
@@ -109,7 +109,7 @@ DEPENDENCIES
109
109
  cucumber (~> 4.1)
110
110
  finitio!
111
111
  multi_json (~> 1.15)
112
- path (>= 2.0, < 3.0)
112
+ path (>= 2.1, < 3.0)
113
113
  rake (~> 13.0)
114
114
  rspec (~> 3.0)
115
115
 
data/finitio.gemspec CHANGED
@@ -19,13 +19,13 @@ 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("path", ">= 2.1", "< 3.0")
29
29
  s.add_development_dependency("awesome_print", "~> 1.8")
30
30
  s.add_development_dependency("coveralls", "~> 0.8")
31
31
  s.add_development_dependency("multi_json", "~> 1.15")
@@ -5,8 +5,6 @@ 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",
@@ -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 = 0
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.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bernard Lambeau
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-07 00:00:00.000000000 Z
11
+ date: 2023-05-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: citrus
@@ -78,7 +78,7 @@ dependencies:
78
78
  requirements:
79
79
  - - ">="
80
80
  - !ruby/object:Gem::Version
81
- version: '2.0'
81
+ version: '2.1'
82
82
  - - "<"
83
83
  - !ruby/object:Gem::Version
84
84
  version: '3.0'
@@ -88,7 +88,7 @@ dependencies:
88
88
  requirements:
89
89
  - - ">="
90
90
  - !ruby/object:Gem::Version
91
- version: '2.0'
91
+ version: '2.1'
92
92
  - - "<"
93
93
  - !ruby/object:Gem::Version
94
94
  version: '3.0'
@@ -486,199 +486,198 @@ required_rubygems_version: !ruby/object:Gem::Requirement
486
486
  - !ruby/object:Gem::Version
487
487
  version: '0'
488
488
  requirements: []
489
- rubyforge_project:
490
- rubygems_version: 2.6.14.4
489
+ rubygems_version: 3.3.26
491
490
  signing_key:
492
491
  specification_version: 4
493
492
  summary: Finitio - in Ruby
494
493
  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
494
+ - spec/attribute/test_equality.rb
495
+ - spec/attribute/test_fetch_on.rb
496
+ - spec/attribute/test_initialize.rb
497
+ - spec/attribute/test_optional.rb
498
+ - spec/attribute/test_required.rb
499
+ - spec/attribute/test_to_name.rb
500
500
  - spec/constraint/test_anonymous.rb
501
501
  - spec/constraint/test_equality.rb
502
502
  - spec/constraint/test_name.rb
503
+ - spec/constraint/test_named.rb
503
504
  - spec/constraint/test_triple_equal.rb
505
+ - spec/finitio/system.fio
506
+ - spec/finitio/test_ast.rb
507
+ - spec/finitio/test_parse.rb
508
+ - spec/finitio/test_stdlib_memoization.rb
509
+ - spec/finitio/test_system.rb
510
+ - spec/generation/test_generation.rb
511
+ - spec/heading/test_allow_extra.rb
512
+ - spec/heading/test_each.rb
513
+ - spec/heading/test_equality.rb
514
+ - spec/heading/test_hash.rb
515
+ - spec/heading/test_hash_get.rb
516
+ - spec/heading/test_initialize.rb
517
+ - spec/heading/test_looks_similar.rb
518
+ - spec/heading/test_multi.rb
519
+ - spec/heading/test_size.rb
520
+ - spec/heading/test_suppremum.rb
521
+ - spec/heading/test_to_name.rb
504
522
  - 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
523
+ - spec/json_schema/test_ad_type.rb
524
+ - spec/json_schema/test_alias_type.rb
525
+ - spec/json_schema/test_any_type.rb
526
+ - spec/json_schema/test_builtin_type.rb
527
+ - spec/json_schema/test_multi_relation_type.rb
528
+ - spec/json_schema/test_multi_tuple_type.rb
529
+ - spec/json_schema/test_recursive_type.rb
530
+ - spec/json_schema/test_relation_type.rb
531
+ - spec/json_schema/test_seq_type.rb
532
+ - spec/json_schema/test_set_type.rb
533
+ - spec/json_schema/test_struct_type.rb
534
+ - spec/json_schema/test_sub_type.rb
535
+ - spec/json_schema/test_tuple_type.rb
536
+ - spec/json_schema/test_union_type.rb
537
+ - spec/regression/test_dress_on_recursive_type.rb
538
+ - spec/regression/test_heading_extra_are_proxy_resolved.rb
539
+ - spec/regression/test_name_of_generic_types.rb
540
+ - spec/spec_helper.rb
541
+ - spec/support/test_compare_attrs.rb
542
+ - spec/support/test_proc_with_code.rb
543
+ - spec/syntax/expr/test_free_variables.rb
544
+ - spec/syntax/expr/test_to_proc_source.rb
545
+ - spec/syntax/nodes/imported.fio
546
+ - spec/syntax/nodes/test_ad_type.rb
547
+ - spec/syntax/nodes/test_any_type.rb
548
+ - spec/syntax/nodes/test_attribute.rb
549
+ - spec/syntax/nodes/test_builtin_type.rb
550
+ - spec/syntax/nodes/test_comment.rb
551
+ - spec/syntax/nodes/test_constraint_def.rb
552
+ - spec/syntax/nodes/test_constraints.rb
553
+ - spec/syntax/nodes/test_contract.rb
554
+ - spec/syntax/nodes/test_expression.rb
555
+ - spec/syntax/nodes/test_heading.rb
556
+ - spec/syntax/nodes/test_import.rb
557
+ - spec/syntax/nodes/test_metadata.rb
558
+ - spec/syntax/nodes/test_named_constraint.rb
559
+ - spec/syntax/nodes/test_relation_type.rb
560
+ - spec/syntax/nodes/test_seq_type.rb
561
+ - spec/syntax/nodes/test_set_type.rb
562
+ - spec/syntax/nodes/test_spacing.rb
563
+ - spec/syntax/nodes/test_struct_type.rb
564
+ - spec/syntax/nodes/test_sub_type.rb
565
+ - spec/syntax/nodes/test_system.rb
566
+ - spec/syntax/nodes/test_tuple_type.rb
567
+ - spec/syntax/nodes/test_type_def.rb
568
+ - spec/syntax/nodes/test_type_ref.rb
569
+ - spec/syntax/nodes/test_union_type.rb
570
+ - spec/syntax/nodes/test_unnamed_constraint.rb
571
+ - spec/syntax/test_compile.rb
572
+ - spec/syntax/test_compile_type.rb
573
+ - spec/system/fixtures/system.fio
574
+ - spec/system/fixtures/with-duplicates.fio
575
+ - spec/system/test_add_type.rb
576
+ - spec/system/test_check_and_warn.rb
577
+ - spec/system/test_dsl.rb
578
+ - spec/system/test_dup.rb
579
+ - spec/system/test_fetch.rb
580
+ - spec/system/test_get_type.rb
581
+ - spec/system/test_initialize.rb
582
+ - spec/test_finitio.rb
583
+ - spec/type/ad_type/test_default_name.rb
584
+ - spec/type/ad_type/test_dress.rb
585
+ - spec/type/ad_type/test_include.rb
586
+ - spec/type/ad_type/test_initialize.rb
587
+ - spec/type/ad_type/test_name.rb
588
+ - spec/type/alias_type/test_default_name.rb
525
589
  - spec/type/alias_type/test_delegation.rb
526
590
  - 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
591
+ - spec/type/any_type/test_default_name.rb
592
+ - spec/type/any_type/test_dress.rb
593
+ - spec/type/any_type/test_equality.rb
594
+ - spec/type/any_type/test_include.rb
595
+ - spec/type/any_type/test_initialize.rb
596
+ - spec/type/any_type/test_name.rb
597
+ - spec/type/builtin_type/test_default_name.rb
598
+ - spec/type/builtin_type/test_dress.rb
599
+ - spec/type/builtin_type/test_equality.rb
600
+ - spec/type/builtin_type/test_include.rb
601
+ - spec/type/builtin_type/test_initialize.rb
602
+ - spec/type/builtin_type/test_name.rb
603
+ - spec/type/multi_relation_type/test_default_name.rb
604
+ - spec/type/multi_relation_type/test_dress.rb
605
+ - spec/type/multi_relation_type/test_equality.rb
606
+ - spec/type/multi_relation_type/test_include.rb
607
+ - spec/type/multi_relation_type/test_initialize.rb
608
+ - spec/type/multi_relation_type/test_name.rb
609
+ - spec/type/multi_tuple_type/test_default_name.rb
610
+ - spec/type/multi_tuple_type/test_dress.rb
611
+ - spec/type/multi_tuple_type/test_equality.rb
612
+ - spec/type/multi_tuple_type/test_include.rb
613
+ - spec/type/multi_tuple_type/test_initialize.rb
614
+ - spec/type/multi_tuple_type/test_name.rb
615
+ - spec/type/relation_type/test_default_name.rb
535
616
  - spec/type/relation_type/test_dress.rb
536
617
  - spec/type/relation_type/test_equality.rb
618
+ - spec/type/relation_type/test_include.rb
619
+ - spec/type/relation_type/test_initialize.rb
537
620
  - spec/type/relation_type/test_name.rb
538
- - spec/type/relation_type/test_default_name.rb
539
621
  - spec/type/relation_type/test_suppremum.rb
540
- - spec/type/relation_type/test_initialize.rb
541
- - spec/type/seq_type/test_include.rb
622
+ - spec/type/seq_type/test_default_name.rb
542
623
  - spec/type/seq_type/test_dress.rb
543
624
  - spec/type/seq_type/test_equality.rb
625
+ - spec/type/seq_type/test_include.rb
626
+ - spec/type/seq_type/test_initialize.rb
544
627
  - spec/type/seq_type/test_name.rb
545
- - spec/type/seq_type/test_default_name.rb
546
628
  - 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
629
+ - spec/type/set_type/test_default_name.rb
592
630
  - spec/type/set_type/test_dress.rb
593
631
  - spec/type/set_type/test_equality.rb
632
+ - spec/type/set_type/test_include.rb
633
+ - spec/type/set_type/test_initialize.rb
594
634
  - spec/type/set_type/test_name.rb
595
- - spec/type/set_type/test_default_name.rb
596
635
  - spec/type/set_type/test_suppremum.rb
597
- - spec/type/set_type/test_initialize.rb
636
+ - spec/type/struct_type/test_default_name.rb
637
+ - spec/type/struct_type/test_dress.rb
638
+ - spec/type/struct_type/test_equality.rb
639
+ - spec/type/struct_type/test_include.rb
640
+ - spec/type/struct_type/test_initialize.rb
641
+ - spec/type/struct_type/test_name.rb
642
+ - spec/type/sub_type/test_default_name.rb
643
+ - spec/type/sub_type/test_dress.rb
644
+ - spec/type/sub_type/test_equality.rb
645
+ - spec/type/sub_type/test_include.rb
646
+ - spec/type/sub_type/test_initialize.rb
647
+ - spec/type/sub_type/test_name.rb
598
648
  - spec/type/test_suppremum.rb
599
- - spec/type/tuple_type/test_include.rb
649
+ - spec/type/test_unconstrained.rb
650
+ - spec/type/tuple_type/test_default_name.rb
600
651
  - spec/type/tuple_type/test_dress.rb
601
652
  - spec/type/tuple_type/test_equality.rb
653
+ - spec/type/tuple_type/test_include.rb
654
+ - spec/type/tuple_type/test_initialize.rb
602
655
  - spec/type/tuple_type/test_name.rb
603
- - spec/type/tuple_type/test_default_name.rb
604
656
  - 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
657
+ - spec/type/union_type/test_default_name.rb
658
+ - spec/type/union_type/test_dress.rb
659
+ - spec/type/union_type/test_equality.rb
660
+ - spec/type/union_type/test_include.rb
661
+ - spec/type/union_type/test_initialize.rb
662
+ - spec/type/union_type/test_name.rb
663
+ - spec/type/union_type/test_suppremum.rb
664
+ - spec/type_factory/dsl/test_adt.rb
665
+ - spec/type_factory/dsl/test_any.rb
666
+ - spec/type_factory/dsl/test_attribute.rb
667
+ - spec/type_factory/dsl/test_attributes.rb
668
+ - spec/type_factory/dsl/test_builtin.rb
669
+ - spec/type_factory/dsl/test_multi_relation.rb
670
+ - spec/type_factory/dsl/test_multi_tuple.rb
671
+ - spec/type_factory/dsl/test_relation.rb
672
+ - spec/type_factory/dsl/test_seq.rb
673
+ - spec/type_factory/dsl/test_set.rb
674
+ - spec/type_factory/dsl/test_struct.rb
675
+ - spec/type_factory/dsl/test_subtype.rb
676
+ - spec/type_factory/dsl/test_tuple.rb
677
+ - spec/type_factory/dsl/test_union.rb
678
+ - spec/type_factory/factory/test_builtin.rb
679
+ - spec/type_factory/factory/test_seq_type.rb
680
+ - spec/type_factory/factory/test_set_type.rb
681
+ - spec/type_factory/factory/test_struct_type.rb
682
+ - spec/type_factory/factory/test_sub_type.rb
683
+ - spec/type_factory/factory/test_tuple_type.rb