refactoring

This commit is contained in:
Oleg Hasjanov 2021-06-25 15:15:56 +03:00
parent 8ef0692ca9
commit ae6bad3e73
5 changed files with 20 additions and 11 deletions

View file

@ -6,7 +6,8 @@ xml.epp_head do
xml.resData do
xml.tag!('domain:chkData',
'xmlns:domain' => Xsd::Schema.filename(for_prefix: @schema_prefix, for_version: @schema_version)) do
'xmlns:domain' => Xsd::Schema.filename(for_prefix: @schema_prefix,
for_version: @schema_version)) do
@domains.each do |x|
xml.tag!('domain:cd') do
xml.tag!('domain:name', x[:name], 'avail' => x[:avail])

View file

@ -6,7 +6,8 @@ xml.epp_head do
xml.resData do
xml.tag!('domain:creData',
'xmlns:domain' => Xsd::Schema.filename(for_prefix: @schema_prefix, for_version: @schema_version)) do
'xmlns:domain' => Xsd::Schema.filename(for_prefix: @schema_prefix,
for_version: @schema_version)) do
xml.tag!('domain:name', @domain.name)
xml.tag!('domain:crDate', @domain.created_at.try(:iso8601))
xml.tag!('domain:exDate', @domain.valid_to.iso8601)

View file

@ -6,7 +6,8 @@ xml.epp_head do
xml.resData do
xml.tag! 'domain:infData',
'xmlns:domain' => Xsd::Schema.filename(for_prefix: @schema_prefix, for_version: @schema_version) do
'xmlns:domain' => Xsd::Schema.filename(for_prefix: @schema_prefix,
for_version: @schema_version) do
xml.tag!('domain:name', @domain.name)
xml.tag!('domain:roid', @domain.roid)
@domain.statuses.each do |s|

View file

@ -6,7 +6,8 @@ xml.epp_head do
xml.resData do
xml.tag!('domain:renData',
'xmlns:domain' => Xsd::Schema.filename(for_prefix: @schema_prefix, for_version: @schema_version)) do
'xmlns:domain' => Xsd::Schema.filename(for_prefix: @schema_prefix,
for_version: @schema_version)) do
xml.tag!('domain:name', @domain[:name])
xml.tag!('domain:exDate', @domain.valid_to.iso8601)
end

View file

@ -3,8 +3,8 @@ module Xsd
SCHEMA_PATH = 'lib/schemas/'.freeze
BASE_URL = 'https://epp.tld.ee/schema/'.freeze
REGEX_PREFIX_WITH_DASH = /(?<prefix>\w+-\w+)-(?<version>\w.\w).xsd/
REGEX_PREFIX_WITHOUT_DASH = /(?<prefix>\w+)-(?<version>\w.\w).xsd/
REGEX_PREFIX_WITH_DASH = /(?<prefix>\w+-\w+)-(?<version>\w.\w).xsd/.freeze
REGEX_PREFIX_WITHOUT_DASH = /(?<prefix>\w+)-(?<version>\w.\w).xsd/.freeze
PREFIXES = %w[
domain-ee
@ -47,16 +47,21 @@ module Xsd
schemas = schemas_by_name[prefix]
schemas.each do |schema|
result = return_some(schema)
actual_schema = schema if result[:version] == @for_version
actual_schema = 'epp-ee-1.0.xsd' if result[:prefix] == 'epp-ee'
actual_schema = 'eis-1.0.xsd' if result[:prefix] == 'eis'
actual_schema = assigment_actual_version(schema)
end
actual_schema
end
def assigment_actual_version(schema)
result = return_some(schema)
actual_schema = schema if result[:version] == @for_version
actual_schema = 'epp-ee-1.0.xsd' if result[:prefix] == 'epp-ee'
actual_schema = 'eis-1.0.xsd' if result[:prefix] == 'eis'
actual_schema.to_s
end
def return_some(data)
res = data.to_s.match(REGEX_PREFIX_WITH_DASH)
res = data.to_s.match(REGEX_PREFIX_WITHOUT_DASH) if res.nil?