expressir 1.2.8-x64-mingw32 → 1.2.10-x64-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 06d39a5e392b483591574b9e7726bdfb0694de9e37f3e2ce6acef76b2ace82b8
4
- data.tar.gz: e38cf796d057edd6c3d6b42b2edcb83e78ed3519297cf856f6faa2716b68c0bf
3
+ metadata.gz: 3e217b02dfe5e74d4c38acba8599dc6f9084f082e0dfa51b87fcbe825c6ad228
4
+ data.tar.gz: 0e1452521be4021bcc3be5fe7f46498dd3477733c5ba378ca260e3fde1187ada
5
5
  SHA512:
6
- metadata.gz: 9482b16bd6a7ea4bf50760e8ddd4ef83ec2df862993d9dfb8a25e629dc5ce0e5cb163d2290e074ca6a7c0578c03bf5d668b68249d229cd8a0884aa50d27fea27
7
- data.tar.gz: 2f0a1c8407d5331cb528fc604e2fe67bbea67d9fff7d4cf3629f3dcf9ff7db172bc7a7cf29c99a30dca868a35edd27f6e0c7ff7b22391cbd53267e7089b5324b
6
+ metadata.gz: 9b55330392c9a08127b4acdb0b25f30b16018a837d3dc16ed52f573b593e90e5258e6659da61c4a0178935b35706f51ff1e71b748b7d26d6af7bcafce74cdd10
7
+ data.tar.gz: b297a6f502fbb02b8816351b11ff32cf1a6109229c30fd236b6fc8a01aa85e7577b5426c89a1e4e5dff5aa69cd1ffe62e6b5fd822c3fcf6847cbe30d8514691e
data/.cross_rubies CHANGED
@@ -1,3 +1,8 @@
1
+ 3.2.0:x86_64-w64-mingw32
2
+ 3.2.0:x86_64-linux-gnu
3
+ 3.2.0:aarch64-linux-gnu
4
+ 3.2.0:x86_64-darwin
5
+ 3.2.0:arm64-darwin
1
6
  3.1.0:x86_64-w64-mingw32
2
7
  3.1.0:x86_64-linux-gnu
3
8
  3.1.0:aarch64-linux-gnu
@@ -10,7 +10,7 @@ concurrency:
10
10
  cancel-in-progress: true
11
11
 
12
12
  env:
13
- BUNDLER_VER: 2.3.24
13
+ BUNDLER_VER: 2.4.22
14
14
  # Forcing bundler version to ensure that it is consistent everywhere and
15
15
  # does not cause bundler gem reinstalls
16
16
  # bundler/rubygems 2.3.22 is a minimal requirement to support gnu/musl differentiation
@@ -21,14 +21,14 @@ jobs:
21
21
  runs-on: ubuntu-latest
22
22
  steps:
23
23
  - name: Checkout
24
- uses: actions/checkout@v3
24
+ uses: actions/checkout@v4
25
25
  with:
26
26
  submodules: recursive
27
27
 
28
28
  - name: Install Ruby
29
29
  uses: ruby/setup-ruby@master
30
30
  with:
31
- ruby-version: 3.0
31
+ ruby-version: 3.1
32
32
  bundler: ${{ env.BUNDLER_VER }}
33
33
  bundler-cache: true
34
34
 
@@ -44,12 +44,12 @@ jobs:
44
44
  strategy:
45
45
  fail-fast: false
46
46
  matrix:
47
- ruby: [ '3.1', '3.0', '2.7' ]
47
+ ruby: [ '3.2', '3.1', '3.0', '2.7' ]
48
48
  os: [ ubuntu-latest, windows-latest, macos-latest ]
49
49
 
50
50
  steps:
51
51
  - name: Checkout
52
- uses: actions/checkout@v3
52
+ uses: actions/checkout@v4
53
53
  with:
54
54
  submodules: recursive
55
55
 
@@ -83,11 +83,9 @@ jobs:
83
83
  # test release workflow
84
84
  pack-ruby:
85
85
  runs-on: ubuntu-latest
86
- strategy:
87
- fail-fast: false
88
86
  steps:
89
87
  - name: Checkout
90
- uses: actions/checkout@v3
88
+ uses: actions/checkout@v4
91
89
  with:
