dartsclone 0.1.0 → 0.3.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
2
  SHA256:
3
- metadata.gz: ffd79764c75c8fd8c2b7dc55b5f80c3875a0641420f05a9d1e07d701ffc15a17
4
- data.tar.gz: 70799ddcdb885b78fa338a36b28063df1ae41a0f87d3be6a1aad8faec8b939a7
3
+ metadata.gz: 1da00e4a34b27cfb6c92d84becee7272ae1750435162fc54569ac56eac480e3a
4
+ data.tar.gz: b4eef44bc5a1bed3e90a2feb672583042c06c663546753867281f470f16a8295
5
5
  SHA512:
6
- metadata.gz: af070c15bc7b53a58d06200a2a8da7ce931161c470248f43a80365af3323122db200fa467bce0fe738d5ecfbd1dde8865733c37a27dcf7d00f5c8947341feeef
7
- data.tar.gz: d4bad89bbbb9b2a7c8aa0defb663e56db7cbdae2a934308ebb86c8ad4ddc24a8d659722186b1ce9de4ce1f4faeaefb17821f1564ec54865e668813ca06617994
6
+ metadata.gz: 1a56790440c9bbd25ade6b59b5998d5201e119e92750afc659bc673c652e127d2edb19700de238ab6f03edc9e7272c300a7a995b49157ca952347c7ed1017e8b
7
+ data.tar.gz: 542dc9c97512fc29b2cfb54366370aca0105c724aa6f1a230071615a07667e1e2956089b966241fc936cfafa1faf6e1d6defe105c788e4fe1e30ead7a77993d4
@@ -0,0 +1,22 @@
1
+ name: build
2
+
3
+ on: [push, pull_request]
4
+
5
+ jobs:
6
+ build:
7
+ runs-on: ubuntu-latest
8
+ strategy:
9
+ fail-fast: false
10
+ matrix:
11
+ ruby: [ '2.6', '2.7', '3.0' ]
12
+ steps:
13
+ - uses: actions/checkout@v2
14
+ - name: Set up Ruby ${{ matrix.ruby }}
15
+ uses: actions/setup-ruby@v1
16
+ with:
17
+ ruby-version: ${{ matrix.ruby }}
18
+ - name: Build and test with Rake
19
+ run: |
20
+ gem install --no-document bundler
21
+ bundle install --jobs 4 --retry 3
22
+ bundle exec rake
data/.gitignore CHANGED
@@ -15,6 +15,7 @@ mkmf.log
15
15
  tags
16
16
  .DS_Store
17
17
  .ruby-version
18
+ spec/foo.dat
18
19
 
19
20
  # rspec failure tracking
20
21
  .rspec_status
data/CHANGELOG.md CHANGED
@@ -1,2 +1,18 @@
1
+ ## 0.3.0
2
+ - Add type declaration file: sig/dartsclone.rbs
3
+
4
+ ## 0.2.3
5
+ - Fix some codes and configulation files.
6
+
7
+ ## 0.2.2
8
+ - Refactor native extension codes considering garbage collection.
9
+
10
+ ## 0.2.1
11
+ - Replace Data_ functions to TypedData_ functions.
12
+ - Fix some config files.
13
+
14
+ ## 0.2.0
15
+ - Add get_array and set_array methods to dump and load array data.
16
+
1
17
  ## 0.1.0
2
18
  - First release.
data/Gemfile CHANGED
@@ -3,6 +3,8 @@ source "https://rubygems.org"
3
3
  # Specify your gem's dependencies in darts.gemspec
4
4
  gemspec
5
5
 
6
- gem "rake", "~> 12.0"
6
+ gem "rake", "~> 13.0"
7
7
  gem "rake-compiler"
8
8
  gem "rspec", "~> 3.0"
9
+ gem "rbs", "~> 1.2"
10
+ gem "steep", "~> 0.44"
data/LICENSE.txt CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2020 Atsushi Tatsuma
1
+ Copyright (c) 2020-2021 Atsushi Tatsuma
2
2
  All rights reserved.
3
3
 
4
4
  Redistribution and use in source and binary forms, with or without
data/README.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # Darts-clone.rb
2
2
 
