mozenda 0.0.9 → 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.
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