nsicloudooo 0.4.1 → 0.5.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.
- data/VERSION +1 -1
- data/lib/nsicloudooo/client.rb +39 -2
- data/lib/nsicloudooo/fake_server.rb +7 -0
- data/nsicloudooo.gemspec +2 -2
- data/spec/nsicloudooo_spec.rb +12 -0
- metadata +3 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.5.0
|
data/lib/nsicloudooo/client.rb
CHANGED
@@ -135,7 +135,7 @@ module NSICloudooo
|
|
135
135
|
#
|
136
136
|
#
|
137
137
|
# @param [String] key of the desired document
|
138
|
-
# @return [String] key of the desired document's thumbnail
|
138
|
+
# @return [String] key of the desired document's thumbnail
|
139
139
|
#
|
140
140
|
# @example
|
141
141
|
# nsicloudooo.thumbnail_key_for("some key")
|
@@ -149,10 +149,47 @@ module NSICloudooo
|
|
149
149
|
execute_request(request)["thumbnail"]
|
150
150
|
end
|
151
151
|
|
152
|
+
|
153
|
+
# Enqueue a document to have its metadata extracted
|
154
|
+
#
|
155
|
+
#
|
156
|
+
# @param [String] key of the desired document
|
157
|
+
# @param [String] type of the desired document ('tcc' or 'event')
|
158
|
+
# @return [Hash] response
|
159
|
+
# * "doc_key" [String] the key to access the granulated document if the sam node it was stored
|
160
|
+
#
|
161
|
+
# @raise NSICloudooo::Errors::Client::MissingParametersError when an invalid or incomplete set of parameters is provided
|
162
|
+
# @raise NSICloudooo::Errors::Client::SAMConnectionError when cannot connect to the SAM node
|
163
|
+
# @raise NSICloudooo::Errors::Client::AuthenticationError when invalids user and/or password are provided
|
164
|
+
# @raise NSICloudooo::Errors::Client::KeyNotFoundError when an invalid sam_uid is provided
|
165
|
+
#
|
166
|
+
def extract_metadata(document_key, type)
|
167
|
+
request = prepare_request :POST, {:sam_uid => document_key, :type => type, :metadata => true}.to_json
|
168
|
+
execute_request(request)
|
169
|
+
end
|
170
|
+
|
171
|
+
# Return the key of the metadata of a document
|
172
|
+
#
|
173
|
+
#
|
174
|
+
# @param [String] key of the desired document
|
175
|
+
# @return [String] key of the desired document's metadata or false if the metadata wasn't extracted yet
|
176
|
+
#
|
177
|
+
# @example
|
178
|
+
# nsicloudooo.metadata_key_for("some key")
|
179
|
+
#
|
180
|
+
# @raise NSICloudooo::Errors::Client::SAMConnectionError when cannot connect to the SAM node
|
181
|
+
# @raise NSICloudooo::Errors::Client::AuthenticationError when invalids user and/or password are provided
|
182
|
+
# @raise NSICloudooo::Errors::Client::KeyNotFoundError when an invalid key is provided
|
183
|
+
#
|
184
|
+
def metadata_key_for(document_key)
|
185
|
+
request = prepare_request :GET, {:doc_key => document_key, :metadata => true}.to_json
|
186
|
+
execute_request(request)["metadata_key"]
|
187
|
+
end
|
188
|
+
|
152
189
|
# Pre-configure the NSICloudooo module with default params for the NSICloudooo::Client
|
153
190
|
#
|
154
191
|
# @yield a Configuration object (see {NSICloudooo::Client::Configuration})
|
155
|
-
#
|
192
|
+
#
|
156
193
|
# @example
|
157
194
|
# NSICloudooo::Client.configure do
|
158
195
|
# user "why"
|
@@ -16,6 +16,10 @@ module NSICloudooo
|
|
16
16
|
filename = incoming["filename"]
|
17
17
|
filename = File.basename(incoming["doc_link"]) if incoming.has_key? "doc_link"
|
18
18
|
callback = incoming["callback"] || nil
|
19
|
+
metadata = incoming['metadata']
|
20
|
+
unless metadata.nil?
|
21
|
+
return {doc_key: incoming["sam_uid"]}.to_json
|
22
|
+
end
|
19
23
|
verb = incoming["verb"] || nil
|
20
24
|
if filename.include? "secs"
|
21
25
|
seconds = filename.split(".")[0].delete("secs").to_i
|
@@ -41,6 +45,9 @@ module NSICloudooo
|
|
41
45
|
return {done: true}.to_json
|
42
46
|
end
|
43
47
|
elsif incoming.has_key? "doc_key"
|
48
|
+
if incoming.has_key? "metadata"
|
49
|
+
return {"metadata_key" => "metadata for #{incoming['doc_key']}"}.to_json
|
50
|
+
end
|
44
51
|
return {:images => [], :files => [], :thumbnail => ['thumbnail key',]}.to_json
|
45
52
|
end
|
46
53
|
return 404 if incoming["key"].include? "dont"
|
data/nsicloudooo.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "nsicloudooo"
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.5.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Douglas Camata"]
|
12
|
-
s.date = "2012-
|
12
|
+
s.date = "2012-12-04"
|
13
13
|
s.description = "A simple gem to access a nsi.cloudooo node"
|
14
14
|
s.email = "d.camata@gmail.com"
|
15
15
|
s.extra_rdoc_files = [
|
data/spec/nsicloudooo_spec.rb
CHANGED
@@ -101,6 +101,18 @@ describe NSICloudooo do
|
|
101
101
|
|
102
102
|
end
|
103
103
|
|
104
|
+
context "metadata extraction" do
|
105
|
+
it "can enqueue documents already stored to metadata extraction" do
|
106
|
+
response = @nsicloudooo.extract_metadata('some key', 'tcc')
|
107
|
+
response["doc_key"].should == 'some key'
|
108
|
+
end
|
109
|
+
|
110
|
+
it "can access the metadata key when it's already extracted" do
|
111
|
+
response = @nsicloudooo.extract_metadata('some key', 'tcc')
|
112
|
+
@nsicloudooo.metadata_key_for(response["doc_key"]).should == "metadata for #{response["doc_key"]}"
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
104
116
|
context "get configuration" do
|
105
117
|
before do
|
106
118
|
NSICloudooo::Client.configure do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nsicloudooo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-12-04 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: sinatra
|
@@ -146,7 +146,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
146
146
|
version: '0'
|
147
147
|
segments:
|
148
148
|
- 0
|
149
|
-
hash:
|
149
|
+
hash: -3981209681326791150
|
150
150
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
151
151
|
none: false
|
152
152
|
requirements:
|