mozenda 0.0.9 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a7b778d497890f653d795f786969c4d8a75d76ac
4
- data.tar.gz: 59f00f8ba8c5b542054978f298a0d1b605f66767
3
+ metadata.gz: df5e788b9aa9cdd973c584fa647f7bb582a5407e
4
+ data.tar.gz: 1c568fb8b970edf536f9f09baa0ba8799515c6d5
5
5
  SHA512:
6
- metadata.gz: b6fb2f7639a1d4fdf665d23f2ced9e60ccbb78f10417d5eaa7777abfbc4fa78a1770896b12630d953cde001f41bfd76cce12823400fc46b4c67dbd9b389185c2
7
- data.tar.gz: b336c9323aa48b9468cf2a28a75f808622dfbf9da6a988a8dc7442fc43078988a840614f9c40476cea0fc133d75f2d3c7b97ea7acd82f751fe30b9c525de8680
6
+ metadata.gz: 4300329d58e69be4fe6e0b76689f312f4fae8206b737cc457bebb349f57b455b9d5bf1ab23d330433f8c2fe5de14d1d59f1644b01458081b2886ce864a5a7368
7
+ data.tar.gz: 2344923a865c406118416d9371b30b01c51a720d43fc3cd597027e284f30a1833d4eb455508dec1b537f987ec9d093b029945ccd4a18df235cd5c09202c66c5d
@@ -9,7 +9,6 @@ require 'nori'
9
9
  require "mozenda/version"
10
10
  require "mozenda/exception"
11
11
  require "mozenda/configuration"
12
- require "mozenda/replacement_values"
13
12
  require "mozenda/xml_generator"
14
13
  require "mozenda/infrastructure"
15
14
  require "mozenda/request"
@@ -24,4 +23,17 @@ module Mozenda
24
23
  config
25
24
  end
26
25
 
26
+ REPLACEMENT_VALUES = {
27
+ agent_id: "AgentID",
28
+ agent_name: "Agent.Name",
29
+ agent_description: "Agent.Description",
30
+ agent_domain: "Agent.Domain",
31
+ job_id: "JobID",
32
+ job_status: "Job.Status",
33
+ job_created: "Job.Created",
34
+ job_ended: "Job.Ended",
35
+ job_name: "Job.Name",
36
+ job_description: "Job.Description"
37
+ }.freeze
38
+
27
39
  end
@@ -14,5 +14,10 @@ module Mozenda::Model
14
14
  request.send!
15
15
  end
16
16
 
17
+ def get
18
+ request = Mozenda::Request::AgentGet.new(:agent_id => @id)
19
+ request.send!
20
+ end
21
+
17
22
  end
18
23
  end
@@ -22,8 +22,14 @@ module Mozenda::Model
22
22
  end
23
23
 
24
24
  def clear
