cmetrics 0.1.7 → 0.2.1

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: c0c8e72735e2b8d4a23cff25f45d22b8532bb9d5264011292e07a624304bbbf1
4
- data.tar.gz: 55fac2f85a6729a18897abcfed5fdde9098269be899038a7b2bf1c4313988d04
3
+ metadata.gz: 2886740550218bbb68b6248676ffefa606939d2c2f6fabb5043e9b08f2cb152f
4
+ data.tar.gz: 4b73350710d2c56349fdb83af9e45565e4e38cffb62f48344f25244c27688cce
5
5
  SHA512:
6
- metadata.gz: b6372b5e06fbba2d4c53c5e1df6250e02192a7ca645093b5682fe49ed985e50ce4fda080d0b2fe18b00d0abc8fd101bba2d33f5e5de91163f429937966d920f3
7
- data.tar.gz: 4933e44b64f8e2cebf0f5534238e22cc0053cf4959070cd3f84acda7561e5cf8020e42bc510f13f468865905d90a9d8e8ed8e6ad3dca6367f085a398a64722f5
6
+ metadata.gz: 0e93ebcde84cfd9c2835f68516891f6616c3c77785b789d195c3bf0fe2d5b384314c700f34413f640680da91190cbe16f03961f540dd326515647dc754237265
7
+ data.tar.gz: b1c4c88fb1416047862f5d5027ce7c92bed28fe0e1172707fa3394af947cc320a64833ab9cbbcfa510ced7f14201ab4ea6b9958a16b5af9fd28a1be26bd00d98
@@ -0,0 +1,39 @@
1
+ name: Apt based Linux
2
+ on:
3
+ push:
4
+ pull_request:
5
+ jobs:
6
+ build:
7
+ name: Build
8
+ strategy:
9
+ fail-fast: false
10
+ matrix:
11
+ label:
12
+ - Debian GNU/Linux Bullseye amd64
13
+ - Debian GNU/Linux Buster amd64
14
+ - Ubuntu Bionic amd64
15
+ - Ubuntu Focal amd64
16
+ include:
17
+ - label: Debian GNU/Linux Bullseye amd64
18
+ test-docker-image: debian:bullseye
19
+ test-script: ci/apt-test.sh
20
+ - label: Debian GNU/Linux Buster amd64
21
+ test-docker-image: debian:buster
22
+ test-script: ci/apt-test.sh
23
+ - label: Ubuntu Bionic amd64
24
+ test-docker-image: ubuntu:bionic
25
+ test-script: ci/apt-test.sh
26
+ - label: Ubuntu Focal amd64
27
+ test-docker-image: ubuntu:focal
28
+ test-script: ci/apt-test.sh
29
+ runs-on: ubuntu-latest
30
+ steps:
31
+ - uses: actions/checkout@master
32
+ - name: rake compile & rake test
33
+ run: |
34
+ docker run \
35
+ --rm \
36
+ --tty \
37
+ --volume ${PWD}:/cmetrics-ruby \
38
+ ${{ matrix.test-docker-image }} \
39
+ /cmetrics-ruby/${{ matrix.test-script }}
@@ -0,0 +1,39 @@
1
+ name: Yum based Linux
2
+ on:
3
+ push:
4
+ pull_request:
5
+ jobs:
6
+ build:
7
+ name: Build
8
+ strategy:
9
+ fail-fast: false
10
+ matrix:
11
+ label:
12
+ - CentOS 7 x86_64
13
+ - CentOS 8 x86_64
14
+ - Fedora 34 x86_64
15
+ - AmazonLinux 2 x86_64
16
+ include:
17
+ - label: CentOS 7 x86_64
18
+ test-docker-image: centos:7
19
+ test-script: ci/yum-test.sh
20
+ - label: CentOS 8 x86_64
21
+ test-docker-image: centos:8
22
+ test-script: ci/yum-test.sh
23
+ - label: Fedora 34 x86_64
24
+ test-docker-image: fedora:34
25
+ test-script: ci/yum-test.sh
26
+ - label: AmazonLinux 2 x86_64
27
+ test-docker-image: amazonlinux:2
28
+ test-script: ci/yum-test.sh
29
+ runs-on: ubuntu-latest
30
+ steps:
31
+ - uses: actions/checkout@master
32
+ - name: rake compile & rake test
33
+ run: |
34
+ docker run \
35
+ --rm \
36
+ --tty \
37
+ --volume ${PWD}:/cmetrics-ruby \
38
+ ${{ matrix.test-docker-image }} \
39
+ /cmetrics-ruby/${{ matrix.test-script }}
data/Gemfile CHANGED
@@ -7,4 +7,10 @@ gemspec
7
7
 
