mortar-api-ruby 0.5.2 → 0.6.0

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.
data/.rvmrc CHANGED
@@ -1 +1 @@
1
- rvm use 1.9.3@mortar --create
1
+ rvm use 1.8.7@mortar --create
@@ -50,41 +50,59 @@ module Mortar
50
50
 
51
51
 
52
52
  # POST /vX/jobs
53
- def post_job_existing_cluster(project_name, pigscript, git_ref, cluster_id, options={})
53
+ def post_job_existing_cluster(project_name, script_name, git_ref, cluster_id, options={})
54
54
  parameters = options[:parameters] || {}
55
55
  notify_on_job_finish = options[:notify_on_job_finish].nil? ? true : options[:notify_on_job_finish]
56
+ is_control_script = options[:is_control_script] || false
57
+
58
+ body = {"project_name" => project_name,
59
+ "git_ref" => git_ref,
60
+ "cluster_id" => cluster_id,
61
+ "parameters" => parameters,
62
+ "notify_on_job_finish" => notify_on_job_finish
63
+ }
64
+
65
+ if is_control_script
66
+ body["controlscript_name"] = script_name
67
+ else
68
+ body["pigscript_name"] = script_name
69
+ end
70
+
56
71
  request(
57
72
  :expects => 200,
58
73
  :method => :post,
59
74
  :path => versioned_path("/jobs"),
60
- :body => json_encode({"project_name" => project_name,
61
- "pigscript_name" => pigscript,
62
- "git_ref" => git_ref,
63
- "cluster_id" => cluster_id,
64
- "parameters" => parameters,
65
- "notify_on_job_finish" => notify_on_job_finish
66
- }))
75
+ :body => json_encode(body))
67
76
  end
77
+
68
78
 
69
79
  # POST /vX/jobs
70
- def post_job_new_cluster(project_name, pigscript, git_ref, cluster_size, options={})
80
+ def post_job_new_cluster(project_name, script_name, git_ref, cluster_size, options={})
71
81
  keep_alive = options[:keepalive].nil? ? true : options[:keepalive]
72
82
  notify_on_job_finish = options[:notify_on_job_finish].nil? ? true : options[:notify_on_job_finish]
73
83
  parameters = options[:parameters] || {}
84
+ is_control_script = options[:is_control_script] || false
85
+
86
+ body = { "project_name" => project_name,
87
+ "git_ref" => git_ref,
88
+ "cluster_size" => cluster_size,
89
+ "keep_alive" => keep_alive,
90
+ "parameters" => parameters,
91
+ "notify_on_job_finish" => notify_on_job_finish
92
+ }
93
+ if is_control_script
94
+ body["controlscript_name"] = script_name
95
+ else
96
+ body["pigscript_name"] = script_name
97
+ end
98
+
74
99
  request(
75
100
  :expects => 200,
76
101
  :method => :post,
77
102
  :path => versioned_path("/jobs"),
78
- :body => json_encode({"project_name" => project_name,
79
- "pigscript_name" => pigscript,
80
- "git_ref" => git_ref,
81
- "cluster_size" => cluster_size,
82
- "keep_alive" => keep_alive,
83
- "parameters" => parameters,
84
- "notify_on_job_finish" => notify_on_job_finish
85
- }))
103
+ :body => json_encode(body))
86
104
  end
87
-
105
+
88
106
  # GET /vX/jobs
89
107
  def get_jobs(skip, limit)
