Class: Hegel::Generators::DomainsGenerator

Inherits:
Hegel::Generator show all
Defined in:
lib/hegel/generators.rb,
sig/hegel.rbs

Overview

Hegel::Syntax::Methods#domains. A fully-qualified domain name String of at most max_length characters (default 255, the header's own upper bound). The header documents the valid range as 4..=255; that range is not checked here -- hegel_string_generator_domain already returns HEGEL_E_INVALID_ARG outside it, which LibHegel.check! turns into a Hegel::Error naming that code, so a local check here would only repeat the engine's own validation with a worse message.

Instance Method Summary collapse

Methods inherited from Hegel::Generator

#filter, #map

Constructor Details

#initialize(max_length:) ⇒ DomainsGenerator

Returns a new instance of DomainsGenerator.

Parameters:

  • max_length: (Integer)


516
517
518
519
# File 'lib/hegel/generators.rb', line 516

def initialize(max_length:)
  super()
  @max_length = max_length
end

Instance Method Details

#do_draw(tc) ⇒ String

Parameters:

  • tc (Object)

Returns:

  • (String)


521
522
523
# File 'lib/hegel/generators.rb', line 521

def do_draw(tc)
  tc.with_domain_generator(max_length: @max_length) { |generator| tc.generate_string(generator) }
end