8
8
  gem "rake", "~> 13.0"
9
9
 
10
- gem "test-unit", "~> 3.0"
10
+ gem "test-unit", "~> 3.4"
11
+
12
+ local_gemfile = File.join(File.dirname(__FILE__), "Gemfile.local")
13
+ if File.exist?(local_gemfile)
14
+ puts "Loading Gemfile.local ..." if $DEBUG # `ruby -d` or `bundle -v`
15
+ instance_eval File.read(local_gemfile)
16
+ end
data/ci/apt-test.sh ADDED
@@ -0,0 +1,40 @@
1
+ #!/bin/bash
2
+
3
+ set -exu
4
+
5
+ export DEBIAN_FRONTEND=noninteractive
6
+
7
+ if [ -f /etc/lsb-release ]; then
8
+ . /etc/lsb-release
9
+ distribution=$DISTRIB_ID
10
+ version=${DISTRIB_RELEASE%%.*}
11
+ codename=${DISTRIB_CODENAME%%.*}
12
+ else
13
+ distribution="Debian"
14
+ version=$(cat /etc/debian_version | cut -d'.' -f1)
15
+ fi
16
+
17
+ apt update
18
+
19
+ case "$distribution" in
20
+ "Ubuntu")
21
+ case "$codename" in
22
+ "bionic")
23
+ apt install -V -y wget gpg
24
+ wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null && \
25
+ echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ bionic main' | tee /etc/apt/sources.list.d/kitware.list >/dev/null && \
26
+ apt update
27
+ ;;
28
+ *)
29
+ ;;
30
+ esac
31
+ ;;
32
+ esac
33
+
34
+ apt install -V -y lsb-release
35
+
36
+ apt install -V -y ruby-dev git build-essential pkg-config cmake
37
+ cd /cmetrics-ruby && \
38
+ gem install bundler --no-document && \
39
+ bundle install && \
40
+ bundle exec rake
data/ci/yum-test.sh ADDED
@@ -0,0 +1,77 @@
1
+ #!/bin/bash
2
+
3
+ set -exu
4
+
5
+ USE_SCL=0
6
+ USE_AMZN_EXT=0
7
+
8
+ distribution=$(cat /etc/system-release-cpe | awk '{print substr($0, index($1, "o"))}' | cut -d: -f2)
9
+ version=$(cat /etc/system-release-cpe | awk '{print substr($0, index($1, "o"))}' | cut -d: -f4)
10
+ USE_SCL=0
11
+ USE_AMZN_EXT=0
12
+
13
+ case ${distribution} in
14
+ amazon)
15
+ case ${version} in
16
+ 2)
17
+ DNF=yum
18
+ USE_AMZN_EXT=1
19
+ ;;
20
+ esac
21
+ ;;
22
+ centos)
23
+ case ${version} in
24
+ 7)
25
+ DNF=yum
26
+ USE_SCL=1
27
+ ;;
28
+ *)
29
+ DNF="dnf --enablerepo=powertools"
30
+ ;;
31
+ esac
32
+ ;;
33
+ fedoraproject)
34
+ case ${version} in
35
+ 33|34)
36
+ DNF=yum
37
+ ;;
38
+ esac
39
+ ;;
40
+ esac
41
+
42
+ ${DNF} groupinstall -y "Development Tools"
43
+
44
+ if [ $USE_SCL -eq 1 ]; then
45
+ ${DNF} install -y centos-release-scl && \
46
+ ${DNF} install -y epel-release && \
47
+ ${DNF} install -y \
48
+ rh-ruby26-ruby-devel \
49
+ rh-ruby26-rubygems \
50
+ rh-ruby26-rubygem-rake \
51
+ rpm-build \
52
+ cmake3
53
+ elif [ $USE_AMZN_EXT -eq 1 ]; then
54
+ yum update -y && \
55
+ yum install -y yum-utils && \
56
+ yum-config-manager --enable epel && \
57
+ amazon-linux-extras install -y ruby2.6 && \
58
+ ${DNF} install -y ruby-devel \
59
+ cmake3
60
+ else
61
+ ${DNF} install -y ruby-devel \
62
+ rubygems \
63
+ rpm-build \
64
+ cmake \
65
+ libarchive
66
+ fi
67
+
68
+ if [ $USE_SCL -eq 1 ]; then
69
+ # For unbound variable error
70
+ export MANPATH=
71
+ cd /cmetrics-ruby && source /opt/rh/rh-ruby26/enable && gem install bundler --no-document && bundle install && bundle exec rake
72
+ else
73
+ if [ $USE_AMZN_EXT -eq 1 ]; then
74
+ echo 'gem "io-console"' > /cmetrics-ruby/Gemfile.local
75
+ fi
76
+ cd /cmetrics-ruby && gem install bundler --no-document && bundle install && bundle exec rake
77
+ fi
@@ -30,5 +30,5 @@ Gem::Specification.new do |spec|
30
30
  spec.add_development_dependency "rake-compiler", "~> 1.0"
