doc_generation_wrapper 0.0.4 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +4 -0
- data/doc_generation_wrapper.gemspec +1 -1
- data/lib/doc_generation_wrapper.rb +1 -0
- data/lib/doc_generation_wrapper/adapters/abstract.rb +4 -0
- data/lib/doc_generation_wrapper/adapters/doc_raptor_adapter.rb +11 -1
- data/lib/doc_generation_wrapper/adapters/doc_raptor_service/command.rb +2 -2
- data/lib/doc_generation_wrapper/adapters/doc_raptor_service/query.rb +5 -1
- data/lib/doc_generation_wrapper/version.rb +1 -1
- data/spec/doc_generation_wrapper_spec.rb +7 -3
- metadata +6 -7
- data/lib/doc_generation_wrapper/adapters/doc_raptor_service/proxy.rb +0 -32
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 03077c58f2260f5effe22e1d60bc39f7a15bcd5c
|
4
|
+
data.tar.gz: a12375558f9d91834d56b43d7221eac690464b6d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5480161849e1bc35d725175285552eec82380dc91b2ca3c2125db7eff975a9ccc034909559c35fed264ed47f9f165433ba9378e7832e2a8f5cd070769409503e
|
7
|
+
data.tar.gz: a47b6a1c730f544129d64d86359e85a0a57c802d5c1a0a1906214ff41833c965cb1a76e9baf907006c5999fcedb12963bd911321bb1d6c33fad518b087abd7e6
|
data/.gitignore
CHANGED
@@ -20,6 +20,6 @@ Gem::Specification.new do |spec|
|
|
20
20
|
spec.add_development_dependency 'rspec', '~> 2.99'
|
21
21
|
|
22
22
|
spec.add_dependency 'rest-client', '~> 1.8'
|
23
|
-
spec.add_dependency '
|
23
|
+
spec.add_dependency 'docraptor', '~> 0.2'
|
24
24
|
spec.add_dependency 'json', '~> 1.8'
|
25
25
|
end
|
@@ -1,9 +1,15 @@
|
|
1
1
|
require_relative 'abstract'
|
2
2
|
|
3
|
-
require_relative 'doc_raptor_service/proxy'
|
4
3
|
require_relative 'doc_raptor_service/command'
|
5
4
|
require_relative 'doc_raptor_service/query'
|
6
5
|
|
6
|
+
require 'docraptor'
|
7
|
+
|
8
|
+
DocRaptor.configure do |dr|
|
9
|
+
dr.username = ENV['DOCRAPTOR_API_KEY'] # "YOUR_API_KEY_HERE" # this key works for test documents
|
10
|
+
# dr.debugging = true
|
11
|
+
end
|
12
|
+
|
7
13
|
module DocGenerationWrapper
|
8
14
|
module Adapter
|
9
15
|
class DocRaptorAdapter < Abstract
|
@@ -16,6 +22,10 @@ module DocGenerationWrapper
|
|
16
22
|
DocRaptorService::Query.new.status status_id
|
17
23
|
end
|
18
24
|
|
25
|
+
def document document_id
|
26
|
+
DocRaptorService::Query.new.document document_id
|
27
|
+
end
|
28
|
+
|
19
29
|
end
|
20
30
|
end
|
21
31
|
end
|
@@ -5,8 +5,8 @@ module DocGenerationWrapper
|
|
5
5
|
class Command
|
6
6
|
|
7
7
|
def create! options, &respond_callback
|
8
|
-
|
9
|
-
respond_callback.call
|
8
|
+
response = DocRaptor::DocApi.new.create_async_doc(options)
|
9
|
+
respond_callback.call response.status_id if block_given?
|
10
10
|
nil
|
11
11
|
end
|
12
12
|
|
@@ -5,7 +5,11 @@ module DocGenerationWrapper
|
|
5
5
|
class Query
|
6
6
|
|
7
7
|
def status status_id
|
8
|
-
|
8
|
+
DocRaptor::DocApi.new.get_async_doc_status(status_id)
|
9
|
+
end
|
10
|
+
|
11
|
+
def document download_id
|
12
|
+
DocRaptor::DocApi.new.get_async_doc(download_id)
|
9
13
|
end
|
10
14
|
|
11
15
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
require 'spec_helper'
|
2
|
-
require '
|
2
|
+
require 'docraptor'
|
3
3
|
|
4
4
|
module DocGenerationWrapper
|
5
5
|
|
@@ -17,7 +17,9 @@ module DocGenerationWrapper
|
|
17
17
|
let(:options) {{}}
|
18
18
|
|
19
19
|
before do
|
20
|
-
|
20
|
+
doc_raptor_double = double
|
21
|
+
expect(doc_raptor_double).to receive(:create_async_doc).with(options)
|
22
|
+
expect(DocRaptor::DocApi).to receive(:new) { doc_raptor_double }
|
21
23
|
end
|
22
24
|
|
23
25
|
specify do
|
@@ -29,7 +31,9 @@ module DocGenerationWrapper
|
|
29
31
|
let(:id) { :id }
|
30
32
|
|
31
33
|
before do
|
32
|
-
|
34
|
+
doc_raptor_double = double
|
35
|
+
expect(doc_raptor_double).to receive(:get_async_doc_status).with(id)
|
36
|
+
expect(DocRaptor::DocApi).to receive(:new) { doc_raptor_double }
|
33
37
|
end
|
34
38
|
|
35
39
|
specify do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: doc_generation_wrapper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joel AZEMAR
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-03-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -67,19 +67,19 @@ dependencies:
|
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '1.8'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: docraptor
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '0.
|
75
|
+
version: '0.2'
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '0.
|
82
|
+
version: '0.2'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: json
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -117,7 +117,6 @@ files:
|
|
117
117
|
- lib/doc_generation_wrapper/adapters/base.rb
|
118
118
|
- lib/doc_generation_wrapper/adapters/doc_raptor_adapter.rb
|
119
119
|
- lib/doc_generation_wrapper/adapters/doc_raptor_service/command.rb
|
120
|
-
- lib/doc_generation_wrapper/adapters/doc_raptor_service/proxy.rb
|
121
120
|
- lib/doc_generation_wrapper/adapters/doc_raptor_service/query.rb
|
122
121
|
- lib/doc_generation_wrapper/adapters/prince_xml_adapter.rb
|
123
122
|
- lib/doc_generation_wrapper/adapters/prince_xml_service/command.rb
|
@@ -147,7 +146,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
147
146
|
version: '0'
|
148
147
|
requirements: []
|
149
148
|
rubyforge_project:
|
150
|
-
rubygems_version: 2.
|
149
|
+
rubygems_version: 2.5.1
|
151
150
|
signing_key:
|
152
151
|
specification_version: 4
|
153
152
|
summary: Wrapper for DocRaptor or Local PrinceXML generation
|
@@ -1,32 +0,0 @@
|
|
1
|
-
require 'doc_raptor'
|
2
|
-
|
3
|
-
module DocGenerationWrapper
|
4
|
-
module Adapter
|
5
|
-
module DocRaptorService
|
6
|
-
module Proxy
|
7
|
-
extend self
|
8
|
-
|
9
|
-
def method_missing method, *args
|
10
|
-
tries = 0
|
11
|
-
begin
|
12
|
-
DocRaptor.send method, *args
|
13
|
-
rescue Errno::ETIMEDOUT, Errno::ENOENT, Errno::ECONNRESET, Timeout::Error
|
14
|
-
(tries += 1) < 3 ? retry : raise
|
15
|
-
rescue DocRaptorException::DocumentCreationFailure => exception
|
16
|
-
if exception.message.match(/Too many simultaneous document requests/) && (tries+=1) < 5
|
17
|
-
wait_before_retrying && retry
|
18
|
-
else
|
19
|
-
raise
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
def wait_before_retrying
|
25
|
-
Rails.logger.error '[DocGen] Docraptor can\'t accept more than 5 concurrent requests (auto-retry)'
|
26
|
-
sleep 5
|
27
|
-
end
|
28
|
-
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|