goodguide-gibbon 0.11.4 → 0.11.6
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/lib/goodguide/gibbon.rb +13 -8
- data/vendor/gibbon/gibbon.browser.dev.js +10 -4
- data/vendor/gibbon/gibbon.browser.js +10 -4
- data/vendor/gibbon/package.json +1 -1
- metadata +12 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c463daf5513770123e599b6683cbe8aaaa92ae92
|
4
|
+
data.tar.gz: 68130977344c86d2202ef88499acb92e6dae62c5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: acedc6b2b70372498fe808be6ea87f5fee3aada6b0c1436fb3595addaca18bd6a6400a404ee008b107e8e16d2a2428724d9fbea78321ef0f3413f084b4c23e83
|
7
|
+
data.tar.gz: f9598232f5bd223e45c1fe392ec016a0410cc614255dc02bdd16dc49bc95123c4aa1eea0a109d5cb55a0f7ec532bc3f7113b6edba331a3bee9e211100e4c3538
|
data/lib/goodguide/gibbon.rb
CHANGED
@@ -176,16 +176,18 @@ module GoodGuide
|
|
176
176
|
|
177
177
|
class RuntimeError < StandardError; end
|
178
178
|
class MissingData < RuntimeError
|
179
|
-
attr_reader :query_type, :id, :
|
180
|
-
|
181
|
-
|
179
|
+
attr_reader :query_type, :id, :latest_annotation
|
180
|
+
attr_accessor :annotations
|
181
|
+
def initialize(type, id, latest_annotation)
|
182
|
+
@query_type, @id, @latest_annotation = type, id, latest_annotation
|
182
183
|
end
|
183
184
|
|
184
185
|
def equals(other)
|
185
186
|
[
|
186
187
|
query_type == other.query_type,
|
187
188
|
id == other.id,
|
188
|
-
annotations == other.annotations
|
189
|
+
annotations == other.annotations,
|
190
|
+
latest_annotation == other.latest_annotation
|
189
191
|
].all?
|
190
192
|
end
|
191
193
|
|
@@ -194,21 +196,24 @@ module GoodGuide
|
|
194
196
|
'status' => 'missing_data',
|
195
197
|
'query_type' => query_type,
|
196
198
|
'entity_id' => id,
|
199
|
+
'latest_annotation' => latest_annotation,
|
197
200
|
'annotations' => annotations,
|
198
201
|
}
|
199
202
|
end
|
200
203
|
end
|
201
204
|
|
202
205
|
class Failure < RuntimeError
|
203
|
-
attr_reader :message
|
204
|
-
def initialize(message)
|
206
|
+
attr_reader :message, :annotations
|
207
|
+
def initialize(message, annotations)
|
205
208
|
@message = message
|
209
|
+
@annotations = annotations
|
206
210
|
end
|
207
211
|
|
208
212
|
def as_json(*)
|
209
213
|
{
|
210
214
|
'status' => 'failure',
|
211
215
|
'message' => message,
|
216
|
+
'annotations' => annotations
|
212
217
|
}
|
213
218
|
end
|
214
219
|
end
|
@@ -268,10 +273,11 @@ module GoodGuide
|
|
268
273
|
|
269
274
|
case error
|
270
275
|
when String
|
271
|
-
raise GoodGuide::Gibbon::Failure.new(error)
|
276
|
+
raise GoodGuide::Gibbon::Failure.new(error, values)
|
272
277
|
when nil
|
273
278
|
values
|
274
279
|
else
|
280
|
+
error.annotations = values
|
275
281
|
raise error
|
276
282
|
end
|
277
283
|
end
|
@@ -348,7 +354,6 @@ module GoodGuide
|
|
348
354
|
include Util
|
349
355
|
def perform_query(id, annotations)
|
350
356
|
annotations = obj_to_ruby(annotations)
|
351
|
-
|
352
357
|
query_type = annotations.delete('_query_type')
|
353
358
|
|
354
359
|
# stash this data in case missing_data! is called
|
@@ -5752,6 +5752,12 @@ stdlib = Gibbon.stdlib = (function() {
|
|
5752
5752
|
type: parse.type('empty? = [%] -> bool'),
|
5753
5753
|
compile: isEmpty
|
5754
5754
|
},
|
5755
|
+
missing: {
|
5756
|
+
type: parse.type('empty = % -> %a'),
|
5757
|
+
compile: function() {
|
5758
|
+
return Core.fail('missing');
|
5759
|
+
}
|
5760
|
+
},
|
5755
5761
|
weight: {
|
5756
5762
|
type: parse.type('weight [numeric : numeric] = % -> numeric'),
|
5757
5763
|
compile: function(_, _arg) {
|
@@ -5869,7 +5875,7 @@ stdlib = Gibbon.stdlib = (function() {
|
|
5869
5875
|
first: {
|
5870
5876
|
type: parse.type('first = [%a] -> %a'),
|
5871
5877
|
compile: function(list) {
|
5872
|
-
return list.delist(ZERO);
|
5878
|
+
return Core.len(list).op2('===', ZERO).branch(Core.fail('first: empty list'), list.delist(ZERO));
|
5873
5879
|
}
|
5874
5880
|
},
|
5875
5881
|
left: {
|
@@ -6199,7 +6205,7 @@ Gibbon.Dependency = Dependency = (function(_super) {
|
|
6199
6205
|
Dependency.variants({
|
6200
6206
|
query: ['entity', 'query', 'value'],
|
6201
6207
|
lexical: ['key'],
|
6202
|
-
failure: ['failure']
|
6208
|
+
failure: ['entity', 'query', 'failure']
|
6203
6209
|
});
|
6204
6210
|
|
6205
6211
|
Dependency.prototype.equals = function(other) {
|
@@ -6345,7 +6351,7 @@ Gibbon.CompiledCode = CompiledCode = (function() {
|
|
6345
6351
|
};
|
6346
6352
|
onFailure = function(err) {
|
6347
6353
|
failures.set(key, err);
|
6348
|
-
return fail(err);
|
6354
|
+
return fail(err, dependencies);
|
6349
6355
|
};
|
6350
6356
|
return _this.functionFor(key)(input, query, onFailure, onSuccess);
|
6351
6357
|
};
|
@@ -6361,7 +6367,7 @@ Gibbon.CompiledCode = CompiledCode = (function() {
|
|
6361
6367
|
out = client.performQuery(id, annotations, function(err, data) {
|
6362
6368
|
var publicValue;
|
6363
6369
|
if (err) {
|
6364
|
-
pushDep(Dependency.failure(err));
|
6370
|
+
pushDep(Dependency.failure(id, annotations, err));
|
6365
6371
|
if (isSynchronous) {
|
6366
6372
|
return function() {
|
6367
6373
|
return onFailure(err);
|
@@ -5689,6 +5689,12 @@ stdlib = Gibbon.stdlib = (function() {
|
|
5689
5689
|
type: parse.type('empty? = [%] -> bool'),
|
5690
5690
|
compile: isEmpty
|
5691
5691
|
},
|
5692
|
+
missing: {
|
5693
|
+
type: parse.type('empty = % -> %a'),
|
5694
|
+
compile: function() {
|
5695
|
+
return Core.fail('missing');
|
5696
|
+
}
|
5697
|
+
},
|
5692
5698
|
weight: {
|
5693
5699
|
type: parse.type('weight [numeric : numeric] = % -> numeric'),
|
5694
5700
|
compile: function(_, _arg) {
|
@@ -5806,7 +5812,7 @@ stdlib = Gibbon.stdlib = (function() {
|
|
5806
5812
|
first: {
|
5807
5813
|
type: parse.type('first = [%a] -> %a'),
|
5808
5814
|
compile: function(list) {
|
5809
|
-
return list.delist(ZERO);
|
5815
|
+
return Core.len(list).op2('===', ZERO).branch(Core.fail('first: empty list'), list.delist(ZERO));
|
5810
5816
|
}
|
5811
5817
|
},
|
5812
5818
|
left: {
|
@@ -6136,7 +6142,7 @@ Gibbon.Dependency = Dependency = (function(_super) {
|
|
6136
6142
|
Dependency.variants({
|
6137
6143
|
query: ['entity', 'query', 'value'],
|
6138
6144
|
lexical: ['key'],
|
6139
|
-
failure: ['failure']
|
6145
|
+
failure: ['entity', 'query', 'failure']
|
6140
6146
|
});
|
6141
6147
|
|
6142
6148
|
Dependency.prototype.equals = function(other) {
|
@@ -6282,7 +6288,7 @@ Gibbon.CompiledCode = CompiledCode = (function() {
|
|
6282
6288
|
};
|
6283
6289
|
onFailure = function(err) {
|
6284
6290
|
failures.set(key, err);
|
6285
|
-
return fail(err);
|
6291
|
+
return fail(err, dependencies);
|
6286
6292
|
};
|
6287
6293
|
return _this.functionFor(key)(input, query, onFailure, onSuccess);
|
6288
6294
|
};
|
@@ -6298,7 +6304,7 @@ Gibbon.CompiledCode = CompiledCode = (function() {
|
|
6298
6304
|
out = client.performQuery(id, annotations, function(err, data) {
|
6299
6305
|
var publicValue;
|
6300
6306
|
if (err) {
|
6301
|
-
pushDep(Dependency.failure(err));
|
6307
|
+
pushDep(Dependency.failure(id, annotations, err));
|
6302
6308
|
if (isSynchronous) {
|
6303
6309
|
return function() {
|
6304
6310
|
return onFailure(err);
|
data/vendor/gibbon/package.json
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: goodguide-gibbon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.11.
|
4
|
+
version: 0.11.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jay Adkisson
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-10-09 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Run and analyze gibbon code from ruby or a browser (via a ruby app).
|
14
14
|
email:
|
@@ -19,35 +19,35 @@ extensions:
|
|
19
19
|
extra_rdoc_files: []
|
20
20
|
files:
|
21
21
|
- Gemfile
|
22
|
+
- ext/mkrf_conf.rb
|
22
23
|
- goodguide-gibbon.gemspec
|
23
24
|
- lib/goodguide/gibbon.rb
|
24
25
|
- lib/goodguide/gibbon/version.rb
|
25
|
-
- vendor/gibbon/package.json
|
26
|
-
- vendor/gibbon/gibbon.browser.js
|
27
26
|
- vendor/gibbon/gibbon.browser.dev.js
|
28
|
-
-
|
27
|
+
- vendor/gibbon/gibbon.browser.js
|
28
|
+
- vendor/gibbon/package.json
|
29
29
|
homepage: http://github.com/GoodGuide/goodguide-gibbon
|
30
30
|
licenses: []
|
31
31
|
metadata: {}
|
32
|
-
post_install_message:
|
32
|
+
post_install_message:
|
33
33
|
rdoc_options: []
|
34
34
|
require_paths:
|
35
35
|
- lib
|
36
36
|
required_ruby_version: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
42
42
|
requirements:
|
43
|
-
- -
|
43
|
+
- - ">="
|
44
44
|
- !ruby/object:Gem::Version
|
45
45
|
version: '0'
|
46
46
|
requirements: []
|
47
47
|
rubyforge_project: goodguide-gibbon
|
48
|
-
rubygems_version: 2.
|
49
|
-
signing_key:
|
48
|
+
rubygems_version: 2.2.2
|
49
|
+
signing_key:
|
50
50
|
specification_version: 4
|
51
51
|
summary: Ruby bindings for the gibbon data language
|
52
52
|
test_files: []
|
53
|
-
has_rdoc:
|
53
|
+
has_rdoc:
|