cogito 0.0.1 → 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 +4 -4
- data/.rubocop.yml +2 -16
- data/.travis.yml +2 -2
- data/README.md +1 -0
- data/cogito.gemspec +10 -8
- data/ext/cogito/cogito.c +24 -10
- data/ext/cogito/cogito.h +0 -6
- data/ext/cogito/extconf.rb +2 -1
- data/lib/cogito/version.rb +1 -1
- metadata +15 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2c0cb0122e577a7e21c2ca0f8568503ec38d7592
|
4
|
+
data.tar.gz: 16c0ad3c7443fe147b4fa79bba32c08c8c1b7067
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f1cf8e87b8b0fae7fa257ca6bb90a05b347c666b11d8623afa05f99790c352178ca9898fef0fa303ca68deebad3775f98b336145306f9d99965ac5da15467794
|
7
|
+
data.tar.gz: 52c7eb3490ba842cdac5841af64ca501669d4d3b2bb23446190cded9e76c13286df354125be9bc4f2fa12df907ca92025dcb37dc9d691115d8405b05e3d5ceca
|
data/.rubocop.yml
CHANGED
@@ -3,27 +3,13 @@ AllCops:
|
|
3
3
|
DisplayStyleGuide: true
|
4
4
|
TargetRubyVersion: 2.3
|
5
5
|
|
6
|
-
# Increase to github width
|
7
|
-
Metrics/LineLength:
|
8
|
-
Max: 117
|
9
|
-
|
10
6
|
Style/Documentation:
|
11
7
|
Enabled: false
|
12
8
|
|
13
|
-
Style/EmptyLinesAroundClassBody:
|
14
|
-
Enabled: false
|
15
|
-
|
16
|
-
Style/EmptyLinesAroundModuleBody:
|
17
|
-
Enabled: false
|
18
|
-
|
19
9
|
Style/FrozenStringLiteralComment:
|
20
10
|
Enabled: false
|
21
11
|
|
22
|
-
# Prefer [] to () default
|
23
12
|
Style/PercentLiteralDelimiters:
|
24
13
|
PreferredDelimiters:
|
25
|
-
|
26
|
-
'%
|
27
|
-
|
28
|
-
Style/PerlBackrefs:
|
29
|
-
Enabled: false
|
14
|
+
default: '[]'
|
15
|
+
'%r': '{}'
|
data/.travis.yml
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
sudo: required
|
2
2
|
language: ruby
|
3
3
|
rvm:
|
4
|
-
- 2.
|
4
|
+
- 2.4.1
|
5
5
|
cache: bundler
|
6
6
|
branches:
|
7
7
|
only:
|
8
8
|
- master
|
9
9
|
before_install:
|
10
10
|
- FILE=$(mktemp)
|
11
|
-
- wget 'https://s3.amazonaws.com/public.localytics/artifacts/cogito/libcogito_0.0
|
11
|
+
- wget 'https://s3.amazonaws.com/public.localytics/artifacts/cogito/libcogito_0.2.0-1_amd64.deb' -qO $FILE
|
12
12
|
- sudo dpkg -i $FILE && rm $FILE
|
13
13
|
script:
|
14
14
|
- bundle exec rake
|
data/README.md
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
[](https://travis-ci.org/localytics/cogito-rb)
|
4
4
|
[](https://coveralls.io/github/localytics/cogito-rb?branch=master)
|
5
|
+
[](https://rubygems.org/gems/cogito)
|
5
6
|
|
6
7
|
A small ruby library that links against [libcogito](https://github.com/localytics/libcogito).
|
7
8
|
|
data/cogito.gemspec
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# coding: utf-8
|
2
|
+
|
2
3
|
lib = File.expand_path('../lib', __FILE__)
|
3
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
5
|
require 'cogito/version'
|
@@ -13,17 +14,18 @@ Gem::Specification.new do |spec|
|
|
13
14
|
spec.homepage = 'https://github.com/localytics/cogito-rb'
|
14
15
|
spec.license = 'MIT'
|
15
16
|
|
16
|
-
spec.files =
|
17
|
+
spec.files =
|
18
|
+
`git ls-files -z`.split("\x0").reject { |file| file.match(%r{^test/}) }
|
17
19
|
spec.bindir = 'exe'
|
18
|
-
spec.executables = spec.files.grep(%r{^exe/}) { |
|
20
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |file| File.basename(file) }
|
19
21
|
spec.extensions = ['ext/cogito/extconf.rb']
|
20
22
|
spec.require_paths = ['lib']
|
21
23
|
|
22
|
-
spec.add_development_dependency 'bundler', '~> 1.
|
24
|
+
spec.add_development_dependency 'bundler', '~> 1.14'
|
23
25
|
spec.add_development_dependency 'coveralls', '~> 0.8'
|
24
|
-
spec.add_development_dependency 'minitest', '~> 5.
|
25
|
-
spec.add_development_dependency 'rake', '~>
|
26
|
-
spec.add_development_dependency 'rake-compiler', '~> 0
|
27
|
-
spec.add_development_dependency 'rubocop', '~> 0.
|
28
|
-
spec.add_development_dependency 'simplecov', '~> 0.
|
26
|
+
spec.add_development_dependency 'minitest', '~> 5.10'
|
27
|
+
spec.add_development_dependency 'rake', '~> 12.0'
|
28
|
+
spec.add_development_dependency 'rake-compiler', '~> 1.0'
|
29
|
+
spec.add_development_dependency 'rubocop', '~> 0.48'
|
30
|
+
spec.add_development_dependency 'simplecov', '~> 0.14'
|
29
31
|
end
|
data/ext/cogito/cogito.c
CHANGED
@@ -1,41 +1,55 @@
|
|
1
1
|
#include "cogito.h"
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
typedef struct {
|
4
|
+
size_t length;
|
5
|
+
size_t capacity;
|
6
|
+
char *content;
|
7
|
+
} cg_buf_t;
|
5
8
|
|
6
|
-
|
7
|
-
|
9
|
+
int cg_to_json(cg_buf_t *buffer, char *input);
|
10
|
+
int cg_to_iam(cg_buf_t *buffer, char *input);
|
11
|
+
|
12
|
+
cg_buf_t* cg_buf_build(void);
|
13
|
+
void cg_buf_free(cg_buf_t *buffer);
|
8
14
|
|
9
15
|
static VALUE CogitoError;
|
10
16
|
|
11
17
|
static VALUE to_json(VALUE self, VALUE str)
|
12
18
|
{
|
19
|
+
cg_buf_t *buffer;
|
20
|
+
char *input;
|
21
|
+
VALUE response;
|
22
|
+
|
13
23
|
if (TYPE(str) == T_NIL) return Qnil;
|
14
24
|
|
15
|
-
|
16
|
-
|
25
|
+
buffer = cg_buf_build();
|
26
|
+
input = rb_string_value_cstr(&str);
|
17
27
|
|
18
28
|
if (cg_to_json(buffer, input) != 0) {
|
19
29
|
rb_raise(CogitoError, "JSON conversion failed");
|
20
30
|
}
|
21
31
|
|
22
|
-
|
32
|
+
response = rb_str_new2(buffer->content);
|
23
33
|
cg_buf_free(buffer);
|
24
34
|
return response;
|
25
35
|
}
|
26
36
|
|
27
37
|
static VALUE to_iam(VALUE self, VALUE str)
|
28
38
|
{
|
39
|
+
cg_buf_t *buffer;
|
40
|
+
char *input;
|
41
|
+
VALUE response;
|
42
|
+
|
29
43
|
if (TYPE(str) == T_NIL) return Qnil;
|
30
44
|
|
31
|
-
|
32
|
-
|
45
|
+
buffer = cg_buf_build();
|
46
|
+
input = rb_string_value_cstr(&str);
|
33
47
|
|
34
48
|
if (cg_to_iam(buffer, input) != 0) {
|
35
49
|
rb_raise(CogitoError, "IAM conversion failed");
|
36
50
|
}
|
37
51
|
|
38
|
-
|
52
|
+
response = rb_str_new2(buffer->content);
|
39
53
|
cg_buf_free(buffer);
|
40
54
|
return response;
|
41
55
|
}
|
data/ext/cogito/cogito.h
CHANGED
data/ext/cogito/extconf.rb
CHANGED
@@ -29,7 +29,8 @@ LIB_DIRS = [
|
|
29
29
|
].freeze
|
30
30
|
|
31
31
|
failure_message = "\n" << '=' * 85 << "\n"
|
32
|
-
failure_message <<
|
32
|
+
failure_message << 'libcogito is missing from your system. ' \
|
33
|
+
"Please install by running the following steps:\n\n"
|
33
34
|
failure_message <<
|
34
35
|
if `uname`.chomp == 'Darwin'
|
35
36
|
<<-MSG
|
data/lib/cogito/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cogito
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Localytics
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-06-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '1.
|
19
|
+
version: '1.14'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '1.
|
26
|
+
version: '1.14'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: coveralls
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -44,70 +44,70 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '5.
|
47
|
+
version: '5.10'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '5.
|
54
|
+
version: '5.10'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rake
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '12.0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '12.0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rake-compiler
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '0
|
75
|
+
version: '1.0'
|
76
76
|
type: :development
|
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: '0
|
82
|
+
version: '1.0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: rubocop
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '0.
|
89
|
+
version: '0.48'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '0.
|
96
|
+
version: '0.48'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: simplecov
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: '0.
|
103
|
+
version: '0.14'
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: '0.
|
110
|
+
version: '0.14'
|
111
111
|
description:
|
112
112
|
email:
|
113
113
|
- oss@localytics.com
|
@@ -150,7 +150,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
150
150
|
version: '0'
|
151
151
|
requirements: []
|
152
152
|
rubyforge_project:
|
153
|
-
rubygems_version: 2.6.
|
153
|
+
rubygems_version: 2.6.11
|
154
154
|
signing_key:
|
155
155
|
specification_version: 4
|
156
156
|
summary: A ruby library that wraps libcogito
|