Class: OozieClient::JobCollection
- Inherits:
-
Object
- Object
- OozieClient::JobCollection
- Includes:
- Enumerable, Base
- Defined in:
- lib/oozie-client/job_collection.rb
Instance Method Summary collapse
- #[](oozie_id) ⇒ Object
- #create(properties, params = {}) ⇒ Object (also: #submit)
- #each ⇒ Object
- #filter(name, value) ⇒ Object
-
#initialize(options) ⇒ JobCollection
constructor
A new instance of JobCollection.
- #with_group(*groups) ⇒ Object
- #with_name(*names) ⇒ Object
- #with_status(*statuses) ⇒ Object
- #with_user(*users) ⇒ Object
Methods included from Base
Constructor Details
#initialize(options) ⇒ JobCollection
Returns a new instance of JobCollection.
7 8 9 10 |
# File 'lib/oozie-client/job_collection.rb', line 7 def initialize @filters = [:filters] || {} super end |
Instance Method Details
#[](oozie_id) ⇒ Object
12 13 14 |
# File 'lib/oozie-client/job_collection.rb', line 12 def [] oozie_id OozieJob.new(oozie_id, :config => config) end |
#create(properties, params = {}) ⇒ Object Also known as: submit
16 17 18 19 |
# File 'lib/oozie-client/job_collection.rb', line 16 def create(properties, params={}) job = JSON.parse jobs_url.post(properties_to_conf_xml(properties), {params: params, content_type: :xml}) self[job['id']] end |
#each ⇒ Object
45 46 47 48 |
# File 'lib/oozie-client/job_collection.rb', line 45 def each result = JSON.parse jobs_url.get result['workflows'].each { |wf| yield self[wf['id']] } end |
#filter(name, value) ⇒ Object
38 39 40 41 42 43 |
# File 'lib/oozie-client/job_collection.rb', line 38 def filter name, value = {} [:filters] = @filters.merge(name.to_s.to_sym => value) [:config] = config JobCollection.new() end |
#with_group(*groups) ⇒ Object
30 31 32 |
# File 'lib/oozie-client/job_collection.rb', line 30 def with_group *groups filter(:group, groups.flatten) end |
#with_name(*names) ⇒ Object
26 27 28 |
# File 'lib/oozie-client/job_collection.rb', line 26 def with_name *names filter(:name, names.flatten) end |
#with_status(*statuses) ⇒ Object
34 35 36 |
# File 'lib/oozie-client/job_collection.rb', line 34 def with_status *statuses filter(:status, statuses.flatten) end |
#with_user(*users) ⇒ Object
22 23 24 |
# File 'lib/oozie-client/job_collection.rb', line 22 def with_user *users filter(:user, users.flatten) end |