92
90
  submodules: recursive
93
91
 
@@ -119,7 +117,7 @@ jobs:
119
117
  host: [ linux, windows, darwin ]
120
118
  steps:
121
119
  - name: Checkout
122
- uses: actions/checkout@v3
120
+ uses: actions/checkout@v4
123
121
  with:
124
122
  submodules: recursive
125
123
 
@@ -158,7 +156,7 @@ jobs:
158
156
  strategy:
159
157
  fail-fast: false
160
158
  matrix:
161
- ruby: [ '3.1', '3.0', '2.7' ]
159
+ ruby: [ '3.2', '3.1', '3.0', '2.7' ]
162
160
  os: [ ubuntu-latest, windows-latest, macos-latest ]
163
161
  steps:
164
162
  - name: Install Ruby
@@ -169,7 +167,7 @@ jobs:
169
167
  bundler: ${{ env.BUNDLER_VER }}
170
168
 
171
169
  - name: Checkout
172
- uses: actions/checkout@v3
170
+ uses: actions/checkout@v4
173
171
  with:
174
172
  submodules: recursive
175
173
 
@@ -198,7 +196,7 @@ jobs:
198
196
  strategy:
199
197
  fail-fast: false
200
198
  matrix:
201
- ruby: [ '3.1', '3.0', '2.7' ]
199
+ ruby: [ '3.2', '3.1', '3.0', '2.7' ]
202
200
  steps:
203
201
  - name: Install Ruby
204
202
  uses: ruby/setup-ruby@master
@@ -208,7 +206,7 @@ jobs:
208
206
  bundler: ${{ env.BUNDLER_VER }}
209
207
 
210
208
  - name: Checkout
211
- uses: actions/checkout@v3
209
+ uses: actions/checkout@v4
212
210
 
213
211
  - name: Bundle
214
212
  run: bundle install --jobs 4 --retry 3
@@ -236,7 +234,7 @@ jobs:
236
234
  strategy:
237
235
  fail-fast: false
238
236
  matrix:
239
- ruby: [ '3.1', '3.0', '2.7' ]
237
+ ruby: [ '3.2', '3.1', '3.0', '2.7' ]
240
238
  steps:
241
239
  - name: Install Ruby
242
240
  uses: ruby/setup-ruby@master
@@ -246,7 +244,7 @@ jobs:
246
244
  bundler: ${{ env.BUNDLER_VER }}
247
245
 
248
246
  - name: Checkout
249
- uses: actions/checkout@v3
247
+ uses: actions/checkout@v4
250
248
 
251
249
  - name: Bundle
252
250
  run: bundle install --jobs 4 --retry 3
@@ -276,7 +274,7 @@ jobs:
276
274
  # Ruby 3.1 fails
277
275
  # https://github.com/lutaml/expressir/issues/103
278
276
  matrix:
279
- ruby: [ '3.1', '3.0', '2.7' ]
277
+ ruby: [ '3.2', '3.1', '3.0', '2.7' ]
280
278
  steps:
281
279
  - name: Install Ruby
282
280
  uses: ruby/setup-ruby@master
@@ -286,7 +284,7 @@ jobs:
286
284
  bundler: ${{ env.BUNDLER_VER }}
287
285
 
288
286
  - name: Checkout
289
- uses: actions/checkout@v3
287
+ uses: actions/checkout@v4
290
288
 
291
289
  - name: Bundle
292
290
  run: bundle install --jobs 4 --retry 3
@@ -15,24 +15,17 @@ concurrency:
15
15
  group: '${{ github.workflow }}-${{ github.job }}-${{ github.head_ref || github.ref_name }}'
16
16
  cancel-in-progress: true
17
17
 
18
- env:
19
- BUNDLER_VER: 2.3.24
20
- # Forcing bundler version to ensure that it is consistent everywhere and
21
- # does not cause bundler gem reinstalls
22
- # bundler/rubygems 2.3.22 is a minimal requirement to support gnu/musl differentiation
23
- # https://github.com/rubygems/rubygems/pull/4488
24
-
25
18
  jobs:
26
19
  bump:
27
20
  runs-on: ubuntu-latest
28
21
  steps:
