gi_cat_driver 0.2.2 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +2 -0
- data/lib/gi_cat_driver/version.rb +1 -1
- data/lib/gi_cat_driver.rb +5 -7
- data/spec/gi_cat_driver_spec.rb +2 -1
- metadata +22 -72
data/README.md
CHANGED
@@ -43,6 +43,8 @@ Annotated source code documentation is available at http://nsidc.github.com/gi_c
|
|
43
43
|
Rubydoc API documentation is available at http://rubydoc.info/gems/gi_cat_driver/
|
44
44
|
|
45
45
|
## Version History
|
46
|
+
* 0.2.3
|
47
|
+
* Changed the harvest to be sequential. (one resource won't start harvest till the current one is completed or timeout)
|
46
48
|
* 0.2.2
|
47
49
|
* Added new methods to create and delete profiles
|
48
50
|
* Fixed harvester request headers and now work properly
|
data/lib/gi_cat_driver.rb
CHANGED
@@ -125,8 +125,8 @@ module GiCatDriver
|
|
125
125
|
harvestersinfo_array = get_harvest_resources(get_active_profile_id)
|
126
126
|
harvestersinfo_array.each do |harvester_id, harvester_title|
|
127
127
|
harvest_resource_for_active_configuration(harvester_id.to_s, harvester_title)
|
128
|
+
confirm_harvest_done(harvester_id, harvester_title, timeout)
|
128
129
|
end
|
129
|
-
confirm_harvest_done(harvestersinfo_array, timeout)
|
130
130
|
end
|
131
131
|
|
132
132
|
#### Private Methods
|
@@ -194,8 +194,8 @@ module GiCatDriver
|
|
194
194
|
while(1) do
|
195
195
|
sleep 1 # Wait for one second
|
196
196
|
|
197
|
-
|
198
|
-
request = @base_url + "/services/conf/giconf/status?id=#{harvester_id}"
|
197
|
+
# appending unique number at the end of the request to bypass cache
|
198
|
+
request = @base_url + "/services/conf/giconf/status?id=#{harvester_id}&rand=#{generate_random_number}"
|
199
199
|
|
200
200
|
response = Faraday.get do |req|
|
201
201
|
req.url request
|
@@ -213,13 +213,11 @@ module GiCatDriver
|
|
213
213
|
end
|
214
214
|
|
215
215
|
# Run till harvest all the resources are completed or time out
|
216
|
-
def confirm_harvest_done(
|
216
|
+
def confirm_harvest_done(harvester_id, harvester_title, waitmax)
|
217
217
|
begin
|
218
218
|
puts "Info: Max wait time (timeout) for current profile is set to #{waitmax} seconds"
|
219
219
|
Timeout::timeout(waitmax.to_i) do
|
220
|
-
|
221
|
-
harvest_request_is_done(harvester_id.to_s, harvester_title)
|
222
|
-
end
|
220
|
+
harvest_request_is_done(harvester_id.to_s, harvester_title)
|
223
221
|
end
|
224
222
|
rescue Timeout::Error
|
225
223
|
puts "Warning: re-harvest is time out(#{waitmax} seconds, we are going to reuse the previous harvest results"
|
data/spec/gi_cat_driver_spec.rb
CHANGED
@@ -264,7 +264,8 @@ describe GiCatDriver do
|
|
264
264
|
})
|
265
265
|
.to_return(:status => 200, :body => "", :headers => {})
|
266
266
|
|
267
|
-
|
267
|
+
@gi_cat.stub(:generate_random_number) {0.1111}
|
268
|
+
harvest_status_url = "http://admin:pass@www.somecompany.com/services/conf/giconf/status?id=UUID-a5d11731-9a58-4818-8018-c085cea8b6e3&rand=0.1111"
|
268
269
|
stub_request(:get, harvest_status_url).
|
269
270
|
with(:headers => {'Accept'=>'application/xml', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Content-Type' => '*/*', 'User-Agent' => 'Ruby'}).
|
270
271
|
to_return(:status => 200, :body => File.new("spec/fixtures/status.xml"), :headers => [])
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gi_cat_driver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -14,7 +14,7 @@ date: 2013-04-19 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: faraday
|
17
|
-
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirement: &70132345151200 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ~>
|
@@ -22,15 +22,10 @@ dependencies:
|
|
22
22
|
version: 0.8.7
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements:
|
26
|
-
none: false
|
27
|
-
requirements:
|
28
|
-
- - ~>
|
29
|
-
- !ruby/object:Gem::Version
|
30
|
-
version: 0.8.7
|
25
|
+
version_requirements: *70132345151200
|
31
26
|
- !ruby/object:Gem::Dependency
|
32
27
|
name: nokogiri
|
33
|
-
requirement: !ruby/object:Gem::Requirement
|
28
|
+
requirement: &70132345149560 !ruby/object:Gem::Requirement
|
34
29
|
none: false
|
35
30
|
requirements:
|
36
31
|
- - ~>
|
@@ -38,15 +33,10 @@ dependencies:
|
|
38
33
|
version: 1.5.6
|
39
34
|
type: :runtime
|
40
35
|
prerelease: false
|
41
|
-
version_requirements:
|
42
|
-
none: false
|
43
|
-
requirements:
|
44
|
-
- - ~>
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
version: 1.5.6
|
36
|
+
version_requirements: *70132345149560
|
47
37
|
- !ruby/object:Gem::Dependency
|
48
38
|
name: bundler
|
49
|
-
requirement: !ruby/object:Gem::Requirement
|
39
|
+
requirement: &70132345148160 !ruby/object:Gem::Requirement
|
50
40
|
none: false
|
51
41
|
requirements:
|
52
42
|
- - ~>
|
@@ -54,15 +44,10 @@ dependencies:
|
|
54
44
|
version: '1.3'
|
55
45
|
type: :development
|
56
46
|
prerelease: false
|
57
|
-
version_requirements:
|
58
|
-
none: false
|
59
|
-
requirements:
|
60
|
-
- - ~>
|
61
|
-
- !ruby/object:Gem::Version
|
62
|
-
version: '1.3'
|
47
|
+
version_requirements: *70132345148160
|
63
48
|
- !ruby/object:Gem::Dependency
|
64
49
|
name: rake
|
65
|
-
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirement: &70132345147140 !ruby/object:Gem::Requirement
|
66
51
|
none: false
|
67
52
|
requirements:
|
68
53
|
- - ~>
|
@@ -70,15 +55,10 @@ dependencies:
|
|
70
55
|
version: 10.0.3
|
71
56
|
type: :development
|
72
57
|
prerelease: false
|
73
|
-
version_requirements:
|
74
|
-
none: false
|
75
|
-
requirements:
|
76
|
-
- - ~>
|
77
|
-
- !ruby/object:Gem::Version
|
78
|
-
version: 10.0.3
|
58
|
+
version_requirements: *70132345147140
|
79
59
|
- !ruby/object:Gem::Dependency
|
80
60
|
name: rspec
|
81
|
-
requirement: !ruby/object:Gem::Requirement
|
61
|
+
requirement: &70132345146380 !ruby/object:Gem::Requirement
|
82
62
|
none: false
|
83
63
|
requirements:
|
84
64
|
- - ~>
|
@@ -86,15 +66,10 @@ dependencies:
|
|
86
66
|
version: 2.13.0
|
87
67
|
type: :development
|
88
68
|
prerelease: false
|
89
|
-
version_requirements:
|
90
|
-
none: false
|
91
|
-
requirements:
|
92
|
-
- - ~>
|
93
|
-
- !ruby/object:Gem::Version
|
94
|
-
version: 2.13.0
|
69
|
+
version_requirements: *70132345146380
|
95
70
|
- !ruby/object:Gem::Dependency
|
96
71
|
name: pygments.rb
|
97
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirement: &70132345145620 !ruby/object:Gem::Requirement
|
98
73
|
none: false
|
99
74
|
requirements:
|
100
75
|
- - ~>
|
@@ -102,15 +77,10 @@ dependencies:
|
|
102
77
|
version: 0.4.2
|
103
78
|
type: :development
|
104
79
|
prerelease: false
|
105
|
-
version_requirements:
|
106
|
-
none: false
|
107
|
-
requirements:
|
108
|
-
- - ~>
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: 0.4.2
|
80
|
+
version_requirements: *70132345145620
|
111
81
|
- !ruby/object:Gem::Dependency
|
112
82
|
name: mustache
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
83
|
+
requirement: &70132345144960 !ruby/object:Gem::Requirement
|
114
84
|
none: false
|
115
85
|
requirements:
|
116
86
|
- - ~>
|
@@ -118,15 +88,10 @@ dependencies:
|
|
118
88
|
version: 0.99.4
|
119
89
|
type: :development
|
120
90
|
prerelease: false
|
121
|
-
version_requirements:
|
122
|
-
none: false
|
123
|
-
requirements:
|
124
|
-
- - ~>
|
125
|
-
- !ruby/object:Gem::Version
|
126
|
-
version: 0.99.4
|
91
|
+
version_requirements: *70132345144960
|
127
92
|
- !ruby/object:Gem::Dependency
|
128
93
|
name: redcarpet
|
129
|
-
requirement: !ruby/object:Gem::Requirement
|
94
|
+
requirement: &70132345144500 !ruby/object:Gem::Requirement
|
130
95
|
none: false
|
131
96
|
requirements:
|
132
97
|
- - ~>
|
@@ -134,15 +99,10 @@ dependencies:
|
|
134
99
|
version: 2.2.2
|
135
100
|
type: :development
|
136
101
|
prerelease: false
|
137
|
-
version_requirements:
|
138
|
-
none: false
|
139
|
-
requirements:
|
140
|
-
- - ~>
|
141
|
-
- !ruby/object:Gem::Version
|
142
|
-
version: 2.2.2
|
102
|
+
version_requirements: *70132345144500
|
143
103
|
- !ruby/object:Gem::Dependency
|
144
104
|
name: rocco
|
145
|
-
requirement: !ruby/object:Gem::Requirement
|
105
|
+
requirement: &70132345144040 !ruby/object:Gem::Requirement
|
146
106
|
none: false
|
147
107
|
requirements:
|
148
108
|
- - ~>
|
@@ -150,15 +110,10 @@ dependencies:
|
|
150
110
|
version: 0.8.2
|
151
111
|
type: :development
|
152
112
|
prerelease: false
|
153
|
-
version_requirements:
|
154
|
-
none: false
|
155
|
-
requirements:
|
156
|
-
- - ~>
|
157
|
-
- !ruby/object:Gem::Version
|
158
|
-
version: 0.8.2
|
113
|
+
version_requirements: *70132345144040
|
159
114
|
- !ruby/object:Gem::Dependency
|
160
115
|
name: webmock
|
161
|
-
requirement: !ruby/object:Gem::Requirement
|
116
|
+
requirement: &70132345143500 !ruby/object:Gem::Requirement
|
162
117
|
none: false
|
163
118
|
requirements:
|
164
119
|
- - ~>
|
@@ -166,12 +121,7 @@ dependencies:
|
|
166
121
|
version: 1.11.0
|
167
122
|
type: :development
|
168
123
|
prerelease: false
|
169
|
-
version_requirements:
|
170
|
-
none: false
|
171
|
-
requirements:
|
172
|
-
- - ~>
|
173
|
-
- !ruby/object:Gem::Version
|
174
|
-
version: 1.11.0
|
124
|
+
version_requirements: *70132345143500
|
175
125
|
description: Configure and control deployed instances of GI-Cat.
|
176
126
|
email:
|
177
127
|
- stuart.reed@nsidc.org
|
@@ -221,7 +171,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
221
171
|
version: '0'
|
222
172
|
requirements: []
|
223
173
|
rubyforge_project:
|
224
|
-
rubygems_version: 1.8.
|
174
|
+
rubygems_version: 1.8.15
|
225
175
|
signing_key:
|
226
176
|
specification_version: 3
|
227
177
|
summary: Configure and control deployed instances of GI-Cat.
|