mortar-api-ruby 0.7.2 → 0.7.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.
@@ -89,6 +89,7 @@ module Mortar
89
89
  def post_job_new_cluster(project_name, script_name, git_ref, cluster_size, options={})
90
90
  cluster_type = options[:cluster_type].nil? ? Jobs::CLUSTER_TYPE__PERSISTENT : options[:cluster_type]
91
91
  notify_on_job_finish = options[:notify_on_job_finish].nil? ? true : options[:notify_on_job_finish]
92
+ use_spot_instances = options[:use_spot_instances].nil? ? false : options[:use_spot_instances]
92
93
  parameters = options[:parameters] || {}
93
94
  is_control_script = options[:is_control_script] || false
94
95
 
@@ -97,7 +98,8 @@ module Mortar
97
98
  "cluster_size" => cluster_size,
98
99
  "cluster_type" => cluster_type,
99
100
  "parameters" => parameters,
100
- "notify_on_job_finish" => notify_on_job_finish
101
+ "notify_on_job_finish" => notify_on_job_finish,
102
+ "use_spot_instances" => use_spot_instances
101
103
  }
102
104
  if is_control_script
103
105
  body["controlscript_name"] = script_name
@@ -18,7 +18,7 @@ module Mortar
18
18
  class API
19
19
  # client version
20
20
  # see http://semver.org/
21
- VERSION = "0.7.2"
21
+ VERSION = "0.7.3"
22
22
 
23
23
  SERVER_API_VERSION = "2"
24
24
  end
@@ -64,6 +64,7 @@ describe Mortar::API do
64
64
  "cluster_type" => cluster_type,
65
65
  "parameters" => {},
66
66
  "notify_on_job_finish" => true,
67
+ "use_spot_instances" => false,
67
68
  "pigscript_name" => pigscript_name
68
69
  })
69
70
  Excon.stub({:method => :post, :path => "/v2/jobs", :body => body}) do |params|
@@ -86,6 +87,7 @@ describe Mortar::API do
86
87
  "cluster_type" => cluster_type,
87
88
  "parameters" => {},
88
89
  "notify_on_job_finish" => true,
90
+ "use_spot_instances" => false,
89
91
  "pigscript_name" => pigscript_name
90
92
  })
91
93
  Excon.stub({:method => :post, :path => "/v2/jobs", :body => body}) do |params|
@@ -95,7 +97,7 @@ describe Mortar::API do
95
97
  response.body['job_id'].should == job_id
96
98
  end
97
99
 
98
- it "accepts notify_on_job_finish of false" do
100
+ it "accepts non-default params for notify_on_job_finish and use_spot_instances" do
99
101
  job_id = "7b93e4d3ab034188a0c2be418d3d24ed"
100
102
  project_name = "my_project"
101
103
  pigscript_name = "my_pigscript"
@@ -108,12 +110,15 @@ describe Mortar::API do
108
110
  "cluster_type" => cluster_type,
109
111
  "parameters" => {},
110
112
  "notify_on_job_finish" => false,
113
+ "use_spot_instances" => true,
111
114
  "pigscript_name" => pigscript_name,
112
115
  })
113
116
  Excon.stub({:method => :post, :path => "/v2/jobs", :body => body}) do |params|
114
117
  {:body => Mortar::API::OkJson.encode({'job_id' => job_id}), :status => 200}
115
118
  end
116
- response = @api.post_job_new_cluster(project_name, pigscript_name, git_ref, cluster_size, :cluster_type => cluster_type, :notify_on_job_finish => false)
119
+ response = @api.post_job_new_cluster(project_name, pigscript_name, git_ref, cluster_size,
120
+ :cluster_type => cluster_type, :notify_on_job_finish => false,
121
+ :use_spot_instances => true)
117
122
  response.body['job_id'].should == job_id
118
123
  end
119
124
 
@@ -130,6 +135,7 @@ describe Mortar::API do
130
135
  "cluster_type" => cluster_type,
131
136
  "parameters" => {},
132
137
  "notify_on_job_finish" => true,
138
+ "use_spot_instances" => false,
133
139
  "pigscript_name" => pigscript_name
134
140
  })
135
141
  Excon.stub({:method => :post, :path => "/v2/jobs", :body => body}) do |params|
@@ -152,6 +158,7 @@ describe Mortar::API do
152
158
  "cluster_type" => cluster_type,
153
159
  "parameters" => {},
154
160
  "notify_on_job_finish" => true,
161
+ "use_spot_instances" => false,
155
162
  "pigscript_name" => pigscript_name,
156
163
  })
