mortar-api-ruby 0.5.2 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
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