Class: MonoVM::Whois::Availability::Rules::PremiumName

Inherits:
MonoVM::Whois::Availability::Rule show all
Defined in:
lib/monovm/whois/availability/rules/premium_name.rb

Overview

The registry flagged the name as premium, reserved or otherwise withheld.

A premium name is unregistered but not obtainable at standard price, and a reserved one is not obtainable at all. Both are distinct from "available", and a registrar showing an add-to-cart button for either has a support ticket coming.

The marker comes from the TLD definition, since the wording is registry specific. This runs before the availability rules because those registries tend to phrase a premium answer as a near-miss of "not found".

Instance Method Summary collapse

Methods inherited from MonoVM::Whois::Availability::Rule

#name

Instance Method Details

#call(context) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
# File 'lib/monovm/whois/availability/rules/premium_name.rb', line 20

def call(context)
  marker = context.definition&.premium_match
  return nil if marker.nil? || context.empty?

  return nil unless context.lower.include?(marker.downcase)

  premium(
    reason: "the registry marked this name as premium or reserved",
    evidence: marker
  )
end