dry-behaviour 0.11.1 → 0.11.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 +5 -5
- data/.github/workflows/ci.yml +20 -0
- data/.github/workflows/gempush.yml +44 -0
- data/dry-behaviour.gemspec +1 -1
- data/lib/dry/behaviour/black_tie.rb +4 -4
- data/lib/dry/behaviour/version.rb +1 -1
- metadata +9 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 232921c25386484f9538bbe49039c133c1de8e2d2cd85b9545a4de3736344385
|
4
|
+
data.tar.gz: 38625102473e08efc17d5162db60e1fc9a90633f81695ecb60f26f395237f976
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4c4c5d71d32fcfe4bef6fb13e21ddcd8a32afc63cdbf3bda1dc97428d56332f99e02fd15cb15db9b3ecafb719812e6889587794598dd666335d02e67780b6ae9
|
7
|
+
data.tar.gz: 3d556f70828ded92ad615fd01ab27b1d7b4c70843bf2d16fa10de1a9102da08ea6f3284883aa2c37a2b0c830776c36ea5ed989cb50ef711e29c5dbb2cfa53531
|
@@ -0,0 +1,20 @@
|
|
1
|
+
name: Ruby
|
2
|
+
|
3
|
+
on: [push]
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
build:
|
7
|
+
|
8
|
+
runs-on: ubuntu-latest
|
9
|
+
|
10
|
+
steps:
|
11
|
+
- uses: actions/checkout@v1
|
12
|
+
- name: Set up Ruby 2.6
|
13
|
+
uses: actions/setup-ruby@v1
|
14
|
+
with:
|
15
|
+
ruby-version: 2.6.x
|
16
|
+
- name: Build and test with Rake
|
17
|
+
run: |
|
18
|
+
gem install bundler
|
19
|
+
bundle install --jobs 4 --retry 3
|
20
|
+
bundle exec rake
|
@@ -0,0 +1,44 @@
|
|
1
|
+
name: Dry-Behaviour Gem
|
2
|
+
|
3
|
+
on:
|
4
|
+
pull_request:
|
5
|
+
branches:
|
6
|
+
- master
|
7
|
+
push:
|
8
|
+
branches:
|
9
|
+
- master
|
10
|
+
|
11
|
+
jobs:
|
12
|
+
build:
|
13
|
+
name: Build + Publish
|
14
|
+
runs-on: ubuntu-latest
|
15
|
+
|
16
|
+
steps:
|
17
|
+
- uses: actions/checkout@master
|
18
|
+
- name: Set up Ruby 2.6
|
19
|
+
uses: actions/setup-ruby@v1
|
20
|
+
with:
|
21
|
+
version: 2.6.x
|
22
|
+
|
23
|
+
- name: Publish to GPR
|
24
|
+
run: |
|
25
|
+
mkdir -p $HOME/.gem
|
26
|
+
touch $HOME/.gem/credentials
|
27
|
+
chmod 0600 $HOME/.gem/credentials
|
28
|
+
printf -- "---\n:github: Bearer ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
|
29
|
+
gem build *.gemspec
|
30
|
+
gem push --KEY github --host https://rubygems.pkg.github.com/${OWNER} *.gem
|
31
|
+
env:
|
32
|
+
GEM_HOST_API_KEY: ${{secrets.GPR_AUTH_TOKEN}}
|
33
|
+
OWNER: username
|
34
|
+
|
35
|
+
- name: Publish to RubyGems
|
36
|
+
run: |
|
37
|
+
mkdir -p $HOME/.gem
|
38
|
+
touch $HOME/.gem/credentials
|
39
|
+
chmod 0600 $HOME/.gem/credentials
|
40
|
+
printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
|
41
|
+
gem build *.gemspec
|
42
|
+
gem push *.gem
|
43
|
+
env:
|
44
|
+
GEM_HOST_API_KEY: ${{secrets.RUBYGEMS_AUTH_TOKEN}}
|
data/dry-behaviour.gemspec
CHANGED
@@ -25,7 +25,7 @@ Gem::Specification.new do |spec|
|
|
25
25
|
spec.executables = []
|
26
26
|
spec.require_paths = ['lib']
|
27
27
|
|
28
|
-
spec.add_development_dependency 'bundler', '
|
28
|
+
spec.add_development_dependency 'bundler', '> 1.10'
|
29
29
|
spec.add_development_dependency 'awesome_print', '~> 1.7'
|
30
30
|
spec.add_development_dependency 'rake', '~> 12.0'
|
31
31
|
spec.add_development_dependency 'benchmark-ips', '~> 2.7'
|
@@ -124,12 +124,12 @@ module Dry
|
|
124
124
|
end.each do |m|
|
125
125
|
target = [target] unless target.is_a?(Array)
|
126
126
|
target.each do |tgt|
|
127
|
+
params = mod.method(m).parameters.reject { |_, v| v.to_s[/\A♿_/] }
|
128
|
+
proto = BlackTie.protocols[protocol]
|
127
129
|
ok =
|
128
130
|
mds.map(&:first).include?(m) ||
|
129
|
-
[
|
130
|
-
|
131
|
-
mod.method(m).parameters.reject { |_, v| v.to_s[/\A♿_/] }
|
132
|
-
].map(&:first).reduce(:==)
|
131
|
+
((proto[m] == {} || proto[:__implicit_inheritance__]) && [[:req], [:rest]].include?(params.map(&:first))) ||
|
132
|
+
[proto[m], params].map { |args| args.map(&:first) }.reduce(:==)
|
133
133
|
|
134
134
|
# TODO[1.0] raise NotImplemented(:arity)
|
135
135
|
BlackTie.Logger.warn(
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dry-behaviour
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.11.
|
4
|
+
version: 0.11.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aleksei Matiushkin
|
@@ -10,22 +10,22 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2022-07-08 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: bundler
|
17
17
|
requirement: !ruby/object:Gem::Requirement
|
18
18
|
requirements:
|
19
|
-
- - "
|
19
|
+
- - ">"
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: '1.
|
21
|
+
version: '1.10'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
|
-
- - "
|
26
|
+
- - ">"
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
version: '1.
|
28
|
+
version: '1.10'
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: awesome_print
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
@@ -105,6 +105,8 @@ executables: []
|
|
105
105
|
extensions: []
|
106
106
|
extra_rdoc_files: []
|
107
107
|
files:
|
108
|
+
- ".github/workflows/ci.yml"
|
109
|
+
- ".github/workflows/gempush.yml"
|
108
110
|
- ".gitignore"
|
109
111
|
- ".rspec"
|
110
112
|
- ".rubocop.yml"
|
@@ -147,8 +149,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
147
149
|
- !ruby/object:Gem::Version
|
148
150
|
version: '0'
|
149
151
|
requirements: []
|
150
|
-
|
151
|
-
rubygems_version: 2.4.8
|
152
|
+
rubygems_version: 3.3.3
|
152
153
|
signing_key:
|
153
154
|
specification_version: 4
|
154
155
|
summary: Tiny library inspired by Elixir protocol pattern.
|