Class: SauceWhisk::Job

Inherits:
Object
  • Object
show all
Defined in:
lib/sauce_whisk/jobs.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(parameters = {}) ⇒ Job

Returns a new instance of Job.



99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
# File 'lib/sauce_whisk/jobs.rb', line 99

def initialize(parameters={})
  passed = parameters.delete "status"
  cd = parameters.delete "custom-data"
  visibility = parameters.delete "public"

  self.passed = passed
  self.custom_data = cd
  self.visibility = visibility

  parameters.each do |k,v|
    self.instance_variable_set("@#{k}".to_sym, v)
  end

  @updated_fields = []
end

Instance Attribute Details

#browserObject (readonly)

Returns the value of attribute browser.



93
94
95
# File 'lib/sauce_whisk/jobs.rb', line 93

def browser
  @browser
end

#browser_versionObject (readonly)

Returns the value of attribute browser_version.



93
94
95
# File 'lib/sauce_whisk/jobs.rb', line 93

def browser_version
  @browser_version
end

#creation_timeObject (readonly)

Returns the value of attribute creation_time.



94
95
96
# File 'lib/sauce_whisk/jobs.rb', line 94

def creation_time
  @creation_time
end

#end_timeObject (readonly)

Returns the value of attribute end_time.



94
95
96
# File 'lib/sauce_whisk/jobs.rb', line 94

def end_time
  @end_time
end

#errorObject (readonly)

Returns the value of attribute error.



94
95
96
# File 'lib/sauce_whisk/jobs.rb', line 94

def error
  @error
end

#idObject (readonly)

Returns the value of attribute id.



93
94
95
# File 'lib/sauce_whisk/jobs.rb', line 93

def id
  @id
end

#log_urlObject (readonly)

Returns the value of attribute log_url.



93
94
95
# File 'lib/sauce_whisk/jobs.rb', line 93

def log_url
  @log_url
end

#osObject (readonly)

Returns the value of attribute os.



93
94
95
# File 'lib/sauce_whisk/jobs.rb', line 93

def os
  @os
end

#ownerObject (readonly)

Returns the value of attribute owner.



93
94
95
# File 'lib/sauce_whisk/jobs.rb', line 93

def owner
  @owner
end

#screenshot_urlsObject (readonly)

Returns the value of attribute screenshot_urls.



95
96
97
# File 'lib/sauce_whisk/jobs.rb', line 95

def screenshot_urls
  @screenshot_urls
end

#start_timeObject (readonly)

Returns the value of attribute start_time.



94
95
96
# File 'lib/sauce_whisk/jobs.rb', line 94

def start_time
  @start_time
end

#updated_fieldsObject



131
132
133
# File 'lib/sauce_whisk/jobs.rb', line 131

def updated_fields
  @updated_fields ||= []
end

#video_urlObject (readonly)

Returns the value of attribute video_url.



94
95
96
# File 'lib/sauce_whisk/jobs.rb', line 94

def video_url
  @video_url
end

Class Method Details

.tracked_attr_accessor(*methods) ⇒ Object



81
82
83
84
85
86
87
88
89
90
91
# File 'lib/sauce_whisk/jobs.rb', line 81

def self.tracked_attr_accessor(*methods)
  methods.each do |method|
    attr_reader method
    self.send(:define_method, "#{method}=") do |arg|
      if method != arg
        updated_fields << method
        instance_variable_set("@#{method}", arg)
      end
    end
  end
end

Instance Method Details

#deleteObject



123
124
125
# File 'lib/sauce_whisk/jobs.rb', line 123

def delete
  Jobs.delete_job id
end

#has_all_asset_names?Boolean

Returns:

  • (Boolean)


127
128
129
# File 'lib/sauce_whisk/jobs.rb', line 127

def has_all_asset_names?
  !screenshot_urls.nil?
end

#saveObject



115
116
117
# File 'lib/sauce_whisk/jobs.rb', line 115

def save
  Jobs.save(self)
end

#screenshotsObject



135
136
137
138
139
140
141
142
143
# File 'lib/sauce_whisk/jobs.rb', line 135

def screenshots
  unless @screenshots || screenshot_urls.nil?
   @screenshots = screenshot_urls.map do |screenshot|
      Assets.fetch id, screenshot
    end
  end

  @screenshots
end

#stopObject



119
120
121
# File 'lib/sauce_whisk/jobs.rb', line 119

def stop
  Jobs.stop id
end

#videoObject



145
146
147
148
149
150
151
# File 'lib/sauce_whisk/jobs.rb', line 145

def video
  unless @video
    @video = Assets.fetch id, "video.flv", :video
  end

  @video
end