29
- - uses: actions/checkout@v2
22
+ - uses: actions/checkout@v4
30
23
  with:
31
24
  submodules: recursive
32
25
 
33
26
  - uses: ruby/setup-ruby@master
34
27
  with:
35
- ruby-version: '3.0'
28
+ ruby-version: '3.1'
36
29
  bundler: ${{ env.BUNDLER_VER }}
37
30
 
38
31
  - if: ${{ github.event_name == 'workflow_dispatch' }} # unfortunatelly cannot keep this condition on job level
@@ -50,17 +43,16 @@ jobs:
50
43
  matrix:
51
44
  host: [ linux, windows, darwin ]
52
45
  steps:
53
- - uses: actions/checkout@v2
46
+ - uses: actions/checkout@v4
54
47
  with:
55
48
  submodules: recursive
56
49
  ref: main # https://github.com/actions/checkout/issues/439#issuecomment-830862188
57
50
 
58
51
  - uses: ruby/setup-ruby@master
59
52
  with:
60
- ruby-version: '3.0'
53
+ ruby-version: '3.1'
61
54
  # bundler-cache: true important to not use cache because it leads to "cannot find -lrice"
62
55
  # more info https://github.com/lutaml/expressir/runs/2097658383?check_suite_focus=true#step:7:2126
63
- bundler: ${{ env.BUNDLER_VER }}
64
56
 
65
57
  - run: bundle install --jobs 4 --retry 3
66
58
 
@@ -90,7 +82,7 @@ jobs:
90
82
  path: pkg/*.gem
91
83
 
92
84
  publish:
93
- runs-on: ubuntu-18.04
85
+ runs-on: ubuntu-latest
94
86
  needs: pack
95
87
  steps:
96
88
  - uses: actions/download-artifact@v3
@@ -115,8 +107,7 @@ jobs:
115
107
 
116
108
  - uses: ruby/setup-ruby@master
117
109
  with:
118
- ruby-version: '3.0'
119
- bundler: ${{ env.BUNDLER_VER }}
110
+ ruby-version: '3.1'
120
111
 
121
112
  - run: ls -l pkg/
122
113
 
data/.rubocop.yml CHANGED
@@ -3,6 +3,7 @@ inherit_from:
3
3
 
4
4
  AllCops:
5
5
  TargetRubyVersion: 2.7
6
+ NewCops: enable
6
7
  SuggestExtensions: false
7
8
  Exclude:
8
9
  - 'vendor/**/*'
data/bin/rspec CHANGED
@@ -15,7 +15,7 @@ ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
15
15
  bundle_binstub = File.expand_path("bundle", __dir__)
16
16
 
17
17
  if File.file?(bundle_binstub)
18
- if /This file was generated by Bundler/.match?(File.read(bundle_binstub, 300))
18
+ if File.read(bundle_binstub, 300).include?("This file was generated by Bundler")
19
19
  load(bundle_binstub)
20
20
  else
21
21
  abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
data/expressir.gemspec CHANGED
@@ -39,10 +39,10 @@ Gem::Specification.new do |spec|
39
39
  spec.add_development_dependency "pry", "~> 0.12.2"
40
40
  spec.add_development_dependency "rake", "~> 13.0"
41
41
  spec.add_development_dependency "rake-compiler", "~> 1.2"
42
- spec.add_development_dependency "rake-compiler-dock", "~> 1.2.1"
42
+ spec.add_development_dependency "rake-compiler-dock", "~> 1.3"
43
43
  spec.add_development_dependency "rspec", "~> 3.11"
44
- spec.add_development_dependency "rubocop", "1.5.2"
45
- spec.add_development_dependency "rubocop-performance", "~> 1.0"
44
+ spec.add_development_dependency "rubocop", "1.58"
45
+ spec.add_development_dependency "rubocop-performance", "~> 1.19"
46
46
  spec.add_development_dependency "webrick", "~> 1.7.0"
47
47
  spec.add_development_dependency "yard", "~> 0.9.26"
48
48
  end
@@ -31,11 +31,12 @@ module Expressir
31
31
  # @param [Boolean] include_source attach original source code to model elements
32
32
  # @return [Model::Repository]
33
33
  def self.from_file(file, skip_references: nil, include_source: nil)
