spandx 0.13.0 → 0.13.1

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: a2cbe4ba53ef5f776dd0c52170e0c7b56b0bf2aa9893f221c45636fcc7080cb5
4
- data.tar.gz: ee0936304c2322df4d568223aa1095dffe1b874a1902f6fc74504e28b63dffd4
3
+ metadata.gz: 288989db458fbe8da46cf782ab6d0410dbcfe5f167a4fa258b2fb0bdd819b2c3
4
+ data.tar.gz: 3df236283d2d8149bb9c6c9633969540147cd31cc6dfdabb4c26b56d3a6d5b92
5
5
  SHA512:
6
- metadata.gz: 19627c27dca8dc2609549f7a4245488689aa0dda9846dfc555e50b39735e6a2895686d2b1a672afaecc73080f02436070e34060b15b2cc250dbbe13ca46999eb
7
- data.tar.gz: ee2b9816fb6e85e94c32ba05844540872244cf8cc4aac175ce3043c921429bbc4aaaf643c753b681c83a06eb6e7ae3bb044fd2944d9fa1e70508143e01bf18c1
6
+ metadata.gz: 7c6bb83298a7298814f484236df79234aac9710cf990eb728db53465e1ec82943085a9057bc7d29e8f49ce74e76a6229606f1392bb13835db13ebbbfa18f173d
7
+ data.tar.gz: a95189cec4d7b0d5f4a6e8007bb79b805fe5072bf5a502c995140cfa5b495fb774e9e36fc2c6dbc17190ce8641fc9eb4ca1485e8dd033c70fce7960382a5d346
data/CHANGELOG.md CHANGED
@@ -1,4 +1,4 @@
1
- Version 0.13.0
1
+ Version 0.13.1
2
2
 
3
3
  # Changelog
4
4
 
@@ -9,6 +9,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
9
9
 
10
10
  ## [Unreleased]
11
11
 
12
+ ## [0.13.1] - 2020-05-16
13
+ ### Fixed
14
+ - Add `ext/**/*.c` and `ext/**/*.h` to list of files.
15
+
12
16
  ## [0.13.0] - 2020-05-12
13
17
  ### Added
14
18
  - Add progress bar
@@ -0,0 +1,53 @@
1
+ #include "spandx.h"
2
+
3
+ VALUE rb_mSpandx;
4
+ VALUE rb_mCore;
5
+ VALUE rb_mCsvParser;
6
+
7
+ // "name","version","license"
8
+ // "name","version","license"\n
9
+ // "name","version","license"\r
10
+ // "name","version","license"\r\n
11
+ // "name","version",""\r\n
12
+ static VALUE parse(VALUE self, VALUE line)
13
+ {
14
+ if (NIL_P(line)) return Qnil;
15
+
16
+ char *p;
17
+
18
+ p = RSTRING_PTR(line);
19
+ if (*p != '"') return Qnil;
20
+
21
+ const VALUE items = rb_ary_new2(3);
22
+ const char *s, *n;
23
+ const int len = RSTRING_LEN(line);
24
+ enum { open, closed } state = closed;
25
+
26
+ for (int i = 0; i < len && *p; i++) {
27
+ if (*p == '"') {
28
+ n = p;
29
+ if (i < (len - 1)) *n++;
30
+
31
+ if (state == closed) {
32
+ s = n;
33
+ state = open;
34
+ } else if (state == open) {
35
+ if (!*n || n == p || *n == ',' || *n == 10) {
36
+ rb_ary_push(items, rb_str_new(s, p - s));
37
+ state = closed;
38
+ }
39
+ }
40
+ }
41
+ *p++;
42
+ }
43
+
44
+ return items;
45
+ }
46
+
47
+ void Init_spandx(void)
48
+ {
49
+ rb_mSpandx = rb_define_module("Spandx");
50
+ rb_mCore = rb_define_module_under(rb_mSpandx, "Core");
51
+ rb_mCsvParser = rb_define_module_under(rb_mCore, "CsvParser");
52
+ rb_define_module_function(rb_mCsvParser, "parse", parse, 1);
53
+ }
@@ -0,0 +1,6 @@
1
+ #ifndef SPANDX_H
2
+ #define SPANDX_H 1
3
+
4
+ #include "ruby.h"
5
+
6
+ #endif /* SPANDX_H */
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Spandx
4
- VERSION = '0.13.0'
4
+ VERSION = '0.13.1'
5
5
  end
data/spandx.gemspec CHANGED
@@ -22,6 +22,7 @@ Gem::Specification.new do |spec|
22
22
 
23
23
  spec.files = Dir.chdir(File.expand_path(__dir__)) do
24
24
  Dir.glob('exe/*') +
25
+ Dir.glob('ext/**/**/*.{rb,c,h}') +
25
26
  Dir.glob('lib/**/**/*.{rb}') +
26
27
  Dir.glob('*.{md,gemspec,txt}')
27
28
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spandx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.0
4
+ version: 0.13.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Can Eldem
@@ -331,6 +331,8 @@ files:
331
331
  - README.md
332
332
  - exe/spandx
333
333
  - ext/spandx/extconf.rb
334
+ - ext/spandx/spandx.c
335
+ - ext/spandx/spandx.h
334
336
  - lib/spandx.rb
335
337
  - lib/spandx/cli.rb
336
338
  - lib/spandx/cli/commands/build.rb