31
31
  spec.add_development_dependency "rake-compiler-dock", "~> 1.0"
32
32
 
33
- spec.add_dependency 'mini_portile2', '~> 2.1'
33
+ spec.add_dependency 'mini_portile2', '~> 2.7'
34
34
  end
@@ -18,6 +18,8 @@
18
18
  */
19
19
 
20
20
  #include "cmetrics_c.h"
21
+ #include <cmetrics/cmt_map.h>
22
+ #include <cmetrics/cmt_metric.h>
21
23
 
22
24
  VALUE rb_cSerde;
23
25
 
@@ -111,7 +113,11 @@ rb_cmetrics_serde_from_msgpack(int argc, VALUE *argv, VALUE self)
111
113
  rb_raise(rb_eRuntimeError, "offset should be smaller than msgpack buffer size.");
112
114
  }
113
115
 
114
- ret = cmt_decode_msgpack_create(&cmt, StringValuePtr(rb_msgpack_buffer), msgpack_length, &offset);
116
+ if (!NIL_P(rb_msgpack_buffer)) {
117
+ ret = cmt_decode_msgpack_create(&cmt, StringValuePtr(rb_msgpack_buffer), msgpack_length, &offset);
118
+ } else {
119
+ rb_raise(rb_eArgError, "nil is not valid value for buffer");
120
+ }
115
121
 
