opera 0.1.0 → 0.2.2
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 +4 -4
- data/.github/workflows/release.yml +66 -0
- data/.github/workflows/specs.yml +34 -0
- data/CHANGELOG.md +7 -0
- data/Dockerfile +20 -0
- data/Gemfile +1 -0
- data/Gemfile.lock +30 -11
- data/README.md +5 -1
- data/docker-compose.yml +7 -0
- data/lib/opera/operation/config.rb +3 -2
- data/lib/opera/operation/instructions/executors/operation.rb +9 -0
- data/lib/opera/operation/instructions/executors/transaction.rb +6 -1
- data/lib/opera/operation/instructions/executors/validate.rb +2 -1
- data/lib/opera/operation/result.rb +3 -1
- data/lib/opera/version.rb +1 -1
- data/opera.gemspec +7 -5
- metadata +40 -8
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9a43643bc863d6fd8535fa08b7e55d1d0d3141dd35f24894a8ebbeca55989b25
|
|
4
|
+
data.tar.gz: 7fb3c80f08215391d687cde118d5cac0e88db838c771ea34c01a2a3c5ba004c5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7470108eef670d9038412c4f6e86e4bc88f7b71189d299ebae99f71e61b7c1e09e530ed28ac9a8e55ee3cc2165d0354d25eea5d0bd95d804d994f239021019b1
|
|
7
|
+
data.tar.gz: d49010222f63b3e669e1d7070863cdcc216e5c19e63471fc672a650ab50e0c9df7e2550613d851363966854024b1c4902b1e8b0faf57cae8038e39028684e50b
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ master ]
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
test:
|
|
9
|
+
runs-on: ubuntu-latest
|
|
10
|
+
strategy:
|
|
11
|
+
matrix:
|
|
12
|
+
ruby-version: [ '2.6', '2.7', '3.0' ]
|
|
13
|
+
|
|
14
|
+
steps:
|
|
15
|
+
- uses: actions/checkout@v2
|
|
16
|
+
- name: Set up Ruby
|
|
17
|
+
# To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
|
|
18
|
+
# change this to (see https://github.com/ruby/setup-ruby#versioning):
|
|
19
|
+
# uses: ruby/setup-ruby@v1
|
|
20
|
+
uses: ruby/setup-ruby@473e4d8fe5dd94ee328fdfca9f8c9c7afc9dae5e
|
|
21
|
+
with:
|
|
22
|
+
ruby-version: ${{ matrix.ruby-version }}
|
|
23
|
+
bundler-cache: false # runs 'bundle install' and caches installed gems automatically
|
|
24
|
+
- name: Install gems
|
|
25
|
+
run: bundle install
|
|
26
|
+
- name: Run tests
|
|
27
|
+
run: bundle exec rspec
|
|
28
|
+
|
|
29
|
+
tag:
|
|
30
|
+
needs: test
|
|
31
|
+
runs-on: ubuntu-latest
|
|
32
|
+
|
|
33
|
+
steps:
|
|
34
|
+
- uses: actions/checkout@v2
|
|
35
|
+
|
|
36
|
+
- name: Tag automatically
|
|
37
|
+
run: git tag v`cat lib/opera/version.rb | grep 'VERSION' | awk '{ print $3 $4 }' | sed "s/'//g"`
|
|
38
|
+
|
|
39
|
+
- name: Push tags
|
|
40
|
+
run: git push origin --tags
|
|
41
|
+
|
|
42
|
+
publish:
|
|
43
|
+
needs: tag
|
|
44
|
+
name: Build + Publish
|
|
45
|
+
runs-on: ubuntu-latest
|
|
46
|
+
permissions:
|
|
47
|
+
contents: read
|
|
48
|
+
packages: write
|
|
49
|
+
|
|
50
|
+
steps:
|
|
51
|
+
- uses: actions/checkout@v2
|
|
52
|
+
- name: Set up Ruby 2.6
|
|
53
|
+
uses: actions/setup-ruby@v1
|
|
54
|
+
with:
|
|
55
|
+
ruby-version: 2.6.x
|
|
56
|
+
|
|
57
|
+
- name: Publish to RubyGems
|
|
58
|
+
run: |
|
|
59
|
+
mkdir -p $HOME/.gem
|
|
60
|
+
touch $HOME/.gem/credentials
|
|
61
|
+
chmod 0600 $HOME/.gem/credentials
|
|
62
|
+
printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
|
|
63
|
+
gem build *.gemspec
|
|
64
|
+
gem push *.gem
|
|
65
|
+
env:
|
|
66
|
+
GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}"
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# This workflow uses actions that are not certified by GitHub.
|
|
2
|
+
# They are provided by a third-party and are governed by
|
|
3
|
+
# separate terms of service, privacy policy, and support
|
|
4
|
+
# documentation.
|
|
5
|
+
# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
|
|
6
|
+
# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
|
|
7
|
+
|
|
8
|
+
name: Specs
|
|
9
|
+
|
|
10
|
+
on:
|
|
11
|
+
pull_request:
|
|
12
|
+
branches: []
|
|
13
|
+
|
|
14
|
+
jobs:
|
|
15
|
+
test:
|
|
16
|
+
runs-on: ubuntu-latest
|
|
17
|
+
strategy:
|
|
18
|
+
matrix:
|
|
19
|
+
ruby-version: ['2.6', '2.7', '3.0']
|
|
20
|
+
|
|
21
|
+
steps:
|
|
22
|
+
- uses: actions/checkout@v2
|
|
23
|
+
- name: Set up Ruby
|
|
24
|
+
# To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
|
|
25
|
+
# change this to (see https://github.com/ruby/setup-ruby#versioning):
|
|
26
|
+
# uses: ruby/setup-ruby@v1
|
|
27
|
+
uses: ruby/setup-ruby@473e4d8fe5dd94ee328fdfca9f8c9c7afc9dae5e
|
|
28
|
+
with:
|
|
29
|
+
ruby-version: ${{ matrix.ruby-version }}
|
|
30
|
+
bundler-cache: false # runs 'bundle install' and caches installed gems automatically
|
|
31
|
+
- name: Install gems
|
|
32
|
+
run: bundle install
|
|
33
|
+
- name: Run tests
|
|
34
|
+
run: bundle exec rspec
|
data/CHANGELOG.md
CHANGED
data/Dockerfile
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
FROM ruby:3
|
|
2
|
+
|
|
3
|
+
MAINTAINER ProFinda Developers <dev@profinda.com>
|
|
4
|
+
|
|
5
|
+
ENV LANG C.UTF-8
|
|
6
|
+
ENV LC_ALL C.UTF-8
|
|
7
|
+
|
|
8
|
+
RUN apt-get update -y && \
|
|
9
|
+
apt-get install -y cmake \
|
|
10
|
+
build-essential
|
|
11
|
+
|
|
12
|
+
ENV APP_HOME /usr/src/app
|
|
13
|
+
RUN mkdir -p $APP_HOME
|
|
14
|
+
WORKDIR $APP_HOME
|
|
15
|
+
|
|
16
|
+
COPY . $APP_HOME
|
|
17
|
+
|
|
18
|
+
RUN bundle install -j 8
|
|
19
|
+
|
|
20
|
+
COPY . $APP_HOME
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
opera (0.1.
|
|
4
|
+
opera (0.1.2)
|
|
5
5
|
|
|
6
6
|
GEM
|
|
7
7
|
remote: https://rubygems.org/
|
|
8
8
|
specs:
|
|
9
|
+
byebug (11.1.3)
|
|
10
|
+
coderay (1.1.3)
|
|
9
11
|
concurrent-ruby (1.1.7)
|
|
10
12
|
diff-lcs (1.4.4)
|
|
11
13
|
dry-configurable (0.11.6)
|
|
@@ -15,28 +17,44 @@ GEM
|
|
|
15
17
|
dry-container (0.7.2)
|
|
16
18
|
concurrent-ruby (~> 1.0)
|
|
17
19
|
dry-configurable (~> 0.1, >= 0.1.3)
|
|
18
|
-
dry-core (0.
|
|
20
|
+
dry-core (0.5.0)
|
|
19
21
|
concurrent-ruby (~> 1.0)
|
|
20
22
|
dry-equalizer (0.3.0)
|
|
21
23
|
dry-inflector (0.2.0)
|
|
22
|
-
dry-
|
|
24
|
+
dry-initializer (3.0.4)
|
|
25
|
+
dry-logic (1.0.8)
|
|
23
26
|
concurrent-ruby (~> 1.0)
|
|
24
27
|
dry-core (~> 0.2)
|
|
25
28
|
dry-equalizer (~> 0.2)
|
|
26
|
-
dry-
|
|
29
|
+
dry-schema (1.5.6)
|
|
30
|
+
concurrent-ruby (~> 1.0)
|
|
31
|
+
dry-configurable (~> 0.8, >= 0.8.3)
|
|
32
|
+
dry-core (~> 0.4)
|
|
33
|
+
dry-equalizer (~> 0.2)
|
|
34
|
+
dry-initializer (~> 3.0)
|
|
35
|
+
dry-logic (~> 1.0)
|
|
36
|
+
dry-types (~> 1.4)
|
|
37
|
+
dry-types (1.4.0)
|
|
27
38
|
concurrent-ruby (~> 1.0)
|
|
28
39
|
dry-container (~> 0.3)
|
|
29
40
|
dry-core (~> 0.4, >= 0.4.4)
|
|
30
|
-
dry-equalizer (~> 0.
|
|
41
|
+
dry-equalizer (~> 0.3)
|
|
31
42
|
dry-inflector (~> 0.1, >= 0.1.2)
|
|
32
|
-
dry-logic (~> 0
|
|
33
|
-
dry-validation (
|
|
43
|
+
dry-logic (~> 1.0, >= 1.0.2)
|
|
44
|
+
dry-validation (1.6.0)
|
|
34
45
|
concurrent-ruby (~> 1.0)
|
|
35
|
-
dry-
|
|
36
|
-
dry-core (~> 0.
|
|
46
|
+
dry-container (~> 0.7, >= 0.7.1)
|
|
47
|
+
dry-core (~> 0.4)
|
|
37
48
|
dry-equalizer (~> 0.2)
|
|
38
|
-
dry-
|
|
39
|
-
dry-
|
|
49
|
+
dry-initializer (~> 3.0)
|
|
50
|
+
dry-schema (~> 1.5, >= 1.5.2)
|
|
51
|
+
method_source (1.0.0)
|
|
52
|
+
pry (0.13.1)
|
|
53
|
+
coderay (~> 1.1)
|
|
54
|
+
method_source (~> 1.0)
|
|
55
|
+
pry-byebug (3.9.0)
|
|
56
|
+
byebug (~> 11.0)
|
|
57
|
+
pry (~> 0.13.0)
|
|
40
58
|
rake (12.3.3)
|
|
41
59
|
rspec (3.9.0)
|
|
42
60
|
rspec-core (~> 3.9.0)
|
|
@@ -58,6 +76,7 @@ PLATFORMS
|
|
|
58
76
|
DEPENDENCIES
|
|
59
77
|
dry-validation
|
|
60
78
|
opera!
|
|
79
|
+
pry-byebug
|
|
61
80
|
rake (~> 12.0)
|
|
62
81
|
rspec (~> 3.0)
|
|
63
82
|
|
data/README.md
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
# Opera
|
|
2
2
|
|
|
3
|
+

|
|
4
|
+
|
|
5
|
+
|
|
3
6
|
Simple DSL for services/interactions classes.
|
|
4
7
|
|
|
5
8
|
Opera was born to mimic some of the philosophy of the dry gems but keeping the DSL simple.
|
|
@@ -31,7 +34,8 @@ Simply initialise the configuration and chose what method you want to use to rep
|
|
|
31
34
|
Opera::Operation::Config.configure do |config|
|
|
32
35
|
config.transaction_class = ActiveRecord::Base
|
|
33
36
|
config.transaction_method = :transaction
|
|
34
|
-
config.
|
|
37
|
+
config.transaction_options = { requires_new: true }
|
|
38
|
+
config.reporter = defined?(Rollbar) ? Rollbar : Rails.logger
|
|
35
39
|
end
|
|
36
40
|
```
|
|
37
41
|
|
data/docker-compose.yml
ADDED
|
@@ -3,11 +3,12 @@
|
|
|
3
3
|
module Opera
|
|
4
4
|
module Operation
|
|
5
5
|
class Config
|
|
6
|
-
attr_accessor :transaction_class, :transaction_method, :reporter
|
|
6
|
+
attr_accessor :transaction_class, :transaction_method, :transaction_options, :reporter
|
|
7
7
|
|
|
8
8
|
def initialize
|
|
9
9
|
@transaction_class = self.class.transaction_class
|
|
10
10
|
@transaction_method = self.class.transaction_method || :transaction
|
|
11
|
+
@transaction_options = self.class.transaction_options
|
|
11
12
|
@reporter = custom_reporter || self.class.reporter
|
|
12
13
|
end
|
|
13
14
|
|
|
@@ -20,7 +21,7 @@ module Opera
|
|
|
20
21
|
end
|
|
21
22
|
|
|
22
23
|
class << self
|
|
23
|
-
attr_accessor :transaction_class, :transaction_method, :reporter
|
|
24
|
+
attr_accessor :transaction_class, :transaction_method, :transaction_options, :reporter
|
|
24
25
|
|
|
25
26
|
def configure
|
|
26
27
|
yield self
|
|
@@ -8,6 +8,7 @@ module Opera
|
|
|
8
8
|
def call(instruction)
|
|
9
9
|
instruction[:kind] = :step
|
|
10
10
|
operation_result = super
|
|
11
|
+
save_information(operation_result)
|
|
11
12
|
|
|
12
13
|
if operation_result.success?
|
|
13
14
|
add_instruction_output(instruction, operation_result.output)
|
|
@@ -18,6 +19,14 @@ module Opera
|
|
|
18
19
|
result.add_exceptions(operation_result.exceptions)
|
|
19
20
|
end
|
|
20
21
|
end
|
|
22
|
+
|
|
23
|
+
private
|
|
24
|
+
|
|
25
|
+
def save_information(operation_result)
|
|
26
|
+
return unless operation_result.respond_to?(:information)
|
|
27
|
+
|
|
28
|
+
result.add_information(operation_result.information)
|
|
29
|
+
end
|
|
21
30
|
end
|
|
22
31
|
end
|
|
23
32
|
end
|
|
@@ -8,7 +8,8 @@ module Opera
|
|
|
8
8
|
class RollbackTransactionError < Opera::Error; end
|
|
9
9
|
|
|
10
10
|
def call(instruction)
|
|
11
|
-
|
|
11
|
+
arguments = transaction_options ? [transaction_method, transaction_options] : [transaction_method]
|
|
12
|
+
transaction_class.send(*arguments) do
|
|
12
13
|
super
|
|
13
14
|
|
|
14
15
|
return if !operation.finished? && result.success?
|
|
@@ -26,6 +27,10 @@ module Opera
|
|
|
26
27
|
def transaction_method
|
|
27
28
|
config.transaction_method
|
|
28
29
|
end
|
|
30
|
+
|
|
31
|
+
def transaction_options
|
|
32
|
+
config.transaction_options
|
|
33
|
+
end
|
|
29
34
|
end
|
|
30
35
|
end
|
|
31
36
|
end
|
|
@@ -14,7 +14,8 @@ module Opera
|
|
|
14
14
|
def evaluate_instruction(instruction)
|
|
15
15
|
instruction[:kind] = :step
|
|
16
16
|
dry_result = super
|
|
17
|
-
|
|
17
|
+
|
|
18
|
+
add_instruction_output(instruction, dry_result.to_h)
|
|
18
19
|
result.add_errors(dry_result.errors) unless dry_result.success?
|
|
19
20
|
end
|
|
20
21
|
end
|
|
@@ -10,6 +10,8 @@ module Opera
|
|
|
10
10
|
|
|
11
11
|
attr_accessor :output # Final object returned if success?
|
|
12
12
|
|
|
13
|
+
alias to_h output
|
|
14
|
+
|
|
13
15
|
def initialize(output: nil, errors: {})
|
|
14
16
|
@errors = errors
|
|
15
17
|
@exceptions = {}
|
|
@@ -43,7 +45,7 @@ module Opera
|
|
|
43
45
|
# rubocop:enable Metrics/MethodLength
|
|
44
46
|
|
|
45
47
|
def add_errors(errors)
|
|
46
|
-
errors.each_pair do |key, value|
|
|
48
|
+
errors.to_h.each_pair do |key, value|
|
|
47
49
|
add_error(key, value)
|
|
48
50
|
end
|
|
49
51
|
end
|
data/lib/opera/version.rb
CHANGED
data/opera.gemspec
CHANGED
|
@@ -4,16 +4,16 @@ Gem::Specification.new do |spec|
|
|
|
4
4
|
spec.name = 'opera'
|
|
5
5
|
spec.version = Opera::VERSION
|
|
6
6
|
spec.authors = ['ProFinda Development Team']
|
|
7
|
-
spec.email = ['
|
|
7
|
+
spec.email = ['dev@profinda.com']
|
|
8
8
|
|
|
9
9
|
spec.summary = 'Use simple DSL language to keep your Operations clean and maintainable'
|
|
10
10
|
spec.homepage = 'https://github.com/Profinda/opera'
|
|
11
11
|
spec.license = 'MIT'
|
|
12
12
|
spec.required_ruby_version = Gem::Requirement.new('>= 2.3.0')
|
|
13
13
|
|
|
14
|
-
spec.metadata[
|
|
15
|
-
spec.metadata[
|
|
16
|
-
spec.metadata[
|
|
14
|
+
spec.metadata['homepage_uri'] = spec.homepage
|
|
15
|
+
spec.metadata['source_code_uri'] = spec.homepage
|
|
16
|
+
spec.metadata['changelog_uri'] = 'https://github.com/Profinda/opera/blob/master/CHANGELOG.md'
|
|
17
17
|
|
|
18
18
|
# Specify which files should be added to the gem when it is released.
|
|
19
19
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
|
@@ -24,5 +24,7 @@ Gem::Specification.new do |spec|
|
|
|
24
24
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
25
25
|
spec.require_paths = ['lib']
|
|
26
26
|
|
|
27
|
-
spec.add_development_dependency 'dry-validation'
|
|
27
|
+
spec.add_development_dependency 'dry-validation', '>= 1.0'
|
|
28
|
+
spec.add_development_dependency 'rake'
|
|
29
|
+
spec.add_development_dependency 'rspec'
|
|
28
30
|
end
|
metadata
CHANGED
|
@@ -1,17 +1,45 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: opera
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.2.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- ProFinda Development Team
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-07-07 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: dry-validation
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - ">="
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '1.0'
|
|
20
|
+
type: :development
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - ">="
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '1.0'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: rake
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - ">="
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '0'
|
|
34
|
+
type: :development
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - ">="
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '0'
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: rspec
|
|
15
43
|
requirement: !ruby/object:Gem::Requirement
|
|
16
44
|
requirements:
|
|
17
45
|
- - ">="
|
|
@@ -24,18 +52,21 @@ dependencies:
|
|
|
24
52
|
- - ">="
|
|
25
53
|
- !ruby/object:Gem::Version
|
|
26
54
|
version: '0'
|
|
27
|
-
description:
|
|
55
|
+
description:
|
|
28
56
|
email:
|
|
29
|
-
-
|
|
57
|
+
- dev@profinda.com
|
|
30
58
|
executables: []
|
|
31
59
|
extensions: []
|
|
32
60
|
extra_rdoc_files: []
|
|
33
61
|
files:
|
|
62
|
+
- ".github/workflows/release.yml"
|
|
63
|
+
- ".github/workflows/specs.yml"
|
|
34
64
|
- ".gitignore"
|
|
35
65
|
- ".rspec"
|
|
36
66
|
- ".travis.yml"
|
|
37
67
|
- CHANGELOG.md
|
|
38
68
|
- CODE_OF_CONDUCT.md
|
|
69
|
+
- Dockerfile
|
|
39
70
|
- Gemfile
|
|
40
71
|
- Gemfile.lock
|
|
41
72
|
- LICENSE.txt
|
|
@@ -43,6 +74,7 @@ files:
|
|
|
43
74
|
- Rakefile
|
|
44
75
|
- bin/console
|
|
45
76
|
- bin/setup
|
|
77
|
+
- docker-compose.yml
|
|
46
78
|
- lib/opera.rb
|
|
47
79
|
- lib/opera/errors.rb
|
|
48
80
|
- lib/opera/operation.rb
|
|
@@ -68,7 +100,7 @@ metadata:
|
|
|
68
100
|
homepage_uri: https://github.com/Profinda/opera
|
|
69
101
|
source_code_uri: https://github.com/Profinda/opera
|
|
70
102
|
changelog_uri: https://github.com/Profinda/opera/blob/master/CHANGELOG.md
|
|
71
|
-
post_install_message:
|
|
103
|
+
post_install_message:
|
|
72
104
|
rdoc_options: []
|
|
73
105
|
require_paths:
|
|
74
106
|
- lib
|
|
@@ -83,8 +115,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
83
115
|
- !ruby/object:Gem::Version
|
|
84
116
|
version: '0'
|
|
85
117
|
requirements: []
|
|
86
|
-
rubygems_version: 3.1
|
|
87
|
-
signing_key:
|
|
118
|
+
rubygems_version: 3.0.3.1
|
|
119
|
+
signing_key:
|
|
88
120
|
specification_version: 4
|
|
89
121
|
summary: Use simple DSL language to keep your Operations clean and maintainable
|
|
90
122
|
test_files: []
|