vidispine 1.4.0 → 1.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.
- checksums.yaml +5 -5
- data/Gemfile +0 -2
- data/bin/vidispine-notification-handler +8 -304
- data/lib/vidispine/api/client.rb +0 -4
- data/lib/vidispine/api/client/http_client.rb +7 -5
- data/lib/vidispine/api/client/requests/import_placeholder_item.rb +1 -0
- data/lib/vidispine/api/utilities.rb +1 -1
- data/lib/vidispine/cli.rb +1 -2
- data/lib/vidispine/version.rb +1 -1
- data/vidispine.gemspec +3 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: b384b244a314c8b4323b69ccc16c7824ae52ac2d
|
4
|
+
data.tar.gz: 1df54b7818102417191b43ba2be89e5b2c38ba2a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ae8d940adecdc9e174b60116ec9d911701b9e6796092261c4afb1917d03dae57368a8b8f5a5adbed4c5bdb55b94ac0c6370a61c41ec4e8a6405dbea71136ed1e
|
7
|
+
data.tar.gz: 5452d7e0cedb685b8874a352fc73709669e753a298c263eac6ae115b489c41982e6e397bb296444351aab9c43293750c57e6d11c5d0f1dec8a27210bc494d393
|
data/Gemfile
CHANGED
@@ -4,239 +4,14 @@ require 'logger'
|
|
4
4
|
require 'optparse'
|
5
5
|
require 'pp'
|
6
6
|
|
7
|
-
ARGV << '--uri'
|
8
|
-
ARGV << 'https://o6h5m0r0ih.execute-api.us-east-1.amazonaws.com/latest/vidispine/notification'
|
9
|
-
ARGV << '{changeSetId=[VX-460], userName=[admin], itemId=[VX-90], portal_mf201890=[3], sequenceNumber=[0]}'
|
10
|
-
puts 'Arguments:'
|
11
|
-
pp ARGV
|
12
|
-
|
13
|
-
|
14
7
|
module Vidispine
|
15
8
|
|
16
|
-
class HTTPClient
|
17
|
-
|
18
|
-
class HTTPAuthorizationError < RuntimeError; end
|
19
|
-
|
20
|
-
attr_accessor :logger, :http, :http_host_address, :http_host_port, :base_uri, :default_base_path
|
21
|
-
attr_accessor :username, :password
|
22
|
-
|
23
|
-
attr_accessor :default_request_headers,
|
24
|
-
:authorization_header_key, :authorization_header_value
|
25
|
-
|
26
|
-
attr_accessor :log_request_body, :log_response_body, :log_pretty_print_body
|
27
|
-
|
28
|
-
attr_accessor :request, :response, :use_exceptions
|
29
|
-
|
30
|
-
DEFAULT_HTTP_HOST_ADDRESS = 'localhost'
|
31
|
-
DEFAULT_HTTP_HOST_PORT = 80
|
32
|
-
|
33
|
-
DEFAULT_USERNAME = ''
|
34
|
-
DEFAULT_PASSWORD = ''
|
35
|
-
DEFAULT_BASE_PATH = '/'
|
36
|
-
|
37
|
-
DEFAULT_HEADER_CONTENT_TYPE = 'application/json; charset=utf-8'
|
38
|
-
DEFAULT_HEADER_ACCEPTS = 'application/json'
|
39
|
-
|
40
|
-
def initialize(args = { })
|
41
|
-
args = args.dup
|
42
|
-
|
43
|
-
@use_exceptions = args.fetch(:use_exceptions, true)
|
44
|
-
|
45
|
-
initialize_logger(args)
|
46
|
-
initialize_http(args)
|
47
|
-
|
48
|
-
logger.debug { "#{self.class.name}::#{__method__} Arguments: #{args.inspect}" }
|
49
|
-
|
50
|
-
@username = args[:username] || DEFAULT_USERNAME
|
51
|
-
@password = args[:password] || DEFAULT_PASSWORD
|
52
|
-
@authorization_header_value = args[:authorization_header_value]
|
53
|
-
|
54
|
-
@base_uri = "http#{http.use_ssl? ? 's' : ''}://#{http.address}:#{http.port}"
|
55
|
-
@default_base_path = args[:default_base_path] || DEFAULT_BASE_PATH
|
56
|
-
|
57
|
-
content_type = args[:content_type_header] ||= DEFAULT_HEADER_CONTENT_TYPE
|
58
|
-
accepts = args[:accepts_header] ||= args[:accept_header] || DEFAULT_HEADER_ACCEPTS
|
59
|
-
|
60
|
-
@default_request_headers = {
|
61
|
-
'Content-Type' => content_type,
|
62
|
-
'Accept' => accepts,
|
63
|
-
}
|
64
|
-
|
65
|
-
if !username.empty? && !password.empty?
|
66
|
-
@authorization_header_key ||= 'Authorization' #CaseSensitiveHeaderKey.new('Authorization')
|
67
|
-
@authorization_header_value ||= %(Basic #{["#{username}:#{password}"].pack('m').delete("\r\n")})
|
68
|
-
@default_request_headers[authorization_header_key] = authorization_header_value
|
69
|
-
end
|
70
|
-
|
71
|
-
@log_request_body = args.fetch(:log_request_body, true)
|
72
|
-
@log_response_body = args.fetch(:log_response_body, true)
|
73
|
-
@log_pretty_print_body = args.fetch(:log_pretty_print_body, true)
|
74
|
-
|
75
|
-
@parse_response = args.fetch(:parse_response, true)
|
76
|
-
end
|
77
|
-
|
78
|
-
def initialize_logger(args = { })
|
79
|
-
@logger = args[:logger] ||= Logger.new(args[:log_to] || STDOUT)
|
80
|
-
log_level = args[:log_level]
|
81
|
-
if log_level
|
82
|
-
@logger.level = log_level
|
83
|
-
args[:logger] = @logger
|
84
|
-
end
|
85
|
-
@logger
|
86
|
-
end
|
87
|
-
|
88
|
-
def initialize_http(args = { })
|
89
|
-
@http_host_address = args[:http_host_address] ||= DEFAULT_HTTP_HOST_ADDRESS
|
90
|
-
@http_host_port = args[:http_host_port] ||= DEFAULT_HTTP_HOST_PORT
|
91
|
-
@http = Net::HTTP.new(http_host_address, http_host_port)
|
92
|
-
|
93
|
-
use_ssl = args[:http_host_use_ssl]
|
94
|
-
if use_ssl
|
95
|
-
# @TODO Add SSL Support
|
96
|
-
http.use_ssl = true
|
97
|
-
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
98
|
-
end
|
99
|
-
|
100
|
-
http
|
101
|
-
end
|
102
|
-
|
103
|
-
# Formats a HTTPRequest or HTTPResponse body for log output.
|
104
|
-
# @param [HTTPRequest|HTTPResponse] obj
|
105
|
-
# @return [String]
|
106
|
-
def format_body_for_log_output(obj)
|
107
|
-
if obj.content_type == 'application/json'
|
108
|
-
if @log_pretty_print_body
|
109
|
-
_body = obj.body
|
110
|
-
output = JSON.pretty_generate(JSON.parse(_body)) rescue _body
|
111
|
-
return output
|
112
|
-
else
|
113
|
-
return obj.body
|
114
|
-
end
|
115
|
-
elsif obj.content_type == 'application/xml'
|
116
|
-
return obj.body
|
117
|
-
else
|
118
|
-
return obj.body.inspect
|
119
|
-
end
|
120
|
-
end
|
121
|
-
|
122
|
-
# @param [HTTPRequest] request
|
123
|
-
def send_request(request)
|
124
|
-
@response_parsed = nil
|
125
|
-
@request = request
|
126
|
-
logger.debug { %(REQUEST: #{request.method} http#{http.use_ssl? ? 's' : ''}://#{http.address}:#{http.port}#{request.path} HEADERS: #{request.to_hash.inspect} #{log_request_body and request.request_body_permitted? ? "\n-- BODY BEGIN --\n#{format_body_for_log_output(request)}\n-- BODY END --" : ''}) }
|
127
|
-
|
128
|
-
@request_time_start = Time.now
|
129
|
-
@response = http.request(request)
|
130
|
-
@request_time_end = Time.now
|
131
|
-
logger.debug { %(RESPONSE: #{response.inspect} HEADERS: #{response.to_hash.inspect} #{log_response_body and response.respond_to?(:body) ? "\n-- BODY BEGIN --\n#{format_body_for_log_output(response)}\n-- BODY END--" : ''}\nTook: #{@request_time_end - @request_time_start} seconds) }
|
132
|
-
#logger.debug { "Parse Response? #{@parse_response}" }
|
133
|
-
|
134
|
-
raise HTTPAuthorizationError if @use_exceptions && @response.code == '401'
|
135
|
-
|
136
|
-
@parse_response ? response_parsed : response.body
|
137
|
-
end
|
138
|
-
|
139
|
-
def response_parsed
|
140
|
-
@response_parsed ||= begin
|
141
|
-
response_body = response.respond_to?(:body) ? response.body : ''
|
142
|
-
logger.debug { "Parsing Response. #{response_body.inspect}" }
|
143
|
-
|
144
|
-
case response.content_type
|
145
|
-
when 'application/json'
|
146
|
-
response_body.empty? ? response_body : JSON.parse(response_body) # rescue response
|
147
|
-
else
|
148
|
-
response_body
|
149
|
-
end
|
150
|
-
end
|
151
|
-
end
|
152
|
-
|
153
|
-
# @param [String] path
|
154
|
-
# @param [Hash|String|Nil] query
|
155
|
-
# @return [URI]
|
156
|
-
def build_uri(path = '', query = nil)
|
157
|
-
_query = query.is_a?(Hash) ? query.map { |k,v| "#{CGI.escape(k.to_s)}=#{CGI.escape(v.respond_to?(:to_s) ? v.to_s : v)}" }.join('&') : query
|
158
|
-
_path = "#{path}#{_query and _query.respond_to?(:empty?) and !_query.empty? ? "?#{_query}" : ''}"
|
159
|
-
URI.parse(File.join(base_uri, _path))
|
160
|
-
end
|
161
|
-
|
162
|
-
if RUBY_VERSION.start_with? '1.8.'
|
163
|
-
def request_method_name_to_class_name(method_name)
|
164
|
-
method_name.to_s.capitalize
|
165
|
-
end
|
166
|
-
else
|
167
|
-
def request_method_name_to_class_name(method_name)
|
168
|
-
method_name.to_s.capitalize.to_sym
|
169
|
-
end
|
170
|
-
end
|
171
|
-
|
172
|
-
# @param [Symbol] method_name (:get)
|
173
|
-
# @param [Hash] args
|
174
|
-
# @option args [Hash] :headers ({})
|
175
|
-
# @option args [String] :path ('')
|
176
|
-
# @option args [Hash] :query ({})
|
177
|
-
# @option args [Any] :body (nil)
|
178
|
-
# @param [Hash] options
|
179
|
-
# @option options [Hash] :default_request_headers (@default_request_headers)
|
180
|
-
def call_method(method_name = :get, args = { }, options = { })
|
181
|
-
headers = args[:headers] || options[:headers] || { }
|
182
|
-
path = args[:path] || ''
|
183
|
-
query = args[:query] || { }
|
184
|
-
body = args[:body]
|
185
|
-
|
186
|
-
# Allow the default request headers to be overridden
|
187
|
-
_default_request_headers = options.fetch(:default_request_headers, default_request_headers)
|
188
|
-
_default_request_headers ||= { }
|
189
|
-
_headers = _default_request_headers.merge(headers)
|
190
|
-
|
191
|
-
@uri = build_uri(path, query)
|
192
|
-
klass_name = request_method_name_to_class_name(method_name)
|
193
|
-
klass = Net::HTTP.const_get(klass_name)
|
194
|
-
|
195
|
-
request = klass.new(@uri.request_uri, _headers)
|
196
|
-
|
197
|
-
if request.request_body_permitted?
|
198
|
-
_body = (body and !body.is_a?(String)) ? JSON.generate(body) : body
|
199
|
-
logger.debug { "Processing Body: '#{_body}'" }
|
200
|
-
request.body = _body if _body
|
201
|
-
end
|
202
|
-
|
203
|
-
send_request(request)
|
204
|
-
end
|
205
|
-
|
206
|
-
def delete(path, options = { })
|
207
|
-
call_method(:delete, { :path => path }, options)
|
208
|
-
end
|
209
|
-
|
210
|
-
def get(path, options = { })
|
211
|
-
call_method(:get, { :path => path }, options)
|
212
|
-
end
|
213
|
-
|
214
|
-
def head(path, options = { })
|
215
|
-
call_method(:head, { :path => path }, options)
|
216
|
-
end
|
217
|
-
|
218
|
-
def options(path, options = { })
|
219
|
-
call_method(:options, { :path => path }, options)
|
220
|
-
end
|
221
|
-
|
222
|
-
def put(path, body, options = { })
|
223
|
-
call_method(:put, { :path => path, :body => body }, options)
|
224
|
-
end
|
225
|
-
|
226
|
-
def post(path, body, options = { })
|
227
|
-
call_method(:post, { :path => path, :body => body }, options)
|
228
|
-
end
|
229
|
-
|
230
|
-
# HTTPClient
|
231
|
-
end
|
232
|
-
|
233
9
|
class NotificationHandler
|
234
10
|
|
235
11
|
attr_accessor :logger
|
236
12
|
|
237
13
|
def initialize(args = { })
|
238
14
|
initialize_logger(args)
|
239
|
-
initialize_http(args)
|
240
15
|
end
|
241
16
|
|
242
17
|
def initialize_logger(args = { })
|
@@ -247,93 +22,22 @@ module Vidispine
|
|
247
22
|
end
|
248
23
|
end
|
249
24
|
|
250
|
-
def initialize_http(args = { })
|
251
|
-
uri_as_str = args[:uri]
|
252
|
-
|
253
|
-
uri = URI(uri_as_str)
|
254
|
-
|
255
|
-
args[:http_host_address] = uri.host
|
256
|
-
args[:http_host_port] = uri.port
|
257
|
-
args[:http_host_use_ssl] = uri.scheme == 'https'
|
258
|
-
args[:username] = uri.user
|
259
|
-
args[:password] = uri.password
|
260
|
-
args[:default_base_path] = uri.request_uri
|
261
|
-
|
262
|
-
@http_client = HTTPClient.new(args)
|
263
|
-
end
|
264
|
-
|
265
|
-
def forward_notification(notification)
|
266
|
-
@http_client.call_method(:post, :body => notification)
|
267
|
-
end
|
268
|
-
|
269
25
|
end
|
270
26
|
|
271
27
|
end
|
272
28
|
|
273
|
-
LOGGING_LEVELS = {
|
274
|
-
:debug => Logger::DEBUG,
|
275
|
-
:info => Logger::INFO,
|
276
|
-
:warn => Logger::WARN,
|
277
|
-
:error => Logger::ERROR,
|
278
|
-
:fatal => Logger::FATAL
|
279
|
-
}
|
280
|
-
|
281
|
-
DEFAULT_HEADER_CONTENT_TYPE = 'application/json; charset=utf-8'
|
282
|
-
|
283
|
-
def log_to_as_string
|
284
|
-
_log_to = arguments[:log_to]
|
285
|
-
case _log_to
|
286
|
-
when STDERR; 'STDERR'
|
287
|
-
when STDOUT; 'STDOUT'
|
288
|
-
else _log_to
|
289
|
-
end
|
290
|
-
end
|
291
|
-
|
292
29
|
|
293
|
-
|
30
|
+
args = {
|
294
31
|
:log_to => "/tmp/#{File.basename($0)}.log",
|
295
|
-
:log_level => Logger::DEBUG
|
296
|
-
:options_file_path => File.expand_path(File.basename($0, '.*'), '~/.options'),
|
297
|
-
:http_method => :post
|
32
|
+
:log_level => Logger::DEBUG
|
298
33
|
}
|
299
|
-
@arguments = default_arguments.dup
|
300
|
-
def arguments; @arguments end
|
301
|
-
|
302
|
-
argument_parser = OptionParser.new
|
303
|
-
argument_parser.on('--uri URI', 'The address of the server to communicate with.') { |v| arguments[:uri] = v }
|
304
|
-
|
305
|
-
argument_parser.on('--content-type VALUE', 'The value for the Content-Type header sent in each request.', "\tdefault: #{DEFAULT_HEADER_CONTENT_TYPE}") { |v| arguments[:content_type] = v }
|
306
|
-
argument_parser.on('--method METHOD', 'The HTTP method to use when submitting the notification.', "\tdefault: #{arguments[:http_method]}") { |v| arguments[:http_method] = v.to_sym }
|
307
|
-
argument_parser.on('--pretty-print', 'Will format the output to be more human readable.') { |v| arguments[:pretty_print] = v }
|
308
|
-
|
309
|
-
argument_parser.on('--log-to FILENAME', 'Log file location.', "\tdefault: #{log_to_as_string}") { |v| arguments[:log_to] = v }
|
310
|
-
argument_parser.on('--log-level LEVEL', LOGGING_LEVELS.keys, "Logging level. Available Options: #{LOGGING_LEVELS.keys.join(', ')}",
|
311
|
-
"\tdefault: #{LOGGING_LEVELS.invert[arguments[:log_level]]}") { |v| arguments[:log_level] = LOGGING_LEVELS[v] }
|
312
|
-
|
313
|
-
argument_parser.on('--[no-]options-file [FILENAME]', 'Path to a file which contains default command line arguments.', "\tdefault: #{arguments[:options_file_path]}" ) { |v| arguments[:options_file_path] = v}
|
314
|
-
argument_parser.on_tail('-h', '--help', 'Display this message.') { puts help; exit }
|
315
|
-
|
316
|
-
arguments.clear
|
317
|
-
original_argv_args = ARGV.dup
|
318
|
-
argument_parser.parse!(ARGV)
|
319
|
-
remaining_argv_args = ARGV.dup
|
320
|
-
arguments_from_command_line = arguments.dup
|
321
|
-
|
322
|
-
options_file_path = arguments_from_command_line[:options_file_path] || default_arguments[:options_file_path]
|
323
|
-
|
324
|
-
arguments.clear
|
325
|
-
argument_parser.load(options_file_path)
|
326
|
-
arguments_from_options_file = arguments.dup
|
327
|
-
|
328
|
-
arguments = default_arguments.merge(arguments_from_options_file).merge(arguments_from_command_line)
|
329
|
-
|
330
|
-
pp arguments
|
331
|
-
# @handler = Vidispine::NotificationHandler.new(arguments)
|
332
|
-
# def logger; @handler.logger end
|
333
|
-
# logger.debug { "ARGUMENTS: #{remaining_argv_args.inspect}" }
|
334
|
-
|
335
34
|
|
35
|
+
@handler = Vidispine::NotificationHandler.new(args)
|
36
|
+
def logger; @handler.logger end
|
37
|
+
logger.debug { "ARGUMENTS: #{ARGV.inspect}" }
|
336
38
|
|
337
|
-
#
|
39
|
+
# ARGV << '{changeSetId=[VX-460], userName=[admin], itemId=[VX-90], portal_mf201890=[3], sequenceNumber=[0]}'
|
40
|
+
# puts 'Arguments:'
|
41
|
+
# pp ARGV
|
338
42
|
|
339
43
|
|
data/lib/vidispine/api/client.rb
CHANGED
@@ -389,10 +389,6 @@ module Vidispine
|
|
389
389
|
end
|
390
390
|
alias :item_shape_files :item_shape_files_get
|
391
391
|
|
392
|
-
def item_shape_add(args = { }, options = { })
|
393
|
-
|
394
|
-
end
|
395
|
-
|
396
392
|
# @see http://apidoc.vidispine.com/4.2.6/ref/item/shape.html#get-shape
|
397
393
|
def item_shape_get(args = { }, options = { })
|
398
394
|
_request = Requests::BaseRequest.new(
|
@@ -9,7 +9,8 @@ module Vidispine
|
|
9
9
|
|
10
10
|
class HTTPAuthorizationError < RuntimeError; end
|
11
11
|
|
12
|
-
attr_accessor :logger, :http, :http_host_address, :http_host_port, :base_uri, :default_base_path
|
12
|
+
attr_accessor :logger, :http, :http_host_address, :http_host_port, :base_uri, :default_base_path,
|
13
|
+
:default_query_data
|
13
14
|
attr_accessor :username, :password
|
14
15
|
|
15
16
|
attr_accessor :default_request_headers,
|
@@ -46,6 +47,8 @@ module Vidispine
|
|
46
47
|
@base_uri = args[:base_uri] || "http#{http.use_ssl? ? 's' : ''}://#{http.address}:#{http.port}"
|
47
48
|
@default_base_path = args[:default_base_path] || DEFAULT_BASE_PATH
|
48
49
|
|
50
|
+
@default_query_data = args[:default_query_data] || { }
|
51
|
+
|
49
52
|
# @user_agent_default = "#{@hostname}:#{@username} Ruby SDK Version #{Vidispine::VERSION}"
|
50
53
|
|
51
54
|
@authorization_header_key ||= 'Authorization' #CaseSensitiveHeaderKey.new('Authorization')
|
@@ -81,12 +84,11 @@ module Vidispine
|
|
81
84
|
@http_host_address = args[:http_host_address] ||= DEFAULT_HTTP_HOST_ADDRESS
|
82
85
|
@http_host_port = args[:http_host_port] ||= DEFAULT_HTTP_HOST_PORT
|
83
86
|
@http = Net::HTTP.new(http_host_address, http_host_port)
|
84
|
-
|
85
87
|
use_ssl = args[:http_host_use_ssl]
|
86
88
|
if use_ssl
|
87
|
-
|
89
|
+
http_verify_mode = args.fetch(:http_verify_mode, OpenSSL::SSL::VERIFY_NONE)
|
88
90
|
http.use_ssl = true
|
89
|
-
http.verify_mode =
|
91
|
+
http.verify_mode = http_verify_mode if http_verify_mode
|
90
92
|
end
|
91
93
|
|
92
94
|
http
|
@@ -146,7 +148,7 @@ module Vidispine
|
|
146
148
|
# @param [Hash|String|Nil] query
|
147
149
|
# @return [URI]
|
148
150
|
def build_uri(path = '', query = nil)
|
149
|
-
_query = query.is_a?(Hash) ? query.map { |k,v| "#{CGI.escape(k.to_s)}=#{CGI.escape(v.respond_to?(:to_s) ? v.to_s : v)}" }.join('&') : query
|
151
|
+
_query = query.is_a?(Hash) ? default_query_data.merge(query.map { |k,v| "#{CGI.escape(k.to_s)}=#{CGI.escape(v.respond_to?(:to_s) ? v.to_s : v)}" }.join('&')) : query
|
150
152
|
_path = "#{path}#{_query and _query.respond_to?(:empty?) and !_query.empty? ? "?#{_query}" : ''}"
|
151
153
|
URI.parse(File.join(base_uri, _path))
|
152
154
|
end
|
@@ -592,7 +592,7 @@ module Vidispine
|
|
592
592
|
file = { 'id' => file_id }
|
593
593
|
end
|
594
594
|
|
595
|
-
if file
|
595
|
+
if file_id && file && !file['item']
|
596
596
|
# If the passed file doesn't have an item then requery to verify that the item is absent
|
597
597
|
storage_file_get_response = storage_file_get(:storage_id => storage_id, :file_id => file_id, :include_item => true)
|
598
598
|
|
data/lib/vidispine/cli.rb
CHANGED
@@ -21,7 +21,7 @@ module Vidispine
|
|
21
21
|
def self.default_arguments
|
22
22
|
@default_arguments ||= {
|
23
23
|
:options_file_path => default_options_file_path,
|
24
|
-
:log_level => Logger::
|
24
|
+
:log_level => Logger::ERROR,
|
25
25
|
:log_to => STDERR,
|
26
26
|
}
|
27
27
|
end
|
@@ -137,7 +137,6 @@ Options:
|
|
137
137
|
|
138
138
|
def self.run(args = nil, init_options = { }, run_options = nil)
|
139
139
|
args ||= parse_arguments
|
140
|
-
# puts "Arguments: #{args.inspect}"
|
141
140
|
run_options ||= init_options
|
142
141
|
new(args, init_options).run(args, run_options)
|
143
142
|
end
|
data/lib/vidispine/version.rb
CHANGED
data/vidispine.gemspec
CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
|
|
10
10
|
spec.email = ['john.whitson@gmail.com']
|
11
11
|
spec.summary = %q{A Library to Interact with the Vidispine API}
|
12
12
|
spec.description = %q{}
|
13
|
-
spec.homepage = '
|
13
|
+
spec.homepage = ''
|
14
14
|
spec.license = 'MIT'
|
15
15
|
|
16
16
|
spec.files = `git ls-files -z`.split("\x0")
|
@@ -23,4 +23,6 @@ Gem::Specification.new do |spec|
|
|
23
23
|
spec.add_development_dependency 'bundler', '~> 1.7'
|
24
24
|
spec.add_development_dependency 'rake', '~> 10.0'
|
25
25
|
|
26
|
+
# spec.add_runtime_dependency 'xml-simple', '~> 1.1.4'
|
27
|
+
# spec.add_runtime_dependency 'sinatra', '~> 1.4.5'
|
26
28
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vidispine
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Whitson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-09-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -90,7 +90,7 @@ files:
|
|
90
90
|
- lib/vidispine/version.rb
|
91
91
|
- resources/postman/Vidispine API (From WADL v4.11).postman_collection.json
|
92
92
|
- vidispine.gemspec
|
93
|
-
homepage:
|
93
|
+
homepage: ''
|
94
94
|
licenses:
|
95
95
|
- MIT
|
96
96
|
metadata: {}
|
@@ -110,7 +110,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
110
110
|
version: '0'
|
111
111
|
requirements: []
|
112
112
|
rubyforge_project:
|
113
|
-
rubygems_version: 2.
|
113
|
+
rubygems_version: 2.5.2
|
114
114
|
signing_key:
|
115
115
|
specification_version: 4
|
116
116
|
summary: A Library to Interact with the Vidispine API
|