annotot 0.4.0 → 0.5.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
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ac87d8c015fd3899dbc19d4c0fa12a86903c0344
|
4
|
+
data.tar.gz: e2afe1764a6066501ce6188da467347a1616bb91
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1768923be84227b0a0e3ddf14f030700bc087912522ea8a5228ad4ac3839061a8e5521c8ce75ae62b931ffdfc4d7f21ff6519fff567a47314702823c509926fa
|
7
|
+
data.tar.gz: adee2f5434e7df3ca0f4aa68ce7cdb0850909aa6fa0b4256dd572d3e661ddcc0ce25cad88357712cafad374196383be7e05806d992750a6bd81529c3a250953f
|
@@ -31,7 +31,7 @@
|
|
31
31
|
search: function(options, successCallback, errorCallback) {
|
32
32
|
var _this = this;
|
33
33
|
_this.annotationsList = [];
|
34
|
-
options.format = 'json'
|
34
|
+
options.format = 'json';
|
35
35
|
|
36
36
|
jQuery.ajax({
|
37
37
|
url: _this.endpoint,
|
@@ -89,8 +89,8 @@
|
|
89
89
|
update: function(oaAnnotation, successCallback, errorCallback) {
|
90
90
|
var _this = this;
|
91
91
|
var annotation = _this.getAnnotationInEndpoint(oaAnnotation);
|
92
|
-
|
93
|
-
var annotationID = annotation.annotation
|
92
|
+
|
93
|
+
var annotationID = annotation.annotation.uuid;
|
94
94
|
|
95
95
|
jQuery.ajax({
|
96
96
|
url: _this.endpoint + '/' + encodeURIComponent(annotationID),
|
@@ -158,13 +158,15 @@
|
|
158
158
|
// Converts OA Annotation to endpoint format
|
159
159
|
getAnnotationInEndpoint: function(oaAnnotation) {
|
160
160
|
// Generate a new uuid if one is not present
|
161
|
-
|
161
|
+
// condition needs to be set to check for "falsy" values
|
162
|
+
// !oaAnnotation['@id'] should match null and undefined
|
163
|
+
if (!oaAnnotation['@id']) {
|
162
164
|
oaAnnotation["@id"] = Mirador.genUUID();
|
163
165
|
}
|
164
|
-
|
166
|
+
|
165
167
|
canvas = oaAnnotation.on[0].full;
|
166
168
|
var newAnno = jQuery.extend({}, oaAnnotation);
|
167
|
-
delete newAnno.endpoint
|
169
|
+
delete newAnno.endpoint;
|
168
170
|
return {
|
169
171
|
annotation: {
|
170
172
|
uuid: oaAnnotation["@id"],
|
@@ -50,7 +50,9 @@ module Annotot
|
|
50
50
|
private
|
51
51
|
|
52
52
|
def set_annotation
|
53
|
-
@annotation = Annotation.
|
53
|
+
@annotation = Annotot::Annotation.retrieve_by_id_or_uuid(
|
54
|
+
CGI.unescape(params[:id])
|
55
|
+
)
|
54
56
|
raise ActiveRecord::RecordNotFound unless @annotation.present?
|
55
57
|
end
|
56
58
|
|
@@ -4,5 +4,17 @@ module Annotot
|
|
4
4
|
validates :canvas, presence: true
|
5
5
|
|
6
6
|
serialize :data, JSON
|
7
|
+
|
8
|
+
##
|
9
|
+
# Used to differentiate between a numeric id and a uuid. Rails will trim a
|
10
|
+
# uuid with leading numbers eg '123a'.to_i => 123
|
11
|
+
# @param [String] identifier
|
12
|
+
def self.retrieve_by_id_or_uuid(identifier)
|
13
|
+
if identifier =~ /\A\d+\z/
|
14
|
+
find_by(id: identifier)
|
15
|
+
else
|
16
|
+
find_by(uuid: identifier)
|
17
|
+
end
|
18
|
+
end
|
7
19
|
end
|
8
20
|
end
|
data/lib/annotot/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: annotot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jack Reed
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-05-
|
11
|
+
date: 2018-05-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|