lib/beanstalk-client/job.rb in beanstalk-client-0.1 vs lib/beanstalk-client/job.rb in beanstalk-client-0.6.0

- old
+ new

@@ -18,10 +18,20 @@ require 'yaml' class Beanstalk::Job attr_reader :id, :pri, :body, :conn + # Convenience method for getting ybody elements. + def [](name) + ybody[name] + end + + # Convenience method for setting ybody elements. + def []=(name, val) + ybody[name] = val + end + # Return the object that results from loading the body as a yaml stream. # Return nil if the body is not a valid yaml stream. def ybody() (@ybody ||= [begin YAML.load(body) rescue nil end])[0] end @@ -29,13 +39,15 @@ def initialize(conn, id, pri, body) @conn = conn @id = id @pri = pri @body = body + @deleted = false end def delete() - @conn.delete(id) + @conn.delete(id) if !@deleted + @deleted = true end def put_back(pri=self.pri) @conn.put(body, pri) end