email_vision 0.1.2 → 0.1.3

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.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.2
1
+ 0.1.3
data/email_vision.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{email_vision}
8
- s.version = "0.1.2"
8
+ s.version = "0.1.3"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Michael Grosser"]
data/lib/email_vision.rb CHANGED
@@ -5,6 +5,10 @@ class EmailVision
5
5
  SESSION_TIMEOUT = 10*60
6
6
  VERSION = File.read( File.join(File.dirname(__FILE__),'..','VERSION') ).strip
7
7
  attr_accessor :options
8
+ JOB_STATUS = {
9
+ :finished => 'Job_Done_Or_Does_Not_Exist',
10
+ :error => 'Error'
11
+ }
8
12
 
9
13
  def initialize(options)
10
14
  self.options = options
@@ -42,6 +46,20 @@ class EmailVision
42
46
  execute(:get_member_job_status, :synchro_id => job_id)[:status]
43
47
  end
44
48
 
49
+ def wait_for_job_to_finish(job_id, options={})
50
+ interval = options[:interval] || 5
51
+ times = options[:times] || 20
52
+
53
+ times.times do
54
+ current_status = job_status(job_id)
55
+ raise "Job failed" if current_status == JOB_STATUS[:error]
56
+ return true if current_status == JOB_STATUS[:finished]
57
+ sleep interval
58
+ end
59
+
60
+ raise "Job not finished in time! #{current_status}"
61
+ end
62
+
45
63
  def columns
46
64
  result = execute(:desc_member_table)
47
65
  result = convert_to_hash(result[:fields], :name, :type)
@@ -9,13 +9,7 @@ describe "EmailVision" do
9
9
 
10
10
  # updates need some time to finish on the server...
11
11
  def wait_for_job_to_finish
12
- job_id = yield
13
- 20.times do
14
- sleep 5
15
- puts status = client.job_status(job_id)
16
- return if status == 'Job_Done_Or_Does_Not_Exist'
17
- end
18
- raise "Job not finished in time!"
12
+ client.wait_for_job_to_finish yield
19
13
  end
20
14
 
21
15
  def reset_email
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 1
8
- - 2
9
- version: 0.1.2
8
+ - 3
9
+ version: 0.1.3
10
10
  platform: ruby
11
11
  authors:
12
12
  - Michael Grosser