whois-parser-next 0.1.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +59 -1
- data/README.md +31 -12
- data/RELEASING.md +2 -2
- data/ROADMAP.md +20 -15
- data/SECURITY.md +2 -2
- data/lib/whois/parser/version.rb +1 -1
- data/lib/whois/parsers/base_centralnic_icann.rb +12 -0
- data/lib/whois/parsers/base_cira_registry.rb +19 -0
- data/lib/whois/parsers/base_icann_compliant.rb +1 -1
- data/lib/whois/parsers/base_identity_digital.rb +12 -0
- data/lib/whois/parsers/base_jwhois.rb +48 -0
- data/lib/whois/parsers/base_nic_reserved_available.rb +17 -0
- data/lib/whois/parsers/base_reserved_registry.rb +27 -0
- data/lib/whois/parsers/base_top1000_icann.rb +39 -0
- data/lib/whois/parsers/base_top1000_retired.rb +26 -0
- data/lib/whois/parsers/base_unsupported_registry.rb +1 -1
- data/lib/whois/parsers/cwhois.cnnic.cn.rb +10 -0
- data/lib/whois/parsers/registry_response_safety.rb +2 -0
- data/lib/whois/parsers/whois.ax.rb +15 -3
- data/lib/whois/parsers/whois.cctld.uz.rb +50 -14
- data/lib/whois/parsers/whois.cnnic.cn.rb +31 -3
- data/lib/whois/parsers/whois.dominio.gq.rb +11 -0
- data/lib/whois/parsers/whois.dotukr.com.rb +23 -0
- data/lib/whois/parsers/whois.gtld.knet.cn.rb +10 -0
- data/lib/whois/parsers/whois.kyregistry.ky.rb +10 -0
- data/lib/whois/parsers/whois.madrid.rs.corenic.net.rb +8 -0
- data/lib/whois/parsers/whois.mediaserv.net.rb +9 -0
- data/lib/whois/parsers/whois.ngtld.cn.rb +8 -0
- data/lib/whois/parsers/whois.nic.academy.rb +8 -0
- data/lib/whois/parsers/whois.nic.accountant.rb +8 -0
- data/lib/whois/parsers/whois.nic.actor.rb +8 -0
- data/lib/whois/parsers/whois.nic.agency.rb +8 -0
- data/lib/whois/parsers/whois.nic.airforce.rb +8 -0
- data/lib/whois/parsers/whois.nic.amsterdam.rb +8 -0
- data/lib/whois/parsers/whois.nic.apartments.rb +8 -0
- data/lib/whois/parsers/whois.nic.army.rb +8 -0
- data/lib/whois/parsers/whois.nic.associates.rb +8 -0
- data/lib/whois/parsers/whois.nic.auction.rb +8 -0
- data/lib/whois/parsers/whois.nic.aw.rb +33 -0
- data/lib/whois/parsers/whois.nic.baby.rb +8 -0
- data/lib/whois/parsers/whois.nic.bank.rb +29 -0
- data/lib/whois/parsers/whois.nic.bar.rb +8 -0
- data/lib/whois/parsers/whois.nic.barcelona.rb +8 -0
- data/lib/whois/parsers/whois.nic.barclays.rb +8 -0
- data/lib/whois/parsers/whois.nic.bargains.rb +8 -0
- data/lib/whois/parsers/whois.nic.basketball.rb +8 -0
- data/lib/whois/parsers/whois.nic.bayern.rb +8 -0
- data/lib/whois/parsers/whois.nic.beauty.rb +8 -0
- data/lib/whois/parsers/whois.nic.beer.rb +8 -0
- data/lib/whois/parsers/whois.nic.berlin.rb +8 -0
- data/lib/whois/parsers/whois.nic.bible.rb +8 -0
- data/lib/whois/parsers/whois.nic.bid.rb +8 -0
- data/lib/whois/parsers/whois.nic.bike.rb +8 -0
- data/lib/whois/parsers/whois.nic.bingo.rb +8 -0
- data/lib/whois/parsers/whois.nic.blog.rb +34 -0
- data/lib/whois/parsers/whois.nic.bmw.rb +8 -0
- data/lib/whois/parsers/whois.nic.bond.rb +8 -0
- data/lib/whois/parsers/whois.nic.boston.rb +8 -0
- data/lib/whois/parsers/whois.nic.broker.rb +8 -0
- data/lib/whois/parsers/whois.nic.build.rb +8 -0
- data/lib/whois/parsers/whois.nic.builders.rb +8 -0
- data/lib/whois/parsers/whois.nic.buzz.rb +8 -0
- data/lib/whois/parsers/whois.nic.bzh.rb +32 -0
- data/lib/whois/parsers/whois.nic.cafe.rb +8 -0
- data/lib/whois/parsers/whois.nic.cam.rb +8 -0
- data/lib/whois/parsers/whois.nic.camera.rb +8 -0
- data/lib/whois/parsers/whois.nic.canon.rb +11 -0
- data/lib/whois/parsers/whois.nic.capital.rb +8 -0
- data/lib/whois/parsers/whois.nic.cards.rb +8 -0
- data/lib/whois/parsers/whois.nic.careers.rb +8 -0
- data/lib/whois/parsers/whois.nic.casa.rb +8 -0
- data/lib/whois/parsers/whois.nic.cash.rb +8 -0
- data/lib/whois/parsers/whois.nic.center.rb +8 -0
- data/lib/whois/parsers/whois.nic.ceo.rb +8 -0
- data/lib/whois/parsers/whois.nic.ch.rb +6 -2
- data/lib/whois/parsers/whois.nic.charity.rb +8 -0
- data/lib/whois/parsers/whois.nic.city.rb +8 -0
- data/lib/whois/parsers/whois.nic.claims.rb +8 -0
- data/lib/whois/parsers/whois.nic.cleaning.rb +8 -0
- data/lib/whois/parsers/whois.nic.coach.rb +8 -0
- data/lib/whois/parsers/whois.nic.codes.rb +8 -0
- data/lib/whois/parsers/whois.nic.coffee.rb +8 -0
- data/lib/whois/parsers/whois.nic.computer.rb +8 -0
- data/lib/whois/parsers/whois.nic.condos.rb +8 -0
- data/lib/whois/parsers/whois.nic.construction.rb +8 -0
- data/lib/whois/parsers/whois.nic.contractors.rb +8 -0
- data/lib/whois/parsers/whois.nic.cooking.rb +8 -0
- data/lib/whois/parsers/whois.nic.cool.rb +8 -0
- data/lib/whois/parsers/whois.nic.coop.rb +18 -3
- data/lib/whois/parsers/whois.nic.creditcard.rb +8 -0
- data/lib/whois/parsers/whois.nic.cruises.rb +8 -0
- data/lib/whois/parsers/whois.nic.cyou.rb +8 -0
- data/lib/whois/parsers/whois.nic.dance.rb +8 -0
- data/lib/whois/parsers/whois.nic.data.rb +8 -0
- data/lib/whois/parsers/whois.nic.deals.rb +8 -0
- data/lib/whois/parsers/whois.nic.degree.rb +8 -0
- data/lib/whois/parsers/whois.nic.democrat.rb +8 -0
- data/lib/whois/parsers/whois.nic.diamonds.rb +8 -0
- data/lib/whois/parsers/whois.nic.digital.rb +8 -0
- data/lib/whois/parsers/whois.nic.directory.rb +8 -0
- data/lib/whois/parsers/whois.nic.doctor.rb +8 -0
- data/lib/whois/parsers/whois.nic.dog.rb +8 -0
- data/lib/whois/parsers/whois.nic.dvag.rb +8 -0
- data/lib/whois/parsers/whois.nic.eco.rb +8 -0
- data/lib/whois/parsers/whois.nic.education.rb +8 -0
- data/lib/whois/parsers/whois.nic.email.rb +8 -0
- data/lib/whois/parsers/whois.nic.energy.rb +8 -0
- data/lib/whois/parsers/whois.nic.engineer.rb +8 -0
- data/lib/whois/parsers/whois.nic.equipment.rb +8 -0
- data/lib/whois/parsers/whois.nic.estate.rb +8 -0
- data/lib/whois/parsers/whois.nic.eus.rb +8 -0
- data/lib/whois/parsers/whois.nic.expert.rb +8 -0
- data/lib/whois/parsers/whois.nic.exposed.rb +8 -0
- data/lib/whois/parsers/whois.nic.express.rb +8 -0
- data/lib/whois/parsers/whois.nic.family.rb +8 -0
- data/lib/whois/parsers/whois.nic.fan.rb +8 -0
- data/lib/whois/parsers/whois.nic.fans.rb +8 -0
- data/lib/whois/parsers/whois.nic.feedback.rb +8 -0
- data/lib/whois/parsers/whois.nic.film.rb +8 -0
- data/lib/whois/parsers/whois.nic.fish.rb +8 -0
- data/lib/whois/parsers/whois.nic.fishing.rb +8 -0
- data/lib/whois/parsers/whois.nic.florist.rb +8 -0
- data/lib/whois/parsers/whois.nic.football.rb +8 -0
- data/lib/whois/parsers/whois.nic.forex.rb +8 -0
- data/lib/whois/parsers/whois.nic.foundation.rb +8 -0
- data/lib/whois/parsers/whois.nic.fox.rb +8 -0
- data/lib/whois/parsers/whois.nic.fr.rb +3 -0
- data/lib/whois/parsers/whois.nic.frl.rb +8 -0
- data/lib/whois/parsers/whois.nic.furniture.rb +8 -0
- data/lib/whois/parsers/whois.nic.futbol.rb +8 -0
- data/lib/whois/parsers/whois.nic.fyi.rb +8 -0
- data/lib/whois/parsers/whois.nic.gal.rb +8 -0
- data/lib/whois/parsers/whois.nic.gd.rb +4 -0
- data/lib/whois/parsers/whois.nic.ge.rb +74 -0
- data/lib/whois/parsers/whois.nic.gent.rb +8 -0
- data/lib/whois/parsers/whois.nic.giving.rb +8 -0
- data/lib/whois/parsers/whois.nic.glass.rb +8 -0
- data/lib/whois/parsers/whois.nic.gmbh.rb +8 -0
- data/lib/whois/parsers/whois.nic.graphics.rb +8 -0
- data/lib/whois/parsers/whois.nic.gratis.rb +8 -0
- data/lib/whois/parsers/whois.nic.guru.rb +8 -0
- data/lib/whois/parsers/whois.nic.hamburg.rb +8 -0
- data/lib/whois/parsers/whois.nic.haus.rb +8 -0
- data/lib/whois/parsers/whois.nic.holdings.rb +8 -0
- data/lib/whois/parsers/whois.nic.holiday.rb +8 -0
- data/lib/whois/parsers/whois.nic.house.rb +8 -0
- data/lib/whois/parsers/whois.nic.immo.rb +8 -0
- data/lib/whois/parsers/whois.nic.immobilien.rb +8 -0
- data/lib/whois/parsers/whois.nic.inc.rb +8 -0
- data/lib/whois/parsers/whois.nic.institute.rb +8 -0
- data/lib/whois/parsers/whois.nic.insure.rb +8 -0
- data/lib/whois/parsers/whois.nic.international.rb +8 -0
- data/lib/whois/parsers/whois.nic.jewelry.rb +8 -0
- data/lib/whois/parsers/whois.nic.kaufen.rb +8 -0
- data/lib/whois/parsers/whois.nic.kiwi.rb +8 -0
- data/lib/whois/parsers/whois.nic.kn.rb +8 -0
- data/lib/whois/parsers/whois.nic.kyoto.rb +8 -0
- data/lib/whois/parsers/whois.nic.land.rb +8 -0
- data/lib/whois/parsers/whois.nic.lat.rb +8 -0
- data/lib/whois/parsers/whois.nic.lawyer.rb +8 -0
- data/lib/whois/parsers/whois.nic.lease.rb +8 -0
- data/lib/whois/parsers/whois.nic.legal.rb +8 -0
- data/lib/whois/parsers/whois.nic.limited.rb +8 -0
- data/lib/whois/parsers/whois.nic.limo.rb +8 -0
- data/lib/whois/parsers/whois.nic.live.rb +8 -0
- data/lib/whois/parsers/whois.nic.london.rb +8 -0
- data/lib/whois/parsers/whois.nic.love.rb +8 -0
- data/lib/whois/parsers/whois.nic.luxury.rb +8 -0
- data/lib/whois/parsers/whois.nic.maison.rb +8 -0
- data/lib/whois/parsers/whois.nic.makeup.rb +8 -0
- data/lib/whois/parsers/whois.nic.man.rb +8 -0
- data/lib/whois/parsers/whois.nic.management.rb +8 -0
- data/lib/whois/parsers/whois.nic.mba.rb +8 -0
- data/lib/whois/parsers/whois.nic.media.rb +8 -0
- data/lib/whois/parsers/whois.nic.memorial.rb +8 -0
- data/lib/whois/parsers/whois.nic.men.rb +8 -0
- data/lib/whois/parsers/whois.nic.miami.rb +8 -0
- data/lib/whois/parsers/whois.nic.mobile.rb +8 -0
- data/lib/whois/parsers/whois.nic.moda.rb +8 -0
- data/lib/whois/parsers/whois.nic.moe.rb +8 -0
- data/lib/whois/parsers/whois.nic.money.rb +8 -0
- data/lib/whois/parsers/whois.nic.monster.rb +8 -0
- data/lib/whois/parsers/whois.nic.mortgage.rb +8 -0
- data/lib/whois/parsers/whois.nic.moscow.rb +8 -0
- data/lib/whois/parsers/whois.nic.museum.rb +8 -0
- data/lib/whois/parsers/whois.nic.net.sa.rb +28 -9
- data/lib/whois/parsers/whois.nic.network.rb +8 -0
- data/lib/whois/parsers/whois.nic.nrw.rb +8 -0
- data/lib/whois/parsers/whois.nic.observer.rb +8 -0
- data/lib/whois/parsers/whois.nic.okinawa.rb +17 -0
- data/lib/whois/parsers/whois.nic.ooo.rb +8 -0
- data/lib/whois/parsers/whois.nic.partners.rb +8 -0
- data/lib/whois/parsers/whois.nic.photography.rb +8 -0
- data/lib/whois/parsers/whois.nic.photos.rb +8 -0
- data/lib/whois/parsers/whois.nic.pizza.rb +8 -0
- data/lib/whois/parsers/whois.nic.place.rb +8 -0
- data/lib/whois/parsers/whois.nic.plumbing.rb +8 -0
- data/lib/whois/parsers/whois.nic.pm.rb +3 -0
- data/lib/whois/parsers/whois.nic.press.rb +8 -0
- data/lib/whois/parsers/whois.nic.properties.rb +8 -0
- data/lib/whois/parsers/whois.nic.quebec.rb +8 -0
- data/lib/whois/parsers/whois.nic.quest.rb +8 -0
- data/lib/whois/parsers/whois.nic.racing.rb +8 -0
- data/lib/whois/parsers/whois.nic.radio.rb +8 -0
- data/lib/whois/parsers/whois.nic.realty.rb +8 -0
- data/lib/whois/parsers/whois.nic.recipes.rb +8 -0
- data/lib/whois/parsers/whois.nic.reisen.rb +8 -0
- data/lib/whois/parsers/whois.nic.rent.rb +8 -0
- data/lib/whois/parsers/whois.nic.rentals.rb +8 -0
- data/lib/whois/parsers/whois.nic.republican.rb +8 -0
- data/lib/whois/parsers/whois.nic.rest.rb +8 -0
- data/lib/whois/parsers/whois.nic.restaurant.rb +8 -0
- data/lib/whois/parsers/whois.nic.review.rb +8 -0
- data/lib/whois/parsers/whois.nic.rip.rb +8 -0
- data/lib/whois/parsers/whois.nic.rodeo.rb +8 -0
- data/lib/whois/parsers/whois.nic.ruhr.rb +8 -0
- data/lib/whois/parsers/whois.nic.saarland.rb +8 -0
- data/lib/whois/parsers/whois.nic.salon.rb +8 -0
- data/lib/whois/parsers/whois.nic.sap.rb +8 -0
- data/lib/whois/parsers/whois.nic.sarl.rb +8 -0
- data/lib/whois/parsers/whois.nic.sbs.rb +8 -0
- data/lib/whois/parsers/whois.nic.schule.rb +8 -0
- data/lib/whois/parsers/whois.nic.schwarz.rb +8 -0
- data/lib/whois/parsers/whois.nic.scot.rb +8 -0
- data/lib/whois/parsers/whois.nic.security.rb +8 -0
- data/lib/whois/parsers/whois.nic.select.rb +8 -0
- data/lib/whois/parsers/whois.nic.services.rb +8 -0
- data/lib/whois/parsers/whois.nic.shoes.rb +8 -0
- data/lib/whois/parsers/whois.nic.shopping.rb +8 -0
- data/lib/whois/parsers/whois.nic.skin.rb +8 -0
- data/lib/whois/parsers/whois.nic.soccer.rb +8 -0
- data/lib/whois/parsers/whois.nic.solar.rb +8 -0
- data/lib/whois/parsers/whois.nic.sport.rb +8 -0
- data/lib/whois/parsers/whois.nic.ss.rb +36 -0
- data/lib/whois/parsers/whois.nic.storage.rb +8 -0
- data/lib/whois/parsers/whois.nic.study.rb +8 -0
- data/lib/whois/parsers/whois.nic.style.rb +8 -0
- data/lib/whois/parsers/whois.nic.support.rb +8 -0
- data/lib/whois/parsers/whois.nic.surf.rb +8 -0
- data/lib/whois/parsers/whois.nic.surgery.rb +8 -0
- data/lib/whois/parsers/whois.nic.swiss.rb +8 -0
- data/lib/whois/parsers/whois.nic.taipei.rb +8 -0
- data/lib/whois/parsers/whois.nic.tatar.rb +19 -0
- data/lib/whois/parsers/whois.nic.team.rb +8 -0
- data/lib/whois/parsers/whois.nic.tennis.rb +8 -0
- data/lib/whois/parsers/whois.nic.theater.rb +8 -0
- data/lib/whois/parsers/whois.nic.tickets.rb +8 -0
- data/lib/whois/parsers/whois.nic.tienda.rb +8 -0
- data/lib/whois/parsers/whois.nic.tips.rb +8 -0
- data/lib/whois/parsers/whois.nic.tires.rb +8 -0
- data/lib/whois/parsers/whois.nic.tirol.rb +8 -0
- data/lib/whois/parsers/whois.nic.top.rb +15 -0
- data/lib/whois/parsers/whois.nic.town.rb +8 -0
- data/lib/whois/parsers/whois.nic.toyota.rb +8 -0
- data/lib/whois/parsers/whois.nic.toys.rb +8 -0
- data/lib/whois/parsers/whois.nic.trade.rb +8 -0
- data/lib/whois/parsers/whois.nic.training.rb +8 -0
- data/lib/whois/parsers/whois.nic.university.rb +8 -0
- data/lib/whois/parsers/whois.nic.uno.rb +8 -0
- data/lib/whois/parsers/whois.nic.us.rb +30 -0
- data/lib/whois/parsers/whois.nic.vet.rb +8 -0
- data/lib/whois/parsers/whois.nic.viajes.rb +8 -0
- data/lib/whois/parsers/whois.nic.villas.rb +8 -0
- data/lib/whois/parsers/whois.nic.voyage.rb +8 -0
- data/lib/whois/parsers/whois.nic.webcam.rb +8 -0
- data/lib/whois/parsers/whois.nic.wedding.rb +8 -0
- data/lib/whois/parsers/whois.nic.wien.rb +8 -0
- data/lib/whois/parsers/whois.nic.wiki.rb +8 -0
- data/lib/whois/parsers/whois.nic.wtf.rb +8 -0
- data/lib/whois/parsers/whois.nic.xin.rb +8 -0
- data/lib/whois/parsers/whois.nic.xn--80adxhks.rb +8 -0
- data/lib/whois/parsers/whois.nic.xn--d1acj3b.rb +15 -0
- data/lib/whois/parsers/whois.nic.xn--mk1bu44c.rb +13 -0
- data/lib/whois/parsers/whois.nic.xn--t60b56a.rb +8 -0
- data/lib/whois/parsers/whois.nic.xn--tckwe.rb +39 -0
- data/lib/whois/parsers/whois.nic.yoga.rb +8 -0
- data/lib/whois/parsers/whois.nic.yokohama.rb +8 -0
- data/lib/whois/parsers/whois.nic.yt.rb +24 -0
- data/lib/whois/parsers/whois.online.rs.corenic.net.rb +8 -0
- data/lib/whois/parsers/whois.pknic.net.pk.rb +70 -0
- data/lib/whois/parsers/whois.publicinterestregistry.net.rb +8 -0
- data/lib/whois/parsers/whois.ryce-rsp.com.rb +13 -0
- data/lib/whois/parsers/whois.teleinfo.cn.rb +16 -0
- metadata +285 -1
|
@@ -27,21 +27,15 @@ module Whois
|
|
|
27
27
|
include RegistryResponseSafety
|
|
28
28
|
|
|
29
29
|
property_supported :status do
|
|
30
|
-
|
|
31
|
-
:available
|
|
32
|
-
elsif content_for_scanner.match?(/^Domain Name:\s*\S+/i)
|
|
33
|
-
:registered
|
|
34
|
-
else
|
|
35
|
-
:unknown
|
|
36
|
-
end
|
|
30
|
+
classify_status
|
|
37
31
|
end
|
|
38
32
|
|
|
39
33
|
property_supported :available? do
|
|
40
|
-
|
|
34
|
+
classify_status == :available
|
|
41
35
|
end
|
|
42
36
|
|
|
43
37
|
property_supported :registered? do
|
|
44
|
-
|
|
38
|
+
classify_status == :registered
|
|
45
39
|
end
|
|
46
40
|
|
|
47
41
|
|
|
@@ -68,6 +62,31 @@ module Whois
|
|
|
68
62
|
end
|
|
69
63
|
end
|
|
70
64
|
|
|
65
|
+
private
|
|
66
|
+
|
|
67
|
+
def classify_status
|
|
68
|
+
registered = registered_domain_names
|
|
69
|
+
absent = absence_domain_names
|
|
70
|
+
|
|
71
|
+
if registered.one? && absent.empty?
|
|
72
|
+
:registered
|
|
73
|
+
elsif absent.one? && registered.empty?
|
|
74
|
+
:available
|
|
75
|
+
else
|
|
76
|
+
:unknown
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
def registered_domain_names
|
|
81
|
+
content_for_scanner.scan(/^[ \t]*Domain Name:[ \t]*([^\s]+\.sa)[ \t]*$/i).flatten.map(&:downcase).uniq
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
def absence_domain_names
|
|
85
|
+
content_for_scanner.scan(
|
|
86
|
+
/^[ \t]*No Match for (?:domain:[ \t]*)?([^\s]+\.sa)[ \t]*$/i
|
|
87
|
+
).flatten.map(&:downcase).uniq
|
|
88
|
+
end
|
|
89
|
+
|
|
71
90
|
end
|
|
72
91
|
|
|
73
92
|
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
require_relative 'base_unsupported_registry'
|
|
2
|
+
require_relative 'registry_response_safety'
|
|
3
|
+
|
|
4
|
+
module Whois
|
|
5
|
+
class Parsers
|
|
6
|
+
# The registry retired port 43 WHOIS in favour of RDAP.
|
|
7
|
+
class WhoisNicOkinawa < BaseUnsupportedRegistry
|
|
8
|
+
include RegistryResponseSafety
|
|
9
|
+
|
|
10
|
+
def response_unavailable?
|
|
11
|
+
super || response_incomplete? || content_for_scanner.match?(
|
|
12
|
+
/^Notice: Effective .* WHOIS service has been retired\b/i
|
|
13
|
+
)
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -19,6 +19,9 @@ module Whois
|
|
|
19
19
|
# The Example parser for the list of all available methods.
|
|
20
20
|
#
|
|
21
21
|
class WhoisNicPm < BaseNicFr
|
|
22
|
+
property_supported :available? do
|
|
23
|
+
!!(content_for_scanner =~ /^(?:%% NOT FOUND|%% No entries found in the AFNIC Database\.)\s*$/i)
|
|
24
|
+
end
|
|
22
25
|
end
|
|
23
26
|
|
|
24
27
|
end
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
require_relative 'base_identity_digital'
|
|
2
|
+
module Whois
|
|
3
|
+
class Parsers
|
|
4
|
+
class WhoisNicSaarland < BaseIdentityDigital
|
|
5
|
+
self.scanner = Scanners::BaseIcannCompliant, { pattern_available: /^The queried object does not exist: DOMAIN NOT FOUND\s*$/i }
|
|
6
|
+
end
|
|
7
|
+
end
|
|
8
|
+
end
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
require_relative 'base_identity_digital'
|
|
2
|
+
module Whois
|
|
3
|
+
class Parsers
|
|
4
|
+
class WhoisNicScot < BaseIdentityDigital
|
|
5
|
+
self.scanner = Scanners::BaseIcannCompliant, { pattern_available: /^The queried object does not exist: no matching objects found\s*$/i }
|
|
6
|
+
end
|
|
7
|
+
end
|
|
8
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
require_relative 'base'
|
|
2
|
+
|
|
3
|
+
module Whois
|
|
4
|
+
class Parsers
|
|
5
|
+
# SSNIC returns an explicit no-object marker for an absent name. A
|
|
6
|
+
# prohibited string is kept unknown, not registered.
|
|
7
|
+
class WhoisNicSs < Base
|
|
8
|
+
property_supported :status do
|
|
9
|
+
if available?
|
|
10
|
+
:available
|
|
11
|
+
elsif content_for_scanner.match?(/^Domain Status:\s+Prohibited String\b/i)
|
|
12
|
+
:unknown
|
|
13
|
+
elsif registered_evidence?
|
|
14
|
+
:registered
|
|
15
|
+
else
|
|
16
|
+
:unknown
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
property_supported :available? do
|
|
21
|
+
!!content_for_scanner.match?(/^The queried object does not exist:\s*No Object Found\s*$/i)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
property_supported :registered? do
|
|
25
|
+
status == :registered
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
private
|
|
29
|
+
|
|
30
|
+
def registered_evidence?
|
|
31
|
+
content_for_scanner.match?(/^Domain Name:\s+\S+/i) &&
|
|
32
|
+
content_for_scanner.match?(/^Domain Status:\s+(?!Prohibited String\b)\S+/i)
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
require_relative 'base_identity_digital'
|
|
2
|
+
module Whois
|
|
3
|
+
class Parsers
|
|
4
|
+
class WhoisNicSwiss < BaseIdentityDigital
|
|
5
|
+
self.scanner = Scanners::BaseIcannCompliant, { pattern_available: /^The queried object does not exist: no matching objects found\s*$/i }
|
|
6
|
+
end
|
|
7
|
+
end
|
|
8
|
+
end
|