90
108
  request(
@@ -18,7 +18,7 @@ module Mortar
18
18
  class API
19
19
  # client version
20
20
  # see http://semver.org/
21
- VERSION = "0.5.2"
21
+ VERSION = "0.6.0"
22
22
 
23
23
  SERVER_API_VERSION = "2"
24
24
  end
@@ -38,11 +38,11 @@ describe Mortar::API do
38
38
  cluster_id = "f82c774f7ccd429e91db996838cb6c4a"
39
39
  parameters = {"my_first_param" => 1, "MY_SECOND_PARAM" => "TWO"}
40
40
  body = Mortar::API::OkJson.encode({"project_name" => project_name,
41
- "pigscript_name" => pigscript_name,
42
41
  "git_ref" => git_ref,
43
42
  "cluster_id" => cluster_id,
44
43
  "parameters" => parameters,
45
- "notify_on_job_finish" => true
44
+ "notify_on_job_finish" => true,
45
+ "pigscript_name" => pigscript_name
46
46
  })
47
47
  Excon.stub({:method => :post, :path => "/v2/jobs", :body => body}) do |params|
48
48
  {:body => Mortar::API::OkJson.encode({'job_id' => job_id}), :status => 200}
@@ -58,12 +58,12 @@ describe Mortar::API do
58
58
  git_ref = "e20395b8b06fbf52e86665b0660209673f311d1a"
59
59
  cluster_size = 5
60
60
  body = Mortar::API::OkJson.encode({"project_name" => project_name,
61
- "pigscript_name" => pigscript_name,
62
61
  "git_ref" => git_ref,
63
62
  "cluster_size" => cluster_size,
64
63
  "keep_alive" => true,
65
64
  "parameters" => {},
66
- "notify_on_job_finish" => true
65
+ "notify_on_job_finish" => true,
66
+ "pigscript_name" => pigscript_name
67
67
  })
68
68
  Excon.stub({:method => :post, :path => "/v2/jobs", :body => body}) do |params|
69
69
  {:body => Mortar::API::OkJson.encode({'job_id' => job_id}), :status => 200}
@@ -79,12 +79,12 @@ describe Mortar::API do
79
79
  git_ref = "e20395b8b06fbf52e86665b0660209673f311d1a"
80
80
  cluster_size = 5
81
81
  body = Mortar::API::OkJson.encode({"project_name" => project_name,
82
- "pigscript_name" => pigscript_name,
83
82
  "git_ref" => git_ref,
84
83
  "cluster_size" => cluster_size,
85
84
  "keep_alive" => true,
86
85
  "parameters" => {},
87
- "notify_on_job_finish" => true
86
+ "notify_on_job_finish" => true,
87
+ "pigscript_name" => pigscript_name
88
88
  })
89
89
  Excon.stub({:method => :post, :path => "/v2/jobs", :body => body}) do |params|
90
90
  {:body => Mortar::API::OkJson.encode({'job_id' => job_id}), :status => 200}
@@ -100,12 +100,12 @@ describe Mortar::API do
100
100
  git_ref = "e20395b8b06fbf52e86665b0660209673f311d1a"
101
101
  cluster_size = 5
102
102
  body = Mortar::API::OkJson.encode({"project_name" => project_name,
103
- "pigscript_name" => pigscript_name,
104
103
  "git_ref" => git_ref,
105
104
  "cluster_size" => cluster_size,
106
105
  "keep_alive" => false,
107
106
  "parameters" => {},
108
- "notify_on_job_finish" => false
107
+ "notify_on_job_finish" => false,
108
+ "pigscript_name" => pigscript_name
109
109
  })
110
110
  Excon.stub({:method => :post, :path => "/v2/jobs", :body => body}) do |params|
111
111
  {:body => Mortar::API::OkJson.encode({'job_id' => job_id}), :status => 200}
@@ -121,12 +121,12 @@ describe Mortar::API do
121
121
  git_ref = "e20395b8b06fbf52e86665b0660209673f311d1a"
122
122
  cluster_size = 5
123
123
  body = Mortar::API::OkJson.encode({"project_name" => project_name,
124
- "pigscript_name" => pigscript_name,
125
124
  "git_ref" => git_ref,
126
125
  "cluster_size" => cluster_size,
127
126
  "keep_alive" => false,
128
127
  "parameters" => {},
129
- "notify_on_job_finish" => true
128
+ "notify_on_job_finish" => true,
129
+ "pigscript_name" => pigscript_name
130
130
  })
131
131
  Excon.stub({:method => :post, :path => "/v2/jobs", :body => body}) do |params|
132
132
  {:body => Mortar::API::OkJson.encode({'job_id' => job_id}), :status => 200}
metadata CHANGED
@@ -1,108 +1,109 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: mortar-api-ruby
3
- version: !ruby/object:Gem::Version
4
- version: 0.5.2
3
+ version: !ruby/object:Gem::Version
4
+ hash: 7
5
5
  prerelease:
6
+ segments:
7
+ - 0
8
+ - 6
9
+ - 0
10
+ version: 0.6.0
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Mortar Data
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2013-02-21 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
17
+
18
+ date: 2013-03-14 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
15
21
  name: excon
16
- requirement: !ruby/object:Gem::Requirement
17
- none: false
18
- requirements:
19
- - - ~>
20
- - !ruby/object:Gem::Version
21
- version: '0.15'
22
- - - <
23
- - !ruby/object:Gem::Version
24
- version: '0.17'
25
- type: :runtime
26
22
  prerelease: false
27
- version_requirements: !ruby/object:Gem::Requirement
23
+ requirement: &id001 !ruby/object:Gem::Requirement
28
24
  none: false
29
- requirements:
25
+ requirements:
30
26
  - - ~>
31
- - !ruby/object:Gem::Version
32
- version: '0.15'
27
+ - !ruby/object:Gem::Version
28
+ hash: 21
29
+ segments:
30
+ - 0
31
+ - 15
32
+ version: "0.15"
33
33
  - - <
34
- - !ruby/object:Gem::Version
35
- version: '0.17'
36
- - !ruby/object:Gem::Dependency
34
+ - !ruby/object:Gem::Version
35
+ hash: 41
36
+ segments:
37
+ - 0
38
+ - 17
39
+ version: "0.17"
40
+ type: :runtime
41
+ version_requirements: *id001
42
+ - !ruby/object:Gem::Dependency
37
43
  name: gem-release
38
- requirement: !ruby/object:Gem::Requirement
39
- none: false
40
- requirements:
41
- - - ! '>='
42
- - !ruby/object:Gem::Version
43
- version: '0'
44
- type: :development
45
44
  prerelease: false
46
- version_requirements: !ruby/object:Gem::Requirement
47
- none: false
48
- requirements:
49
- - - ! '>='
50
- - !ruby/object:Gem::Version
51
- version: '0'
52
- - !ruby/object:Gem::Dependency
53
- name: rake
54
- requirement: !ruby/object:Gem::Requirement
45
+ requirement: &id002 !ruby/object:Gem::Requirement
55
46
  none: false
56
- requirements:
57
- - - ! '>='
58
- - !ruby/object:Gem::Version
59
- version: '0'
47
+ requirements:
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ hash: 3
51
+ segments:
52
+ - 0
53
+ version: "0"
60
54
  type: :development
55
+ version_requirements: *id002
56
+ - !ruby/object:Gem::Dependency
57
+ name: rake
61
58
  prerelease: false
62
- version_requirements: !ruby/object:Gem::Requirement
63
- none: false
64
- requirements:
65
- - - ! '>='
66
- - !ruby/object:Gem::Version
67
- version: '0'
68
- - !ruby/object:Gem::Dependency
69
- name: rr
70
- requirement: !ruby/object:Gem::Requirement
59
+ requirement: &id003 !ruby/object:Gem::Requirement
71
60
  none: false
72
- requirements:
73
- - - ! '>='
74
- - !ruby/object:Gem::Version
75
- version: '0'
61
+ requirements:
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ hash: 3
65
+ segments:
66
+ - 0
67
+ version: "0"
76
68
  type: :development
69
+ version_requirements: *id003
70
+ - !ruby/object:Gem::Dependency
71
+ name: rr
77
72
  prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
73
+ requirement: &id004 !ruby/object:Gem::Requirement
79
74
  none: false
80
- requirements:
81
- - - ! '>='
82
- - !ruby/object:Gem::Version
83
- version: '0'
84
- - !ruby/object:Gem::Dependency
85
- name: rspec
86
- requirement: !ruby/object:Gem::Requirement
87
- none: false
88
- requirements:
89
- - - ! '>='
90
- - !ruby/object:Gem::Version
91
- version: '0'
75
+ requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ hash: 3
79
+ segments:
80
+ - 0
81
+ version: "0"
92
82
  type: :development
83
+ version_requirements: *id004
84
+ - !ruby/object:Gem::Dependency
85
+ name: rspec
93
86
  prerelease: false
94
- version_requirements: !ruby/object:Gem::Requirement
87
+ requirement: &id005 !ruby/object:Gem::Requirement
95
88
  none: false
96
- requirements:
97
- - - ! '>='
98
- - !ruby/object:Gem::Version
99
- version: '0'
89
+ requirements:
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ hash: 3
93
+ segments:
94
+ - 0
95
+ version: "0"
96
+ type: :development
97
+ version_requirements: *id005
100
98
  description: Client for Mortar API.
101
99
  email: support@mortardata.com
102
100
  executables: []
101
+
103
102
  extensions: []
103
+
104
104
  extra_rdoc_files: []
105
- files:
105
+
106
+ files:
106
107
  - .gitignore
107
108
  - .rvmrc
108
109
  - .travis.yml
@@ -145,29 +146,40 @@ files:
145
146
  - spec/spec_helper.rb
146
147
  homepage: http://mortardata.com/
147
148
  licenses: []
149
+
148
150
  post_install_message:
149
151
  rdoc_options: []
150
- require_paths:
152
+
153
+ require_paths:
151
154
  - lib
152
- required_ruby_version: !ruby/object:Gem::Requirement
155
+ required_ruby_version: !ruby/object:Gem::Requirement
153
156
  none: false
154
- requirements:
155
- - - ! '>='
156
- - !ruby/object:Gem::Version
157
+ requirements:
158
+ - - ">="
159
+ - !ruby/object:Gem::Version
160
+ hash: 57
161
+ segments:
162
+ - 1
163
+ - 8
164
+ - 7
157
165
  version: 1.8.7
158
- required_rubygems_version: !ruby/object:Gem::Requirement
166
+ required_rubygems_version: !ruby/object:Gem::Requirement
159
167
  none: false
160
- requirements:
161
- - - ! '>='
162
- - !ruby/object:Gem::Version
163
- version: '0'
168
+ requirements:
169
+ - - ">="
170
+ - !ruby/object:Gem::Version
171
+ hash: 3
172
+ segments:
173
+ - 0
174
+ version: "0"
164
175
  requirements: []
176
+
165
177
  rubyforge_project:
166
178
  rubygems_version: 1.8.24
167
179
  signing_key:
168
180
  specification_version: 3
169
181
  summary: Client for Mortar API
170
- test_files:
182
+ test_files:
171
183
  - spec/mortar/api/basicauth_spec.rb
172
184
  - spec/mortar/api/clusters_spec.rb
173
185
  - spec/mortar/api/describe_spec.rb