annotator_store 1.0.0.pre → 1.0.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: c6ddd11b4ff25f3477a7c2ef180080c135f192ba
4
- data.tar.gz: 40c0857fbb2adc58ec90f65622f91ca463016d9d
3
+ metadata.gz: 43b816e26d213ee0689e56a6b43c70faac7e4b89
4
+ data.tar.gz: 33b50d049831ea7d930d46696a62fa22883967d6
5
5
  SHA512:
6
- metadata.gz: 9dde1c468bcdeb6c3a6bd7069b9bb1176e479036b3e1b4b3b4bff26b756368d4fde382ffd863596fd5dd11ed04cd6995565bb8e5191b1d23080dd5212d5b067c
7
- data.tar.gz: 39a4e0020f14898a1d0e3b730fa4adba062baa338fdf317c10214935b357f7235637d109a067319e0c87068d4ed78b603683c4ae0a4f732d6ca6ae54d17e9470
6
+ metadata.gz: 61825fac6af6a847c1fda2f5607e52a4a99af8c9095bb4eb5eeaf4f4f638e11da0a9c03990ab0e4ce1cea7c4435be3233029f8a0c24eaf3ac817336763941958
7
+ data.tar.gz: 2499df60e7292ffafd03175e1acd8172b62e6c00fe5a92891355f65f665921252892402043c325cad831d1276813bb0c6ef94f4b34cc037cfe50e86c6eea68e5
@@ -1,6 +1,12 @@
1
1
  CHANGELOG
2
2
  =========
3
3
 
4
+ v1.0.0
5
+ ------
6
+
7
+ * Drop complexity brought in by UUIDs
8
+
9
+
4
10
  v1.0.0.pre
5
11
  ----------
6
12
 
data/README.md CHANGED
@@ -78,22 +78,13 @@ And then from the `APP_ROOT` execute:
78
78
 
79
79
  $ bundle install
80
80
 
81
- Configure your database credentials in `config/database.yml` and then run the
82
- migrations to create the tables to store the annotations. Depending on the
83
- database of choice you'll need to set the `DB` environment variable when running
84
- the migrations. There are slight variations in the structure of the DB when
85
- using MySQL and PostgreSQL. The default setting is PostgreSQL if not set.
81
+ Configure your database credentials in your `config/database.yml` file and then run the
82
+ migrations to create the tables to store the annotations.
86
83
 
87
84
  # Copy migrations over from the engine
88
85
  $ rake annotator_store:install:migrations
89
86
 
90
- # To run the copied migration when using MySQL
91
- $ DB=mysql rake db:migrate
92
-
93
- # To run the copied migration when using PostgreSQL
94
- $ DB=postgres rake db:migrate
95
-
96
- # To run the copied migration without specifying type (defaults to postgres)
87
+ # To run the copied migration
97
88
  $ rake db:migrate
98
89
 
99
90
  Then mount it in `config/routes.rb`:
@@ -112,7 +103,7 @@ An annotation is a JSON document that contains a number of fields describing the
112
103
  position and content of an annotation within a specified document:
113
104
 
114
105
  {
115
- "id": "39fc339cf058bd22176771b3e3187329", # unique id (added by backend)
106
+ "id": 1, # unique id (added by backend)
116
107
  "annotator_schema_version": "v1.0", # schema version: default v1.0
117
108
  "created": "2011-05-24T18:52:08.036814", # created datetime in iso8601 format (added by backend)
118
109
  "updated": "2011-05-26T12:17:05.012544", # updated datetime in iso8601 format (added by backend)
@@ -129,9 +120,6 @@ position and content of an annotation within a specified document:
129
120
  ]
130
121
  }
131
122
 
132
- For PostgreSQL the primary key of the annotation will be a UUID while for MySQL it
133
- will be a normal integer id.
134
-
135
123
 
136
124
  API Endpoints
137
125
  -------------
@@ -192,7 +180,7 @@ Returns (example):
192
180
 
193
181
  $ curl http://example.com/annotator_store/annotations
194
182
  {
195
- "id": "d41d8cd98f00b204e9800998ecf8427e",
183
+ "id": 1,
196
184
  "text": "Annotation text",
197
185
  ...
198
186
  }
@@ -208,7 +196,7 @@ Returns (example):
208
196
 
209
197
  $ curl http://example.com/annotator_store/annotations/d41d8cd98f00b204e9800998ecf8427e
210
198
  {
211
- "id": "d41d8cd98f00b204e9800998ecf8427e",
199
+ "id": 1,
212
200
  "text": "Annotation text",
213
201
  ...
214
202
  }
