Sha256: 05a6ef57a1b5b140caac74376991180b0649e0998dfaafc2d0cadbb41aa01ec6

Contents?: true

Size: 1.47 KB

Versions: 23

Compression:

Stored size: 1.47 KB

Contents

module Eco
  module API
    class MicroCases
      # Finds those in `entries` that already exist in the organization (`people`) and `yield` s them one by one to the given block.
      # @note
      #   - it also links to `person.entry` the input data `entry`.
      # @param entries [Eco::API::Common::People::Entries] the input entries with the data.
      # @param people [Eco::API::Organization::People] target existing _People_ of the current update.
      # @param options [Hash] the options.
      # @param log_starter [Boolean] log error message if an `entry` does not have match in `people`.
      # @yield [entry, person] gives each **found** `person` of `entries` that is not present in `people`.
      # @yieldparam entry [PersonEntry] the input entry with the data we should set on person.
      # @yieldparam person [Ecoportal::API::V1::Person] the **found** person.
      # @return [Eco::API::Organization::People] the found people.
      def with_each_present(entries, people, options, log_starter: false)
        found = []
        micro.with_each(entries, people, options) do |entry, person|
          if person.new?
            if log_starter
              log(:error) {
                "This person does not exist: #{entry.to_s(:identify)}"
              }
            end

            next
          end

          found << person
          yield(entry, person) if block_given?
        end

        people.newFrom found
      end
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
eco-helpers-3.0.21 lib/eco/api/microcases/with_each_present.rb
eco-helpers-3.0.20 lib/eco/api/microcases/with_each_present.rb
eco-helpers-3.0.19 lib/eco/api/microcases/with_each_present.rb
eco-helpers-3.0.18 lib/eco/api/microcases/with_each_present.rb
eco-helpers-3.0.17 lib/eco/api/microcases/with_each_present.rb
eco-helpers-3.0.16 lib/eco/api/microcases/with_each_present.rb
eco-helpers-3.0.15 lib/eco/api/microcases/with_each_present.rb
eco-helpers-3.0.14 lib/eco/api/microcases/with_each_present.rb
eco-helpers-3.0.13 lib/eco/api/microcases/with_each_present.rb
eco-helpers-3.0.12 lib/eco/api/microcases/with_each_present.rb
eco-helpers-3.0.11 lib/eco/api/microcases/with_each_present.rb
eco-helpers-3.0.10 lib/eco/api/microcases/with_each_present.rb
eco-helpers-3.0.9 lib/eco/api/microcases/with_each_present.rb
eco-helpers-3.0.8 lib/eco/api/microcases/with_each_present.rb
eco-helpers-3.0.7 lib/eco/api/microcases/with_each_present.rb
eco-helpers-3.0.6 lib/eco/api/microcases/with_each_present.rb
eco-helpers-3.0.5 lib/eco/api/microcases/with_each_present.rb
eco-helpers-3.0.4 lib/eco/api/microcases/with_each_present.rb
eco-helpers-3.0.3 lib/eco/api/microcases/with_each_present.rb
eco-helpers-3.0.2 lib/eco/api/microcases/with_each_present.rb