diff --git a/app/controllers/epp_controller.rb b/app/controllers/epp_controller.rb
index 3eba05777..4250e0e84 100644
--- a/app/controllers/epp_controller.rb
+++ b/app/controllers/epp_controller.rb
@@ -1,5 +1,4 @@
class EppController < ApplicationController
- include Iptable
layout false
protect_from_forgery with: :null_session
skip_before_action :verify_authenticity_token
@@ -359,12 +358,6 @@ class EppController < ApplicationController
# rubocop: enable Metrics/CyclomaticComplexity
# rubocop: enable Metrics/PerceivedComplexity
- def iptables_counter_update
- return if ENV['iptables_counter_enabled'].blank? && ENV['iptables_counter_enabled'] != 'true'
- return if current_user.blank?
- counter_update(current_user.registrar_code, ENV['iptables_server_ip'])
- end
-
def resource
name = self.class.to_s.sub("Epp::","").sub("Controller","").underscore.singularize
instance_variable_get("@#{name}")
@@ -407,4 +400,26 @@ class EppController < ApplicationController
timeout = 5.minutes
epp_session.updated_at < (Time.zone.now - timeout)
end
+
+ def iptables_counter_update
+ return if ENV['iptables_counter_enabled'].blank? && ENV['iptables_counter_enabled'] != 'true'
+ return if current_user.blank?
+ counter_update(current_user.registrar_code, ENV['iptables_server_ip'])
+ end
+
+ def counter_update(registrar_code, ip)
+ counter_proc = "/proc/net/xt_recent/#{registrar_code}"
+
+ begin
+ File.open(counter_proc, 'a') do |f|
+ f.puts "+#{ip}"
+ end
+ rescue Errno::ENOENT => e
+ logger.error "IPTABLES COUNTER UPDATE: cannot open #{counter_proc}: #{e}"
+ rescue Errno::EACCES => e
+ logger.error "IPTABLES COUNTER UPDATE: no permission #{counter_proc}: #{e}"
+ rescue IOError => e
+ logger.error "IPTABLES COUNTER UPDATE: cannot write #{ip} to #{counter_proc}: #{e}"
+ end
+ end
end
diff --git a/lib/sorted_country.rb b/app/models/sorted_country.rb
similarity index 82%
rename from lib/sorted_country.rb
rename to app/models/sorted_country.rb
index 8b69d951a..e4f2ad330 100644
--- a/lib/sorted_country.rb
+++ b/app/models/sorted_country.rb
@@ -1,6 +1,3 @@
-require 'countries'
-require 'action_view'
-
class SortedCountry
class << self
include ActionView::Helpers
@@ -21,12 +18,12 @@ class SortedCountry
def quick_list
@quick_list ||=
[
- ['Estonia', 'EE'],
- ['Finland', 'FI'],
- ['Latvia', 'LV'],
- ['Lithuania', 'LT'],
+ %w[Estonia' EE],
+ %w[Finland FI],
+ %w[Latvia LV],
+ %w[Lithuania LT],
['Russian Federation', 'RU'],
- ['Sweden', 'SE'],
+ %w[Sweden SE],
['United States', 'US']
]
end
diff --git a/config/application.rb b/config/application.rb
index 0d043fa5e..400e72124 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -40,8 +40,8 @@ module DomainNameRegistry
# Autoload all model subdirs
config.autoload_paths += Dir[Rails.root.join('app', 'models', '**/')]
- config.autoload_paths << Rails.root.join('lib')
config.eager_load_paths << config.root.join('lib', 'validators')
+ config.watchable_dirs['lib'] = %i[rb]
# Add the fonts path
config.assets.paths << Rails.root.join('vendor', 'assets', 'fonts')
diff --git a/config/initializers/devise.rb b/config/initializers/devise.rb
index 3fe74cba6..eceb6d5f2 100644
--- a/config/initializers/devise.rb
+++ b/config/initializers/devise.rb
@@ -1,3 +1,5 @@
+require 'devise_custom_failure'
+
# Use this hook to configure devise mailer, warden hooks and so forth.
# Many of these configuration options can be set straight in your model.
Devise.setup do |config|
diff --git a/config/initializers/ext.rb b/config/initializers/ext.rb
new file mode 100644
index 000000000..50b8b2791
--- /dev/null
+++ b/config/initializers/ext.rb
@@ -0,0 +1,4 @@
+require 'core_ext/array'
+require 'gem_ext/builder'
+require 'gem_ext/i18n'
+require 'gem_ext/paper_trail'
\ No newline at end of file
diff --git a/config/initializers/load_class_extensions.rb b/config/initializers/load_class_extensions.rb
deleted file mode 100644
index f9fb4625c..000000000
--- a/config/initializers/load_class_extensions.rb
+++ /dev/null
@@ -1 +0,0 @@
-Dir[File.join(Rails.root, 'lib', 'ext', '*.rb')].each { |x| require x }
diff --git a/config/routes.rb b/config/routes.rb
index b06598cdc..ecb054409 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -1,4 +1,4 @@
-require 'epp_constraint'
+require_dependency 'epp_constraint'
Rails.application.routes.draw do
namespace(:epp, defaults: { format: :xml }) do
diff --git a/doc/controllers_complete.svg b/doc/controllers_complete.svg
index dcf736019..7f3644dd3 100644
--- a/doc/controllers_complete.svg
+++ b/doc/controllers_complete.svg
@@ -668,7 +668,6 @@
generate_svtrid
handle_errors
has_attribute
-iptables_counter_update
latin_only
mutually_exclusive
optional
diff --git a/config/initializers/array.rb b/lib/core_ext/array.rb
similarity index 62%
rename from config/initializers/array.rb
rename to lib/core_ext/array.rb
index b48249d27..ec280ab81 100644
--- a/config/initializers/array.rb
+++ b/lib/core_ext/array.rb
@@ -1,5 +1,5 @@
class Array
- def include_any? *args
+ def include_any?(*args)
(self & args).any?
end
end
\ No newline at end of file
diff --git a/lib/ext/xml_builder.rb b/lib/gem_ext/builder.rb
similarity index 87%
rename from lib/ext/xml_builder.rb
rename to lib/gem_ext/builder.rb
index 2c933c480..8f2945040 100644
--- a/lib/ext/xml_builder.rb
+++ b/lib/gem_ext/builder.rb
@@ -1,8 +1,6 @@
-require 'builder'
-
class Builder::XmlMarkup
def epp_head
- self.instruct!
+ instruct!
epp(
'xmlns' => 'https://epp.tld.ee/schema/epp-ee-1.0.xsd',
'xmlns:xsi' => 'http://www.w3.org/2001/XMLSchema-instance',
diff --git a/config/initializers/relaxed_i18n.rb b/lib/gem_ext/i18n.rb
similarity index 86%
rename from config/initializers/relaxed_i18n.rb
rename to lib/gem_ext/i18n.rb
index fc9b94983..2f7fceff7 100644
--- a/config/initializers/relaxed_i18n.rb
+++ b/lib/gem_ext/i18n.rb
@@ -1,5 +1,5 @@
# Don't raise error when nil
-# http://stackoverflow.com/questions/9467034/rails-i18n-how-to-handle-case-of-a-nil-date-being-passed-ie-lnil
+# http://stackoverflow.com/questions/9467034/rails-i18n-how-to-handle-case-of-a-nil-date-being-passed-ie-lnil
module I18n
class << self
alias_method :original_localize, :localize
diff --git a/config/initializers/001_paper_trail.rb b/lib/gem_ext/paper_trail.rb
similarity index 100%
rename from config/initializers/001_paper_trail.rb
rename to lib/gem_ext/paper_trail.rb
diff --git a/lib/iptable.rb b/lib/iptable.rb
deleted file mode 100644
index c41bc37f4..000000000
--- a/lib/iptable.rb
+++ /dev/null
@@ -1,17 +0,0 @@
-module Iptable
- def counter_update(registrar_code, ip)
- counter_proc = "/proc/net/xt_recent/#{registrar_code}"
-
- begin
- File.open(counter_proc, 'a') do |f|
- f.puts "+#{ip}"
- end
- rescue Errno::ENOENT => e
- logger.error "IPTABLES COUNTER UPDATE: cannot open #{counter_proc}: #{e}"
- rescue Errno::EACCES => e
- logger.error "IPTABLES COUNTER UPDATE: no permission #{counter_proc}: #{e}"
- rescue IOError => e
- logger.error "IPTABLES COUNTER UPDATE: cannot write #{ip} to #{counter_proc}: #{e}"
- end
- end
-end