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.resData do
xml.tag!('domain:chkData', 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| @domains.each do |x|
xml.tag!('domain:cd') do xml.tag!('domain:cd') do
xml.tag!('domain:name', x[:name], 'avail' => x[:avail]) xml.tag!('domain:name', x[:name], 'avail' => x[:avail])

View file

@ -6,7 +6,8 @@ xml.epp_head do
xml.resData do xml.resData do
xml.tag!('domain:creData', 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:name', @domain.name)
xml.tag!('domain:crDate', @domain.created_at.try(:iso8601)) xml.tag!('domain:crDate', @domain.created_at.try(:iso8601))
xml.tag!('domain:exDate', @domain.valid_to.iso8601) xml.tag!('domain:exDate', @domain.valid_to.iso8601)

View file

@ -6,7 +6,8 @@ xml.epp_head do
xml.resData do xml.resData do
xml.tag! 'domain:infData', 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:name', @domain.name)
xml.tag!('domain:roid', @domain.roid) xml.tag!('domain:roid', @domain.roid)
@domain.statuses.each do |s| @domain.statuses.each do |s|

View file

@ -6,7 +6,8 @@ xml.epp_head do
xml.resData do xml.resData do
xml.tag!('domain:renData', 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:name', @domain[:name])
xml.tag!('domain:exDate', @domain.valid_to.iso8601) xml.tag!('domain:exDate', @domain.valid_to.iso8601)
end end

View file

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