34
+ raise Errno::ENOENT, "File not found: #{file}" unless File.exist?(file)
34
35
 
35
36
  # An important note re memory management
36
37
  # parse, syntax, visitor methods return complex tree structures created in native (C++) extension
37
38
  # visit method references nodes and leaves of this structures but it is totally untransparent for Ruby GarbageCllector
38
- # so in this class we keep those C++ structure marked for GC so they are not freed
39
+ # so in this class we keep those C++ structure marked for GC so they are not freed
39
40
  @parser = ::ExpressParser::ParserExt.new(file.to_s)
40
41
  @parse_tree = @parser.syntax()
41
42
 
@@ -17,7 +17,7 @@ require "set"
17
17
  # - such multi-pass parsing is not implemented yet
18
18
  # - xxxRef - merged to SimpleReference
19
19
  # - entityConstructor, functionCall - merged to FunctionCall
20
- #
20
+ #
21
21
  # difference between generalized and instantiable types is not recognized
22
22
  # see note in 8.6.2 Parameter data types
23
23
  # > A syntactic construct such as ARRAY[1:3] OF REAL satisfies two syntactic productions —
@@ -69,7 +69,7 @@ module Expressir
69
69
  default
70
70
  end
71
71
  end
72
-
72
+
73
73
  def visit_if_map(ctx)
74
74
  if ctx
75
75
  ctx.map{|ctx2| visit(ctx2)}
@@ -77,7 +77,7 @@ module Expressir
77
77
  []
78
78
  end
79
79
  end
80
-
80
+
81
81
  def visit_if_map_flatten(ctx)
82
82
  if ctx
83
83
  ctx.map{|ctx2| visit(ctx2)}.flatten
@@ -111,15 +111,25 @@ module Expressir
111
111
  end
112
112
  end
113
113
 
114
+ def node_find(node, path)
115
+ if node.is_a?(Enumerable)
116
+ target_node = node.find { |item| item.find(path) }
117
+ else
118
+ target_node = node.find(path)
119
+ end
120
+ target_node
121
+ end
122
+
114
123
  def find_remark_target(node, path)
115
- target_node = node.find(path)
124
+ target_node = node_find(node, path)
125
+
116
126
  return target_node if target_node
117
127
 
118
128
  # check if path can create implicit remark item
119
129
  # see https://github.com/lutaml/expressir/issues/78
120
130
  rest, _, current_path = path.rpartition(".") # get last path part
121
131
  _, _, current_path = current_path.rpartition(":") # ignore prefix
122
- parent_node = node.find(rest)
132
+ parent_node = node_find(node, rest)
123
133
  if parent_node and parent_node.class.method_defined? :remark_items