@@ -226,7 +214,7 @@ Returns (example):
226
214
 
227
215
  $ curl http://example.com/annotator_store/annotations/d41d8cd98f00b204e9800998ecf8427e
228
216
  {
229
- "id": "d41d8cd98f00b204e9800998ecf8427e",
217
+ "id": 1,
230
218
  "text": "Annotation text",
231
219
  ...
232
220
  }
@@ -261,7 +249,7 @@ Returns (example):
261
249
  "total": 43127,
262
250
  "rows": [
263
251
  {
264
- "id": "d41d8cd98f00b204e9800998ecf8427e",
252
+ "id": 1,
265
253
  "text": "Updated annotation text",
266
254
  ...
267
255
  },
@@ -1,5 +1,4 @@
1
1
  AnnotatorStore::Engine.routes.draw do
2
-
3
2
  # Root path
4
3
  root 'pages#index', defaults: { format: :json }
5
4
 
@@ -1,43 +1,20 @@
1
- # This migration executes differently depending on the database set via the DB
2
- # environment variable. For PostgreSQL we use UUIDs ... for MySQL we use normal
3
- # primary keys.
4
1
  class CreateAnnotatorStore < ActiveRecord::Migration
5
2
  def self.up
6
- # If using PostgreSQL database these are extensions are necessary
7
- database_type = ENV['DB'] || 'postgres'
8
- if database_type == 'postgres'
9
- enable_extension 'plpgsql' unless extension_enabled?('plpgsql')
10
- enable_extension 'uuid-ossp' unless extension_enabled?('uuid-ossp')
11
- options = { id: :uuid, default: 'uuid_generate_v4()' }
12
- else
13
- options = {}
14
- end
15
-
16
- # Table to store annotations
17
- create_table :annotator_store_annotations, options do |t|
3
+ create_table :annotator_store_annotations do |t|
18
4
  t.string :version # Schema version
19
5
  t.text :text # Content of annotation
20
6
  t.text :quote # The annotated text
21
7
  t.string :uri # URI of annotated document
22
- t.timestamps # Time created_at and updated_at
8
+ t.timestamps # Time created_at and updated_at for annotation
23
9
  end
24
10
 
25
- # Table to store ranges covered by an annotation since each annotation could
26
- # have many ranges ... at least by design in annotator.js but not yet
27
- # implemented. Since the associated annotation's primary could be a UUID, at
28
- # least in the case of PostgreSQL, we'll have to apply some logic to cater
29
- # for the different scenarios.
30
11
  create_table :annotator_store_ranges do |t|
31
- if database_type == 'postgres'
32
- t.uuid :annotation_id, index: true # Associated annotation's UUID
33
- else
34
- t.references :annotation, index: true # Associated annotation's normal id
35
- end
36
- t.string :start # Relative XPath to start element
37
- t.string :end # Relative XPath to end element
38
- t.integer :start_offset # Character offset within start element
39
- t.integer :end_offset # Character offset within end element
40
- t.timestamps
12
+ t.references :annotation, index: true # Associated annotation's id
13
+ t.string :start # Relative XPath to start element
14
+ t.string :end # Relative XPath to end element
15
+ t.integer :start_offset # Character offset within start element
16
+ t.integer :end_offset # Character offset within end element
17
+ t.timestamps # Time created_at and updated_at for range
41
18
  end
42
19
  end
43
20
 
@@ -1,3 +1,3 @@
1
1
  module AnnotatorStore
2
- VERSION = '1.0.0.pre'
2
+ VERSION = '1.0.0'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: annotator_store
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.pre
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Job King'ori Maina
@@ -122,6 +122,20 @@ dependencies:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: rubocop
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
125
139
  - !ruby/object:Gem::Dependency
126
140
  name: jbuilder
127
141
  requirement: !ruby/object:Gem::Requirement
@@ -200,12 +214,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
200
214
  version: 1.9.3
201
215
  required_rubygems_version: !ruby/object:Gem::Requirement
202
216
  requirements:
203
- - - ">"
217
+ - - ">="
204
218
  - !ruby/object:Gem::Version
205
- version: 1.3.1
219
+ version: '0'
206
220
  requirements: []
207
221
  rubyforge_project:
208
- rubygems_version: 2.2.2
222
+ rubygems_version: 2.4.5
209
223
  signing_key:
210
224
  specification_version: 4
211
225
  summary: Rails engine to implement a Ruby backend store implementation for Annotator.