disposable 0.6.0 → 0.6.3
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 +3 -3
- data/CHANGES.md +15 -0
- data/Gemfile +1 -1
- data/disposable.gemspec +1 -1
- data/lib/disposable/twin/property/unnest.rb +9 -7
- data/lib/disposable/twin.rb +3 -2
- data/lib/disposable/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ea4f45b8a04706082c5f9beb78846b3a793f8e2502f7ad565e1195b175e9d361
|
4
|
+
data.tar.gz: dacb6857d1b1169882de3b9f143ea8956d854dcc01369757e573e09d21ad296d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8ccd935e54655d8b342a8a8cd0d5db570914072aa49c6924cbe7bbf4266975c8a380da365e3b4f9e827e5a10ae9528ad1459ed35d18f353622413891c00f001e
|
7
|
+
data.tar.gz: 46866ebe376f6500c3f12c0389900f7df2eaceb0c6843aa1ed9c8fd9e1462c33e6f62b52cc5182e160c3ef39eedd7de586bc5611b8de9191c60fa274c640e425
|
data/.github/workflows/ci.yml
CHANGED
data/CHANGES.md
CHANGED
@@ -1,3 +1,18 @@
|
|
1
|
+
# 0.6.3
|
2
|
+
|
3
|
+
* Loosen `representable` dependency to `< 4`.
|
4
|
+
|
5
|
+
# 0.6.2
|
6
|
+
|
7
|
+
* Remove `Forwardable` from `Unnest` and refrain from including it into the `Twin` class.
|
8
|
+
This may overwrite the same-named `ActiveSupport::delegate` method and breaks things.
|
9
|
+
Instead, do manual delegation and plan for 2023 to allow using `Forwardable.delegate(target, what, where)`.
|
10
|
+
|
11
|
+
|
12
|
+
# 0.6.1
|
13
|
+
|
14
|
+
* Remove `**options` argument from `#property` as it's inconsistent with underlying gems.
|
15
|
+
|
1
16
|
# 0.6.0
|
2
17
|
|
3
18
|
* Remove `uber` gem.
|
data/Gemfile
CHANGED
data/disposable.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
|
|
18
18
|
|
19
19
|
spec.add_dependency "declarative", ">= 0.0.9", "< 1.0.0"
|
20
20
|
# spec.add_dependency "declarative-builder" #, ">= 0.2.0"
|
21
|
-
spec.add_dependency "representable", ">= 3.1.1", "<
|
21
|
+
spec.add_dependency "representable", ">= 3.1.1", "< 4"
|
22
22
|
|
23
23
|
spec.add_development_dependency "bundler"#, "~> 1.3"
|
24
24
|
spec.add_development_dependency "rake"
|
@@ -1,12 +1,6 @@
|
|
1
|
-
require "forwardable"
|
2
|
-
|
3
1
|
module Disposable::Twin::Property
|
4
2
|
module Unnest
|
5
|
-
extend Forwardable
|
6
3
|
# TODO: test that nested properties options are "unnested", too, e.g. populator.
|
7
|
-
def self.included(includer)
|
8
|
-
includer.send(:include, Forwardable)
|
9
|
-
end
|
10
4
|
|
11
5
|
def unnest(name, options)
|
12
6
|
from = options.delete(:from)
|
@@ -16,7 +10,15 @@ module Disposable::Twin::Property
|
|
16
10
|
options = options.merge(virtual: true, _inherited: true, private_name: nil)
|
17
11
|
|
18
12
|
property(name, options)
|
19
|
-
def_delegators from, name, "#{name}="
|
13
|
+
# def_delegators from, name, "#{name}=" # FIXME: this overwrites ActiveSupport#delegate in some cases.
|
14
|
+
|
15
|
+
define_method name do
|
16
|
+
send(from).send(name) # TODO: fix Forwardable in Ruby.
|
17
|
+
end
|
18
|
+
|
19
|
+
define_method "#{name}=" do |value|
|
20
|
+
send(from).send("#{name}=", value)
|
21
|
+
end
|
20
22
|
end
|
21
23
|
end
|
22
24
|
end
|
data/lib/disposable/twin.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# require "uber/inheritable_attr"
|
1
2
|
require "declarative/schema"
|
2
3
|
require "representable/decorator"
|
3
4
|
|
@@ -52,8 +53,8 @@ module Disposable
|
|
52
53
|
end
|
53
54
|
end
|
54
55
|
|
55
|
-
def collection(name,
|
56
|
-
property(name,
|
56
|
+
def collection(name, options={}, &block)
|
57
|
+
property(name, options.merge(collection: true), &block)
|
57
58
|
end
|
58
59
|
|
59
60
|
require "disposable/twin/property/unnest"
|
data/lib/disposable/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: disposable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nick Sutterer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-05-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: declarative
|
@@ -39,7 +39,7 @@ dependencies:
|
|
39
39
|
version: 3.1.1
|
40
40
|
- - "<"
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version:
|
42
|
+
version: '4'
|
43
43
|
type: :runtime
|
44
44
|
prerelease: false
|
45
45
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -49,7 +49,7 @@ dependencies:
|
|
49
49
|
version: 3.1.1
|
50
50
|
- - "<"
|
51
51
|
- !ruby/object:Gem::Version
|
52
|
-
version:
|
52
|
+
version: '4'
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
54
|
name: bundler
|
55
55
|
requirement: !ruby/object:Gem::Requirement
|
@@ -218,7 +218,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
218
218
|
- !ruby/object:Gem::Version
|
219
219
|
version: '0'
|
220
220
|
requirements: []
|
221
|
-
rubygems_version: 3.
|
221
|
+
rubygems_version: 3.3.7
|
222
222
|
signing_key:
|
223
223
|
specification_version: 4
|
224
224
|
summary: Decorators on top of your ORM layer with change tracking, collection semantics
|