Skip to content

Commit c809dc3

Browse files
committed
[changeset] port pipe to use dry-transformer
1 parent d4121c0 commit c809dc3

File tree

3 files changed

+19
-13
lines changed

3 files changed

+19
-13
lines changed

changeset/lib/rom/changeset/pipe.rb

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
# frozen_string_literal: true
22

3-
require 'transproc/all'
4-
require 'transproc/registry'
5-
require 'transproc/transformer'
3+
require 'dry/transformer/all'
4+
require 'dry/transformer/registry'
5+
require 'dry/transformer'
66

77
module ROM
88
class Changeset
9-
# Transproc Registry useful for pipe
9+
# Dry::Transformer function registry used by the pipe
1010
#
1111
# @api private
1212
module PipeRegistry
13-
extend Transproc::Registry
13+
extend Dry::Transformer::Registry
1414

15-
import Transproc::HashTransformations
15+
import Dry::Transformer::HashTransformations
1616

1717
def self.add_timestamps(data)
1818
now = Time.now
@@ -27,10 +27,11 @@ def self.touch(data)
2727
# Composable data transformation pipe used by default in changesets
2828
#
2929
# @api private
30-
class Pipe < ::Transproc::Transformer[PipeRegistry]
30+
class Pipe < Dry::Transformer[PipeRegistry]
3131
extend Initializer
3232

33-
param :processor, default: -> { self.class.transproc }
33+
param :processor, optional: false, reader: false, default: -> { nil }
34+
3435
option :use_for_diff, optional: true, default: -> { true }
3536
option :diff_processor, default: -> { use_for_diff ? processor : nil }
3637

@@ -42,6 +43,11 @@ def [](name)
4243
self.class[name]
4344
end
4445

46+
# @api private
47+
def processor
48+
options[:processor] || transproc
49+
end
50+
4551
def bind(context)
4652
if processor.is_a?(::Proc)
4753
self.class.new(Pipe[-> *args { context.instance_exec(*args, &processor) }])

changeset/lib/rom/changeset/stateful.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,14 +52,14 @@ class Stateful < Changeset
5252
# end
5353
# end
5454
#
55-
# @return [Array<Pipe>, Transproc::Function>]
55+
# @return [Array<Pipe>, Dry::Transformer::Function>]
5656
#
57-
# @see https://github.com/solnic/transproc Transproc
57+
# @see https://github.com/dry-rb/dry-transformer
5858
#
5959
# @api public
6060
def self.map(**options, &block)
6161
if block.parameters.empty?
62-
pipes << Class.new(Pipe, &block).new(**options)
62+
pipes << Class.new(Pipe).define!(&block).new(**options)
6363
else
6464
pipes << Pipe.new(block, **options)
6565
end
@@ -70,7 +70,7 @@ def self.map(**options, &block)
7070
# @see Changeset::Stateful.map
7171
# @see Changeset::Stateful#extend
7272
#
73-
# @return [Array<Pipe>, Transproc::Function>]
73+
# @return [Array<Pipe>, Dry::Transformer::Function>]
7474
#
7575
# @api public
7676
def self.extend(*, &block)

changeset/rom-changeset.gemspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ Gem::Specification.new do |gem|
1919
}
2020

2121
gem.add_runtime_dependency 'dry-core', '~> 0.4'
22+
gem.add_runtime_dependency 'dry-transformer', '~> 0.1'
2223
gem.add_runtime_dependency 'rom-core', '~> 5.1', '>= 5.1.2'
23-
gem.add_runtime_dependency 'transproc', '~> 1.0', '>= 1.1.0'
2424

2525
gem.add_development_dependency 'rake', '~> 11.2'
2626
gem.add_development_dependency 'rspec', '~> 3.5'

0 commit comments

Comments
 (0)