verbalize 2.3.0 → 2.3.1
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/dependabot.yml +8 -0
- data/.github/workflows/tests.yml +25 -0
- data/CHANGELOG.md +2 -1
- data/Dockerfile +45 -0
- data/docker-compose.yml +12 -0
- data/lib/verbalize/action.rb +46 -22
- data/lib/verbalize/version.rb +1 -1
- metadata +10 -8
- data/.travis.yml +0 -6
- data/circle.yml +0 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b4ab48694dce4b9810ed7289498ee4ff0533919ed08041d5abfa4dda1a3800a7
|
4
|
+
data.tar.gz: e2a160824182fef4e702a65b27116505f492cf5f02022bfe928198bb822b2aae
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a533db1a4cc25d45a4c5474a96671d3f172f1e84e7c6bf574f2d281caebbce7967d61f96106a9582cdb3915d4d24c6d4ae33b39577734723b65e0ea4ffcab8d0
|
7
|
+
data.tar.gz: 9068fc27d208da171b89f173eec3af2d78b3a3d90bdc589ec737cf97a978c9044b22a7cc4a8b57237149562169859f819bfce672a65a94978ecaa227a216d907
|
@@ -0,0 +1,25 @@
|
|
1
|
+
name: Tests
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches: [ master ]
|
6
|
+
pull_request:
|
7
|
+
branches: [ master ]
|
8
|
+
|
9
|
+
jobs:
|
10
|
+
test:
|
11
|
+
|
12
|
+
runs-on: ubuntu-latest
|
13
|
+
strategy:
|
14
|
+
matrix:
|
15
|
+
ruby-version: ['2.6', '2.7', '3.0']
|
16
|
+
|
17
|
+
steps:
|
18
|
+
- uses: actions/checkout@v2
|
19
|
+
- name: Set up Ruby
|
20
|
+
uses: ruby/setup-ruby@v1
|
21
|
+
with:
|
22
|
+
ruby-version: ${{ matrix.ruby-version }}
|
23
|
+
bundler-cache: true
|
24
|
+
- name: Run tests
|
25
|
+
run: bundle exec rspec
|
data/CHANGELOG.md
CHANGED
@@ -4,9 +4,10 @@ All notable changes to this project will be documented in this file.
|
|
4
4
|
The format is based on [Keep a Changelog](http://keepachangelog.com/)
|
5
5
|
and this project adheres to [Semantic Versioning](http://semver.org/).
|
6
6
|
|
7
|
-
##
|
7
|
+
## 2.3.1 - 2021-06-02
|
8
8
|
### Added
|
9
9
|
- release documentation
|
10
|
+
- ruby 2.7 compatibility to remove deprecation warnings
|
10
11
|
|
11
12
|
## 2.3.0 - 2019-09-23
|
12
13
|
### Added
|
data/Dockerfile
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
ARG BUNDLER_VERSION=2.0.2
|
2
|
+
ARG RUBY_VERSION=2.7.1
|
3
|
+
ARG APP_ROOT=/gem
|
4
|
+
|
5
|
+
#######################################
|
6
|
+
### Builder
|
7
|
+
FROM ruby:${RUBY_VERSION}-alpine AS build-env
|
8
|
+
|
9
|
+
ARG APP_ROOT
|
10
|
+
|
11
|
+
ENV BUNDLE_APP_CONFIG="$APP_ROOT/.bundle"
|
12
|
+
ARG PACKAGES="curl tzdata less git"
|
13
|
+
RUN mkdir $APP_ROOT
|
14
|
+
WORKDIR $APP_ROOT
|
15
|
+
|
16
|
+
RUN apk update \
|
17
|
+
&& apk upgrade \
|
18
|
+
&& apk add --update --no-cache $PACKAGES
|
19
|
+
|
20
|
+
#######################################
|
21
|
+
### Development
|
22
|
+
FROM build-env AS development
|
23
|
+
|
24
|
+
ARG BUNDLER_VERSION
|
25
|
+
ARG APP_ROOT
|
26
|
+
ENV BUNDLE_APP_CONFIG="$APP_ROOT/.bundle"
|
27
|
+
|
28
|
+
WORKDIR $APP_ROOT
|
29
|
+
|
30
|
+
RUN apk add --update --no-cache \
|
31
|
+
build-base \
|
32
|
+
git \
|
33
|
+
tzdata \
|
34
|
+
less
|
35
|
+
|
36
|
+
RUN gem install bundler:$BUNDLER_VERSION
|
37
|
+
|
38
|
+
COPY . $APP_ROOT
|
39
|
+
|
40
|
+
RUN bundle install -j4 --retry 3 \
|
41
|
+
&& rm -rf /usr/local/bundle/cache/*.gem \
|
42
|
+
&& find /usr/local/bundle/gems/ -name "*.c" -delete \
|
43
|
+
&& find /usr/local/bundle/gems/ -name "*.o" -delete
|
44
|
+
|
45
|
+
|
data/docker-compose.yml
ADDED
data/lib/verbalize/action.rb
CHANGED
@@ -106,32 +106,56 @@ module Verbalize
|
|
106
106
|
.to_h
|
107
107
|
end
|
108
108
|
|
109
|
-
|
110
|
-
|
111
|
-
|
109
|
+
if RUBY_VERSION < "2.7"
|
110
|
+
def perform(*args)
|
111
|
+
new(*args).send(:call)
|
112
|
+
end
|
113
|
+
|
114
|
+
def __proxied_call(*args)
|
115
|
+
error = catch(:verbalize_error) do
|
116
|
+
value = perform(*args)
|
117
|
+
return Success.new(value)
|
118
|
+
end
|
112
119
|
|
113
|
-
|
114
|
-
# 1. The declaration of call/call! needs to be explicit so that tools
|
115
|
-
# like rspec-mocks can verify the actions keywords actually
|
116
|
-
# exist when stubbing
|
117
|
-
# 2. Because #1, meta-programming a simple interface to these proxied
|
118
|
-
# methods is much simpler than meta-programming the full methods
|
119
|
-
def __proxied_call(*args)
|
120
|
-
error = catch(:verbalize_error) do
|
121
|
-
value = perform(*args)
|
122
|
-
return Success.new(value)
|
120
|
+
Failure.new(error)
|
123
121
|
end
|
124
122
|
|
125
|
-
|
126
|
-
|
123
|
+
def __proxied_call!(*args)
|
124
|
+
perform(*args)
|
125
|
+
rescue UncaughtThrowError => uncaught_throw_error
|
126
|
+
fail_value = uncaught_throw_error.value
|
127
|
+
error = Verbalize::Error.new("Unhandled fail! called with: #{fail_value.inspect}.")
|
128
|
+
error.set_backtrace(uncaught_throw_error.backtrace[2..-1])
|
129
|
+
raise error
|
130
|
+
end
|
131
|
+
else
|
132
|
+
def perform(**args)
|
133
|
+
new(**args).send(:call)
|
134
|
+
end
|
135
|
+
|
136
|
+
# We used __proxied_call/__proxied_call! for 2 reasons:
|
137
|
+
# 1. The declaration of call/call! needs to be explicit so that tools
|
138
|
+
# like rspec-mocks can verify the actions keywords actually
|
139
|
+
# exist when stubbing
|
140
|
+
# 2. Because #1, meta-programming a simple interface to these proxied
|
141
|
+
# methods is much simpler than meta-programming the full methods
|
142
|
+
def __proxied_call(**args)
|
143
|
+
error = catch(:verbalize_error) do
|
144
|
+
value = perform(**args)
|
145
|
+
return Success.new(value)
|
146
|
+
end
|
147
|
+
|
148
|
+
Failure.new(error)
|
149
|
+
end
|
127
150
|
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
151
|
+
def __proxied_call!(**args)
|
152
|
+
perform(**args)
|
153
|
+
rescue UncaughtThrowError => uncaught_throw_error
|
154
|
+
fail_value = uncaught_throw_error.value
|
155
|
+
error = Verbalize::Error.new("Unhandled fail! called with: #{fail_value.inspect}.")
|
156
|
+
error.set_backtrace(uncaught_throw_error.backtrace[2..-1])
|
157
|
+
raise error
|
158
|
+
end
|
135
159
|
end
|
136
160
|
end
|
137
161
|
end
|
data/lib/verbalize/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: verbalize
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.3.
|
4
|
+
version: 2.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Zach Taylor
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-06-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -94,7 +94,7 @@ dependencies:
|
|
94
94
|
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
|
-
description:
|
97
|
+
description:
|
98
98
|
email:
|
99
99
|
- taylorzr@gmail.com
|
100
100
|
executables: []
|
@@ -102,18 +102,20 @@ extensions: []
|
|
102
102
|
extra_rdoc_files: []
|
103
103
|
files:
|
104
104
|
- ".codeclimate.yml"
|
105
|
+
- ".github/dependabot.yml"
|
106
|
+
- ".github/workflows/tests.yml"
|
105
107
|
- ".gitignore"
|
106
108
|
- ".rspec"
|
107
109
|
- ".rubocop.yml"
|
108
|
-
- ".travis.yml"
|
109
110
|
- CHANGELOG.md
|
111
|
+
- Dockerfile
|
110
112
|
- Gemfile
|
111
113
|
- LICENSE.txt
|
112
114
|
- README.md
|
113
115
|
- Rakefile
|
114
116
|
- bin/console
|
115
117
|
- bin/setup
|
116
|
-
-
|
118
|
+
- docker-compose.yml
|
117
119
|
- lib/verbalize.rb
|
118
120
|
- lib/verbalize/action.rb
|
119
121
|
- lib/verbalize/build.rb
|
@@ -127,7 +129,7 @@ homepage: https://github.com/taylorzr/verbalize
|
|
127
129
|
licenses:
|
128
130
|
- MIT
|
129
131
|
metadata: {}
|
130
|
-
post_install_message:
|
132
|
+
post_install_message:
|
131
133
|
rdoc_options: []
|
132
134
|
require_paths:
|
133
135
|
- lib
|
@@ -143,7 +145,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
143
145
|
version: '0'
|
144
146
|
requirements: []
|
145
147
|
rubygems_version: 3.0.3
|
146
|
-
signing_key:
|
148
|
+
signing_key:
|
147
149
|
specification_version: 4
|
148
150
|
summary: Verb based class pattern
|
149
151
|
test_files: []
|
data/.travis.yml
DELETED
data/circle.yml
DELETED