cat_engine 0.1.0 → 0.2.0

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: 978fd55346645780b7553f8ee5f16efd85c23945
4
- data.tar.gz: d2ab015f0efd6c4a625a287aa47dbe686a5ab693
2
+ SHA256:
3
+ metadata.gz: 235962a68b9f7a187b2aab3211cab12b99ab72ba3593ddbfa130c8c215ddd82c
4
+ data.tar.gz: 4cd6a963847173e4d6ac4d7c10d419d05bc09ecae6c41603c5de284b2e1d646d
5
5
  SHA512:
6
- metadata.gz: fe2ac35c1da6745363a279f1773d7e7786e1bf042ddc7e07627b261783745b2efe61ff60181391f8b3e7f76ebfe83cadc95cd4e24c3a84287c8f5d56e23d8428
7
- data.tar.gz: abfc555e330a6d84cae8d1c13db2db00fcf63dd684c1299138b3c295107ec5690880c27276146fddb4b6f33d288edb5df3f0696d639eb7de81f82cbaef926e8c
6
+ metadata.gz: b87dca1dcf5502eba9e56850738a3862ec92dfc09303ab5389f2cca5ce4fd9185991fbb4e4772dc8159ffb74e46fc3e70a71cede66e6031ea55ab16057c113b5
7
+ data.tar.gz: 7f308779db0d6290b6699961738deb44b0792c0287f40eeb0d8a5014e9daea727d738e2b8cfcddc55ff94590413f035b82afb10da08ce0b46c7e23bbe0ecd958
@@ -0,0 +1,35 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ pull_request:
6
+
7
+ permissions:
8
+ contents: read
9
+
10
+ jobs:
11
+ test:
12
+ runs-on: ubuntu-latest
13
+ strategy:
14
+ fail-fast: false
15
+ matrix:
16
+ ruby: ["3.2", "3.3", "3.4"]
17
+ steps:
18
+ - name: Checkout
19
+ uses: actions/checkout@v4
20
+
21
+ - name: Set up Ruby ${{ matrix.ruby }}
22
+ uses: ruby/setup-ruby@v1
23
+ with:
24
+ ruby-version: ${{ matrix.ruby }}
25
+ bundler-cache: true
26
+
27
+ - name: Install Mono (for C# engine)
28
+ run: |
29
+ sudo apt-get update
30
+ sudo apt-get install -y mono-complete
31
+
32
+ - name: Run build and tests
33
+ run: |
34
+ bundle exec rake
35
+
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- ruby-2.2.3
1
+ ruby-3.3.4
data/cat_engine.gemspec CHANGED
@@ -23,8 +23,7 @@ Gem::Specification.new do |spec|
23
23
  spec.add_dependency "nokogiri", "~> 1.0"
24
24
  spec.add_dependency "memoist", "~> 0.14.0"
25
25
 
26
- spec.add_development_dependency "bundler", "~> 1.9"
27
- spec.add_development_dependency "rake", "~> 10.0"
28
- spec.add_development_dependency "rspec", "~> 3.0"
29
- spec.add_development_dependency "rspec-its", "~> 1.0"
26
+ spec.add_development_dependency "rake"
27
+ spec.add_development_dependency "rspec"
28
+ spec.add_development_dependency "rspec-its"
30
29
  end
@@ -1,5 +1,6 @@
1
1
  require "nokogiri"
2
2
  require "memoist"
3
+ require "open3"
3
4
  require "cat_engine/config"
4
5
 
5
6
  module CatEngine
@@ -10,20 +11,17 @@ module CatEngine
10
11
  def self.compile
11
12
  gmcs = [`which gmcs`.chomp, `which mcs`.chomp].find { |path| path != "" }
12
13
  system "cd #{CatEngine.cat_engine_source_path} && #{gmcs} -debug -out:#{CatEngine.cat_engine_executable_path} *.cs"
14
+ raise unless $?.success?
13
15
  end
14
16
 
15
- def process id, history
16
- command = %(cd #{CatEngine.cat_path} && mono --debug #{CatEngine.cat_engine_executable_path} "#{id}" #{history} 2>&1)
17
- output = `#{command}`.chomp
18
- if $?.success?
19
- Nokogiri::XML.parse(output, nil, "utf-8")
20
- else
21
- raise EngineError.new(output)
22
- end
17
+ def process id, history = []
18
+ output, status = Open3.capture2e("mono", "--debug", CatEngine.cat_engine_executable_path, id, *history, chdir: CatEngine.cat_path)
19
+ raise EngineError.new(output) unless status.success?
20
+ Nokogiri::XML.parse(output, nil, "utf-8")
23
21
  end
24
22
  memoize :process
25
23
 
26
- def valid_history? id, history
24
+ def valid_history? id, history = []
27
25
  process id, history
28
26
  true
29
27
  rescue EngineError => e
@@ -31,4 +29,3 @@ module CatEngine
31
29
  end
32
30
  end
33
31
  end
34
-
@@ -1,3 +1,3 @@
1
1
  module CatEngine
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cat_engine
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Micah Geisel
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-04-08 00:00:00.000000000 Z
11
+ date: 2026-09-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -52,62 +52,48 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: 0.14.0
55
- - !ruby/object:Gem::Dependency
56
- name: bundler
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '1.9'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: '1.9'
69
55
  - !ruby/object:Gem::Dependency
70
56
  name: rake
71
57
  requirement: !ruby/object:Gem::Requirement
72
58
  requirements:
73
- - - "~>"
59
+ - - ">="
74
60
  - !ruby/object:Gem::Version
75
- version: '10.0'
61
+ version: '0'
76
62
  type: :development
77
63
  prerelease: false
78
64
  version_requirements: !ruby/object:Gem::Requirement
79
65
  requirements:
80
- - - "~>"
66
+ - - ">="
81
67
  - !ruby/object:Gem::Version
82
- version: '10.0'
68
+ version: '0'
83
69
  - !ruby/object:Gem::Dependency
84
70
  name: rspec
85
71
  requirement: !ruby/object:Gem::Requirement
86
72
  requirements:
87
- - - "~>"
73
+ - - ">="
88
74
  - !ruby/object:Gem::Version
89
- version: '3.0'
75
+ version: '0'
90
76
  type: :development
91
77
  prerelease: false
92
78
  version_requirements: !ruby/object:Gem::Requirement
93
79
  requirements:
94
- - - "~>"
80
+ - - ">="
95
81
  - !ruby/object:Gem::Version
96
- version: '3.0'
82
+ version: '0'
97
83
  - !ruby/object:Gem::Dependency
98
84
  name: rspec-its
99
85
  requirement: !ruby/object:Gem::Requirement
100
86
  requirements:
101
- - - "~>"
87
+ - - ">="
102
88
  - !ruby/object:Gem::Version
103
- version: '1.0'
89
+ version: '0'
104
90
  type: :development
105
91
  prerelease: false
106
92
  version_requirements: !ruby/object:Gem::Requirement
107
93
  requirements:
108
- - - "~>"
94
+ - - ">="
109
95
  - !ruby/object:Gem::Version
110
- version: '1.0'
96
+ version: '0'
111
97
  description: Ruby wrapper around C# Cat Engine
112
98
  email:
113
99
  - micah@botandrose.com
@@ -115,11 +101,11 @@ executables: []
115
101
  extensions: []
116
102
  extra_rdoc_files: []
117
103
  files:
104
+ - ".github/workflows/ci.yml"
118
105
  - ".gitignore"
119
106
  - ".rspec"
120
107
  - ".ruby-gemset"
121
108
  - ".ruby-version"
122
- - ".travis.yml"
123
109
  - Gemfile
124
110
  - LICENSE.txt
125
111
  - README.md
@@ -146,7 +132,7 @@ homepage: https://github.com/botandrose/cat_engine
146
132
  licenses:
147
133
  - MIT
148
134
  metadata: {}
149
- post_install_message:
135
+ post_install_message:
150
136
  rdoc_options: []
151
137
  require_paths:
152
138
  - lib
@@ -161,9 +147,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
161
147
  - !ruby/object:Gem::Version
162
148
  version: '0'
163
149
  requirements: []
164
- rubyforge_project:
165
- rubygems_version: 2.6.8
166
- signing_key:
150
+ rubygems_version: 3.5.11
151
+ signing_key:
167
152
  specification_version: 4
168
153
  summary: Ruby wrapper around C# Cat Engine
169
154
  test_files: []
data/.travis.yml DELETED
@@ -1,3 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.2.0