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