ucengine 0.4.0 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +17 -0
- data/Gemfile +3 -0
- data/Gemfile.lock +39 -0
- data/Rakefile +7 -50
- data/lib/ucengine.rb +49 -50
- data/lib/ucengine/version.rb +3 -0
- data/spec/ucengine_mock.rb +3 -3
- data/spec/ucengine_spec.rb +1 -0
- data/ucengine.gemspec +21 -60
- metadata +55 -38
- data/VERSION +0 -1
data/.gitignore
ADDED
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
ucengine (0.4.0)
|
5
|
+
daemons (~> 1.1)
|
6
|
+
json (~> 1.5)
|
7
|
+
rest-client (~> 1.6)
|
8
|
+
|
9
|
+
GEM
|
10
|
+
remote: http://rubygems.org/
|
11
|
+
specs:
|
12
|
+
daemons (1.1.0)
|
13
|
+
diff-lcs (1.1.2)
|
14
|
+
json (1.5.1)
|
15
|
+
mime-types (1.16)
|
16
|
+
rack (1.2.2)
|
17
|
+
rest-client (1.6.1)
|
18
|
+
mime-types (>= 1.16)
|
19
|
+
rspec (2.4.0)
|
20
|
+
rspec-core (~> 2.4.0)
|
21
|
+
rspec-expectations (~> 2.4.0)
|
22
|
+
rspec-mocks (~> 2.4.0)
|
23
|
+
rspec-core (2.4.0)
|
24
|
+
rspec-expectations (2.4.0)
|
25
|
+
diff-lcs (~> 1.1.2)
|
26
|
+
rspec-mocks (2.4.0)
|
27
|
+
sinatra (1.2.1)
|
28
|
+
rack (~> 1.1)
|
29
|
+
tilt (< 2.0, >= 1.2.2)
|
30
|
+
tilt (1.2.2)
|
31
|
+
|
32
|
+
PLATFORMS
|
33
|
+
ruby
|
34
|
+
|
35
|
+
DEPENDENCIES
|
36
|
+
bundler (>= 1.0)
|
37
|
+
rspec (~> 2.4)
|
38
|
+
sinatra (~> 1.2)
|
39
|
+
ucengine!
|
data/Rakefile
CHANGED
@@ -1,54 +1,11 @@
|
|
1
|
-
require '
|
2
|
-
|
3
|
-
require "rspec/core/rake_task"
|
1
|
+
require 'bundler'
|
2
|
+
Bundler::GemHelper.install_tasks
|
4
3
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
gem.description = %Q{ucengine.rb is a Ruby library to consume the U.C.Engine API}
|
11
|
-
gem.email = "victor.goya@af83.com"
|
12
|
-
gem.homepage = "http://github.com/AF83/ucengine.rb"
|
13
|
-
gem.authors = ["AF83"]
|
14
|
-
gem.add_dependency "json", "~>1.4"
|
15
|
-
gem.add_dependency "rest-client", "~>1.6"
|
16
|
-
gem.add_dependency "daemons", "~>1.1.0"
|
17
|
-
gem.add_development_dependency "sinatra", "~>1.0"
|
18
|
-
gem.add_development_dependency "rspec", "~>2.4.0"
|
19
|
-
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
20
|
-
end
|
21
|
-
Jeweler::GemcutterTasks.new
|
22
|
-
rescue LoadError
|
23
|
-
puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
|
24
|
-
end
|
25
|
-
|
26
|
-
begin
|
27
|
-
require 'rcov/rcovtask'
|
28
|
-
Rcov::RcovTask.new do |test|
|
29
|
-
test.libs << 'test'
|
30
|
-
test.pattern = 'test/**/test_*.rb'
|
31
|
-
test.verbose = true
|
32
|
-
end
|
33
|
-
rescue LoadError
|
34
|
-
task :rcov do
|
35
|
-
abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
RSpec::Core::RakeTask.new(:spec) do |spec|
|
40
|
-
spec.pattern = 'spec/*_spec.rb'
|
41
|
-
spec.rspec_opts = ['--backtrace']
|
4
|
+
# Run tests
|
5
|
+
require 'rspec/core/rake_task'
|
6
|
+
RSpec::Core::RakeTask.new(:rspec) do |t|
|
7
|
+
t.rspec_opts = ["-c", "-f progress"]
|
8
|
+
t.pattern = 'spec/**/*_spec.rb'
|
42
9
|
end
|
43
10
|
|
44
11
|
task :default => :rspec
|
45
|
-
|
46
|
-
require 'rake/rdoctask'
|
47
|
-
Rake::RDocTask.new do |rdoc|
|
48
|
-
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
49
|
-
|
50
|
-
rdoc.rdoc_dir = 'rdoc'
|
51
|
-
rdoc.title = "ucengine.rb #{version}"
|
52
|
-
rdoc.rdoc_files.include('README*')
|
53
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
54
|
-
end
|
data/lib/ucengine.rb
CHANGED
@@ -28,26 +28,21 @@ require 'uri'
|
|
28
28
|
# end
|
29
29
|
class UCEngine
|
30
30
|
|
31
|
-
# Print every request and everything above.
|
32
|
-
|
33
|
-
# Print
|
34
|
-
|
35
|
-
|
36
|
-
ERROR = 2
|
37
|
-
# Only print critical errors (bad hostname or port, etc).
|
38
|
-
CRITICAL = 3
|
39
|
-
# Don't print anything (default).
|
40
|
-
QUIET = 4
|
31
|
+
DEBUG = 0 # Print every request and everything above.
|
32
|
+
WARNING = 1 # Print everything that seems fishy.
|
33
|
+
ERROR = 2 # Print regular errors, usually HTTP errors.
|
34
|
+
CRITICAL = 3 # Only print critical errors (bad hostname or port, etc).
|
35
|
+
QUIET = 4 # Don't print anything (default).
|
41
36
|
|
42
|
-
|
43
|
-
|
44
|
-
API_VERSION =
|
37
|
+
# HTTP API conf.
|
38
|
+
API_ROOT = '/api'
|
39
|
+
API_VERSION = '0.5'
|
45
40
|
|
46
41
|
attr_reader :sid, :uid, :connected
|
47
42
|
|
48
43
|
# Load configuration file (default: config.yaml). The returned configuration
|
49
44
|
# is a Hash, as returned by YAML.load_file().
|
50
|
-
def
|
45
|
+
def self.load_config(path = 'config.yaml')
|
51
46
|
YAML.load_file(path)
|
52
47
|
end
|
53
48
|
|
@@ -62,7 +57,7 @@ class UCEngine
|
|
62
57
|
# end
|
63
58
|
#
|
64
59
|
#
|
65
|
-
def
|
60
|
+
def self.run(name, &proc)
|
66
61
|
Daemons.run_proc(name, &proc)
|
67
62
|
end
|
68
63
|
|
@@ -77,7 +72,7 @@ class UCEngine
|
|
77
72
|
@http = Net::HTTP.new(host, port)
|
78
73
|
@threads = []
|
79
74
|
@debug = debug
|
80
|
-
debug
|
75
|
+
debug "Initialisation complete for #{host}:#{port}."
|
81
76
|
end
|
82
77
|
|
83
78
|
# Return true if a connection to U.C.Engine has been established, return false otherwise.
|
@@ -85,7 +80,7 @@ class UCEngine
|
|
85
80
|
@connected
|
86
81
|
end
|
87
82
|
|
88
|
-
# Connect to the U.C.Engine server with the User
|
83
|
+
# Connect to the U.C.Engine server with the User Name 'name' and the its credential.
|
89
84
|
#
|
90
85
|
#
|
91
86
|
# uce = UCEngine.new("localhost", 4567)
|
@@ -93,15 +88,15 @@ class UCEngine
|
|
93
88
|
# ... your code goes here
|
94
89
|
# end
|
95
90
|
#
|
96
|
-
def connect(
|
97
|
-
@uid = uid
|
91
|
+
def connect(name, params)
|
98
92
|
begin
|
99
|
-
response = post("/presence/", {:
|
93
|
+
response = post("/presence/", {:name => name, :credential => params[:credential]})
|
100
94
|
@connected = true
|
101
|
-
@sid = response['result']
|
102
|
-
|
95
|
+
@sid = response['result']['sid']
|
96
|
+
@uid = response['result']['uid']
|
97
|
+
debug "Authentification complete for #{@uid}/#{@sid}."
|
103
98
|
rescue RestClient::Request::Unauthorized
|
104
|
-
debug
|
99
|
+
debug "Authentification error for #{name}."
|
105
100
|
@connected = false
|
106
101
|
end
|
107
102
|
yield self if block_given?
|
@@ -109,7 +104,7 @@ class UCEngine
|
|
109
104
|
begin
|
110
105
|
thread.join
|
111
106
|
rescue => error
|
112
|
-
|
107
|
+
warn "Thread aborted: #{error}"
|
113
108
|
end
|
114
109
|
end
|
115
110
|
end
|
@@ -134,7 +129,7 @@ class UCEngine
|
|
134
129
|
# :search => 'HTML5',
|
135
130
|
# :count => 30, :page => 2)
|
136
131
|
def search(location, params = {})
|
137
|
-
debug
|
132
|
+
debug "Search to #{location} with #{params}."
|
138
133
|
get("/event/#{location}", params)['result']
|
139
134
|
end
|
140
135
|
|
@@ -154,23 +149,23 @@ class UCEngine
|
|
154
149
|
# puts "A new meeting about HTML5 was created"
|
155
150
|
# end
|
156
151
|
def subscribe(location, params = {})
|
157
|
-
debug
|
152
|
+
debug "Subscribe to #{location} with #{params}."
|
158
153
|
@threads << Thread.new do
|
159
|
-
Net::HTTP.start
|
160
|
-
params[:_async] =
|
154
|
+
Net::HTTP.start @host, @port do |http|
|
155
|
+
params[:_async] = 'lp'
|
161
156
|
params[:start] = 0 if !params[:start]
|
162
157
|
while true
|
163
158
|
begin
|
164
159
|
events = get("/event/#{location}", params, http)['result']
|
165
160
|
rescue RestClient::RequestTimeout
|
166
|
-
|
161
|
+
warn 'Subscribe timeout ... retry'
|
167
162
|
retry
|
168
163
|
rescue EOFError
|
169
|
-
|
164
|
+
warn 'Subscribe closed ... retry'
|
170
165
|
sleep 1
|
171
166
|
retry
|
172
|
-
rescue =>
|
173
|
-
|
167
|
+
rescue => boom
|
168
|
+
error boom
|
174
169
|
sleep 1
|
175
170
|
retry
|
176
171
|
end
|
@@ -198,7 +193,7 @@ class UCEngine
|
|
198
193
|
# :metadata => {:url => 'http://myserver/slides/03.png',
|
199
194
|
# :index => 3})
|
200
195
|
def publish(event)
|
201
|
-
debug
|
196
|
+
debug "Publish to #{event[:location]}, type: #{event[:type]}, parent: #{event[:parent]}, metadata: #{event[:metadata]}"
|
202
197
|
params = Hash.new
|
203
198
|
params[:type] = event[:type]
|
204
199
|
params[:parent] = event[:parent] if event[:parent]
|
@@ -207,7 +202,7 @@ class UCEngine
|
|
207
202
|
params["metadata[#{key}]"] = event[:metadata][key]
|
208
203
|
end
|
209
204
|
end
|
210
|
-
post
|
205
|
+
post "/event/#{event[:location]}", params
|
211
206
|
end
|
212
207
|
|
213
208
|
# Return the current timestamp from the server. The timestamp is expressed in milliseconds
|
@@ -218,7 +213,7 @@ class UCEngine
|
|
218
213
|
#
|
219
214
|
def time
|
220
215
|
time = get("/time", Hash.new)['result'].to_i
|
221
|
-
debug
|
216
|
+
debug "Fecth timestamp from UCEngine: #{time}"
|
222
217
|
return time
|
223
218
|
end
|
224
219
|
|
@@ -228,15 +223,15 @@ class UCEngine
|
|
228
223
|
# uce.download("demo_meeting", "file_43243243253253.pdf")
|
229
224
|
#
|
230
225
|
def download(location, id)
|
231
|
-
Net::HTTP.start
|
226
|
+
Net::HTTP.start @host, @port do |http|
|
232
227
|
params = Hash.new
|
233
228
|
params[:uid] = @uid if @uid
|
234
229
|
params[:sid] = @sid if @sid
|
235
230
|
url = URI.escape("http://#{@host}:#{@port}#{API_ROOT}/#{API_VERSION}/file/#{location}/#{id}")
|
236
231
|
|
237
|
-
debug
|
232
|
+
debug "Download: #{url}"
|
238
233
|
result = RestClient.get(url, {:params => params})
|
239
|
-
debug
|
234
|
+
debug 'Download complete'
|
240
235
|
return result
|
241
236
|
end
|
242
237
|
end
|
@@ -250,27 +245,31 @@ class UCEngine
|
|
250
245
|
#
|
251
246
|
def upload(location, file)
|
252
247
|
url = "http://#{@host}:#{@port}#{API_ROOT}/#{API_VERSION}/file/#{location}?uid=#{@uid}&sid=#{@sid}"
|
253
|
-
debug
|
248
|
+
debug "Upload: #{file.path} to #{url}"
|
254
249
|
result = JSON.parse(RestClient.post(url, {:upload => file}))
|
255
|
-
debug
|
250
|
+
debug 'Upload complete'
|
256
251
|
return result
|
257
252
|
end
|
258
253
|
|
259
254
|
protected
|
260
255
|
|
261
256
|
# Print debug messages
|
262
|
-
def
|
263
|
-
$stderr.write
|
257
|
+
def log_message(level, message)
|
258
|
+
$stderr.write "#{message}\n\n" if level >= @debug
|
264
259
|
end
|
260
|
+
def debug(message) ; log_message UCEngine::DEBUG, message ; end
|
261
|
+
def warn(message) ; log_message UCEngine::WARNING, message ; end
|
262
|
+
def error(message) ; log_message UCEngine::ERROR, message ; end
|
263
|
+
def critical(message) ; log_message UCEngine::CRITICAL, message ; end
|
265
264
|
|
266
265
|
# Handle GET requests
|
267
266
|
def get(path, params, http = @http)
|
268
267
|
params[:uid] = @uid if @uid
|
269
268
|
params[:sid] = @sid if @sid
|
270
269
|
url = "http://#{@host}:#{@port}#{API_ROOT}/#{API_VERSION}#{path}"
|
271
|
-
debug
|
270
|
+
debug "Request: GET #{url}"
|
272
271
|
result = JSON.parse(RestClient.get(url, {:params => params}))
|
273
|
-
debug
|
272
|
+
debug "Result: #{result}"
|
274
273
|
return result
|
275
274
|
end
|
276
275
|
|
@@ -279,22 +278,22 @@ class UCEngine
|
|
279
278
|
params[:uid] = @uid if @uid
|
280
279
|
params[:sid] = @sid if @sid
|
281
280
|
url = "http://#{@host}:#{@port}#{API_ROOT}/#{API_VERSION}#{path}"
|
282
|
-
debug
|
281
|
+
debug "Request: POST #{url}"
|
283
282
|
result = JSON.parse(RestClient.post(url, params, :accept => :json))
|
284
|
-
debug
|
283
|
+
debug "Result: #{result}"
|
285
284
|
return result
|
286
285
|
end
|
287
286
|
|
288
287
|
# Handle PUT requests
|
289
288
|
def put(path, params)
|
290
|
-
params['_method'] =
|
291
|
-
post
|
289
|
+
params['_method'] = 'PUT'
|
290
|
+
post path, params
|
292
291
|
end
|
293
292
|
|
294
293
|
# Handle DELETE requests
|
295
294
|
def delete(path, params)
|
296
|
-
params['_method'] =
|
297
|
-
post
|
295
|
+
params['_method'] = 'DELETE'
|
296
|
+
post path, params
|
298
297
|
end
|
299
298
|
|
300
299
|
end
|
data/spec/ucengine_mock.rb
CHANGED
@@ -6,12 +6,12 @@ require 'spec_helper'
|
|
6
6
|
class UCEngineMock < Sinatra::Base
|
7
7
|
use Rack::MethodOverride
|
8
8
|
|
9
|
-
VERSION =
|
9
|
+
VERSION = UCEngine::API_VERSION
|
10
10
|
|
11
11
|
post "/api/#{VERSION}/presence/" do
|
12
|
-
if params[:
|
12
|
+
if params[:name] == USER && params[:credential] == PASSWORD
|
13
13
|
status 200
|
14
|
-
{:result => "test_sid"}.to_json
|
14
|
+
{:result => {:sid => "test_sid", :uid => "test_uid"}}.to_json
|
15
15
|
else
|
16
16
|
status 401
|
17
17
|
{:error => "unauthorized"}.to_json
|
data/spec/ucengine_spec.rb
CHANGED
data/ucengine.gemspec
CHANGED
@@ -1,67 +1,28 @@
|
|
1
|
-
# Generated by jeweler
|
2
|
-
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
1
|
# -*- encoding: utf-8 -*-
|
2
|
+
require File.expand_path("../lib/ucengine/version", __FILE__)
|
5
3
|
|
6
4
|
Gem::Specification.new do |s|
|
7
|
-
s.name =
|
8
|
-
s.version =
|
5
|
+
s.name = "ucengine"
|
6
|
+
s.version = UCEngine::VERSION
|
7
|
+
s.platform = Gem::Platform::RUBY
|
8
|
+
s.authors = ['AF83']
|
9
|
+
s.email = ['victor.goya@af83.com', 'arnaud.berthomier@af83.com']
|
10
|
+
s.homepage = "https://github.com/AF83/ucengine.rb"
|
11
|
+
s.summary = "A ruby library to consume the UCEngine API"
|
12
|
+
s.description = "A ruby library to consume the UCEngine API"
|
9
13
|
|
10
|
-
s.required_rubygems_version =
|
11
|
-
s.
|
12
|
-
s.date = %q{2011-02-21}
|
13
|
-
s.description = %q{ucengine.rb is a Ruby library to consume the UCEngine API}
|
14
|
-
s.email = %q{victor.goya@af83.com}
|
15
|
-
s.extra_rdoc_files = [
|
16
|
-
"LICENSE",
|
17
|
-
"README.rdoc"
|
18
|
-
]
|
19
|
-
s.files = [
|
20
|
-
".document",
|
21
|
-
"LICENSE",
|
22
|
-
"README.rdoc",
|
23
|
-
"Rakefile",
|
24
|
-
"VERSION",
|
25
|
-
"lib/ucengine.rb",
|
26
|
-
"spec/spec_helper.rb",
|
27
|
-
"spec/ucengine_mock.rb",
|
28
|
-
"spec/ucengine_spec.rb",
|
29
|
-
"ucengine.gemspec",
|
30
|
-
"ucengine.rb.gemspec"
|
31
|
-
]
|
32
|
-
s.homepage = %q{http://github.com/AF83/ucengine.rb}
|
33
|
-
s.require_paths = ["lib"]
|
34
|
-
s.rubygems_version = %q{1.3.7}
|
35
|
-
s.summary = %q{Ruby library for UCEngine}
|
36
|
-
s.test_files = [
|
37
|
-
"spec/spec_helper.rb",
|
38
|
-
"spec/ucengine_mock.rb",
|
39
|
-
"spec/ucengine_spec.rb"
|
40
|
-
]
|
14
|
+
s.required_rubygems_version = ">= 1.3.6"
|
15
|
+
s.rubyforge_project = "ucengine"
|
41
16
|
|
42
|
-
|
43
|
-
|
44
|
-
|
17
|
+
s.add_dependency "rest-client", "~> 1.6"
|
18
|
+
s.add_dependency "daemons" , "~> 1.1"
|
19
|
+
s.add_dependency "json" , "~> 1.5"
|
45
20
|
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
s.add_runtime_dependency(%q<daemons>, ["~> 1.1.0"])
|
50
|
-
s.add_development_dependency(%q<sinatra>, ["~> 1.0"])
|
51
|
-
s.add_development_dependency(%q<rspec>, ["~> 2.4.0"])
|
52
|
-
else
|
53
|
-
s.add_dependency(%q<json>, ["~> 1.4"])
|
54
|
-
s.add_dependency(%q<rest-client>, ["~> 1.6"])
|
55
|
-
s.add_dependency(%q<daemons>, ["~> 1.1.0"])
|
56
|
-
s.add_dependency(%q<sinatra>, ["~> 1.0"])
|
57
|
-
s.add_dependency(%q<rspec>, ["~> 2.4.0"])
|
58
|
-
end
|
59
|
-
else
|
60
|
-
s.add_dependency(%q<json>, ["~> 1.4"])
|
61
|
-
s.add_dependency(%q<rest-client>, ["~> 1.6"])
|
62
|
-
s.add_dependency(%q<daemons>, ["~> 1.1.0"])
|
63
|
-
s.add_dependency(%q<sinatra>, ["~> 1.0"])
|
64
|
-
s.add_dependency(%q<rspec>, ["~> 2.4.0"])
|
65
|
-
end
|
66
|
-
end
|
21
|
+
s.add_development_dependency "bundler", ">= 1.0"
|
22
|
+
s.add_development_dependency "rspec" , "~> 2.4"
|
23
|
+
s.add_development_dependency "sinatra", "~> 1.2"
|
67
24
|
|
25
|
+
s.files = `git ls-files`.split("\n")
|
26
|
+
s.executables = `git ls-files`.split("\n").map{|f| f =~ /^bin\/(.*)/ ? $1 : nil}.compact
|
27
|
+
s.require_path = 'lib'
|
28
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ucengine
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 11
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
8
|
+
- 5
|
9
9
|
- 0
|
10
|
-
version: 0.
|
10
|
+
version: 0.5.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- AF83
|
@@ -15,62 +15,61 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-
|
18
|
+
date: 2011-04-14 00:00:00 +02:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
|
-
name:
|
22
|
+
name: rest-client
|
23
23
|
prerelease: false
|
24
24
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
25
|
none: false
|
26
26
|
requirements:
|
27
27
|
- - ~>
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
hash:
|
29
|
+
hash: 3
|
30
30
|
segments:
|
31
31
|
- 1
|
32
|
-
-
|
33
|
-
version: "1.
|
32
|
+
- 6
|
33
|
+
version: "1.6"
|
34
34
|
type: :runtime
|
35
35
|
version_requirements: *id001
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
|
-
name:
|
37
|
+
name: daemons
|
38
38
|
prerelease: false
|
39
39
|
requirement: &id002 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ~>
|
43
43
|
- !ruby/object:Gem::Version
|
44
|
-
hash:
|
44
|
+
hash: 13
|
45
45
|
segments:
|
46
46
|
- 1
|
47
|
-
-
|
48
|
-
version: "1.
|
47
|
+
- 1
|
48
|
+
version: "1.1"
|
49
49
|
type: :runtime
|
50
50
|
version_requirements: *id002
|
51
51
|
- !ruby/object:Gem::Dependency
|
52
|
-
name:
|
52
|
+
name: json
|
53
53
|
prerelease: false
|
54
54
|
requirement: &id003 !ruby/object:Gem::Requirement
|
55
55
|
none: false
|
56
56
|
requirements:
|
57
57
|
- - ~>
|
58
58
|
- !ruby/object:Gem::Version
|
59
|
-
hash:
|
59
|
+
hash: 5
|
60
60
|
segments:
|
61
61
|
- 1
|
62
|
-
-
|
63
|
-
|
64
|
-
version: 1.1.0
|
62
|
+
- 5
|
63
|
+
version: "1.5"
|
65
64
|
type: :runtime
|
66
65
|
version_requirements: *id003
|
67
66
|
- !ruby/object:Gem::Dependency
|
68
|
-
name:
|
67
|
+
name: bundler
|
69
68
|
prerelease: false
|
70
69
|
requirement: &id004 !ruby/object:Gem::Requirement
|
71
70
|
none: false
|
72
71
|
requirements:
|
73
|
-
- -
|
72
|
+
- - ">="
|
74
73
|
- !ruby/object:Gem::Version
|
75
74
|
hash: 15
|
76
75
|
segments:
|
@@ -87,36 +86,54 @@ dependencies:
|
|
87
86
|
requirements:
|
88
87
|
- - ~>
|
89
88
|
- !ruby/object:Gem::Version
|
90
|
-
hash:
|
89
|
+
hash: 11
|
91
90
|
segments:
|
92
91
|
- 2
|
93
92
|
- 4
|
94
|
-
|
95
|
-
version: 2.4.0
|
93
|
+
version: "2.4"
|
96
94
|
type: :development
|
97
95
|
version_requirements: *id005
|
98
|
-
|
99
|
-
|
96
|
+
- !ruby/object:Gem::Dependency
|
97
|
+
name: sinatra
|
98
|
+
prerelease: false
|
99
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
100
|
+
none: false
|
101
|
+
requirements:
|
102
|
+
- - ~>
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
hash: 11
|
105
|
+
segments:
|
106
|
+
- 1
|
107
|
+
- 2
|
108
|
+
version: "1.2"
|
109
|
+
type: :development
|
110
|
+
version_requirements: *id006
|
111
|
+
description: A ruby library to consume the UCEngine API
|
112
|
+
email:
|
113
|
+
- victor.goya@af83.com
|
114
|
+
- arnaud.berthomier@af83.com
|
100
115
|
executables: []
|
101
116
|
|
102
117
|
extensions: []
|
103
118
|
|
104
|
-
extra_rdoc_files:
|
105
|
-
|
106
|
-
- README.rdoc
|
119
|
+
extra_rdoc_files: []
|
120
|
+
|
107
121
|
files:
|
108
122
|
- .document
|
123
|
+
- .gitignore
|
124
|
+
- Gemfile
|
125
|
+
- Gemfile.lock
|
109
126
|
- LICENSE
|
110
127
|
- README.rdoc
|
111
128
|
- Rakefile
|
112
|
-
- VERSION
|
113
129
|
- lib/ucengine.rb
|
130
|
+
- lib/ucengine/version.rb
|
114
131
|
- spec/spec_helper.rb
|
115
132
|
- spec/ucengine_mock.rb
|
116
133
|
- spec/ucengine_spec.rb
|
117
134
|
- ucengine.gemspec
|
118
135
|
has_rdoc: true
|
119
|
-
homepage:
|
136
|
+
homepage: https://github.com/AF83/ucengine.rb
|
120
137
|
licenses: []
|
121
138
|
|
122
139
|
post_install_message:
|
@@ -138,18 +155,18 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
138
155
|
requirements:
|
139
156
|
- - ">="
|
140
157
|
- !ruby/object:Gem::Version
|
141
|
-
hash:
|
158
|
+
hash: 23
|
142
159
|
segments:
|
143
|
-
-
|
144
|
-
|
160
|
+
- 1
|
161
|
+
- 3
|
162
|
+
- 6
|
163
|
+
version: 1.3.6
|
145
164
|
requirements: []
|
146
165
|
|
147
|
-
rubyforge_project:
|
166
|
+
rubyforge_project: ucengine
|
148
167
|
rubygems_version: 1.3.7
|
149
168
|
signing_key:
|
150
169
|
specification_version: 3
|
151
|
-
summary:
|
152
|
-
test_files:
|
153
|
-
|
154
|
-
- spec/ucengine_mock.rb
|
155
|
-
- spec/ucengine_spec.rb
|
170
|
+
summary: A ruby library to consume the UCEngine API
|
171
|
+
test_files: []
|
172
|
+
|
data/VERSION
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
0.4.0
|