Sha256: c206d667d55bbbdcdbb1da8af48f0cc0919f201ac911e307d54bea5fba68c63a

Contents?: true

Size: 1.26 KB

Versions: 9

Compression:

Stored size: 1.26 KB

Contents

# Validator that accepts all input
class FakeValidator
  def initialize(prefix, view = nil, version = nil, suffixes = {})
    self.prefix = prefix
    self.suffixes = suffixes
    self.internal_view = view
    self.internal_version = version
  end

  UNSET = Object.new

  def view(view = UNSET)
    return self.internal_view if view == UNSET
    FakeValidator.new(prefix, view, internal_version, suffixes)
  end

  def version(version = UNSET)
    return self.internal_version if version == UNSET
    FakeValidator.new(prefix, internal_view, version, suffixes)
  end

  def override_suffix(suffix)
    suffixes[[internal_view, internal_version]] = suffix
    FakeValidator.new(prefix, internal_view, version, suffixes)
  end

  def identifier
    suffix = suffixes[[internal_view, internal_version]] || ''
    result = prefix
    result += '.v' + internal_version.to_s unless internal_version.nil?
    result += '.' + internal_view.to_s unless internal_view.nil?
    result += '+' + suffix.to_s unless suffix.empty?

    result
  end

  def validatable?
    true
  end

  def validate!(_)
    true
  end

  attr_accessor :prefix
  attr_accessor :suffixes

  protected

  attr_accessor :internal_view
  attr_accessor :internal_version
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
media_types-serialization-2.0.4 lib/media_types/serialization/fake_validator.rb
media_types-serialization-1.4.0 lib/media_types/serialization/fake_validator.rb
media_types-serialization-1.3.9 lib/media_types/serialization/fake_validator.rb
media_types-serialization-1.3.8 lib/media_types/serialization/fake_validator.rb
media_types-serialization-1.3.7 lib/media_types/serialization/fake_validator.rb
media_types-serialization-1.3.6 lib/media_types/serialization/fake_validator.rb
media_types-serialization-1.3.5 lib/media_types/serialization/fake_validator.rb
media_types-serialization-1.3.4 lib/media_types/serialization/fake_validator.rb
media_types-serialization-1.3.2 lib/media_types/serialization/fake_validator.rb