Sha256: 61928f17b399b5b51dc2e6d828dfabb067bf47405c5f897e0af115ba8fc87063

Contents?: true

Size: 682 Bytes

Versions: 3

Compression:

Stored size: 682 Bytes

Contents

# frozen_string_literal: true

module R2OAS
  module Schema
    module V3
      module FromFiles
        module DeepMethods
          def deep_replace!(data, target, &blk)
            return unless data.is_a?(Hash)

            data.each do |key, value|
              if key.eql? target
                # MEMO:
                # When using the same schema, it has already been replaced by an object
                if value.is_a?(String)
                  data[key] = block_given? ? yield(value) : value
                end
              else
                deep_replace!(value, target, &blk)
              end
            end
          end
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
r2-oas-0.5.0 lib/r2-oas/schema/v3/object/from_files/utils/deep_methods.rb
r2-oas-0.4.1 lib/r2-oas/schema/v3/object/from_files/utils/deep_methods.rb
r2-oas-0.4.0 lib/r2-oas/schema/v3/object/from_files/utils/deep_methods.rb