Sha256: cdef7ef14eefa13b4b1c1f5e881cc85a356a203939e4cab0cc23b661019e9e80

Contents?: true

Size: 878 Bytes

Versions: 1

Compression:

Stored size: 878 Bytes

Contents

module Dry
  module Validation
    module Messages
      class Namespaced < Messages::Abstract
        attr_reader :namespace, :messages, :root

        def initialize(namespace, messages)
          super()
          @namespace = namespace
          @messages = messages
          @root = messages.root
        end

        def call(predicate, options = EMPTY_HASH)
          super do |path, opts|
            messages.get(path, opts)
          end
        end
        alias_method :[], :call

        def key?(key, *args)
          messages.key?(key, *args)
        end

        def get(key, options = {})
          messages.get(key, options)
        end

        def lookup_paths(tokens)
          super(tokens.merge(root: "#{root}.rules.#{namespace}")) + super
        end

        def default_locale
          messages.default_locale
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dry-validation-0.13.3 lib/dry/validation/messages/namespaced.rb