116
122
  if (ret == 0) {
117
123
  cmetricsSerde->instance = cmt;
@@ -129,13 +135,14 @@ rb_cmetrics_serde_from_msgpack_feed_each_impl(VALUE self, VALUE rb_msgpack_buffe
129
135
  struct CMetricsSerde* cmetricsSerde;
130
136
  struct cmt *cmt = NULL;
131
137
  int ret = 0;
138
+ size_t offset = 0;
132
139
 
133
140
  RETURN_ENUMERATOR(self, 0, 0);
134
141
 
135
142
  TypedData_Get_Struct(
136
143
  self, struct CMetricsSerde, &rb_cmetrics_serde_type, cmetricsSerde);
137
144
 
138
- for (size_t offset = 0; offset <= msgpack_length; ) {
145
+ for (offset = 0; offset <= msgpack_length; ) {
139
146
  ret = cmt_decode_msgpack_create(&cmt, StringValuePtr(rb_msgpack_buffer), msgpack_length, &offset);
140
147
  if (ret == 0) {
141
148
  cmetricsSerde->instance = cmt;
@@ -154,8 +161,11 @@ static VALUE
154
161
  rb_cmetrics_serde_from_msgpack_feed_each(VALUE self, VALUE rb_data)
155
162
  {
156
163
  RETURN_ENUMERATOR(self, 0, 0);
157
-
158
- return rb_cmetrics_serde_from_msgpack_feed_each_impl(self, rb_data, RSTRING_LEN(rb_data));
164
+ if (!NIL_P(rb_data)) {
165
+ return rb_cmetrics_serde_from_msgpack_feed_each_impl(self, rb_data, RSTRING_LEN(rb_data));
166
+ } else {
167
+ rb_raise(rb_eArgError, "nil is not valid value for buffer");
168
+ }
159
169
  }
160
170
 
161
171
  static VALUE
@@ -237,6 +247,151 @@ rb_cmetrics_serde_to_text(VALUE self)
237
247
  return text;
238
248
  }
239
249
 
250
+ static VALUE
251
+ append_metric_value(struct cmt_map *map,
252
+ VALUE rbHash, struct cmt_metric *metric)
253
+ {
254
+ uint64_t ts;
255
+ double val;
256
+ struct cmt_opts *opts;
257
+
258
+ opts = map->opts;
259
+
260
+ /* Retrieve metric value */
261
+ val = cmt_metric_get_value(metric);
262
+
263
+ ts = cmt_metric_get_timestamp(metric);
264
+
265
+ rb_hash_aset(rbHash, rb_str_new2("name"), rb_str_new2(opts->name));
266
+ rb_hash_aset(rbHash, rb_str_new2("description"), rb_str_new2(opts->description));
267
+ rb_hash_aset(rbHash, rb_str_new2("value"), DBL2NUM(val));
268
+ rb_hash_aset(rbHash, rb_str_new2("timestamp"), DBL2NUM(ts/1000000000.0));
269
+
270
+ return rbHash;
271
+ }
272
+
273
+ static VALUE
274
+ format_metric(struct cmt *cmt, struct cmt_map *map,
275
+ struct cmt_metric *metric)
276
+ {
277
+ int n;
278
+ int static_labels = 0;
279
+ struct cmt_map_label *label_k;
280
+ struct cmt_map_label *label_v;
281
+ struct mk_list *head;
282
+ struct cmt_opts *opts;
283
+ struct cmt_label *slabel;
284
+ VALUE rb_hash = rb_hash_new();
285
+ VALUE shash = rb_hash_new();
286
+ VALUE lhash = rb_hash_new();
287
+
288
+ opts = map->opts;
289
+
290
+ /* Measurement */
291
+ rb_hash_aset(rb_hash, rb_str_new2("namespace"), rb_str_new2(opts->ns));
292
+ rb_hash_aset(rb_hash, rb_str_new2("subsystem"), rb_str_new2(opts->subsystem));
293
+
294
+ /* Static labels (tags) */
295
+ static_labels = cmt_labels_count(cmt->static_labels);
296
+ if (static_labels > 0) {
297
+ mk_list_foreach(head, &cmt->static_labels->list) {
298
+ slabel = mk_list_entry(head, struct cmt_label, _head);
299
+ rb_hash_aset(shash, rb_str_new2(slabel->key), rb_str_new2(slabel->val));
300
+ }
301
+ rb_hash_aset(rb_hash, rb_str_new2("static_labels"), shash);
302
+ }
303
+
304
+ /* Labels / Tags */
305
+ n = mk_list_size(&metric->labels);
306
+ if (n > 0) {
307
+ label_k = mk_list_entry_first(&map->label_keys, struct cmt_map_label, _head);
308
+
309
+ mk_list_foreach(head, &metric->labels) {
310
+ label_v = mk_list_entry(head, struct cmt_map_label, _head);
311
+
312
+ rb_hash_aset(lhash, rb_str_new2(label_k->name), rb_str_new2(label_v->name));
313
+
314
+ label_k = mk_list_entry_next(&label_k->_head, struct cmt_map_label,
315
+ _head, &map->label_keys);
316
+ }
317
+ rb_hash_aset(rb_hash, rb_str_new2("labels"), lhash);
318
+ }
319
+
320
+ rb_hash = append_metric_value(map, rb_hash, metric);
321
+
322
+ return rb_hash;
323
+ }
324
+
325
+ static VALUE
326
+ format_metrics(struct cmt *cmt,
327
+ struct cmt_map *map, int add_timestamp)
328
+ {
329
+ VALUE rbMetrics = rb_ary_new();
330
+ VALUE rbMetric;
331
+ struct mk_list *head;
332
+ struct cmt_metric *metric;
333
+
334
+ /* Simple metric, no labels */
335
+ if (map->metric_static_set == 1) {
336
+ rbMetric = format_metric(cmt, map, &map->metric);
337
+ rb_ary_push(rbMetrics, rbMetric);
338
+ }
339
+
340
+ mk_list_foreach(head, &map->metrics) {
341
+ metric = mk_list_entry(head, struct cmt_metric, _head);
342
+ rbMetric = format_metric(cmt, map, metric);
343
+ rb_ary_push(rbMetrics, rbMetric);
344
+ }
345
+
346
+ return rbMetrics;
347
+ }
348
+
349
+ static VALUE
350
+ rb_cmetrics_serde_get_metrics(VALUE self)
351
+ {
352
+ VALUE rbMetrics = rb_ary_new();
353
+ VALUE rbMetricsInner = rb_ary_new();
354
+ struct CMetricsSerde* cmetricsSerde;
355
+ struct mk_list *head;
356
+ struct cmt_gauge *gauge;
357
+ struct cmt_counter *counter;
358
+ struct cmt_untyped *untyped;
359
+ struct cmt *cmt;
360
+ int add_timestamp = CMT_TRUE;
361
+
362
+ TypedData_Get_Struct(
363
+ self, struct CMetricsSerde, &rb_cmetrics_serde_type, cmetricsSerde);
364
+
365
+ cmt = cmetricsSerde->instance;
366
+
367
+ if (cmt == NULL) {
368
+ rb_raise(rb_eRuntimeError, "Invalid cmt context");
369
+ }
370
+
371
+ /* Counters */
372
+ mk_list_foreach(head, &cmt->counters) {
373
+ counter = mk_list_entry(head, struct cmt_counter, _head);
374
+ rbMetricsInner = format_metrics(cmt, counter->map, add_timestamp);
375
+ rb_ary_push(rbMetrics, rbMetricsInner);
376
+ }
377
+
378
+ /* Gauges */
379
+ mk_list_foreach(head, &cmt->gauges) {
380
+ gauge = mk_list_entry(head, struct cmt_gauge, _head);
381
+ rbMetricsInner = format_metrics(cmt, gauge->map, add_timestamp);
382
+ rb_ary_push(rbMetrics, rbMetricsInner);
383
+ }
384
+
385
+ /* Untyped */
386
+ mk_list_foreach(head, &cmt->untypeds) {
387
+ untyped = mk_list_entry(head, struct cmt_untyped, _head);
388
+ rbMetricsInner = format_metrics(cmt, untyped->map, add_timestamp);
389
+ rb_ary_push(rbMetrics, rbMetricsInner);
390
+ }
391
+
392
+ return rbMetrics;
393
+ }
394
+
240
395
  void Init_cmetrics_serde(VALUE rb_mCMetrics)
241
396
  {
242
397
  rb_cSerde = rb_define_class_under(rb_mCMetrics, "Serde", rb_cObject);
@@ -250,4 +405,6 @@ void Init_cmetrics_serde(VALUE rb_mCMetrics)
250
405
  rb_define_method(rb_cSerde, "to_msgpack", rb_cmetrics_serde_to_msgpack, 0);
251
406
  rb_define_method(rb_cSerde, "feed_each", rb_cmetrics_serde_from_msgpack_feed_each, 1);
252
407
  rb_define_method(rb_cSerde, "to_s", rb_cmetrics_serde_to_text, 0);
408
+ rb_define_method(rb_cSerde, "get_metrics", rb_cmetrics_serde_get_metrics, 0);
409
+ rb_define_method(rb_cSerde, "metrics", rb_cmetrics_serde_get_metrics, 0);
253
410
  }
@@ -13,33 +13,51 @@ def windows?
13
13
  RUBY_PLATFORM =~ /mingw|mswin/
14
14
  end
15
15
 
16
+ def determine_preferred_command(bin, default_bin)
17
+ printf "checking for whether %s or %s is usable... ", bin, default_bin
18
+ STDOUT.flush
19
+ bin += RbConfig::CONFIG['EXEEXT']
20
+ path = ENV['PATH'].split(RbConfig::CONFIG['PATH_SEPARATOR'])
21
+ for dir in path
22
+ file = File.join(dir, bin)
23
+ if FileTest.executable?(file)
24
+ printf "%s\n", bin
25
+ return bin
26
+ else
27
+ next
28
+ end
29
+ end
30
+ printf "%s\n", default_bin
31
+ return default_bin
32
+ end
33
+
16
34
  class BuildCMetrics
17
35
 
18
36
  attr_reader :recipe
19
37
 
20
- def initialize(version=nil)
38
+ def initialize(version=nil, **kwargs)
21
39
  @version = if version
22
40
  version
23
41
  else
24
42
  "master".freeze
25
43
  end
26
- @recipe = MiniPortileCMake.new("cmetrics", @version)
44
+ @recipe = MiniPortileCMake.new("cmetrics", @version, **kwargs)
27
45
  @checkpoint = ".#{@recipe.name}-#{@recipe.version}.installed"
28
46
  @recipe.target = File.join(ROOT, "ports")
29
47
  @recipe.files << {
30
- url: "file://#{ROOT}/ext/#{@recipe.name}-#{@recipe.version}.tar.gz",
31
- sha256sum: "3375ac1073b0bbea44ee9986601977ef04b119a74a7c663e2486a3ed31953203",
48
+ url: "https://codeload.github.com/calyptia/cmetrics/tar.gz/v#{version}",
49
+ sha256sum: "f0c79707ad4d18980bf0d1d64ed8cb73a40c586c36a4caf38233ae8d9a4c6cc7",
32
50
  }
33
51
  end
34
52
 
35
53
  def build
36
54
  unless File.exist?(@checkpoint)
37
55
  @recipe.cook
38
- libcmetrics_path = File.join(ROOT, "ports/#{@recipe.host}/cmetrics/#{@version}/lib/libcmetrics.a")
56
+ libcmetrics_path = Dir.glob(File.join(ROOT, "ports/#{@recipe.host}/cmetrics/#{@version}/lib*/libcmetrics.a")).first
39
57
  FileUtils.cp(libcmetrics_path, File.join(ROOT, "ext", "cmetrics", "libcmetrics.a"))
40
- libmpack_path = File.join(ROOT, "ports/#{@recipe.host}/cmetrics/#{@version}/lib/libmpack.a")
58
+ libmpack_path = Dir.glob(File.join(ROOT, "ports/#{@recipe.host}/cmetrics/#{@version}/lib*/libmpack.a")).first
41
59
  FileUtils.cp(libmpack_path, File.join(ROOT, "ext", "cmetrics", "libmpack.a"))
42
- libxxhash_path = File.join(ROOT, "ports/#{@recipe.host}/cmetrics/#{@version}/lib/libxxhash.a")
60
+ libxxhash_path = Dir.glob(File.join(ROOT, "ports/#{@recipe.host}/cmetrics/#{@version}/lib*/libxxhash.a")).first
43
61
  FileUtils.cp(libxxhash_path, File.join(ROOT, "ext", "cmetrics", "libxxhash.a"))
44
62
  include_path = File.join(ROOT, "ports/#{@recipe.host}/cmetrics/#{@version}/include/")
45
63
  FileUtils.cp_r(Dir.glob(File.join(include_path, "*")), File.join(ROOT, "ext", "cmetrics"))
@@ -52,7 +70,7 @@ class BuildCMetrics
52
70
  end
53
71
  end
54
72
 
55
- cmetrics = BuildCMetrics.new
73
+ cmetrics = BuildCMetrics.new("0.2.1", cmake_command: determine_preferred_command("cmake3", "cmake"))
56
74
  cmetrics.build
57
75
 
58
76
  libdir = RbConfig::CONFIG["libdir"]
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CMetrics
4
- VERSION = "0.1.7"
4
+ VERSION = "0.2.1"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cmetrics
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hiroshi Hatake
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-07-13 00:00:00.000000000 Z
11
+ date: 2021-09-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '2.1'
75
+ version: '2.7'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '2.1'
82
+ version: '2.7'
83
83
  description: C binding for cmetric library.
84
84
  email:
85
85
  - cosmo0920.oucc@gmail.com
@@ -88,9 +88,11 @@ extensions:
88
88
  - ext/cmetrics/extconf.rb
89
89
  extra_rdoc_files: []
90
90
  files:
91
+ - ".github/workflows/apt.yml"
91
92
  - ".github/workflows/linux.yml"
92
93
  - ".github/workflows/macos.yml"
93
94
  - ".github/workflows/windows.yml"
95
+ - ".github/workflows/yum.yml"
94
96
  - ".gitignore"
95
97
  - Gemfile
96
98
  - LICENSE
@@ -98,8 +100,9 @@ files:
98
100
  - Rakefile
99
101
  - bin/console
100
102
  - bin/setup
103
+ - ci/apt-test.sh
104
+ - ci/yum-test.sh
101
105
  - cmetrics-ruby.gemspec
102
- - ext/cmetrics-master.tar.gz
103
106
  - ext/cmetrics/cmetrics.c
104
107
  - ext/cmetrics/cmetrics_c.h
105
108
  - ext/cmetrics/cmetrics_counter.c
@@ -130,7 +133,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
130
133
  - !ruby/object:Gem::Version
131
134
  version: '0'
132
135
  requirements: []
133
- rubygems_version: 3.0.3
136
+ rubygems_version: 3.2.22
134
137
  signing_key:
135
138
  specification_version: 4
136
139
  summary: C binding for cmetric library.
Binary file