serbea 2.1.0 → 2.2.0
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/ci.yml +1 -1
- data/.ruby-version +1 -1
- data/CHANGELOG.md +5 -0
- data/lib/serbea/pipeline.rb +20 -0
- data/lib/version.rb +1 -1
- data/serbea.gemspec +1 -1
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 328bb1110c02d6c0da3abf6d0f1c26ed1c49d6f0265b82e35dafb945320ca1d5
|
4
|
+
data.tar.gz: 3ec4e316fb6c126a845b22490c944d2eedcd2c91a724a3aa5125866c56b44c53
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7a657dce3ddf4ca466cffd7e22af1785f026a887b0103d783f9350a60640b518243140229dd140d2c7e6d8ca61e5170f1a2dc98ec8055bfca418a99d1243937b
|
7
|
+
data.tar.gz: 6d604bfc2749f265352cfbd75fdebd1a77be2ff02b78000b9774265f17db53833fe7b515df72531ec1de6f38aaed4ea4676121ba944ec08c40ff0245283581b4
|
data/.github/workflows/ci.yml
CHANGED
@@ -13,7 +13,7 @@ jobs:
|
|
13
13
|
runs-on: ubuntu-latest
|
14
14
|
strategy:
|
15
15
|
matrix:
|
16
|
-
ruby_version: [
|
16
|
+
ruby_version: [3.1.0, 3.2.0, 3.3.0]
|
17
17
|
continue-on-error: ${{ endsWith(matrix.ruby, 'head') || matrix.ruby == 'debug' }}
|
18
18
|
# Has to be top level to cache properly
|
19
19
|
env:
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
3.1.4
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 2.2.0
|
4
|
+
|
5
|
+
- Add functionality to purge certain `Object`-based method pollution which interferes with the workings of Serbea's `Pipeline` in pure Ruby.
|
6
|
+
- Ruby 3.1 is now the minimum required version.
|
7
|
+
|
3
8
|
## 2.1.0
|
4
9
|
|
5
10
|
- Remove Active Support as a dependency
|
data/lib/serbea/pipeline.rb
CHANGED
@@ -72,7 +72,27 @@ module Serbea
|
|
72
72
|
@value_methods_denylist ||= Set.new
|
73
73
|
end
|
74
74
|
|
75
|
+
def self.purge_class_pollution
|
76
|
+
@pollution_purged ||= begin
|
77
|
+
polluted_methods_list.each do |name|
|
78
|
+
define_method name do |*args, **kwargs|
|
79
|
+
filter(name, *args, **kwargs)
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
true
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
def self.polluted_method(name)
|
88
|
+
polluted_methods_list.merge Array(name)
|
89
|
+
end
|
90
|
+
def self.polluted_methods_list
|
91
|
+
@polluted_methods_list ||= Set.new(%i(select to_json))
|
92
|
+
end
|
93
|
+
|
75
94
|
def initialize(binding, value)
|
95
|
+
self.class.purge_class_pollution
|
76
96
|
@binding = binding
|
77
97
|
@context = binding.receiver
|
78
98
|
@value = value
|
data/lib/version.rb
CHANGED
data/serbea.gemspec
CHANGED
@@ -11,7 +11,7 @@ Gem::Specification.new do |spec|
|
|
11
11
|
spec.homepage = "https://github.com/bridgetownrb/serbea"
|
12
12
|
spec.license = "MIT"
|
13
13
|
|
14
|
-
spec.required_ruby_version = ">=
|
14
|
+
spec.required_ruby_version = ">= 3.1"
|
15
15
|
|
16
16
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r!^(test|script|spec|features|docs|serbea-rails)/!) }
|
17
17
|
spec.require_paths = ["lib"]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: serbea
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bridgetown Team
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-07-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: erubi
|
@@ -52,7 +52,7 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '13.0'
|
55
|
-
description:
|
55
|
+
description:
|
56
56
|
email: maintainers@bridgetownrb.com
|
57
57
|
executables: []
|
58
58
|
extensions: []
|
@@ -77,7 +77,7 @@ homepage: https://github.com/bridgetownrb/serbea
|
|
77
77
|
licenses:
|
78
78
|
- MIT
|
79
79
|
metadata: {}
|
80
|
-
post_install_message:
|
80
|
+
post_install_message:
|
81
81
|
rdoc_options: []
|
82
82
|
require_paths:
|
83
83
|
- lib
|
@@ -85,15 +85,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
85
85
|
requirements:
|
86
86
|
- - ">="
|
87
87
|
- !ruby/object:Gem::Version
|
88
|
-
version: '
|
88
|
+
version: '3.1'
|
89
89
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
90
90
|
requirements:
|
91
91
|
- - ">="
|
92
92
|
- !ruby/object:Gem::Version
|
93
93
|
version: '0'
|
94
94
|
requirements: []
|
95
|
-
rubygems_version: 3.
|
96
|
-
signing_key:
|
95
|
+
rubygems_version: 3.3.26
|
96
|
+
signing_key:
|
97
97
|
specification_version: 4
|
98
98
|
summary: Similar to ERB, Except Awesomer
|
99
99
|
test_files: []
|