ontologies_api_client 0.0.3 → 0.0.4
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: 71fd10e958fcef44bb62da8c116473de40792e57
|
4
|
+
data.tar.gz: 4dbf46fd3db25ddcc3b13aba66bf02eb90505e3b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cdeaa9ac7e1c9d2c82d636488c43b9ef29727ac5a32b87941a71d43556b68405bf579924df33b8c8f775963aca8e5d0e99bdf86edbc51e2b9a1a564674fb414d
|
7
|
+
data.tar.gz: 543202ff594cdede962f214ddf2d4c5480cba69244dfdaeb3814a069f6954bf32708bd1f10f82b4bc2ed4b94cf2b1f32f57dd0d6bbb189f6605b98dc3c30d38f
|
@@ -167,7 +167,8 @@ module LinkedData
|
|
167
167
|
file, return_attribute = nil, nil
|
168
168
|
params.dup.each do |attribute, value|
|
169
169
|
next unless value.is_a?(File) || value.is_a?(Tempfile)
|
170
|
-
|
170
|
+
filename = value.original_filename
|
171
|
+
file = Faraday::UploadIO.new(value.path, "text/plain", filename)
|
171
172
|
return_attribute = attribute
|
172
173
|
params.delete(attribute)
|
173
174
|
end
|
@@ -262,6 +263,7 @@ module LinkedData
|
|
262
263
|
end
|
263
264
|
|
264
265
|
def self.load_json(json)
|
266
|
+
return if json.nil? || json.empty?
|
265
267
|
begin
|
266
268
|
MultiJson.load(json)
|
267
269
|
rescue Exception => e
|
@@ -100,7 +100,7 @@ module Faraday
|
|
100
100
|
private
|
101
101
|
|
102
102
|
def cache_write(key, obj, *args)
|
103
|
-
result = @store.write(key, obj, *args)
|
103
|
+
result = @store.write(key, obj, *args) rescue nil
|
104
104
|
|
105
105
|
if result
|
106
106
|
return result
|
@@ -135,57 +135,8 @@ module Faraday
|
|
135
135
|
@store.exist?(key)
|
136
136
|
end
|
137
137
|
|
138
|
-
class MultiMemcache; attr_accessor :parts, :key; end
|
139
138
|
class CompressedMemcache; attr_accessor :key; end
|
140
139
|
|
141
|
-
##
|
142
|
-
# This wraps memcache in a method that will split large objects
|
143
|
-
# for storage in multiple keys to get around memcache limits on
|
144
|
-
# value size. The corresponding cache_read_multi will read out
|
145
|
-
# the objects.
|
146
|
-
def cache_write_multi(key, obj, *args)
|
147
|
-
lock_key = "lock:#{key}"
|
148
|
-
puts "\n\n\n\n\nLOCKED !!! !!!\n\n\n\n\n" if @store.read(lock_key)
|
149
|
-
return if @store.read(lock_key)
|
150
|
-
begin
|
151
|
-
@store.write(lock_key, true)
|
152
|
-
dump = Marshal.dump(obj)
|
153
|
-
chunk = 1_000_000
|
154
|
-
mm = MultiMemcache.new
|
155
|
-
parts = []
|
156
|
-
part_count = (dump.bytesize / chunk) + 1
|
157
|
-
position = 0
|
158
|
-
part_count.times do
|
159
|
-
parts << dump[position..position+chunk-1]
|
160
|
-
position += chunk
|
161
|
-
end
|
162
|
-
mm.parts = parts.length
|
163
|
-
mm.key = Digest::SHA1.hexdigest(dump)
|
164
|
-
parts.each_with_index {|p,i| @store.write("#{mm.key}:p#{i}", p, *args)}
|
165
|
-
@store.write(key, mm, *args)
|
166
|
-
rescue Exception
|
167
|
-
parts.each_with_index {|p,i| @store.delete("#{mm.key}:p#{i}")} if parts
|
168
|
-
@store.delete(key) if key
|
169
|
-
ensure
|
170
|
-
@store.delete(lock_key)
|
171
|
-
end
|
172
|
-
end
|
173
|
-
|
174
|
-
##
|
175
|
-
# Read out a multipart cache object
|
176
|
-
def cache_read_multi(key)
|
177
|
-
obj = @store.read(key)
|
178
|
-
if obj.is_a?(MultiMemcache)
|
179
|
-
keys = []
|
180
|
-
obj.parts.times do |i|
|
181
|
-
keys << "#{obj.key}:p#{i}"
|
182
|
-
end
|
183
|
-
parts = @store.read_multi(keys).values.join
|
184
|
-
obj = Marshal.load(parts)
|
185
|
-
end
|
186
|
-
obj
|
187
|
-
end
|
188
|
-
|
189
140
|
##
|
190
141
|
# Compress cache entry
|
191
142
|
def cache_write_compressed(key, obj, *args)
|
@@ -10,7 +10,7 @@ Gem::Specification.new do |gem|
|
|
10
10
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
11
11
|
gem.name = "ontologies_api_client"
|
12
12
|
gem.require_paths = ["lib"]
|
13
|
-
gem.version = "0.0.
|
13
|
+
gem.version = "0.0.4"
|
14
14
|
|
15
15
|
gem.add_dependency('multi_json')
|
16
16
|
gem.add_dependency('oj', '<= 2.0.14')
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ontologies_api_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Paul R Alexander
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-02-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: multi_json
|
@@ -156,7 +156,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
156
156
|
version: '0'
|
157
157
|
requirements: []
|
158
158
|
rubyforge_project:
|
159
|
-
rubygems_version: 2.0.
|
159
|
+
rubygems_version: 2.0.14
|
160
160
|
signing_key:
|
161
161
|
specification_version: 4
|
162
162
|
summary: This library can be used for interacting with a 4store instance that stores
|