Class: Synthra::Types::TechnologyInternet::Ipv6
- Defined in:
- lib/synthra/types/technology_internet/networking.rb
Overview
Ipv6 type
Instance Method Summary collapse
- #generate_edge(rng, context, args) ⇒ Object
- #generate_invalid(rng, context, args) ⇒ Object
-
#generate_random(rng, context, args) ⇒ String
Generate a random IPv6 address.
Instance Method Details
#generate_edge(rng, context, args) ⇒ Object
62 63 64 |
# File 'lib/synthra/types/technology_internet/networking.rb', line 62 def generate_edge(rng, context, args) ["::1", "fe80::1", "2001:0db8:85a3:0000:0000:8a2e:0370:7334"].sample(random: rng.instance_variable_get(:@random)) end |
#generate_invalid(rng, context, args) ⇒ Object
66 67 68 |
# File 'lib/synthra/types/technology_internet/networking.rb', line 66 def generate_invalid(rng, context, args) [nil, "not:an:ipv6", "::g", [], {}].sample(random: rng.instance_variable_get(:@random)) end |
#generate_random(rng, context, args) ⇒ String
Generate a random IPv6 address
47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/synthra/types/technology_internet/networking.rb', line 47 def generate_random(rng, context, args) adapter = faker_adapter(context) if adapter adapter.ip_v6_address else # Manual IPv6 generation fallback 8.times.map { format("%x", rng.int(0, 65535)) }.join(":") end rescue StandardError 8.times.map { format("%x", rng.int(0, 65535)) }.join(":") # Fallback end |