mistral_client 1.3.0 → 2.0.0

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
  SHA256:
3
- metadata.gz: ae1d66612f62ddd3348a8f87e3a54e63751f5a34f7d47482c3df7dff3ce38a9f
4
- data.tar.gz: 784c972293a9fb51b5ba960401260dc0f2e973eb80a0c322fe89218b85b48c0d
3
+ metadata.gz: 34f8fe4927bf0a63c4116a071881feeaa08c2e7aaf395ffa6fda00be01a25a3d
4
+ data.tar.gz: 71c54308a991fd231ab0689577d19a424de75768c149ab3e02e8703e7f55d1c1
5
5
  SHA512:
6
- metadata.gz: 6d909cc3677e550fe94be9a79796ee687697171729d845d7d27020cb69344d0c10a59a71862f401fef7008ada5cb7f8110f0e7428cb74ec34c3194fb54715381
7
- data.tar.gz: 63f228bc0f7e2e469209de5dd94c14d8221e1728f554e30f6674ea053e74267a3b9b6dd4a3a69df8d2c5335ebd252a36c09fcb830d085af4bebb933e005c5b60
6
+ metadata.gz: 551bae7ab6e7a7758882c7af6af1f5c6aa6ce829a6eff64c74e337480f2fdaced3bc0d49f2107aab1f27edcbdd7df3732a874d9a2b0193f0b2b3a753d78ca65b
7
+ data.tar.gz: a83d532bee4796185fffedc1364f7ec123b30594e16742c2a0b9e061b63da026a32d32bf911860424b0f6e3b182d81f984b27cf8ae28fd249c902fdcfddf6c5f
data/.rspec CHANGED
@@ -1 +1,2 @@
1
1
  --color
2
+ --warnings
data/.rubocop.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  AllCops:
2
- TargetRubyVersion: 2.3
2
+ TargetRubyVersion: 2.5
3
+ NewCops: disable
4
+ SuggestExtensions: false
3
5
 
4
6
  Style/Documentation:
5
7
  Enabled: false
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.6.6
1
+ 3.0.0
data/.travis.yml CHANGED
@@ -1,10 +1,10 @@
1
1
  language: ruby
2
2
  cache: bundler
3
3
  rvm:
4
- - 2.3.8
5
- - 2.4.10
6
4
  - 2.5.8
7
5
  - 2.6.6
6
+ - 2.7.2
7
+ - 3.0.0
8
8
  before_install:
9
9
  - gem install bundler
10
10
  branches:
