rev-api 2.2.1 → 2.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.ruby-version +1 -1
- data/README.md +0 -1
- data/lib/rev-api.rb +2 -2
- data/lib/rev-api/models/order_request.rb +82 -0
- data/lib/rev-api/version.rb +1 -1
- data/rev-api.gemspec +1 -2
- data/spec/lib/rev/models/order_request_spec.rb +81 -5
- data/spec/lib/rev/post_order_spec.rb +9 -9
- data/spec/spec_helper.rb +1 -3
- data/spec/test_helpers.rb +5 -0
- metadata +49 -21
- data/.coveralls.yml +0 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6a407cfdbb9c178eb15031d58450c8b23347752b
|
4
|
+
data.tar.gz: 501f22750ea803768a3435bfe0a3aa1522f0e524
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2b985c4ca7ace5413349e0c1b1fa60f64d75d04417f4ec5aa3cf2c001464febf562cdb7f79d1a40bb5ff95e98cde00a3bfcf14784e3ed3bf596afa5594e2f982
|
7
|
+
data.tar.gz: ec107853d7aa60aeaafdb19e790247b68831198c1dc04ecb055a0890ae3b7eaadfe255a8e113d9c395e35a776949348958516d0c66043a3d8a7758141017e6b8
|
data/.gitignore
CHANGED
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
2.0.0-p247
|
data/README.md
CHANGED
@@ -2,7 +2,6 @@
|
|
2
2
|
[![Build Status](https://secure.travis-ci.org/revdotcom/rev-ruby-sdk.png?branch=master)](https://secure.travis-ci.org/revdotcom/rev-ruby-sdk)
|
3
3
|
[![Dependency Status](https://gemnasium.com/revdotcom/rev-ruby-sdk.png?travis)](https://gemnasium.com/revdotcom/rev-ruby-sdk)
|
4
4
|
[![Code Climate](https://codeclimate.com/github/revdotcom/rev-ruby-sdk.png)](https://codeclimate.com/github/revdotcom/rev-ruby-sdk)
|
5
|
-
[![Coverage Status](https://coveralls.io/repos/revdotcom/rev-ruby-sdk/badge.png)](https://coveralls.io/r/revdotcom/rev-ruby-sdk)
|
6
5
|
|
7
6
|
[Reference](https://www.rev.com/api/docs) | [RDocs](http://rubydoc.info/github/revdotcom/rev-ruby-sdk/master/frames)
|
8
7
|
|
data/lib/rev-api.rb
CHANGED
@@ -3,7 +3,7 @@ require 'httparty'
|
|
3
3
|
# These three are the only classes that should be accessed directly
|
4
4
|
require 'rev-api/api'
|
5
5
|
|
6
|
-
module Rev
|
6
|
+
module Rev
|
7
7
|
class << self
|
8
8
|
# Alias for Rev::Api.new
|
9
9
|
#
|
@@ -23,4 +23,4 @@ module Rev
|
|
23
23
|
new.respond_to?(method, include_private) || super(method, include_private)
|
24
24
|
end
|
25
25
|
end
|
26
|
-
end
|
26
|
+
end
|
@@ -6,6 +6,12 @@ module Rev
|
|
6
6
|
# You can also supply reference number, customer comment, and whether standard turnaround time is not required
|
7
7
|
#
|
8
8
|
# @note https://www.rev.com/api/ordersposttranscription, https://www.rev.com/api/orderspostcaption
|
9
|
+
|
10
|
+
GLOSSARY_ENTRIES_LIMIT = 1000
|
11
|
+
GLOSSARY_ENTRY_LENGTH_LIMIT = 255
|
12
|
+
SPEAKER_ENTRIES_LIMIT = 100
|
13
|
+
SPEAKER_ENTRY_LENGTH_LIMIT = 15
|
14
|
+
|
9
15
|
class OrderRequest < ApiSerializable
|
10
16
|
# see {Rev::Payment}
|
11
17
|
attr_reader :payment
|
@@ -111,6 +117,17 @@ module Rev
|
|
111
117
|
# - :timestamps => true/false
|
112
118
|
def initialize(inputs, info = {})
|
113
119
|
super inputs, info
|
120
|
+
options_validation(inputs)
|
121
|
+
end
|
122
|
+
|
123
|
+
private
|
124
|
+
|
125
|
+
def options_validation(inputs)
|
126
|
+
inputs.each { |input|
|
127
|
+
input.validate_glossary
|
128
|
+
input.validate_speakers
|
129
|
+
input.validate_accents
|
130
|
+
}
|
114
131
|
end
|
115
132
|
end
|
116
133
|
|
@@ -144,6 +161,7 @@ module Rev
|
|
144
161
|
def initialize(inputs, info = {})
|
145
162
|
super(inputs, info)
|
146
163
|
raise(ArgumentError, "invalid format(s)") unless validate_output_formats(info[:output_file_formats])
|
164
|
+
options_validation(inputs)
|
147
165
|
end
|
148
166
|
|
149
167
|
private
|
@@ -151,6 +169,13 @@ module Rev
|
|
151
169
|
def validate_output_formats(formats)
|
152
170
|
formats.nil? || formats.select{|f| !OUTPUT_FILE_FORMATS.has_value?(f) }.empty?
|
153
171
|
end
|
172
|
+
|
173
|
+
def options_validation(inputs)
|
174
|
+
inputs.each { |input|
|
175
|
+
input.validate_glossary
|
176
|
+
input.validate_speakers
|
177
|
+
}
|
178
|
+
end
|
154
179
|
end
|
155
180
|
|
156
181
|
# Input for order (aka source file)
|
@@ -169,6 +194,63 @@ module Rev
|
|
169
194
|
|
170
195
|
# External URL, if sources wasn't POSTed as input (YouTube, Vimeo, Dropbox, etc)
|
171
196
|
attr_reader :external_link
|
197
|
+
|
198
|
+
# Optional, list of glossary entries.
|
199
|
+
attr_reader :glossary
|
200
|
+
|
201
|
+
# Optional, list of speaker names.
|
202
|
+
attr_reader :speakers
|
203
|
+
|
204
|
+
# Optional, list of accents.
|
205
|
+
attr_reader :accents
|
206
|
+
|
207
|
+
SUPPORTED_ACCENTS = {
|
208
|
+
:american_neutral => 'AmericanNeutral',
|
209
|
+
:american_southern => 'AmericanSouthern',
|
210
|
+
:asian => 'Asian',
|
211
|
+
:australian => 'Australian',
|
212
|
+
:british => 'British',
|
213
|
+
:indian => 'Indian',
|
214
|
+
:other => 'Other',
|
215
|
+
:unknown => 'Unknown'
|
216
|
+
}
|
217
|
+
|
218
|
+
def validate_glossary
|
219
|
+
if glossary
|
220
|
+
if glossary.length > GLOSSARY_ENTRIES_LIMIT
|
221
|
+
raise(ArgumentError, "Glossary must not exceed #{GLOSSARY_ENTRIES_LIMIT} entries")
|
222
|
+
end
|
223
|
+
glossary.each { |term|
|
224
|
+
if term.length > GLOSSARY_ENTRY_LENGTH_LIMIT
|
225
|
+
raise(ArgumentError, "Glossary entries cannot exceed #{GLOSSARY_ENTRY_LENGTH_LIMIT} characters")
|
226
|
+
end
|
227
|
+
}
|
228
|
+
end
|
229
|
+
end
|
230
|
+
|
231
|
+
def validate_speakers
|
232
|
+
if speakers
|
233
|
+
if speakers.length > SPEAKER_ENTRIES_LIMIT
|
234
|
+
raise(ArgumentError, "Speaker list must not exceed #{SPEAKER_ENTRIES_LIMIT} entries")
|
235
|
+
end
|
236
|
+
speakers.each { |speaker|
|
237
|
+
if speaker.length > SPEAKER_ENTRY_LENGTH_LIMIT
|
238
|
+
raise(ArgumentError, "Speaker name cannot exceed #{SPEAKER_ENTRY_LENGTH_LIMIT} characters")
|
239
|
+
end
|
240
|
+
}
|
241
|
+
end
|
242
|
+
end
|
243
|
+
|
244
|
+
def validate_accents
|
245
|
+
if accents
|
246
|
+
if accents.length > SUPPORTED_ACCENTS.length
|
247
|
+
raise(ArgumentError, "Length of accents list cannot exceed number of supported accents.")
|
248
|
+
end
|
249
|
+
if accents.any?{ |accent| !Rev::Input::SUPPORTED_ACCENTS.has_value?(accent) }
|
250
|
+
raise(ArgumentError, 'Unsupported accent provided')
|
251
|
+
end
|
252
|
+
end
|
253
|
+
end
|
172
254
|
end
|
173
255
|
|
174
256
|
# Notification Info. Optionally you may request that an HTTP post be made to a url of your choice when the order enters
|
data/lib/rev-api/version.rb
CHANGED
data/rev-api.gemspec
CHANGED
@@ -25,10 +25,9 @@ Gem::Specification.new do |s|
|
|
25
25
|
s.add_development_dependency('vcr', '~> 2.6', '~> 2.6.0')
|
26
26
|
s.add_development_dependency('turn', '~> 0.9', '~> 0.9.6')
|
27
27
|
s.add_development_dependency('rake', '~> 10.1', '>= 10.1.0')
|
28
|
-
s.add_development_dependency('yard', '~> 0')
|
28
|
+
s.add_development_dependency('yard', '~> 0.9.14')
|
29
29
|
s.add_development_dependency('redcarpet', '~> 3.3')
|
30
30
|
s.add_development_dependency('rubygems-tasks', '~> 0')
|
31
|
-
s.add_development_dependency('coveralls', '~> 0.8')
|
32
31
|
|
33
32
|
s.has_rdoc = 'yard'
|
34
33
|
end
|
@@ -1,5 +1,11 @@
|
|
1
1
|
require_relative '../../../spec_helper'
|
2
2
|
|
3
|
+
GLOSSARY_ENTRIES_LIMIT_TEST = 1000
|
4
|
+
GLOSSARY_ENTRY_LENGTH_LIMIT_TEST = 255
|
5
|
+
SPEAKER_ENTRIES_LIMIT_TEST = 100
|
6
|
+
SPEAKER_ENTRY_LENGTH_LIMIT_TEST = 15
|
7
|
+
SUPPORTED_ACCENTS_COUNT = 8
|
8
|
+
|
3
9
|
describe 'OrderRequest' do
|
4
10
|
|
5
11
|
it 'defaults to standard TAT guarantee' do
|
@@ -41,19 +47,57 @@ describe 'OrderRequest' do
|
|
41
47
|
|
42
48
|
describe 'TranscriptionOptions' do
|
43
49
|
it 'is InputOptions' do
|
44
|
-
|
50
|
+
inputs = create_input()
|
51
|
+
options = Rev::TranscriptionOptions.new(inputs, {})
|
45
52
|
options.must_be_kind_of Rev::InputOptions
|
46
53
|
end
|
54
|
+
|
55
|
+
it 'rejects glossary of invalid size' do
|
56
|
+
oversize_glossary = ['testing']*(GLOSSARY_ENTRIES_LIMIT_TEST + 1)
|
57
|
+
inputs = create_input(glossary: oversize_glossary)
|
58
|
+
proc { Rev::TranscriptionOptions.new(inputs) }.must_raise ArgumentError
|
59
|
+
end
|
60
|
+
|
61
|
+
it 'rejects glossary if any terms are too long' do
|
62
|
+
oversize_glossary_term = "A" * (GLOSSARY_ENTRY_LENGTH_LIMIT_TEST + 1)
|
63
|
+
inputs = create_input(glossary: [oversize_glossary_term])
|
64
|
+
proc { Rev::TranscriptionOptions.new(inputs) }.must_raise ArgumentError
|
65
|
+
end
|
66
|
+
|
67
|
+
it 'rejects speaker list of invalid size' do
|
68
|
+
oversize_speakers = ['testing']*(SPEAKER_ENTRIES_LIMIT_TEST + 1)
|
69
|
+
inputs = create_input(speakers: oversize_speakers)
|
70
|
+
proc { Rev::TranscriptionOptions.new(inputs) }.must_raise ArgumentError
|
71
|
+
end
|
72
|
+
|
73
|
+
it 'rejects speaker names if name is too long' do
|
74
|
+
oversize_speaker_name = "A" * (SPEAKER_ENTRY_LENGTH_LIMIT_TEST + 1)
|
75
|
+
inputs = create_input(speakers: [oversize_speaker_name])
|
76
|
+
proc { Rev::TranscriptionOptions.new(inputs) }.must_raise ArgumentError
|
77
|
+
end
|
78
|
+
|
79
|
+
it 'rejects invalid accents' do
|
80
|
+
inputs = create_input(accents: ['invalid'])
|
81
|
+
proc { Rev::TranscriptionOptions.new(inputs) }.must_raise ArgumentError
|
82
|
+
end
|
83
|
+
|
84
|
+
it 'rejects accents when theres more listed than supported' do
|
85
|
+
accents = [Rev::Input::SUPPORTED_ACCENTS[:american_neutral]]*(SUPPORTED_ACCENTS_COUNT + 1)
|
86
|
+
inputs = create_input(accents: accents)
|
87
|
+
proc { Rev::TranscriptionOptions.new(inputs) }.must_raise ArgumentError
|
88
|
+
end
|
47
89
|
end
|
48
90
|
|
49
91
|
describe 'CaptionOptions' do
|
50
92
|
it 'is InputOptions' do
|
51
|
-
|
93
|
+
inputs = create_input()
|
94
|
+
options = Rev::CaptionOptions.new(inputs, {})
|
52
95
|
options.must_be_kind_of Rev::InputOptions
|
53
96
|
end
|
54
97
|
|
55
98
|
it 'has output file formats attribute' do
|
56
|
-
|
99
|
+
inputs = create_input()
|
100
|
+
options = Rev::CaptionOptions.new(inputs, {})
|
57
101
|
options.must_respond_to :output_file_formats
|
58
102
|
end
|
59
103
|
|
@@ -70,14 +114,46 @@ describe 'OrderRequest' do
|
|
70
114
|
end
|
71
115
|
|
72
116
|
it 'rejects unknowns file formats' do
|
73
|
-
|
117
|
+
inputs = create_input()
|
118
|
+
proc { Rev::CaptionOptions.new(inputs, { :output_file_formats => ['invalid'] }) }.must_raise ArgumentError
|
74
119
|
end
|
75
120
|
|
76
121
|
it 'accepts valid file formats' do
|
77
|
-
|
122
|
+
inputs = create_input()
|
123
|
+
order = Rev::CaptionOptions.new(inputs, { :output_file_formats => [Rev::CaptionOptions::OUTPUT_FILE_FORMATS[:scc]] })
|
78
124
|
order.output_file_formats.length.must_equal 1
|
79
125
|
order.output_file_formats[0].must_equal Rev::CaptionOptions::OUTPUT_FILE_FORMATS[:scc];
|
80
126
|
end
|
127
|
+
|
128
|
+
it 'rejects glossary of invalid size' do
|
129
|
+
oversize_glossary = []
|
130
|
+
for x in 0..GLOSSARY_ENTRIES_LIMIT_TEST do
|
131
|
+
oversize_glossary << 'testing'
|
132
|
+
end
|
133
|
+
inputs = create_input(glossary: oversize_glossary)
|
134
|
+
proc { Rev::CaptionOptions.new(inputs) }.must_raise ArgumentError
|
135
|
+
end
|
136
|
+
|
137
|
+
it 'rejects glossary if any terms are too long' do
|
138
|
+
oversize_glossary_term = "A" * (GLOSSARY_ENTRY_LENGTH_LIMIT_TEST + 1)
|
139
|
+
inputs = create_input(glossary: [oversize_glossary_term])
|
140
|
+
proc { Rev::CaptionOptions.new(inputs) }.must_raise ArgumentError
|
141
|
+
end
|
142
|
+
|
143
|
+
it 'rejects speaker names of invalid size' do
|
144
|
+
oversize_speakers = []
|
145
|
+
for x in 0..SPEAKER_ENTRIES_LIMIT_TEST do
|
146
|
+
oversize_speakers << 'testing'
|
147
|
+
end
|
148
|
+
inputs = create_input(speakers: oversize_speakers)
|
149
|
+
proc { Rev::CaptionOptions.new(inputs) }.must_raise ArgumentError
|
150
|
+
end
|
151
|
+
|
152
|
+
it 'rejects speaker names if name is too long' do
|
153
|
+
oversize_speaker_name = "A" * (SPEAKER_ENTRY_LENGTH_LIMIT_TEST + 1)
|
154
|
+
inputs = create_input(speakers: [oversize_speaker_name])
|
155
|
+
proc { Rev::CaptionOptions.new(inputs) }.must_raise ArgumentError
|
156
|
+
end
|
81
157
|
end # CaptionOptions
|
82
158
|
|
83
159
|
describe 'Notification' do
|
@@ -16,12 +16,12 @@ describe 'POST /orders' do
|
|
16
16
|
let(:balance_payment) { Rev::Payment.new(Rev::Payment::TYPES[:account_balance]) }
|
17
17
|
let(:transcription_inputs) {
|
18
18
|
inputs = []
|
19
|
-
inputs << Rev::Input.new(:external_link => 'http://www.youtube.com/watch?v=UF8uR6Z6KLc')
|
20
|
-
inputs << Rev::Input.new(:audio_length_seconds => 900, :external_link => 'https://vimeo.com/7976699')
|
19
|
+
inputs << Rev::Input.new(:external_link => 'http://www.youtube.com/watch?v=UF8uR6Z6KLc', accents: ['AmericanNeutral', 'Australian'])
|
20
|
+
inputs << Rev::Input.new(:audio_length_seconds => 900, :external_link => 'https://vimeo.com/7976699', speakers: ['Billy', 'Bob'], glossary: ['Sandwich'])
|
21
21
|
}
|
22
22
|
let(:caption_inputs) {
|
23
23
|
inputs = []
|
24
|
-
inputs << Rev::Input.new(:video_length_seconds => 900, :external_link => 'http://www.youtube.com/watch?v=UF8uR6Z6KLc')
|
24
|
+
inputs << Rev::Input.new(:video_length_seconds => 900, :external_link => 'http://www.youtube.com/watch?v=UF8uR6Z6KLc', speakers: ['Billy', 'Bob'], glossary: ['Sandwich'])
|
25
25
|
}
|
26
26
|
let(:transcription_options) { Rev::TranscriptionOptions.new(transcription_inputs,
|
27
27
|
:verbatim => true, :timestamps => true) }
|
@@ -50,8 +50,8 @@ describe 'POST /orders' do
|
|
50
50
|
'non_standard_tat_guarantee' => false,
|
51
51
|
'transcription_options' => {
|
52
52
|
'inputs' => [
|
53
|
-
{ 'external_link' => 'http://www.youtube.com/watch?v=UF8uR6Z6KLc' },
|
54
|
-
{ 'external_link' => 'https://vimeo.com/7976699', 'audio_length_seconds' => 900 }
|
53
|
+
{ 'external_link' => 'http://www.youtube.com/watch?v=UF8uR6Z6KLc', 'accents' => ['AmericanNeutral', 'Australian']},
|
54
|
+
{ 'external_link' => 'https://vimeo.com/7976699', 'audio_length_seconds' => 900, 'speakers' => ['Billy', 'Bob'], 'glossary' => ['Sandwich'] }
|
55
55
|
],
|
56
56
|
'verbatim' => true,
|
57
57
|
'timestamps' => true
|
@@ -77,8 +77,8 @@ describe 'POST /orders' do
|
|
77
77
|
'non_standard_tat_guarantee' => false,
|
78
78
|
'transcription_options' => {
|
79
79
|
'inputs' => [
|
80
|
-
{ 'external_link' => 'http://www.youtube.com/watch?v=UF8uR6Z6KLc' },
|
81
|
-
{ 'external_link' => 'https://vimeo.com/7976699', 'audio_length_seconds' => 900 }
|
80
|
+
{ 'external_link' => 'http://www.youtube.com/watch?v=UF8uR6Z6KLc', 'accents' => ['AmericanNeutral', 'Australian']},
|
81
|
+
{ 'external_link' => 'https://vimeo.com/7976699', 'audio_length_seconds' => 900, 'speakers' => ['Billy', 'Bob'], 'glossary' => ['Sandwich'] }
|
82
82
|
],
|
83
83
|
'verbatim' => true,
|
84
84
|
'timestamps' => true
|
@@ -114,7 +114,7 @@ describe 'POST /orders' do
|
|
114
114
|
'non_standard_tat_guarantee' => false,
|
115
115
|
'caption_options' => {
|
116
116
|
'inputs'=> [
|
117
|
-
{ 'video_length_seconds' => 900, 'external_link' => 'http://www.youtube.com/watch?v=UF8uR6Z6KLc' }
|
117
|
+
{ 'video_length_seconds' => 900, 'external_link' => 'http://www.youtube.com/watch?v=UF8uR6Z6KLc', 'speakers' => ['Billy', 'Bob'], 'glossary' => ['Sandwich'] }
|
118
118
|
],
|
119
119
|
'output_file_formats' => [Rev::CaptionOptions::OUTPUT_FILE_FORMATS[:subrip]]
|
120
120
|
}
|
@@ -137,7 +137,7 @@ describe 'POST /orders' do
|
|
137
137
|
'non_standard_tat_guarantee' => false,
|
138
138
|
'caption_options' => {
|
139
139
|
'inputs'=> [
|
140
|
-
{ 'video_length_seconds' => 900, 'external_link' => 'http://www.youtube.com/watch?v=UF8uR6Z6KLc' }
|
140
|
+
{ 'video_length_seconds' => 900, 'external_link' => 'http://www.youtube.com/watch?v=UF8uR6Z6KLc', 'speakers' => ['Billy', 'Bob'], 'glossary' => ['Sandwich'] }
|
141
141
|
],
|
142
142
|
'subtitle_languages' => ['es','it'],
|
143
143
|
'output_file_formats' => [Rev::CaptionOptions::OUTPUT_FILE_FORMATS[:subrip]]
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rev-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rev.com, Inc
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-06-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httparty
|
@@ -116,14 +116,14 @@ dependencies:
|
|
116
116
|
requirements:
|
117
117
|
- - ~>
|
118
118
|
- !ruby/object:Gem::Version
|
119
|
-
version:
|
119
|
+
version: 0.9.14
|
120
120
|
type: :development
|
121
121
|
prerelease: false
|
122
122
|
version_requirements: !ruby/object:Gem::Requirement
|
123
123
|
requirements:
|
124
124
|
- - ~>
|
125
125
|
- !ruby/object:Gem::Version
|
126
|
-
version:
|
126
|
+
version: 0.9.14
|
127
127
|
- !ruby/object:Gem::Dependency
|
128
128
|
name: redcarpet
|
129
129
|
requirement: !ruby/object:Gem::Requirement
|
@@ -152,20 +152,6 @@ dependencies:
|
|
152
152
|
- - ~>
|
153
153
|
- !ruby/object:Gem::Version
|
154
154
|
version: '0'
|
155
|
-
- !ruby/object:Gem::Dependency
|
156
|
-
name: coveralls
|
157
|
-
requirement: !ruby/object:Gem::Requirement
|
158
|
-
requirements:
|
159
|
-
- - ~>
|
160
|
-
- !ruby/object:Gem::Version
|
161
|
-
version: '0.8'
|
162
|
-
type: :development
|
163
|
-
prerelease: false
|
164
|
-
version_requirements: !ruby/object:Gem::Requirement
|
165
|
-
requirements:
|
166
|
-
- - ~>
|
167
|
-
- !ruby/object:Gem::Version
|
168
|
-
version: '0.8'
|
169
155
|
description: Communicate with Rev.com API using plain Ruby objects without bothering
|
170
156
|
about HTTP
|
171
157
|
email: api@rev.com
|
@@ -173,7 +159,6 @@ executables: []
|
|
173
159
|
extensions: []
|
174
160
|
extra_rdoc_files: []
|
175
161
|
files:
|
176
|
-
- .coveralls.yml
|
177
162
|
- .gitignore
|
178
163
|
- .ruby-gemset
|
179
164
|
- .ruby-version
|
@@ -232,6 +217,7 @@ files:
|
|
232
217
|
- spec/lib/rev/post_inputs_spec.rb
|
233
218
|
- spec/lib/rev/post_order_spec.rb
|
234
219
|
- spec/spec_helper.rb
|
220
|
+
- spec/test_helpers.rb
|
235
221
|
- spec/tmp_get_attachment_content
|
236
222
|
homepage: https://www.rev.com/api
|
237
223
|
licenses:
|
@@ -254,8 +240,50 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
254
240
|
version: '0'
|
255
241
|
requirements: []
|
256
242
|
rubyforge_project:
|
257
|
-
rubygems_version: 2.
|
243
|
+
rubygems_version: 2.0.3
|
258
244
|
signing_key:
|
259
245
|
specification_version: 4
|
260
246
|
summary: Ruby wrapper for Rev.com API
|
261
|
-
test_files:
|
247
|
+
test_files:
|
248
|
+
- spec/fixtures/api_cassettes/cancel_order.yml
|
249
|
+
- spec/fixtures/api_cassettes/cancel_order_not_allowed.yml
|
250
|
+
- spec/fixtures/api_cassettes/get_attachment_content.yml
|
251
|
+
- spec/fixtures/api_cassettes/get_attachment_content_as_pdf.yml
|
252
|
+
- spec/fixtures/api_cassettes/get_attachment_content_as_text.yml
|
253
|
+
- spec/fixtures/api_cassettes/get_attachment_content_as_youtube_transcript.yml
|
254
|
+
- spec/fixtures/api_cassettes/get_attachment_content_unacceptable_representation.yml
|
255
|
+
- spec/fixtures/api_cassettes/get_attachment_content_with_invalid_id.yml
|
256
|
+
- spec/fixtures/api_cassettes/get_attachment_metadata.yml
|
257
|
+
- spec/fixtures/api_cassettes/get_attachment_with_invalid_id.yml
|
258
|
+
- spec/fixtures/api_cassettes/get_orders.yml
|
259
|
+
- spec/fixtures/api_cassettes/get_orders_with_clientRef.yml
|
260
|
+
- spec/fixtures/api_cassettes/get_tc_order.yml
|
261
|
+
- spec/fixtures/api_cassettes/get_third_page_of_orders.yml
|
262
|
+
- spec/fixtures/api_cassettes/link_input.yml
|
263
|
+
- spec/fixtures/api_cassettes/link_input_with_all_attributes.yml
|
264
|
+
- spec/fixtures/api_cassettes/link_input_with_spaces_in_filename.yml
|
265
|
+
- spec/fixtures/api_cassettes/not_found_order.yml
|
266
|
+
- spec/fixtures/api_cassettes/submit_cp_order.yml
|
267
|
+
- spec/fixtures/api_cassettes/submit_su_order.yml
|
268
|
+
- spec/fixtures/api_cassettes/submit_tc_order_with_account_balance.yml
|
269
|
+
- spec/fixtures/api_cassettes/submit_tc_order_with_invalid_request.yml
|
270
|
+
- spec/fixtures/api_cassettes/submit_tc_order_without_specifying_payment.yml
|
271
|
+
- spec/fixtures/api_cassettes/unauthorized.yml
|
272
|
+
- spec/fixtures/api_cassettes/upload_input.yml
|
273
|
+
- spec/fixtures/api_cassettes/upload_input_with_invalid_content_type.yml
|
274
|
+
- spec/fixtures/sourcedocument.png
|
275
|
+
- spec/lib/rev/api_spec.rb
|
276
|
+
- spec/lib/rev/cancel_order_spec.rb
|
277
|
+
- spec/lib/rev/exceptions_spec.rb
|
278
|
+
- spec/lib/rev/get_attachment_content_spec.rb
|
279
|
+
- spec/lib/rev/get_attachment_metadata_spec.rb
|
280
|
+
- spec/lib/rev/get_order_spec.rb
|
281
|
+
- spec/lib/rev/get_orders_spec.rb
|
282
|
+
- spec/lib/rev/http_client_spec.rb
|
283
|
+
- spec/lib/rev/models/order_request_spec.rb
|
284
|
+
- spec/lib/rev/models/order_spec.rb
|
285
|
+
- spec/lib/rev/post_inputs_spec.rb
|
286
|
+
- spec/lib/rev/post_order_spec.rb
|
287
|
+
- spec/spec_helper.rb
|
288
|
+
- spec/test_helpers.rb
|
289
|
+
- spec/tmp_get_attachment_content
|
data/.coveralls.yml
DELETED