docile 1.3.2 → 1.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +18 -14
- data/Gemfile +1 -1
- data/HISTORY.md +7 -1
- data/LICENSE +1 -1
- data/README.md +1 -1
- data/lib/docile.rb +1 -0
- data/lib/docile/backtrace_filter.rb +22 -0
- data/lib/docile/fallback_context_proxy.rb +18 -5
- data/lib/docile/version.rb +1 -1
- data/on_what.rb +4 -0
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2ec44492080efa6904814a34b09c7a93752906ba4070beea5d45c3d76ac18389
|
4
|
+
data.tar.gz: 9808b41d9302b87b12a1e12c4d54f7868bf36729d4926060428f150bf21c40e3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1e7b588573947c3589f24d4f14d6506a44bc96f5000c94d9d1746f59c5d79259fafa4b7bc706a5718fe7bf27fa7233b2568bae51a0721954b1592739d178bc85
|
7
|
+
data.tar.gz: 84b7e888d30614ef00e123615fbcb4edd2147147eb1e1a0222cf333cb85c74a7ce38e7a1076bd2f33c81f94a0d6f4b9c4342e62f2682cd2a20be016a033274ef
|
data/.travis.yml
CHANGED
@@ -1,14 +1,9 @@
|
|
1
1
|
language: ruby
|
2
2
|
|
3
|
-
# Apparently sudo is required to test on Rubinius and JRuby-head
|
4
|
-
sudo: required
|
5
|
-
|
6
|
-
# See https://docs.travis-ci.com/user/languages/ruby/#Rubinius
|
7
|
-
dist: trusty
|
8
|
-
|
9
3
|
rvm:
|
10
4
|
# MRI
|
11
5
|
- ruby-head
|
6
|
+
- 2.7
|
12
7
|
- 2.6
|
13
8
|
- 2.5
|
14
9
|
- 2.4
|
@@ -16,18 +11,27 @@ rvm:
|
|
16
11
|
- 2.2
|
17
12
|
- 2.1
|
18
13
|
- 1.9.3
|
19
|
-
- 1.8.7
|
20
|
-
- ree
|
21
14
|
# JRuby
|
22
15
|
- jruby-head
|
23
|
-
- jruby-9.
|
24
|
-
|
25
|
-
|
26
|
-
-
|
16
|
+
- jruby-9.2
|
17
|
+
# Truffleruby
|
18
|
+
- truffleruby-head
|
19
|
+
- truffleruby-20.3.0
|
27
20
|
|
28
|
-
|
21
|
+
jobs:
|
29
22
|
allow_failures:
|
30
23
|
- rvm: ruby-head
|
31
24
|
- rvm: jruby-head
|
32
|
-
- rvm:
|
25
|
+
- rvm: truffleruby-head
|
26
|
+
# NOTE (2020-12-18): Failing access to Rubygems with following error:
|
27
|
+
# Unable to download data from https://rubygems.org/ - hostname was not
|
28
|
+
# match with the server certificate (https://rubygems.org/specs.4.8.gz)
|
29
|
+
#
|
30
|
+
# See Travis CI topic here:
|
31
|
+
# https://travis-ci.community/t/ruby-1-8-7-and-ree-builds-broken-by-ssl-certificate-failure/10866
|
32
|
+
#
|
33
|
+
# TODO (2020-12-18): Either find a fix or remove testing of 1.8 versions
|
34
|
+
- rvm: 1.8.7
|
35
|
+
- rvm: ree
|
36
|
+
|
33
37
|
fast_finish: true
|
data/Gemfile
CHANGED
@@ -2,7 +2,7 @@ require File.expand_path("on_what", File.dirname(__FILE__))
|
|
2
2
|
source "https://rubygems.org"
|
3
3
|
|
4
4
|
# Travis-only dependencies go here
|
5
|
-
if on_travis? && !
|
5
|
+
if on_travis? && !on_less_than_2_3? && !on_rubinius?
|
6
6
|
group :test do
|
7
7
|
gem "codecov", ">= 0.0.9", :require => false
|
8
8
|
end
|
data/HISTORY.md
CHANGED
@@ -1,9 +1,15 @@
|
|
1
1
|
# HISTORY
|
2
2
|
|
3
|
-
## [Unreleased changes](http://github.com/ms-ati/docile/compare/v1.3.
|
3
|
+
## [Unreleased changes](http://github.com/ms-ati/docile/compare/v1.3.3...master)
|
4
4
|
|
5
5
|
- ...
|
6
6
|
|
7
|
+
## [v1.3.3 (Dec 18, 2020)](http://github.com/ms-ati/docile/compare/v1.3.2...v1.3.3)
|
8
|
+
|
9
|
+
- Special thanks (again!) to Taichi Ishitani (@taichi-ishitani):
|
10
|
+
- Fix keyword arg warnings on Ruby 2.7 (issue #44, PR #45)
|
11
|
+
- Filter Docile's source files from backtrace (issue #35, PR #36)
|
12
|
+
|
7
13
|
## [v1.3.2 (Jun 12, 2019)](http://github.com/ms-ati/docile/compare/v1.3.1...v1.3.2)
|
8
14
|
|
9
15
|
- Special thanks (again!) to Taichi Ishitani (@taichi-ishitani):
|
data/LICENSE
CHANGED
data/README.md
CHANGED
@@ -374,7 +374,7 @@ Docile releases follow [Semantic Versioning 2.0.0](https://semver.org/spec/v2.0.
|
|
374
374
|
|
375
375
|
## Copyright & License
|
376
376
|
|
377
|
-
Copyright (c) 2012-
|
377
|
+
Copyright (c) 2012-2021 Marc Siegel.
|
378
378
|
|
379
379
|
Licensed under the [MIT License](http://choosealicense.com/licenses/mit/), see [LICENSE](LICENSE) for details.
|
380
380
|
|
data/lib/docile.rb
CHANGED
@@ -0,0 +1,22 @@
|
|
1
|
+
module Docile
|
2
|
+
# @api private
|
3
|
+
#
|
4
|
+
# This is used to remove entries pointing to Docile's source files
|
5
|
+
# from {Exception#backtrace} and {Exception#backtrace_locations}.
|
6
|
+
#
|
7
|
+
# If {NoMethodError} is caught then the exception object will be extended
|
8
|
+
# by this module to add filter functionalities.
|
9
|
+
module BacktraceFilter
|
10
|
+
FILTER_PATTERN = /lib\/docile/
|
11
|
+
|
12
|
+
def backtrace
|
13
|
+
super.select { |trace| trace !~ FILTER_PATTERN }
|
14
|
+
end
|
15
|
+
|
16
|
+
if ::Exception.public_method_defined?(:backtrace_locations)
|
17
|
+
def backtrace_locations
|
18
|
+
super.select { |location| location.absolute_path !~ FILTER_PATTERN }
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -82,12 +82,25 @@ module Docile
|
|
82
82
|
|
83
83
|
# Proxy all methods, excluding {NON_PROXIED_METHODS}, first to `receiver`
|
84
84
|
# and then to `fallback` if not found.
|
85
|
-
|
86
|
-
if
|
87
|
-
|
85
|
+
args_string =
|
86
|
+
if RUBY_VERSION >= "2.7.0"
|
87
|
+
"*args, **kwargs, &block"
|
88
88
|
else
|
89
|
-
|
89
|
+
"*args, &block"
|
90
90
|
end
|
91
|
-
|
91
|
+
class_eval(<<-METHOD)
|
92
|
+
def method_missing(method, #{args_string})
|
93
|
+
if @__receiver__.respond_to?(method.to_sym)
|
94
|
+
@__receiver__.__send__(method.to_sym, #{args_string})
|
95
|
+
else
|
96
|
+
begin
|
97
|
+
@__fallback__.__send__(method.to_sym, #{args_string})
|
98
|
+
rescue NoMethodError => e
|
99
|
+
e.extend(BacktraceFilter)
|
100
|
+
raise e
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
104
|
+
METHOD
|
92
105
|
end
|
93
106
|
end
|
data/lib/docile/version.rb
CHANGED
data/on_what.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: docile
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marc Siegel
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-12-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -114,6 +114,7 @@ files:
|
|
114
114
|
- Rakefile
|
115
115
|
- docile.gemspec
|
116
116
|
- lib/docile.rb
|
117
|
+
- lib/docile/backtrace_filter.rb
|
117
118
|
- lib/docile/chaining_fallback_context_proxy.rb
|
118
119
|
- lib/docile/execution.rb
|
119
120
|
- lib/docile/fallback_context_proxy.rb
|
@@ -123,7 +124,7 @@ homepage: https://ms-ati.github.io/docile/
|
|
123
124
|
licenses:
|
124
125
|
- MIT
|
125
126
|
metadata: {}
|
126
|
-
post_install_message:
|
127
|
+
post_install_message:
|
127
128
|
rdoc_options: []
|
128
129
|
require_paths:
|
129
130
|
- lib
|
@@ -138,9 +139,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
138
139
|
- !ruby/object:Gem::Version
|
139
140
|
version: '0'
|
140
141
|
requirements: []
|
141
|
-
|
142
|
-
|
143
|
-
signing_key:
|
142
|
+
rubygems_version: 3.0.8
|
143
|
+
signing_key:
|
144
144
|
specification_version: 4
|
145
145
|
summary: Docile keeps your Ruby DSLs tame and well-behaved.
|
146
146
|
test_files: []
|