25
- request = Mozenda::Request::CollectionClear.new({
26
- :collection_id => @id
25
+ request = Mozenda::Request::CollectionClear.new(:collection_id => @id)
26
+ request.send!
27
+ end
28
+
29
+ def publish job_params = {}
30
+ request = Mozenda::Request::CollectionPublish.new({
31
+ :collection_id => @id,
32
+ :job_params => job_params
27
33
  })
28
34
  request.send!
29
35
  end
@@ -2,16 +2,22 @@ module Mozenda::Model
2
2
  class Job < Mozenda::Model::Base
3
3
 
4
4
  def self.get job_id
5
- request = Mozenda::Request::JobGet.new({
6
- :job_id => job_id
7
- })
5
+ request = Mozenda::Request::JobGet.new(:job_id => job_id)
8
6
  request.send!
9
7
  end
10
8
 
11
9
  def self.resume job_id
12
- request = Mozenda::Request::JobResume.new({
13
- :job_id => job_id
14
- })
10
+ request = Mozenda::Request::JobResume.new(:job_id => job_id)
11
+ request.send!
12
+ end
13
+
14
+ def self.pause job_id
15
+ request = Mozenda::Request::JobPause.new(:job_id => job_id)
16
+ request.send!
17
+ end
18
+
19
+ def self.cancel job_id
20
+ request = Mozenda::Request::JobCancel.new(:job_id => job_id)
15
21
  request.send!
16
22
  end
17
23
 
@@ -4,9 +4,13 @@ module Mozenda
4
4
  end
5
5
 
6
6
  require 'mozenda/request/base'
7
+ require 'mozenda/request/agent_get'
7
8
  require 'mozenda/request/agent_run'
8
9
  require 'mozenda/request/collection_add_item'
9
10
  require 'mozenda/request/collection_add_item_bulk'
10
11
  require 'mozenda/request/collection_clear'
12
+ require 'mozenda/request/collection_publish'
11
13
  require 'mozenda/request/job_get'
14
+ require 'mozenda/request/job_cancel'
15
+ require 'mozenda/request/job_pause'
12
16
  require 'mozenda/request/job_resume'
@@ -0,0 +1,15 @@
1
+ module Mozenda::Request
2
+ class AgentGet < Mozenda::Request::Base
3
+
4
+ def initialize options
5
+ super
6
+ put_additional_param("AgentID", options[:agent_id])
7
+ end
8
+
9
+ private
10
+
11
+ OPERATION = "Agent.Get"
12
+ REQUIRED_PARAMS = ["AgentID", "Operation"].freeze
13
+
14
+ end
15
+ end
@@ -17,29 +17,5 @@ module Mozenda::Request
17
17
  OPERATION = "Agent.Run"
18
18
  REQUIRED_PARAMS = ["AgentID", "Operation"].freeze
19
19
 
20
- def include_status_url? params
21
- status_url = params[:status_url] || ""
22
- replacement_values = params[:replacement_values] || {}
23
- !(status_url.empty? || replacement_values.empty?)
24
- end
25
-
26
- def format_status_url params
27
- status_url = params[:status_url] || ""
28
- replacement_values = params[:replacement_values] || {}
29
- unless status_url.empty? || replacement_values.empty?
30
- uri = URI(status_url)
31
- params = URI.decode_www_form(uri.query || [])
32
- replacement_values.each_pair do |name, value|
33
- params << [name, value]
34
- end
35
- uri.query = URI.encode_www_form(params)
36
- status_url = uri.to_s
37
- Mozenda::ReplacementValues::ALL.each do |replacement_value|
38
- status_url = status_url.gsub(replacement_value, "%#{replacement_value}%")
39
- end
40
- end
41
- status_url
42
- end
43
-
44
20
  end
45
21
  end
@@ -17,6 +17,33 @@ module Mozenda::Request
17
17
  end
18
18
  end
19
19
 
20
+ protected
21
+
22
+ def include_status_url? params
23
+ status_url = params[:status_url] || ""
24
+ replacement_values = params[:replacement_values] || []
25
+ !(status_url.empty? || replacement_values.empty?)
26
+ end
27
+
28
+ def format_status_url params
29
+ status_url = params[:status_url] || ""
30
+ replacement_values = params[:replacement_values] || []
31
+ unless status_url.empty? || replacement_values.empty?
32
+ uri = URI(status_url)
33
+ params = URI.decode_www_form(uri.query || [])
34
+ replacement_values.each do |name|
35
+ value = Mozenda::REPLACEMENT_VALUES[name]
36
+ params << [name, value]
37
+ end
38
+ uri.query = URI.encode_www_form(params)
39
+ status_url = uri.to_s
40
+ Mozenda::REPLACEMENT_VALUES.values.each do |replacement_value|
41
+ status_url = status_url.gsub(replacement_value, "%#{replacement_value}%")
42
+ end
43
+ end
44
+ status_url
45
+ end
46
+
20
47
  private
21
48
 
22
49
  def response_class
@@ -0,0 +1,17 @@
1
+ module Mozenda::Request
2
+ class CollectionPublish < Mozenda::Request::Base
3
+
4
+ def initialize options
5
+ super
6
+ put_additional_param("CollectionID", options[:collection_id])
7
+ job_params = options[:job_params] || {}
8
+ put_additional_param("Job.StatusUrl", format_status_url(job_params)) unless job_params.empty?
9
+ end
10
+
11
+ private
12
+
13
+ OPERATION = "Collection.Publish"
14
+ REQUIRED_PARAMS = ["CollectionID", "Operation"].freeze
15
+
16
+ end
17
+ end
@@ -0,0 +1,15 @@
1
+ module Mozenda::Request
2
+ class JobCancel < Mozenda::Request::Base
3
+
4
+ def initialize options
5
+ super
6
+ put_additional_param("JobID", options[:job_id])
7
+ end
8
+
9
+ private
10
+
11
+ OPERATION = "Job.Cancel"
12
+ REQUIRED_PARAMS = ["JobID", "Operation"].freeze
13
+
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ module Mozenda::Request
2
+ class JobPause < Mozenda::Request::Base
3
+
4
+ def initialize options
5
+ super
6
+ put_additional_param("JobID", options[:job_id])
7
+ end
8
+
9
+ private
10
+
11
+ OPERATION = "Job.Pause"
12
+ REQUIRED_PARAMS = ["JobID", "Operation"].freeze
13
+
14
+ end
15
+ end
@@ -4,8 +4,12 @@ module Mozenda
4
4
  end
5
5
 
6
6
  require 'mozenda/response/base'
7
+ require 'mozenda/response/agent_get'
7
8
  require 'mozenda/response/agent_run'
8
9
  require 'mozenda/response/collection_add_item'
9
10
  require 'mozenda/response/collection_clear'
11
+ require 'mozenda/response/collection_publish'
10
12
  require 'mozenda/response/job_get'
13
+ require 'mozenda/response/job_cancel'
14
+ require 'mozenda/response/job_pause'
11
15
  require 'mozenda/response/job_resume'
@@ -0,0 +1,17 @@
1
+ module Mozenda::Response
2
+ class AgentGet < Mozenda::Response::Base
3
+
4
+ def agent_id
5
+ body_hash["AgentID"]
6
+ end
7
+
8
+ def collection_id
9
+ body_hash["CollectionID"]
10
+ end
11
+
12
+ private
13
+
14
+ NAME = "AgentGetResponse"
15
+
16
+ end
17
+ end
@@ -0,0 +1,13 @@
1
+ module Mozenda::Response
2
+ class CollectionPublish < Mozenda::Response::Base
3
+
4
+ def job_id
5
+ body_hash["JobID"]
6
+ end
7
+
8
+ private
9
+
10
+ NAME = "CollectionPublishResponse"
11
+
12
+ end
13
+ end
@@ -0,0 +1,9 @@
1
+ module Mozenda::Response
2
+ class JobCancel < Mozenda::Response::Base
3
+
4
+ private
5
+
6
+ NAME = "JobCancelResponse"
7
+
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ module Mozenda::Response
2
+ class JobPause < Mozenda::Response::Base
3
+
4
+ private
5
+
6
+ NAME = "JobPauseResponse"
7
+
8
+ end
9
+ end
@@ -1,5 +1,5 @@
1
1
  module Mozenda
2
2
 
3
- VERSION = "0.0.9"
3
+ VERSION = "0.1.3"
4
4
 
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mozenda
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Woloszun
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-06 00:00:00.000000000 Z
11
+ date: 2014-10-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -117,21 +117,28 @@ files:
117
117
  - lib/mozenda/model/base.rb
118
118
  - lib/mozenda/model/collection.rb
119
119
  - lib/mozenda/model/job.rb
120
- - lib/mozenda/replacement_values.rb
121
120
  - lib/mozenda/request.rb
121
+ - lib/mozenda/request/agent_get.rb
122
122
  - lib/mozenda/request/agent_run.rb
123
123
  - lib/mozenda/request/base.rb
124
124
  - lib/mozenda/request/collection_add_item.rb
125
125
  - lib/mozenda/request/collection_add_item_bulk.rb
126
126
  - lib/mozenda/request/collection_clear.rb
127
+ - lib/mozenda/request/collection_publish.rb
128
+ - lib/mozenda/request/job_cancel.rb
127
129
  - lib/mozenda/request/job_get.rb
130
+ - lib/mozenda/request/job_pause.rb
128
131
  - lib/mozenda/request/job_resume.rb
129
132
  - lib/mozenda/response.rb
133
+ - lib/mozenda/response/agent_get.rb
130
134
  - lib/mozenda/response/agent_run.rb
131
135
  - lib/mozenda/response/base.rb
132
136
  - lib/mozenda/response/collection_add_item.rb
133
137
  - lib/mozenda/response/collection_clear.rb
138
+ - lib/mozenda/response/collection_publish.rb
139
+ - lib/mozenda/response/job_cancel.rb
134
140
  - lib/mozenda/response/job_get.rb
141
+ - lib/mozenda/response/job_pause.rb
135
142
  - lib/mozenda/response/job_resume.rb
136
143
  - lib/mozenda/version.rb
137
144
  - lib/mozenda/xml_generator.rb
@@ -1,16 +0,0 @@
1
- module Mozenda::ReplacementValues
2
-
3
- AGENT_ID = "AgentID"
4
- AGENT_NAME = "Agent.Name"
5
- AGENT_DESCRIPTION = "Agent.Description"
6
- AGENT_DOMAIN = "Agent.Domain"
7
- JOB_ID = "JobID"
8
- JOB_STATUS = "Job.Status"
9
- JOB_CREATED = "Job.Created"
10
- JOB_ENDED = "Job.Ended"
11
- JOB_NAME = "Job.Name"
12
- JOB_DESCRIPTION = "Job.Description"
13
-
14
- ALL = [AGENT_ID, AGENT_NAME, AGENT_DESCRIPTION, AGENT_DOMAIN, JOB_ID, JOB_STATUS, JOB_CREATED, JOB_ENDED, JOB_NAME, JOB_DESCRIPTION].freeze
15
-
16
- end