157
164
  Excon.stub({:method => :post, :path => "/v2/jobs", :body => body}) do |params|
metadata CHANGED
@@ -1,70 +1,102 @@
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.7.2
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.7.3
5
+ prerelease:
5
6
  platform: ruby
6
- authors:
7
+ authors:
7
8
  - Mortar Data
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
-
12
- date: 2013-11-08 00:00:00 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
12
+ date: 2013-11-21 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
15
  name: excon
16
- prerelease: false
17
- requirement: &id001 !ruby/object:Gem::Requirement
18
- requirements:
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
19
  - - ~>
20
- - !ruby/object:Gem::Version
21
- version: "0.28"
20
+ - !ruby/object:Gem::Version
21
+ version: '0.28'
22
22
  type: :runtime
23
- version_requirements: *id001
24
- - !ruby/object:Gem::Dependency
25
- name: gem-release
26
23
  prerelease: false
27
- requirement: &id002 !ruby/object:Gem::Requirement
28
- requirements:
29
- - &id003
30
- - ">="
31
- - !ruby/object:Gem::Version
32
- version: "0"
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '0.28'
30
+ - !ruby/object:Gem::Dependency
31
+ name: gem-release
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
33
38
  type: :development
34
- version_requirements: *id002
35
- - !ruby/object:Gem::Dependency
36
- name: rake
37
39
  prerelease: false
38
- requirement: &id004 !ruby/object:Gem::Requirement
39
- requirements:
40
- - *id003
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: rake
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
41
54
  type: :development
42
- version_requirements: *id004
43
- - !ruby/object:Gem::Dependency
44
- name: rr
45
55
  prerelease: false
46
- requirement: &id005 !ruby/object:Gem::Requirement
47
- requirements:
48
- - *id003
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: rr
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
49
70
  type: :development
50
- version_requirements: *id005
51
- - !ruby/object:Gem::Dependency
52
- name: rspec
53
71
  prerelease: false
54
- requirement: &id006 !ruby/object:Gem::Requirement
55
- requirements:
56
- - *id003
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: rspec
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
57
86
  type: :development
58
- version_requirements: *id006
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
59
94
  description: Client for Mortar API.
60
95
  email: support@mortardata.com
61
96
  executables: []
62
-
63
97
  extensions: []
64
-
65
98
  extra_rdoc_files: []
66
-
67
- files:
99
+ files:
68
100
  - .gitignore
69
101
  - .rvmrc
70
102
  - .travis.yml
@@ -109,30 +141,29 @@ files:
109
141
  - spec/spec_helper.rb
110
142
  homepage: http://mortardata.com/
111
143
  licenses: []
112
-
113
- metadata: {}
114
-
115
144
  post_install_message:
116
145
  rdoc_options: []
117
-
118
- require_paths:
146
+ require_paths:
119
147
  - lib
120
- required_ruby_version: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
148
+ required_ruby_version: !ruby/object:Gem::Requirement
149
+ none: false
150
+ requirements:
151
+ - - ! '>='
152
+ - !ruby/object:Gem::Version
124
153
  version: 1.8.7
125
- required_rubygems_version: !ruby/object:Gem::Requirement
126
- requirements:
127
- - *id003
154
+ required_rubygems_version: !ruby/object:Gem::Requirement
155
+ none: false
156
+ requirements:
157
+ - - ! '>='
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
128
160
  requirements: []
129
-
130
161
  rubyforge_project:
131
- rubygems_version: 2.0.9
162
+ rubygems_version: 1.8.23
132
163
  signing_key:
133
- specification_version: 4
164
+ specification_version: 3
134
165
  summary: Client for Mortar API
135
- test_files:
166
+ test_files:
136
167
  - spec/mortar/api/basicauth_spec.rb
137
168
  - spec/mortar/api/clusters_spec.rb
138
169
  - spec/mortar/api/config_spec.rb
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA512:
3
- metadata.gz: 4525ef704b578ddd8edd6de533ef486e0100383248d5b5e6f55ca4854e2a091b57a787dd97953d52730550c17341d030dd539d11c0b34b9db9d981c4db53243b
4
- data.tar.gz: d30f1cfe5a4e200d2861e42090c7a7859f5b1dbe9df17092e87fb2e18dea6cde1612ade120a59a3bad3f903781682b9931ac3d86c299cf0537815247d9b7f393
5
- SHA1:
6
- metadata.gz: f38e4d28d14224f510e03d7f97fbd309c6bace2b
7
- data.tar.gz: 980083455d0b6ab69e8244e9d87e23fea6dd299c