Sha256: d4ab423dee7a905dd86044c35f7b94a72c2f2b0832d9f54ea63f168f6a39f8f0

Contents?: true

Size: 1.2 KB

Versions: 5

Compression:

Stored size: 1.2 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
  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

5 entries across 5 versions & 1 rubygems

Version Path
media_types-serialization-1.3.1 lib/media_types/serialization/fake_validator.rb
media_types-serialization-1.3.0 lib/media_types/serialization/fake_validator.rb
media_types-serialization-1.2.0 lib/media_types/serialization/fake_validator.rb
media_types-serialization-1.1.0 lib/media_types/serialization/fake_validator.rb
media_types-serialization-1.0.3 lib/media_types/serialization/fake_validator.rb