data/CHANGELOG.md CHANGED
@@ -5,6 +5,22 @@ This project adheres to [Semantic Versioning](http://semver.org/).
5
5
 
6
6
  ## [Unreleased]
7
7
 
8
+ ## [2.0.0] - 2021-02-09
9
+
10
+ ### Added
11
+ - Added Ruby 2.7 and 3.0 to the Travis build matrix
12
+
13
+ ### Changed
14
+ - Bumped the Ruby version for development to 3.0.0
15
+ - Fixed deprecation warnings around positional and keyword arguments from ruby 2.7.0
16
+ - Updated rubocop to v1.9.1, and fixed rubocop violations
17
+ - Configured rspec to emit warnings, and fix them
18
+ - Re-recorded the spec cassettes
19
+ - Fixed broken links in the README
20
+
21
+ ### Removed
22
+ - Removed Ruby 2.3 and 2.4 from the Travis build matrix
23
+
8
24
  ## [1.3.0] - 2020-04-20
9
25
 
10
26
  ### Changed
@@ -34,6 +50,9 @@ This project adheres to [Semantic Versioning](http://semver.org/).
34
50
 
35
51
  * Initial Release
36
52
 
37
- [Unreleased]: https://github.com/civisanalytics/mistral_client/compare/v1.2.0...HEAD
53
+ [Unreleased]: https://github.com/civisanalytics/mistral_client/compare/v2.0.0...HEAD
54
+ [2.0.0]: https://github.com/civisanalytics/mistral_client/compare/v1.3.0...v2.0.0
55
+ [1.3.0]: https://github.com/civisanalytics/mistral_client/compare/v1.2.1...v1.3.0
56
+ [1.2.1]: https://github.com/civisanalytics/mistral_client/compare/v1.2.0...v1.2.1
38
57
  [1.2.0]: https://github.com/civisanalytics/mistral_client/compare/v1.1.0...v1.2.0
39
58
  [1.1.0]: https://github.com/civisanalytics/mistral_client/compare/v1.0.0...v1.1.0
data/README.md CHANGED
@@ -1,14 +1,13 @@
1
1
  # MistralClient
2
2
 
3
- [![Build Status](https://travis-ci.org/civisanalytics/mistral_client.svg?branch=master)](https://travis-ci.org/civisanalytics/mistral_client)
3
+ [![Build Status](https://travis-ci.com/civisanalytics/mistral_client.svg?branch=master)](https://travis-ci.com/civisanalytics/mistral_client)
4
4
  [![Gem Version](https://badge.fury.io/rb/mistral_client.svg)](http://badge.fury.io/rb/mistral_client)
5
- [![Dependency Status](https://gemnasium.com/civisanalytics/mistral_client.svg)](https://gemnasium.com/civisanalytics/mistral_client)
6
5
 
7
6
  MistralClient provides a Ruby interface to a limited subset of
8
7
  the [Mistral] [API].
9
8
 
10
- [Mistral]: https://wiki.openstack.org/wiki/Mistral
11
- [API]: https://docs.openstack.org/mistral/latest/api/v2.html
9
+ [Mistral]: https://docs.openstack.org/mistral/latest/
10
+ [API]: https://docs.openstack.org/mistral/latest/user/rest_api_v2.html
12
11
 
13
12
  ## Installation
14
13
 
@@ -18,6 +18,7 @@ module MistralClient
18
18
  include MistralClient::Mixins::MistralObject
19
19
 
20
20
  def initialize(server, id: nil)
21
+ super()
21
22
  @server = server
22
23
  @path = 'action_executions'
23
24
  @id = id
@@ -38,9 +38,13 @@ module MistralClient
38
38
  }
39
39
  end
40
40
 
41
- def method_missing(name, *args, &block)
41
+ def method_missing(name, *args, **kwargs, &block)
42
42
  if self.class.resources.keys.include?(name)
43
- self.class.resources[name].new(self, *args)
43
+ if kwargs.nil? || kwargs.empty?
44
+ self.class.resources[name].new(self, *args)
45
+ else
46
+ self.class.resources[name].new(self, *args, **kwargs)
47
+ end
44
48
  else
45
49
  super
46
50
  end
@@ -68,9 +72,7 @@ module MistralClient
68
72
 
69
73
  def check_for_error(resp)
70
74
  return if resp.code >= 200 && resp.code < 300
71
- if resp.code == 404
72
- raise MissingObjectError, JSON.parse(resp.body)['faultstring']
73
- end
75
+ raise MissingObjectError, JSON.parse(resp.body)['faultstring'] if resp.code == 404
74
76
 
75
77
  raise MistralResponseError.new(resp),
76
78
  "Could not perform the requested operation:\n#{resp.body}"
@@ -8,8 +8,9 @@ module MistralClient
8
8
  include MistralClient::Mixins::Definable
9
9
 
10
10
  def initialize(server, definition = nil, name: nil)
11
+ super()
11
12
  @server = server
12
- @definition = parse_definition(definition) if definition
13
+ @definition = definition ? parse_definition(definition) : nil
13
14
  @name = name
14
15
  if @name
15
16
  reload
@@ -38,9 +39,7 @@ module MistralClient
38
39
  end
39
40
 
40
41
  def massage_definition(definition)
41
- if definition['variables'].is_a? Hash
42
- definition['variables'] = definition['variables'].to_json
43
- end
42
+ definition['variables'] = definition['variables'].to_json if definition['variables'].is_a? Hash
44
43
  definition
45
44
  end
46
45
  end
@@ -2,7 +2,9 @@ module MistralClient
2
2
  class MistralError < StandardError; end
3
3
 
4
4
  class ConfigurationError < MistralError; end
5
+
5
6
  class MissingObjectError < MistralError; end
7
+
6
8
  class MistralResponseError < MistralError
7
9
  attr_reader :response
8
10
 
@@ -21,6 +21,7 @@ module MistralClient
21
21
  # rubocop:disable Metrics/ParameterLists
22
22
  def initialize(server, workflow_id: nil, env: nil, task_name: nil,
23
23
  id: nil, input: nil)
24
+ super()
24
25
  set_attributes(server, workflow_id, env, task_name, id, input)
25
26
  if @id
26
27
  reload
@@ -3,6 +3,7 @@ module MistralClient
3
3
  PATH = ''.freeze
4
4
 
5
5
  def initialize(server)
6
+ super()
6
7
  @server = server
7
8
  end
8
9
 
@@ -3,9 +3,7 @@ module MistralClient
3
3
  module Definable
4
4
  # rubocop:disable Metrics/MethodLength
5
5
  def parse_definition(definition)
6
- if definition.is_a?(Hash) || definition.is_a?(Array)
7
- return YAML.dump(definition)
8
- end
6
+ return YAML.dump(definition) if definition.is_a?(Hash) || definition.is_a?(Array)
9
7
 
10
8
  definition = File.read(definition) if File.exist?(definition)
11
9
  # Called outside the if/else to validate the YAML.
@@ -27,7 +27,9 @@ module MistralClient
27
27
  end
28
28
 
29
29
  # rubocop:disable Metrics/AbcSize
30
+ # rubocop:disable Metrics/CyclomaticComplexity
30
31
  # rubocop:disable Metrics/MethodLength
32
+ # rubocop:disable Metrics/PerceivedComplexity
31
33
  def ivars_from_response(resp)
32
34
  klass = self.class
33
35
  @id = resp['id']
@@ -38,15 +40,15 @@ module MistralClient
38
40
  instance_variable_set("@#{var}", resp[var]) if resp.key? var
39
41
  end
40
42
  klass::DATE_FIELDS.each do |var|
41
- if resp[var]
42
- instance_variable_set("@#{var}", DateTime.parse(resp[var]))
43
- end
43
+ instance_variable_set("@#{var}", DateTime.parse(resp[var])) if resp[var]
44
44
  end
45
45
  klass::JSON_FIELDS.each do |var|
46
46
  instance_variable_set("@#{var}", JSON.parse(resp[var])) if resp[var]
47
47
  end
48
48
  end
49
+ # rubocop:enable Metrics/PerceivedComplexity
49
50
  # rubocop:enable Metrics/MethodLength
51
+ # rubocop:enable Metrics/CyclomaticComplexity
50
52
  # rubocop:enable Metrics/AbcSize
51
53
  end
52
54
  end
@@ -20,6 +20,7 @@ module MistralClient
20
20
  include MistralClient::Mixins::MistralObject
21
21
 
22
22
  def initialize(server, id: nil)
23
+ super()
23
24
  @server = server
24
25
  @path = 'tasks'
25
26
  @id = id
@@ -1,3 +1,3 @@
1
1
  module MistralClient
2
- VERSION = '1.3.0'.freeze
2
+ VERSION = '2.0.0'.freeze
3
3
  end
@@ -11,6 +11,7 @@ module MistralClient
11
11
  include MistralClient::Mixins::Deletable
12
12
 
13
13
  def initialize(server, definition = nil, id: nil, name: nil)
14
+ super()
14
15
  @server = server
15
16
  if definition
16
17
  @definition = parse_definition(definition)
@@ -10,11 +10,11 @@ Gem::Specification.new do |spec|
10
10
 
11
11
  spec.summary = 'Ruby client for Mistral.'
12
12
  spec.description = "A Ruby client for OpenStack's Mistral " \
13
- '<https://wiki.openstack.org/wiki/Mistral>.'
13
+ '<https://docs.openstack.org/mistral/latest/>.'
14
14
  spec.homepage = 'https://github.com/civisanalytics/mistral_client'
15
- spec.license = 'BSD 3-Clause'
15
+ spec.license = 'BSD-3-Clause'
16
16
 
17
- spec.required_ruby_version = '~> 2.3'
17
+ spec.required_ruby_version = ['>= 2.5', '< 3.1']
18
18
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
19
19
  f.match(%r{^(test|spec|features)/})
20
20
  end
@@ -27,7 +27,7 @@ Gem::Specification.new do |spec|
27
27
  spec.add_development_dependency 'pry', '~> 0.13.1'
28
28
  spec.add_development_dependency 'rake', '~> 13.0'
29
29
  spec.add_development_dependency 'rspec', '~> 3.9'
30
- spec.add_development_dependency 'rubocop', '~> 0.81.0'
30
+ spec.add_development_dependency 'rubocop', '~> 1.9.1'
31
31
  spec.add_development_dependency 'vcr', '~> 5.1'
32
32
  spec.add_development_dependency 'webmock', '~> 3.8'
33
33
  end
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mistral_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Brennan
8
8
  - Jeff Cousens
9
9
  - Mike Saelim
10
- autorequire:
10
+ autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2020-04-21 00:00:00.000000000 Z
13
+ date: 2021-02-09 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: httparty
@@ -88,14 +88,14 @@ dependencies:
88
88
  requirements:
89
89
  - - "~>"
90
90
  - !ruby/object:Gem::Version
91
- version: 0.81.0
91
+ version: 1.9.1
92
92
  type: :development
93
93
  prerelease: false
94
94
  version_requirements: !ruby/object:Gem::Requirement
95
95
  requirements:
96
96
  - - "~>"
97
97
  - !ruby/object:Gem::Version
98
- version: 0.81.0
98
+ version: 1.9.1
99
99
  - !ruby/object:Gem::Dependency
100
100
  name: vcr
101
101
  requirement: !ruby/object:Gem::Requirement
@@ -124,7 +124,7 @@ dependencies:
124
124
  - - "~>"
125
125
  - !ruby/object:Gem::Version
126
126
  version: '3.8'
127
- description: A Ruby client for OpenStack's Mistral <https://wiki.openstack.org/wiki/Mistral>.
127
+ description: A Ruby client for OpenStack's Mistral <https://docs.openstack.org/mistral/latest/>.
128
128
  email:
129
129
  - opensource@civisanalytics.com
130
130
  executables: []
@@ -162,25 +162,28 @@ files:
162
162
  - mistral_client.gemspec
163
163
  homepage: https://github.com/civisanalytics/mistral_client
164
164
  licenses:
165
- - BSD 3-Clause
165
+ - BSD-3-Clause
166
166
  metadata: {}
167
- post_install_message:
167
+ post_install_message:
168
168
  rdoc_options: []
169
169
  require_paths:
170
170
  - lib
171
171
  required_ruby_version: !ruby/object:Gem::Requirement
172
172
  requirements:
173
- - - "~>"
173
+ - - ">="
174
+ - !ruby/object:Gem::Version
175
+ version: '2.5'
176
+ - - "<"
174
177
  - !ruby/object:Gem::Version
175
- version: '2.3'
178
+ version: '3.1'
176
179
  required_rubygems_version: !ruby/object:Gem::Requirement
177
180
  requirements:
178
181
  - - ">="
179
182
  - !ruby/object:Gem::Version
180
183
  version: '0'
181
184
  requirements: []
182
- rubygems_version: 3.0.3
183
- signing_key:
185
+ rubygems_version: 3.2.3
186
+ signing_key:
184
187
  specification_version: 4
185
188
  summary: Ruby client for Mistral.
186
189
  test_files: []