Sha256: f4bf30752f367584d7f74e765e031dc35678f8ecae84794fa5ad6a10ffd27d8f

Contents?: true

Size: 567 Bytes

Versions: 5

Compression:

Stored size: 567 Bytes

Contents

require 'date'

module Monolens
  module Check
    class NotEmpty
      include Lens

      signature(Type::Emptyable, Type::Emptyable, {
        message: [Type::String, false]
      })

      def call(arg, world = {})
        if arg.nil?
          do_fail!(arg, world)
        elsif arg.respond_to?(:empty?) && arg.empty?
          do_fail!(arg, world)
        else
          arg
        end
      end

    private

      def do_fail!(arg, world)
        message = option(:message, 'Input may not be empty')
        fail!(message, world)
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
monolens-0.6.4 lib/monolens/stdlib/check/not_empty.rb
monolens-0.6.3 lib/monolens/stdlib/check/not_empty.rb
monolens-0.6.2 lib/monolens/stdlib/check/not_empty.rb
monolens-0.6.1 lib/monolens/stdlib/check/not_empty.rb
monolens-0.6.0 lib/monolens/stdlib/check/not_empty.rb