expressir 1.2.8-x86_64-linux → 1.2.10-x86_64-linux

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
2
  SHA256:
3
- metadata.gz: c35ae2b10048dfb51449ddc19d25b11ed84642a742d3e7511534d03ba5ffd318
4
- data.tar.gz: b0db755775b7a80534db7fb1edbc1fefd7228b21ba0642bb05bc58b4b25f7416
3
+ metadata.gz: ded4330fafeba2ed6b5c62399a553f2cac21914ddafedb718f625fb7a8ad9c23
4
+ data.tar.gz: 2d2feb503b985361184f57b214752bfd747dad72ea659711642343d0b064e303
5
5
  SHA512:
6
- metadata.gz: e9e11e2094b28d7cb49dd04cfcb6b19fece2dee68607cf406ef7d6274eacf7239d9638df9df2ecf925a95280d24f3ffe93750d3c26ee8dbb635f4b2164521b30
7
- data.tar.gz: 8ff82dc62c9c7ed1327f6c494b20f070b3b1af0e775e14b269a90bad09472d444294397c27e9bf2c32f61142186c6c3aa4c89372cf9c642ea5376578e0231581
6
+ metadata.gz: 4c8ad49c5667cdfd464569ffd36f83fa880a6b4449be085c3c57570ad3134926d949ff3ee133e02220e8b5c6819967024e9a2dfb7172600487ec6536ea09c034
7
+ data.tar.gz: 7179f8cde0b7d5ab8e95ff652b8c0d94d663a2590740f1f47947d8be5ceb8b4884d5f1eb17493d1edf2d44ed0c01643a124da737c952ae38a9805b682970e006
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: x86_64-linux
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
@@ -243,6 +243,7 @@ files:
243
243
  - lib/expressir/express/2.7/express_parser.so
244
244
  - lib/expressir/express/3.0/express_parser.so
245
245
  - lib/expressir/express/3.1/express_parser.so
246
+ - lib/expressir/express/3.2/express_parser.so
246
247
  - lib/expressir/express/cache.rb
247
248
  - lib/expressir/express/formatter.rb
248
249
  - lib/expressir/express/hyperlink_formatter.rb
@@ -364,7 +365,7 @@ metadata:
364
365
  homepage_uri: https://github.com/lutaml/expressir
365
366
  source_code_uri: https://github.com/lutaml/expressir
366
367
  changelog_uri: https://github.com/lutaml/expressir/releases
367
- post_install_message:
368
+ post_install_message:
368
369
  rdoc_options: []
369
370
  require_paths:
370
371
  - lib
@@ -375,15 +376,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
375
376
  version: '2.7'
376
377
  - - "<"
377
378
  - !ruby/object:Gem::Version
378
- version: 3.2.dev
379
+ version: 3.3.dev
379
380
  required_rubygems_version: !ruby/object:Gem::Requirement
380
381
  requirements:
381
382
  - - ">="
382
383
  - !ruby/object:Gem::Version
383
384
  version: '0'
384
385
  requirements: []
385
- rubygems_version: 3.3.4
386
- signing_key:
386
+ rubygems_version: 3.3.26
387
+ signing_key:
387
388
  specification_version: 4
388
389
  summary: ISO EXPRESS parser and tools in Ruby.
389
390
  test_files: []