lib/dry/view/exposures.rb in dry-view-0.7.0 vs lib/dry/view/exposures.rb in dry-view-0.7.1

- old
+ new

@@ -1,9 +1,9 @@ # frozen_string_literal: true require "tsort" -require "dry/equalizer" +require "dry/core/equalizer" require "dry/view/exposure" module Dry class View # @api private @@ -28,11 +28,11 @@ def each(&block) exposures.each(&block) end def add(name, proc = nil, **options) - exposures[name] = Exposure.new(name, proc, options) + exposures[name] = Exposure.new(name, proc, **options) end def import(name, exposure) exposures[name] = exposure.dup end @@ -44,19 +44,21 @@ self.class.new(bound_exposures) end def call(input) + # rubocop:disable Style/MultilineBlockChain tsort.each_with_object({}) { |name, memo| - next unless exposure = self[name] + next unless (exposure = self[name]) value = exposure.(input, memo) value = yield(value, exposure) if block_given? memo[name] = value }.each_with_object({}) { |(name, value), memo| memo[name] = value unless self[name].private? } + # rubocop:enable Style/MultilineBlockChain end private def tsort_each_node(&block)