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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 14e7b466901b98e282283f61139dfb34d764c52d
4
- data.tar.gz: b1a7fb9f134ec3c78da68fd82c8f692f9822671e
3
+ metadata.gz: 6a407cfdbb9c178eb15031d58450c8b23347752b
4
+ data.tar.gz: 501f22750ea803768a3435bfe0a3aa1522f0e524
5
5
  SHA512:
6
- metadata.gz: c842b22e159268039b2213bc6a636b4380be363d1785b8c9e6151dc9a9dd6a6992a23521030a18cc6a11745db8aad91bedb0b8f834e31fc7d51f8c3de5d8b547
7
- data.tar.gz: fa14905e34b1d6aa98b3237f935c51cd207d845f93ba7a53b9c4331952088678b71c01991b282f75d57a9740847014fc4331919c145678094e0caedc3a4b37e5
6
+ metadata.gz: 2b985c4ca7ace5413349e0c1b1fa60f64d75d04417f4ec5aa3cf2c001464febf562cdb7f79d1a40bb5ff95e98cde00a3bfcf14784e3ed3bf596afa5594e2f982
7
+ data.tar.gz: ec107853d7aa60aeaafdb19e790247b68831198c1dc04ecb055a0890ae3b7eaadfe255a8e113d9c395e35a776949348958516d0c66043a3d8a7758141017e6b8
data/.gitignore CHANGED
@@ -15,6 +15,7 @@ test/tmp
15
15
  test/version_tmp
16
16
  tmp
17
17
  doc
18
+ .coveralls.yml
18
19
 
19
20
  # YARD artifacts
20
21
  .yardoc
@@ -1 +1 @@
1
- ruby-2.0.0
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
 
@@ -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
@@ -1,3 +1,3 @@
1
1
  module Rev
2
- VERSION = '2.2.1'
2
+ VERSION = '2.3.0'
3
3
  end
@@ -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
- options = Rev::TranscriptionOptions.new([{}], {})
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
- options = Rev::CaptionOptions.new([{}], {})
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
- options = Rev::CaptionOptions.new([{}], {})
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
- proc { Rev::CaptionOptions.new([{}], { :output_file_formats => ['invalid'] }) }.must_raise ArgumentError
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
- order = Rev::CaptionOptions.new([{}], { :output_file_formats => [Rev::CaptionOptions::OUTPUT_FILE_FORMATS[:scc]] })
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]]
@@ -1,7 +1,5 @@
1
- require 'coveralls'
2
- Coveralls.wear!
3
-
4
1
  require_relative '../lib/rev-api'
2
+ require_relative 'test_helpers.rb'
5
3
 
6
4
  #dependencies
7
5
  require 'minitest/autorun'
@@ -0,0 +1,5 @@
1
+ require_relative '../lib/rev-api'
2
+
3
+ def create_input(options = {})
4
+ [Rev::Input.new(options)]
5
+ end
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.2.1
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: 2016-06-16 00:00:00.000000000 Z
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: '0'
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: '0'
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.4.8
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
@@ -1,2 +0,0 @@
1
- service_name: travis-pro
2
- repo_token: sxagPJJLWdT4EPbWoaCHvarBQMCxbfCym