3
- [![Build Status](https://travis-ci.org/yoshoku/darts-clone.rb.svg?branch=master)](https://travis-ci.org/yoshoku/darts-clone.rb)
3
+ [![Build Status](https://github.com/yoshoku/darts-clone.rb/workflows/build/badge.svg)](https://github.com/yoshoku/darts-clone.rb/actions?query=workflow%3Abuild)
4
4
  [![Gem Version](https://badge.fury.io/rb/dartsclone.svg)](https://badge.fury.io/rb/dartsclone)
5
- [![BSD 2-Clause License](https://img.shields.io/badge/License-BSD%202--Clause-orange.svg)](https://github.com/yoshoku/darts-clone.rb/blob/master/LICENSE.txt)
5
+ [![BSD 2-Clause License](https://img.shields.io/badge/License-BSD%202--Clause-orange.svg)](https://github.com/yoshoku/darts-clone.rb/blob/main/LICENSE.txt)
6
6
 
7
7
  Darts-clone.rb is a Ruby binding for the [Darts-clone](https://github.com/s-yata/darts-clone).
8
8
 
@@ -51,14 +51,14 @@ da.open('foo.dat')
51
51
  ## Contributing
52
52
 
53
53
  Bug reports and pull requests are welcome on GitHub at https://github.com/yoshoku/darts-clone.rb.
54
- This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/yoshoku/darts-clone.rb/blob/master/CODE_OF_CONDUCT.md).
54
+ This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/yoshoku/darts-clone.rb/blob/main/CODE_OF_CONDUCT.md).
55
55
 
56
56
  ## License
57
57
 
58
58
  The gem is available as open source under the terms of the [BSD 2-clause License](https://opensource.org/licenses/BSD-2-Clause).
59
59
  Moreover, the gem includes the source code of Darts-clone.
60
- The License of Darts-clone can be found in [COPYING.md](https://github.com/yoshoku/darts-clone.rb/blob/master/ext/dartsclone/src/COPYING.md).
60
+ The License of Darts-clone can be found in [COPYING.md](https://github.com/yoshoku/darts-clone.rb/blob/main/ext/dartsclone/src/COPYING.md).
61
61
 
62
62
  ## Code of Conduct
63
63
 
64
- Everyone interacting in the Darts project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/yoshoku/darts-clone.rb/blob/master/CODE_OF_CONDUCT.md).
64
+ Everyone interacting in the Darts project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/yoshoku/darts-clone.rb/blob/main/CODE_OF_CONDUCT.md).
data/Steepfile ADDED
@@ -0,0 +1,20 @@
1
+ target :lib do
2
+ signature "sig"
3
+ #
4
+ check "lib" # Directory name
5
+ # check "Gemfile" # File name
6
+ # check "app/models/**/*.rb" # Glob
7
+ # # ignore "lib/templates/*.rb"
8
+ #
9
+ # # library "pathname", "set" # Standard libraries
10
+ # # library "strong_json" # Gems
11
+ end
12
+
13
+ # target :spec do
14
+ # signature "sig", "sig-private"
15
+ #
16
+ # check "spec"
17
+ #
18
+ # # library "pathname", "set" # Standard libraries
19
+ # # library "rspec"
20
+ # end
data/dartsclone.gemspec CHANGED
@@ -14,6 +14,7 @@ Gem::Specification.new do |spec|
14
14
  spec.metadata['homepage_uri'] = spec.homepage
15
15
  spec.metadata['source_code_uri'] = spec.homepage
16
16
  spec.metadata['changelog_uri'] = 'https://github.com/yoshoku/darts-clone.rb/blob/master/CHANGELOG.md'
17
+ spec.metadata['documentation_uri'] = 'https://github.com/yoshoku/darts-clone.rb#usage'
17
18
 
18
19
  # Specify which files should be added to the gem when it is released.
19
20
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
@@ -1,6 +1,8 @@
1
1
  #ifndef DARTSCLONEEXT_HPP
2
2
  #define DARTSCLONEEXT_HPP 1
3
3
 
4
+ #include <cstring>
5
+
4
6
  #include <ruby.h>
5
7
  #include <darts.h>
6
8
 
@@ -9,17 +11,21 @@ class RbDoubleArray
9
11
  public:
10
12
  static VALUE double_array_alloc(VALUE self) {
11
13
  Darts::DoubleArray* ptr = (Darts::DoubleArray*)ruby_xmalloc(sizeof(Darts::DoubleArray));
12
- return Data_Wrap_Struct(self, NULL, double_array_free, ptr);
14
+ return TypedData_Wrap_Struct(self, &double_array_type, ptr);
13
15
  };
14
16
 
15
- static void double_array_free(Darts::DoubleArray* ptr) {
16
- ptr->~DoubleArrayImpl();
17
+ static void double_array_free(void* ptr) {
18
+ ((Darts::DoubleArray*)ptr)->~DoubleArrayImpl();
17
19
  ruby_xfree(ptr);
18
20
  };
19
21
 
22
+ static size_t double_array_size(const void* ptr) {
23
+ return sizeof(*((Darts::DoubleArray*)ptr));
24
+ };
25
+
20
26
  static Darts::DoubleArray* get_double_array(VALUE self) {
21
27
  Darts::DoubleArray* ptr;
22
- Data_Get_Struct(self, Darts::DoubleArray, ptr);
28
+ TypedData_Get_Struct(self, Darts::DoubleArray, &double_array_type, ptr);
23
29
  return ptr;
24
30
  };
25
31
 
@@ -30,6 +36,8 @@ class RbDoubleArray
30
36
  rb_define_method(rb_cDoubleArray, "build", RUBY_METHOD_FUNC(_double_array_build), -1);
31
37
  rb_define_method(rb_cDoubleArray, "open", RUBY_METHOD_FUNC(_double_array_open), -1);
32
38
  rb_define_method(rb_cDoubleArray, "save", RUBY_METHOD_FUNC(_double_array_save), -1);
39
+ rb_define_method(rb_cDoubleArray, "get_array", RUBY_METHOD_FUNC(_double_array_get_array), 0);
40
+ rb_define_method(rb_cDoubleArray, "set_array", RUBY_METHOD_FUNC(_double_array_set_array), 1);
33
41
  rb_define_method(rb_cDoubleArray, "exact_match_search", RUBY_METHOD_FUNC(_double_array_exact_match_search), -1);
34
42
  rb_define_method(rb_cDoubleArray, "common_prefix_search", RUBY_METHOD_FUNC(_double_array_common_prefix_search), -1);
35
43
  rb_define_method(rb_cDoubleArray, "traverse", RUBY_METHOD_FUNC(_double_array_traverse), -1);
@@ -41,6 +49,8 @@ class RbDoubleArray
41
49
  };
42
50
 
43
51
  private:
52
+ static const rb_data_type_t double_array_type;
53
+
44
54
  static VALUE _double_array_init(VALUE self) {
45
55
  Darts::DoubleArray* ptr = get_double_array(self);
46
56
  new (ptr) Darts::DoubleArray();
@@ -60,22 +70,26 @@ class RbDoubleArray
60
70
  const int n_keys = RARRAY_LEN(_keys);
61
71
  char** keys = (char**)ruby_xmalloc(n_keys * sizeof(char*));
62
72
  int* values = _values == Qundef ? NULL : (int*)ruby_xmalloc(n_keys * sizeof(int));
73
+ VALUE key_str;
63
74
  for (int i = 0; i < n_keys; i++) {
64
- VALUE key_str = rb_ary_entry(_keys, i);
65
- keys[i] = StringValueCStr(key_str);
75
+ key_str = rb_ary_entry(_keys, i);
76
+ keys[i] = strcpy((char*)ruby_xmalloc((RSTRING_LEN(key_str) + 1) * sizeof(char)), StringValueCStr(key_str));
66
77
  if (_values != Qundef) values[i] = NUM2INT(rb_ary_entry(_values, i));
67
78
  }
68
79
 
69
80
  try {
70
81
  get_double_array(self)->build(n_keys, keys, NULL, values);
71
82
  } catch (Darts::Details::Exception e) {
83
+ for (int i = 0; i < n_keys; i++) ruby_xfree(keys[i]);
72
84
  ruby_xfree(keys);
73
85
  if (_values != Qundef) ruby_xfree(values);
74
86
  rb_raise(rb_eRuntimeError, "%s", e.what());
75
87
  return Qfalse;
76
88
  }
89
+ for (int i = 0; i < n_keys; i++) ruby_xfree(keys[i]);
77
90
  ruby_xfree(keys);
78
91
  if (_values != Qundef) ruby_xfree(values);
92
+ RB_GC_GUARD(key_str);
79
93
  return Qtrue;
80
94
  }
81
95
 
@@ -89,13 +103,16 @@ class RbDoubleArray
89
103
  rb_get_kwargs(kwargs, kwtable, 0, 3, kwvalues);
90
104
 
91
105
  const char* filename = StringValueCStr(_filename);
92
- const char* mode = kwvalues[0] == Qundef ? "rb" : StringValueCStr(kwvalues[0]);
93
- const size_t offset = kwvalues[1] == Qundef ? 0 : (size_t)NUM2INT(kwvalues[1]);
94
- const size_t size = kwvalues[2] == Qundef ? 0 : (size_t)NUM2INT(kwvalues[2]);
106
+ VALUE _mode = kwvalues[0];
107
+ const char* mode = kwvalues[0] == Qundef ? "rb" : StringValueCStr(_mode);
108
+ const size_t offset = kwvalues[1] == Qundef ? 0 : NUM2SIZET(kwvalues[1]);
109
+ const size_t size = kwvalues[2] == Qundef ? 0 : NUM2SIZET(kwvalues[2]);
95
110
 
96
111
  if (get_double_array(self)->open(filename, mode, offset, size) != 0) {
97
112
  return Qfalse;
98
113
  }
114
+ RB_GC_GUARD(_filename);
115
+ RB_GC_GUARD(_mode);
99
116
  return Qtrue;
100
117
  };
101
118
 
@@ -109,15 +126,33 @@ class RbDoubleArray
109
126
  rb_get_kwargs(kwargs, kwtable, 0, 2, kwvalues);
110
127
 
111
128
  const char* filename = StringValueCStr(_filename);
112
- const char* mode = kwvalues[0] == Qundef ? "wb" : StringValueCStr(kwvalues[0]);
113
- const size_t offset = kwvalues[1] == Qundef ? 0 : (size_t)NUM2INT(kwvalues[1]);
129
+ VALUE _mode = kwvalues[0];
130
+ const char* mode = kwvalues[0] == Qundef ? "wb" : StringValueCStr(_mode);
131
+ const size_t offset = kwvalues[1] == Qundef ? 0 : NUM2SIZET(kwvalues[1]);
114
132
 
115
133
  if (get_double_array(self)->save(filename, mode, offset) != 0) {
116
134
  return Qfalse;
117
135
  }
136
+ RB_GC_GUARD(_filename);
137
+ RB_GC_GUARD(_mode);
118
138
  return Qtrue;
119
139
  };
120
140
 
141
+ static VALUE _double_array_get_array(VALUE self) {
142
+ const char* arr = (char*)get_double_array(self)->array();
143
+ const size_t sz = get_double_array(self)->total_size();
144
+ return rb_str_new(arr, sz);
145
+ };
146
+
147
+ static VALUE _double_array_set_array(VALUE self, VALUE bytes) {
148
+ const size_t sz = NUM2SIZET(rb_funcall(bytes, rb_intern("size"), 0));
149
+ const size_t total_sz = sz / get_double_array(self)->unit_size();
150
+ char* arr = StringValuePtr(bytes);
151
+ get_double_array(self)->set_array(arr, total_sz);
152
+ RB_GC_GUARD(bytes);
153
+ return Qnil;
154
+ };
155
+
121
156
  static VALUE _double_array_exact_match_search(int argc, VALUE* argv, VALUE self) {
122
157
  VALUE _key = Qnil;
123
158
  VALUE kwargs = Qnil;
@@ -133,11 +168,12 @@ class RbDoubleArray
133
168
  }
134
169
 
135
170
  const char* key = StringValueCStr(_key);
136
- const size_t length = kwvalues[0] == Qundef ? 0 : (size_t)NUM2INT(kwvalues[0]);
137
- const size_t node_pos = kwvalues[1] == Qundef ? 0 : (size_t)NUM2INT(kwvalues[1]);
171
+ const size_t length = kwvalues[0] == Qundef ? 0 : NUM2SIZET(kwvalues[0]);
172
+ const size_t node_pos = kwvalues[1] == Qundef ? 0 : NUM2SIZET(kwvalues[1]);
138
173
 
139
174
  Darts::DoubleArray::value_type value;
140
175
  get_double_array(self)->exactMatchSearch(key, value, length, node_pos);
176
+ RB_GC_GUARD(_key);
141
177
  return INT2NUM(value);
142
178
  };
143
179
 
@@ -156,9 +192,9 @@ class RbDoubleArray
156
192
  }
157
193
 
158
194
  const char* key = StringValueCStr(_key);
159
- const size_t max_num_results = kwvalues[0] == Qundef ? (size_t)NUM2INT(rb_funcall(_key, rb_intern("size"), 0)) : (size_t)NUM2INT(kwvalues[0]);
160
- const size_t length = kwvalues[1] == Qundef ? 0 : (size_t)NUM2INT(kwvalues[1]);
161
- const size_t node_pos = kwvalues[2] == Qundef ? 0 : (size_t)NUM2INT(kwvalues[2]);
195
+ const size_t max_num_results = kwvalues[0] == Qundef ? NUM2SIZET(rb_funcall(_key, rb_intern("size"), 0)) : NUM2SIZET(kwvalues[0]);
196
+ const size_t length = kwvalues[1] == Qundef ? 0 : NUM2SIZET(kwvalues[1]);
197
+ const size_t node_pos = kwvalues[2] == Qundef ? 0 : NUM2SIZET(kwvalues[2]);
162
198
 
163
199
  Darts::DoubleArray::result_pair_type* results =
164
200
  (Darts::DoubleArray::result_pair_type*)ruby_xmalloc(max_num_results * sizeof(Darts::DoubleArray::result_pair_type));
@@ -178,6 +214,7 @@ class RbDoubleArray
178
214
  rb_ary_push(ret, values);
179
215
  }
180
216
  ruby_xfree(results);
217
+ RB_GC_GUARD(_key);
181
218
  return ret;
182
219
  };
183
220
 
@@ -191,9 +228,9 @@ class RbDoubleArray
191
228
  rb_get_kwargs(kwargs, kwtable, 2, 1, kwvalues);
192
229
 
193
230
  const char* key = StringValueCStr(_key);
194
- size_t node_pos = (size_t)NUM2INT(kwvalues[0]);
195
- size_t key_pos = (size_t)NUM2INT(kwvalues[1]);
196
- const size_t length = kwvalues[2] == Qundef ? 0 : (size_t)NUM2INT(kwvalues[2]);
231
+ size_t node_pos = NUM2SIZET(kwvalues[0]);
232
+ size_t key_pos = NUM2SIZET(kwvalues[1]);
233
+ const size_t length = kwvalues[2] == Qundef ? 0 : NUM2SIZET(kwvalues[2]);
197
234
 
198
235
  Darts::DoubleArray::value_type value = get_double_array(self)->traverse(key, node_pos, key_pos, length);
199
236
 
@@ -201,6 +238,7 @@ class RbDoubleArray
201
238
  rb_hash_aset(ret, ID2SYM(rb_intern("value")), INT2NUM(value));
202
239
  rb_hash_aset(ret, ID2SYM(rb_intern("node_pos")), INT2NUM((int)node_pos));
203
240
  rb_hash_aset(ret, ID2SYM(rb_intern("key_pos")), INT2NUM((int)key_pos));
241
+ RB_GC_GUARD(_key);
204
242
  return ret;
205
243
  };
206
244
 
@@ -226,4 +264,16 @@ class RbDoubleArray
226
264
  };
227
265
  };
228
266
 
267
+ const rb_data_type_t RbDoubleArray::double_array_type = {
268
+ "RbDoubleArray",
269
+ {
270
+ NULL,
271
+ RbDoubleArray::double_array_free,
272
+ RbDoubleArray::double_array_size
273
+ },
274
+ NULL,
275
+ NULL,
276
+ RUBY_TYPED_FREE_IMMEDIATELY
277
+ };
278
+
229
279
  #endif /* DARTSCLONEEXT_HPP */
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module DartsClone
4
- VERSION = '0.1.0'
4
+ VERSION = '0.3.0'
5
5
  DARTS_CLONE_VERSION = '0.32'
6
6
  end
@@ -0,0 +1,20 @@
1
+ module DartsClone
2
+ VERSION: String
3
+ DARTS_CLONE_VERSION: String
4
+
5
+ class DoubleArray
6
+ def initialize: () -> void
7
+ def build: (Array[String] keys, ?values: Array[Integer]? values) -> bool
8
+ def open: (String filename) -> bool
9
+ def save: (String filename, ?mode: String mode, ?offset: Integer offset) -> bool
10
+ def get_array: () -> String
11
+ def set_array: (String str) -> nil
12
+ def exact_match_search: (String key, ?length: Integer length, ?node_pos: Integer node_pos) -> Integer
13
+ def common_prefix_search: (String key, ?max_num_results: Integer? max_num_results, ?length: Integer length, ?node_pos: Integer node_pos) -> [Array[String], Array[Integer]]
14
+ def traverse: (String key, ?node_pos: Integer? node_pos, ?key_pos: Integer? key_pos, ?length: Integer? length) -> { value: Integer, node_pos: Integer, key_pos: Integer }
15
+ def unit_size: () -> Integer
16
+ def size: () -> Integer
17
+ def total_size: () -> Integer
18
+ def clear: () -> nil
19
+ end
20
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dartsclone
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - yoshoku
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-10-04 00:00:00.000000000 Z
11
+ date: 2021-05-29 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Darts-clone.rb is a Ruby binding for the Darts-clone.
14
14
  email:
@@ -18,15 +18,16 @@ extensions:
18
18
  - ext/dartsclone/extconf.rb
19
19
  extra_rdoc_files: []
20
20
  files:
21
+ - ".github/workflows/build.yml"
21
22
  - ".gitignore"
22
23
  - ".rspec"
23
- - ".travis.yml"
24
24
  - CHANGELOG.md
25
25
  - CODE_OF_CONDUCT.md
26
26
  - Gemfile
27
27
  - LICENSE.txt
28
28
  - README.md
29
29
  - Rakefile
30
+ - Steepfile
30
31
  - dartsclone.gemspec
31
32
  - ext/dartsclone/dartscloneext.cpp
32
33
  - ext/dartsclone/dartscloneext.hpp
@@ -35,6 +36,7 @@ files:
35
36
  - ext/dartsclone/src/darts.h
36
37
  - lib/dartsclone.rb
37
38
  - lib/dartsclone/version.rb
39
+ - sig/dartsclone.rbs
38
40
  homepage: https://github.com/yoshoku/darts-clone.rb
39
41
  licenses:
40
42
  - BSD-2-Clause
@@ -42,7 +44,8 @@ metadata:
42
44
  homepage_uri: https://github.com/yoshoku/darts-clone.rb
43
45
  source_code_uri: https://github.com/yoshoku/darts-clone.rb
44
46
  changelog_uri: https://github.com/yoshoku/darts-clone.rb/blob/master/CHANGELOG.md
45
- post_install_message:
47
+ documentation_uri: https://github.com/yoshoku/darts-clone.rb#usage
48
+ post_install_message:
46
49
  rdoc_options: []
47
50
  require_paths:
48
51
  - lib
@@ -57,8 +60,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
57
60
  - !ruby/object:Gem::Version
58
61
  version: '0'
59
62
  requirements: []
60
- rubygems_version: 3.1.2
61
- signing_key:
63
+ rubygems_version: 3.1.6
64
+ signing_key:
62
65
  specification_version: 4
63
66
  summary: Ruby binding for the Darts-clone.
64
67
  test_files: []
data/.travis.yml DELETED
@@ -1,11 +0,0 @@
1
- ---
2
- os: linux
3
- dist: xenial
4
- language: ruby
5
- cache: bundler
6
- rvm:
7
- - '2.5'
8
- - '2.6'
9
- - '2.7'
10
-
11
- before_install: gem install bundler -v 2.1.2