expressir 1.2.9 → 1.2.10

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: eaa506f3baadfef96b9ea1760f21a32c111a2e14d41be0e61a7794e68075e6e5
4
- data.tar.gz: 621683d72768375aba6c302cd245191fed916930aa1c4490ec41ee7263b053e2
3
+ metadata.gz: b79076aac36b78a7fe98813df3e823d415f3187d764f37f127788a11b09c0d9d
4
+ data.tar.gz: 3377cce3900cfba2b64706fdcd360f5d4b293858fb1ed6032db735dd87437837
5
5
  SHA512:
6
- metadata.gz: 7ff98f9a3e3ff7f73ea060665e64c63e77bee3030861f36f4a2287ece88498d227b9fd618396813dfe971f326e0c4e0055bde1678338e0df38ec37264d1590d3
7
- data.tar.gz: b17547db600a3e6ec9acaa99870ab12d0f5b184d9669eeb0f7ffd3cea9de840fa6daa112160fe06e511394851c9c99259cf451d9733bbd6fa28e9b3a4ea281a5
6
+ metadata.gz: 2b893ab3be2df432d3e6b7a83faf09e64b30f2b289af52f92b1096a333b28d2ac57be7c58623b72a3640fd7e98238260b8f6c8a88cb89eea20e9272fbd56d9d0
7
+ data.tar.gz: a461bc5dde0e042c419b2c1e126695ccf759a4b969c2f2a57c3c01e09d2cfdb3249db2973cc4d63c0c4c3911be9b9c1170ee198fa06ea5062225eebd30730eae
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
 
@@ -85,7 +85,7 @@ jobs:
85
85
  runs-on: ubuntu-latest
86
86
  steps:
87
87
  - name: Checkout
88
- uses: actions/checkout@v3
88
+ uses: actions/checkout@v4
89
89
  with:
90
90
  submodules: recursive
91
91
 
@@ -117,7 +117,7 @@ jobs:
117
117
  host: [ linux, windows, darwin ]
118
118
  steps:
119
119
  - name: Checkout
120
- uses: actions/checkout@v3
120
+ uses: actions/checkout@v4
121
121
  with:
122
122
  submodules: recursive
123
123
 
@@ -156,7 +156,7 @@ jobs:
156
156
  strategy:
157
157
  fail-fast: false
158
158
  matrix:
159
- ruby: [ '3.1', '3.0', '2.7' ]
159
+ ruby: [ '3.2', '3.1', '3.0', '2.7' ]
160
160
  os: [ ubuntu-latest, windows-latest, macos-latest ]
161
161
  steps:
162
162
  - name: Install Ruby
@@ -167,7 +167,7 @@ jobs:
167
167
  bundler: ${{ env.BUNDLER_VER }}
168
168
 
169
169
  - name: Checkout
170
- uses: actions/checkout@v3
170
+ uses: actions/checkout@v4
171
171
  with:
172
172
  submodules: recursive
173
173
 
@@ -196,7 +196,7 @@ jobs:
196
196
  strategy:
197
197
  fail-fast: false
198
198
  matrix:
199
- ruby: [ '3.1', '3.0', '2.7' ]
199
+ ruby: [ '3.2', '3.1', '3.0', '2.7' ]
200
200
  steps:
201
201
  - name: Install Ruby
202
202
  uses: ruby/setup-ruby@master
@@ -206,7 +206,7 @@ jobs:
206
206
  bundler: ${{ env.BUNDLER_VER }}
207
207
 
208
208
  - name: Checkout
209
- uses: actions/checkout@v3
209
+ uses: actions/checkout@v4
210
210
 
211
211
  - name: Bundle
212
212
  run: bundle install --jobs 4 --retry 3
@@ -234,7 +234,7 @@ jobs:
234
234
  strategy:
235
235
  fail-fast: false
236
236
  matrix:
237
- ruby: [ '3.1', '3.0', '2.7' ]
237
+ ruby: [ '3.2', '3.1', '3.0', '2.7' ]
238
238
  steps:
239
239
  - name: Install Ruby
240
240
  uses: ruby/setup-ruby@master
@@ -244,7 +244,7 @@ jobs:
244
244
  bundler: ${{ env.BUNDLER_VER }}
245
245
 
246
246
  - name: Checkout
247
- uses: actions/checkout@v3
247
+ uses: actions/checkout@v4
248
248
 
249
249
  - name: Bundle
250
250
  run: bundle install --jobs 4 --retry 3
@@ -274,7 +274,7 @@ jobs:
274
274
  # Ruby 3.1 fails
275
275
  # https://github.com/lutaml/expressir/issues/103
276
276
  matrix:
277
- ruby: [ '3.1', '3.0', '2.7' ]
277
+ ruby: [ '3.2', '3.1', '3.0', '2.7' ]
278
278
  steps:
279
279
  - name: Install Ruby
280
280
  uses: ruby/setup-ruby@master
@@ -284,7 +284,7 @@ jobs:
284
284
  bundler: ${{ env.BUNDLER_VER }}
285
285
 
286
286
  - name: Checkout
287
- uses: actions/checkout@v3
287
+ uses: actions/checkout@v4
288
288
 
289
289
  - name: Bundle
290
290
  run: bundle install --jobs 4 --retry 3
data/expressir.gemspec CHANGED
@@ -39,7 +39,7 @@ 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
44
  spec.add_development_dependency "rubocop", "1.58"
45
45
  spec.add_development_dependency "rubocop-performance", "~> 1.19"
@@ -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
 
@@ -1,3 +1,3 @@
1
1
  module Expressir
2
- VERSION = "1.2.9".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
 
@@ -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
 
@@ -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")
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.9
4
+ version: 1.2.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-12-09 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: rice
@@ -142,14 +142,14 @@ dependencies:
142
142
  requirements:
143
143
  - - "~>"
144
144
  - !ruby/object:Gem::Version
145
- version: 1.2.1
145
+ version: '1.3'
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
- version: 1.2.1
152
+ version: '1.3'
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: rspec
155
155
  requirement: !ruby/object:Gem::Requirement