Sha256: f9370b8c2ce9b0f540b6a1c334fa2a8ae6323adf6e31a7c0923d923376658797

Contents?: true

Size: 691 Bytes

Versions: 16

Compression:

Stored size: 691 Bytes

Contents

module LetsencryptWebfaction
  class ArgsParser
    class Field
      attr_reader :identifier, :description, :validators

      def initialize(identifier, description, validators = [])
        @identifier = identifier
        @description = description
        @validators = validators
      end

      def sanitize(val)
        val
      end

      def valid?(val)
        validators.reject { |validator| validator.valid?(val) }.empty?
      end

      class IntegerField < Field
        def sanitize(val)
          val.to_i
        end
      end

      class ListField < Field
        def sanitize(val)
          val.split(',').map(&:strip).compact
        end
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
letsencrypt_webfaction-2.1.0 lib/letsencrypt_webfaction/args_parser/field.rb
letsencrypt_webfaction-2.0.1 lib/letsencrypt_webfaction/args_parser/field.rb
letsencrypt_webfaction-2.0.0 lib/letsencrypt_webfaction/args_parser/field.rb
letsencrypt_webfaction-1.1.8 lib/letsencrypt_webfaction/args_parser/field.rb
letsencrypt_webfaction-1.1.7 lib/letsencrypt_webfaction/args_parser/field.rb
letsencrypt_webfaction-1.1.6 lib/letsencrypt_webfaction/args_parser/field.rb
letsencrypt_webfaction-1.1.5 lib/letsencrypt_webfaction/args_parser/field.rb
letsencrypt_webfaction-1.1.4 lib/letsencrypt_webfaction/args_parser/field.rb
letsencrypt_webfaction-1.1.3 lib/letsencrypt_webfaction/args_parser/field.rb
letsencrypt_webfaction-1.1.2 lib/letsencrypt_webfaction/args_parser/field.rb
letsencrypt_webfaction-1.1.1 lib/letsencrypt_webfaction/args_parser/field.rb
letsencrypt_webfaction-1.1.0 lib/letsencrypt_webfaction/args_parser/field.rb
letsencrypt_webfaction-1.0.1 lib/letsencrypt_webfaction/args_parser/field.rb
letsencrypt_webfaction-1.0.0 lib/letsencrypt_webfaction/args_parser/field.rb
letsencrypt_webfaction-0.0.2 lib/letsencrypt_webfaction/args_parser/field.rb
letsencrypt_webfaction-0.0.1 lib/letsencrypt_webfaction/args_parser/field.rb