class Moguro::Types::Enumerable

Array type validator @since 0.0.1 @private

Public Class Methods

new(klass) click to toggle source
# File lib/moguro/types/enumerable.rb, line 11
def initialize(klass)
  @content_type = []
  @klass = klass
end

Public Instance Methods

add_content_type(type) click to toggle source
# File lib/moguro/types/enumerable.rb, line 16
def add_content_type(type)
  @content_type << type
end
type() click to toggle source
# File lib/moguro/types/enumerable.rb, line 24
def type
  if @content_type.empty?
    @klass.to_s
  else
    "#{@klass}<#{@content_type.join('|')}>"
  end
end
valid?(val) click to toggle source
# File lib/moguro/types/enumerable.rb, line 20
def valid?(val)
  eumerable?(val) && (val.empty? || content_type_valid?(val))
end

Private Instance Methods

content_type_valid?(val) click to toggle source
# File lib/moguro/types/enumerable.rb, line 38
def content_type_valid?(val)
  return true if @content_type.empty?

  val.all? do |v|
    @content_type.any? { |type| type.valid?(v) }
  end
end
eumerable?(val) click to toggle source
# File lib/moguro/types/enumerable.rb, line 34
def eumerable?(val)
  val.is_a?(@klass)
end