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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ed1ac63bf425a0d6b32c6657b05391b2855c60f17313dbb5f0474db7031797d9
4
- data.tar.gz: 768a3c634709bd4cdbab6fe6dc8c0a9203c9e98e41e66c923eba85eaf7f59c9f
3
+ metadata.gz: ea4f45b8a04706082c5f9beb78846b3a793f8e2502f7ad565e1195b175e9d361
4
+ data.tar.gz: dacb6857d1b1169882de3b9f143ea8956d854dcc01369757e573e09d21ad296d
5
5
  SHA512:
6
- metadata.gz: 15c35ed92488b90304978ff44c029b4058eee7de078cb62cda44b7f25a076dc9b04bddef1d98a3b071fa7f16c2c7aaff2b3c1d49c24f1c4549bdf8c21c12c1c0
7
- data.tar.gz: 4d3818b186417407e00510ddc8704f9e5e79f50c922427f2e73ac2c82ffe24a4dcfd663e005bc9ea7acd288171000cacac78722c625c94190ec1f83e34958b90
6
+ metadata.gz: 8ccd935e54655d8b342a8a8cd0d5db570914072aa49c6924cbe7bbf4266975c8a380da365e3b4f9e827e5a10ae9528ad1459ed35d18f353622413891c00f001e
7
+ data.tar.gz: 46866ebe376f6500c3f12c0389900f7df2eaceb0c6843aa1ed9c8fd9e1462c33e6f62b52cc5182e160c3ef39eedd7de586bc5611b8de9191c60fa274c640e425
@@ -5,9 +5,9 @@ jobs:
5
5
  strategy:
6
6
  fail-fast: false
7
7
  matrix:
8
- ruby: [2.5, 2.6]
9
- active_record: [5.0, 5.2, 6.0]
10
- dry_types: [0.13, 0.14, 0.15, 1.0, 1.1, 1.2]
8
+ ruby: [2.6]
9
+ active_record: [5.2, 6.0]
10
+ dry_types: [1.0, 1.2]
11
11
 
12
12
  include:
13
13
  - ruby: 2.7
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
@@ -7,6 +7,6 @@ gem "minitest-line"
7
7
  gem gem_name, dependency
8
8
  end
9
9
 
10
- gem "sqlite3"#, ENV.fetch('ACTIVERECORD', '5.2').to_f >= 6 ? '~> 1.4' : '~> 1.3.0'
10
+ gem "sqlite3", ENV.fetch('ACTIVERECORD', '5.2').to_f >= 6 ? '~> 1.4' : '~> 1.3.0'
11
11
 
12
12
  # gem "declarative-builder"
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", "< 3.2.0"
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
@@ -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, **options, &block)
56
- property(name, **options.merge(collection: true), &block)
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"
@@ -1,3 +1,3 @@
1
1
  module Disposable
2
- VERSION = "0.6.0"
2
+ VERSION = "0.6.3"
3
3
  end
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.0
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: 2021-11-18 00:00:00.000000000 Z
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: 3.2.0
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: 3.2.0
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.2.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