124
134
  remark_item = Model::Declarations::RemarkItem.new(
125
135
  id: current_path
@@ -134,7 +144,7 @@ module Expressir
134
144
  parent_node.remark_items << remark_item
135
145
  end
136
146
  parent_node.reset_children_by_id
137
-
147
+
138
148
  remark_item
139
149
  end
140
150
  end
@@ -427,7 +437,7 @@ module Expressir
427
437
  optional = ctx__OPTIONAL && true
428
438
  unique = ctx__UNIQUE && true
429
439
  base_type = visit_if(ctx__instantiable_type)
430
-
440
+
431
441
  Model::DataTypes::Array.new(
432
442
  bound1: bound1,
433
443
  bound2: bound2,
@@ -495,7 +505,7 @@ module Expressir
495
505
  bound1 = visit_if(ctx__bound_spec__bound1)
496
506
  bound2 = visit_if(ctx__bound_spec__bound2)
497
507
  base_type = visit_if(ctx__instantiable_type)
498
-
508
+
499
509
  Model::DataTypes::Bag.new(
500
510
  bound1: bound1,
501
511
  bound2: bound2,
@@ -830,7 +840,7 @@ module Expressir
830
840
  if ctx__type_ref
831
841
  ref = visit_if(ctx__type_ref)
832
842
  attribute = visit_if(ctx__enumeration_ref)
833
-
843
+
834
844
  Model::References::AttributeReference.new(
835
845
  ref: ref,
836
846
  attribute: attribute
@@ -1030,7 +1040,7 @@ module Expressir
1030
1040
  optional = ctx__OPTIONAL && true
1031
1041
  unique = ctx__UNIQUE && true
1032
1042
  base_type = visit_if(ctx__parameter_type)
1033
-
1043
+
1034
1044
  Model::DataTypes::Array.new(
1035
1045
  bound1: bound1,
1036
1046
  bound2: bound2,
@@ -1049,7 +1059,7 @@ module Expressir
1049
1059
  bound1 = visit_if(ctx__bound_spec__bound1)
1050
1060
  bound2 = visit_if(ctx__bound_spec__bound2)
1051
1061
  base_type = visit_if(ctx__parameter_type)
1052
-
1062
+
1053
1063
  Model::DataTypes::Bag.new(
1054
1064
  bound1: bound1,
1055
1065
  bound2: bound2,
@@ -1068,7 +1078,7 @@ module Expressir
1068
1078
  bound2 = visit_if(ctx__bound_spec__bound2)
1069
1079
  unique = ctx__UNIQUE && true
1070
1080
  base_type = visit_if(ctx__parameter_type)
1071
-
1081
+
1072
1082
  Model::DataTypes::List.new(
1073
1083
  bound1: bound1,
1074
1084
  bound2: bound2,
@@ -1093,7 +1103,7 @@ module Expressir
1093
1103
  bound1 = visit_if(ctx__bound_spec__bound1)
1094
1104
  bound2 = visit_if(ctx__bound_spec__bound2)
1095
1105
  base_type = visit_if(ctx__parameter_type)
1096
-
1106
+
1097
1107
  Model::DataTypes::Set.new(
1098
1108
  bound1: bound1,
1099
1109
  bound2: bound2,
@@ -1358,7 +1368,7 @@ module Expressir
1358
1368
  bound2 = visit_if(ctx__bound_spec__bound2)
1359
1369
  unique = ctx__UNIQUE && true
1360
1370
  base_type = visit_if(ctx__instantiable_type)
1361
-
1371
+
1362
1372
  Model::DataTypes::List.new(
1363
1373
  bound1: bound1,
1364
1374
  bound2: bound2,
@@ -1989,7 +1999,7 @@ module Expressir
1989
1999
  end
1990
2000
  end
1991
2001
  end
1992
-
2002
+
1993
2003
  Model::Declarations::SchemaVersion.new(
1994
2004
  value: value,
1995
2005
  items: items
@@ -2042,7 +2052,7 @@ module Expressir
2042
2052
  bound1 = visit_if(ctx__bound_spec__bound1)
2043
2053
  bound2 = visit_if(ctx__bound_spec__bound2)
2044
2054
  base_type = visit_if(ctx__instantiable_type)
2045
-
2055
+
2046
2056
  Model::DataTypes::Set.new(
2047
2057
  bound1: bound1,
2048
2058
  bound2: bound2,
@@ -2087,7 +2097,7 @@ module Expressir
2087
2097
  def visit_simple_factor_expression(ctx)
2088
2098
  ctx__expression = ctx.expression
2089
2099
  ctx__primary = ctx.primary
2090
-
2100
+
2091
2101
  visit_if(ctx__expression || ctx__primary)
2092
2102
  end
2093
2103
 
@@ -2575,4 +2585,4 @@ module Expressir
2575
2585
  end
2576
2586
  end
2577
2587
  end
2578
- end
2588
+ end
@@ -1,3 +1,3 @@
1
1
  module Expressir
2
- VERSION = "1.2.8".freeze
2
+ VERSION = "1.2.10".freeze
3
3
  end
data/lib/expressir.rb CHANGED
@@ -3,6 +3,10 @@ require "expressir/version"
3
3
  require "expressir/cli"
4
4
  require "expressir/config"
5
5
 
6
+ Dir[File.join(__dir__, "expressir", "express", "*.rb")].sort.each do |fea|
7
+ require fea
8
+ end
9
+
6
10
  module Expressir
7
11
  class Error < StandardError; end
8
12
 
@@ -126,7 +126,7 @@ CrossRuby = Struct.new(:version, :host) do
126
126
 
127
127
  def verify_entry_linux(dll)
128
128
  nm = `#{["env", "LANG=C", tool("nm"), "-D", dll].shelljoin}`
129
- unless / T Init_express_parser/.match?(nm)
129
+ unless nm.include?(" T Init_express_parser")
130
130
  raise "Export function Init_express_parser not in dll #{dll}"
131
131
  end
132
132
  end
@@ -166,7 +166,7 @@ CrossRuby = Struct.new(:version, :host) do
166
166
  "api-ms-win-crt-filesystem-l1-1-0.dll",
167
167
  "api-ms-win-crt-math-l1-1-0.dll",
168
168
  "libwinpthread-1.dll",
169
- "x64-ucrt-ruby310.dll"]
169
+ "x64-ucrt-ruby#{api_ver_suffix}.dll"]
170
170
  end
171
171
  # rubocop:enable Metrics/MethodLength
172
172
 
@@ -195,6 +195,7 @@ CrossRuby = Struct.new(:version, :host) do
195
195
  "libm.so",
196
196
  "libstdc++.so",
197
197
  "libgcc_s.so",
198
+ "libpthread.so",
198
199
  ]
199
200
  end
200
201
 
@@ -223,7 +224,7 @@ CrossRuby = Struct.new(:version, :host) do
223
224
  end
224
225
 
225
226
  def actual_dlls_windows(dump)
226
- dump.scan(/DLL Name: (.*)$/).map(&:first).map(&:downcase).uniq
227
+ dump.scan(/DLL Name: (.*)$/).map { |x| x.first.downcase }.uniq
227
228
  end
228
229
 
229
230
  def actual_dlls_darwin(dll)
@@ -272,12 +273,12 @@ CrossRuby = Struct.new(:version, :host) do
272
273
  end
273
274
  end
274
275
 
275
- CROSS_RUBIES = File.read(".cross_rubies").split("\n").map do |line|
276
+ CROSS_RUBIES = File.read(".cross_rubies").split("\n").filter_map do |line|
276
277
  case line
277
278
  when /\A([^#]+):([^#]+)/
278
279
  CrossRuby.new($1, $2)
279
280
  end
280
- end.compact
281
+ end
281
282
 
282
283
  ENV["RUBY_CC_VERSION"] = CROSS_RUBIES.map(&:ver).uniq.join(":")
283
284
 
@@ -329,7 +330,7 @@ namespace "gem" do
329
330
  #{pre_req(plat)} &&
330
331
  gem install bundler --no-document &&
331
332
  bundle &&
332
- bundle exec rake gem:#{plat}:builder MAKE='nice make -j`nproc`'
333
+ bundle exec rake gem:#{plat}:builder MAKE="nice make -j`nproc`"
333
334
  RCD
334
335
  end
335
336
 
@@ -33,6 +33,13 @@ RSpec.describe Expressir::Express::Cache do
33
33
  end
34
34
 
35
35
  describe ".from_file" do
36
+ it "throws an exception if the cache file does not exist" do |example|
37
+ print "\n[#{example.description}] "
38
+ expect do
39
+ Expressir::Express::Cache.from_file("non-existing-file", test_overwrite_version: TEST_VERSION)
40
+ end.to raise_error(Errno::ENOENT)
41
+ end
42
+
36
43
  it "parses a file" do |example|
37
44
  print "\n[#{example.description}] "
38
45
  temp_file = Tempfile.new
@@ -4,6 +4,13 @@ require "expressir/express/parser"
4
4
 
5
5
  RSpec.describe Expressir::Express::Parser do
6
6
  describe ".from_file" do
7
+ it "throws an exception if the file to parse does not exist" do |example|
8
+ print "\n[#{example.description}] "
9
+ expect do
10
+ Expressir::Express::Parser.from_file("non-existing-file")
11
+ end.to raise_error(Errno::ENOENT)
12
+ end
13
+
7
14
  it "parses a file (single.exp)" do |example|
8
15
  print "\n[#{example.description}] "
9
16
  exp_file = Expressir.root_path.join("spec", "syntax", "single.exp")
@@ -23,7 +23,9 @@ ENTITY remark_entity;
23
23
  DERIVE remark_derived_attribute : STRING := 'xxx';
24
24
  INVERSE remark_inverse_attribute : remark_entity FOR remark_attribute;
25
25
  UNIQUE UR1: remark_attribute;
26
- WHERE WR1: TRUE;
26
+ WHERE WR1:
27
+ --"unusual_placement" placed inside WHERE clauses (or other enumerable context)
28
+ TRUE;
27
29
  --"remark_attribute" entity scope - entity attribute
28
30
  --"remark_derived_attribute" entity scope - entity derived attribute
29
31
  --"remark_inverse_attribute" entity scope - entity inverse attribute
@@ -188,4 +190,4 @@ END_SCHEMA;
188
190
  --"remark_schema.remark_procedure.remark_enumeration_item" universal scope - procedure enumeration item, on the same level as the type
189
191
  --"remark_schema.remark_procedure.remark_constant" universal scope - procedure constant
190
192
  --"remark_schema.remark_procedure.remark_variable" universal scope - procedure variable
191
- --"remark_schema.remark_item" universal scope - schema remark item
193
+ --"remark_schema.remark_item" universal scope - schema remark item
@@ -133,6 +133,11 @@ schemas:
133
133
  - schema scope - entity where, with prefix
134
134
  - universal scope - entity where
135
135
  - universal scope - entity where, with prefix
136
+ remark_items:
137
+ - _class: Expressir::Model::Declarations::RemarkItem
138
+ id: unusual_placement
139
+ remarks:
140
+ - placed inside WHERE clauses (or other enumerable context)
136
141
  expression:
137
142
  _class: Expressir::Model::Literals::Logical
138
143
  value: :TRUE
@@ -146,6 +146,7 @@ several physical lines.
146
146
  --"remark_schema.remark_entity.WR1" schema scope - entity where, with prefix
147
147
  --"remark_schema.remark_entity.WR1" universal scope - entity where
148
148
  --"remark_schema.remark_entity.WR1" universal scope - entity where, with prefix
149
+ --"remark_schema.remark_entity.WR1.unusual_placement" placed inside WHERE clauses (or other enumerable context)
149
150
  --"remark_schema.remark_entity.IP1" entity scope - entity informal proposition
150
151
  --"remark_schema.remark_entity.IP1" entity scope - entity informal proposition, with prefix
151
152
  --"remark_schema.remark_entity.IP1" schema scope - entity informal proposition
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: expressir
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.8
4
+ version: 1.2.10
5
5
  platform: x64-mingw32
6
6
  authors:
7
7
  - Ribose Inc.
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-10-26 00:00:00.000000000 Z
11
+ date: 2023-12-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -128,14 +128,14 @@ dependencies:
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: 1.2.1
131
+ version: '1.3'
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: 1.2.1
138
+ version: '1.3'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: rspec
141
141
  requirement: !ruby/object:Gem::Requirement
@@ -156,28 +156,28 @@ dependencies:
156
156
  requirements:
157
157
  - - '='
158
158
  - !ruby/object:Gem::Version
159
- version: 1.5.2
159
+ version: '1.58'
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - '='
165
165
  - !ruby/object:Gem::Version
166
- version: 1.5.2
166
+ version: '1.58'
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: rubocop-performance
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
171
  - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: '1.0'
173
+ version: '1.19'
174
174
  type: :development
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
178
  - - "~>"
179
179
  - !ruby/object:Gem::Version
180
- version: '1.0'
180
+ version: '1.19'
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: webrick
183
183
  requirement: !ruby/object:Gem::Requirement
@@ -363,7 +363,7 @@ metadata:
363
363
  homepage_uri: https://github.com/lutaml/expressir
364
364
  source_code_uri: https://github.com/lutaml/expressir
365
365
  changelog_uri: https://github.com/lutaml/expressir/releases
366
- post_install_message:
366
+ post_install_message:
367
367
  rdoc_options: []
368
368
  require_paths:
369
369
  - lib
@@ -381,8 +381,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
381
381
  - !ruby/object:Gem::Version
382
382
  version: '0'
383
383
  requirements: []
384
- rubygems_version: 3.3.4
385
- signing_key:
384
+ rubygems_version: 3.3.26
385
+ signing_key:
386
386
  specification_version: 4
387
387
  summary: ISO EXPRESS parser and tools in Ruby.
388
388
  test_files: []