From 9de81b05fa5da4dadb79fc7365587829d1bf1e30 Mon Sep 17 00:00:00 2001 From: Georg Kahest Date: Sun, 9 Apr 2017 15:33:35 +0300 Subject: [PATCH 01/30] update rubocop, rubycritic, brakeman, rspec/sass-rails --- Gemfile | 10 ++--- Gemfile.lock | 109 +++++++++++++++++++-------------------------------- 2 files changed, 46 insertions(+), 73 deletions(-) diff --git a/Gemfile b/Gemfile index acdc8fff2..3c5aef8f4 100644 --- a/Gemfile +++ b/Gemfile @@ -34,7 +34,7 @@ gem 'haml-rails', '0.9.0' # haml for views gem 'nokogiri', '1.7.1' # For XML parsing # style -gem 'sass-rails', '5.0.3' # sass style +gem 'sass-rails', '5.0.6' # sass style gem 'bootstrap-sass', '3.3.5.1' # bootstrap style # js @@ -110,7 +110,7 @@ group :development do gem 'guard', '2.12.9' # run tests automatically gem 'guard-rspec', '4.5.2' gem 'guard-rails', '0.7.1' # run EPP server automatically - gem 'rubocop', '0.32.1' + gem 'rubocop', '0.48.1' gem 'guard-rubocop', '1.2.0' # deploy @@ -119,7 +119,7 @@ end group :development, :test do # test stack - gem 'rspec-rails', '3.5.0' + gem 'rspec-rails', '3.5.2' gem 'capybara', '2.4.4' gem 'phantomjs-binaries', '1.9.2.4' gem 'poltergeist', '1.6.0' # We are using PhantomJS instead @@ -132,12 +132,12 @@ group :development, :test do # code review gem 'simplecov', '0.10.0', require: false - gem 'rubycritic', '1.4.0' + gem 'rubycritic', '3.2.0' gem 'bullet', '4.14.7' # for finding database optimizations gem 'bundler-audit', github: 'rubysec/bundler-audit', ref: 'f89ef7fae1090bbad825ea76812d56d72b417055' # for finding future vulnerable gems - gem 'brakeman', '3.0.5', require: false # for security audit' + gem 'brakeman', '3.6.1', require: false # for security audit' # tmp, otherwise conflics with breakman # gem 'html2haml', github: 'haml/html2haml', ref: '6984f50bdbbd6291535027726a5697f28778ee8d' gem 'html2haml', '2.1.0' diff --git a/Gemfile.lock b/Gemfile.lock index 991fc5d2d..a9879fc01 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -57,7 +57,6 @@ GEM remote: https://rubygems.org/ specs: SyslogLogger (2.0) - abstract_type (0.0.7) actionmailer (4.2.7.1) actionpack (= 4.2.7.1) actionview (= 4.2.7.1) @@ -95,9 +94,6 @@ GEM minitest (~> 5.1) thread_safe (~> 0.3, >= 0.3.4) tzinfo (~> 1.1) - adamantium (0.2.0) - ice_nine (~> 0.11.0) - memoizable (~> 0.4.0) addressable (2.5.1) public_suffix (~> 2.0, >= 2.0.2) airbrake (6.0.0) @@ -108,8 +104,6 @@ GEM nokogiri arel (6.0.4) ast (2.3.0) - astrolabe (1.3.1) - parser (~> 2.2) autodoc (0.6.0) actionpack activesupport (>= 3.0.0) @@ -126,16 +120,7 @@ GEM bootstrap-sass (3.3.5.1) autoprefixer-rails (>= 5.0.0.1) sass (>= 3.3.0) - brakeman (3.0.5) - erubis (~> 2.6) - fastercsv (~> 1.5) - haml (>= 3.0, < 5.0) - highline (~> 1.6.20) - multi_json (~> 1.2) - ruby2ruby (~> 2.1.1) - ruby_parser (~> 3.7.0) - sass (~> 3.0) - terminal-table (~> 1.4) + brakeman (3.6.1) builder (3.2.3) bullet (4.14.7) activesupport (>= 3.0.0) @@ -149,6 +134,8 @@ GEM xpath (~> 2.0) chronic (0.10.2) cliver (0.3.2) + codeclimate-engine-rb (0.4.0) + virtus (~> 1.0) coderay (1.1.0) coercible (1.0.0) descendants_tracker (~> 0.0.1) @@ -159,9 +146,6 @@ GEM coffee-script-source execjs coffee-script-source (1.12.2) - concord (0.1.5) - adamantium (~> 0.2.0) - equalizer (~> 0.0.9) concurrent-ruby (1.0.5) countries (0.11.4) currencies (~> 0.4.2) @@ -185,7 +169,7 @@ GEM responders thread_safe (~> 0.1) warden (~> 1.2.3) - diff-lcs (1.2.5) + diff-lcs (1.3) digidoc_client (0.2.1) crack (>= 0.1.8) httpclient (>= 2.3.4) @@ -204,16 +188,18 @@ GEM factory_girl_rails (4.8.0) factory_girl (~> 4.8.0) railties (>= 3.0.0) - fastercsv (1.5.5) ffi (1.9.18) figaro (1.1.1) thor (~> 0.14) - flay (2.4.0) + flay (2.8.1) + erubis (~> 2.7.0) + path_expander (~> 1.0) ruby_parser (~> 3.0) sexp_processor (~> 4.0) - flog (4.2.1) + flog (4.6.1) + path_expander (~> 1.0) ruby_parser (~> 3.1, > 3.1.0) - sexp_processor (~> 4.4) + sexp_processor (~> 4.8) formatador (0.2.5) globalid (0.3.7) activesupport (>= 4.1.0) @@ -261,7 +247,6 @@ GEM hashie (3.5.5) hashie-forbidden_attributes (0.1.1) hashie (>= 3.0) - highline (1.6.21) hpricot (0.8.6) html2haml (2.1.0) erubis (~> 2.7.0) @@ -311,8 +296,6 @@ GEM lumberjack (1.0.11) mail (2.6.4) mime-types (>= 1.16, < 4) - memoizable (0.4.2) - thread_safe (~> 0.3, >= 0.3.1) method_source (0.8.2) mime-types (3.1) mime-types-data (~> 3.2015) @@ -344,8 +327,9 @@ GEM nprogress-rails (0.1.6.7) open4 (1.3.4) orm_adapter (0.5.0) - parser (2.2.3.0) - ast (>= 1.1, < 3.0) + parser (2.4.0.0) + ast (~> 2.2) + path_expander (1.0.1) pdfkit (0.6.2) pg (0.19.0) phantomjs (1.9.8.0) @@ -359,7 +343,6 @@ GEM polyamorous (1.3.1) activerecord (>= 3.0) powerpack (0.1.1) - procto (0.0.3) pry (0.10.1) coderay (~> 1.1.0) method_source (~> 0.8.1) @@ -419,10 +402,10 @@ GEM rb-inotify (0.9.8) ffi (>= 0.5.0) rdoc (4.3.0) - reek (1.6.5) - parser (~> 2.2.0.pre.7) - rainbow (>= 1.99, < 3.0) - unparser (~> 0.2.2) + reek (4.6.1) + codeclimate-engine-rb (~> 0.4.0) + parser (>= 2.3.1.2, < 2.5) + rainbow (~> 2.0) ref (2.0.0) request_store (1.1.0) responders (2.3.0) @@ -443,7 +426,7 @@ GEM rspec-mocks (3.5.0) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.5.0) - rspec-rails (3.5.0) + rspec-rails (3.5.2) actionpack (>= 3.0) activesupport (>= 3.0) railties (>= 3.0) @@ -452,33 +435,33 @@ GEM rspec-mocks (~> 3.5.0) rspec-support (~> 3.5.0) rspec-support (3.5.0) - rubocop (0.32.1) - astrolabe (~> 1.3) - parser (>= 2.2.2.5, < 3.0) + rubocop (0.48.1) + parser (>= 2.3.3.1, < 3.0) powerpack (~> 0.1) rainbow (>= 1.99.1, < 3.0) - ruby-progressbar (~> 1.4) + ruby-progressbar (~> 1.7) + unicode-display_width (~> 1.0, >= 1.0.1) ruby-progressbar (1.8.1) - ruby2ruby (2.1.4) - ruby_parser (~> 3.1) - sexp_processor (~> 4.0) ruby_dep (1.5.0) - ruby_parser (3.7.3) + ruby_parser (3.8.4) sexp_processor (~> 4.1) - rubycritic (1.4.0) - flay (= 2.4.0) - flog (= 4.2.1) - parser (>= 2.2.0, < 3.0) - reek (= 1.6.5) + rubycritic (3.2.0) + flay (~> 2.8) + flog (~> 4.4) + launchy (= 2.4.3) + parser (= 2.4.0) + rainbow (~> 2.1) + reek (~> 4.4) + ruby_parser (~> 3.8) virtus (~> 1.0) safe_yaml (1.0.4) sass (3.4.23) - sass-rails (5.0.3) - railties (>= 4.0.0, < 5.0) + sass-rails (5.0.6) + railties (>= 4.0.0, < 6) sass (~> 3.1) sprockets (>= 2.8, < 4.0) sprockets-rails (>= 2.0, < 4.0) - tilt (~> 1.1) + tilt (>= 1.1, < 3) savon (2.11.1) akami (~> 1.2) builder (>= 2.1.2) @@ -519,8 +502,6 @@ GEM sprockets (>= 3.0.0) sys-uname (0.9.0) ffi (>= 1.0.0) - terminal-table (1.7.3) - unicode-display_width (~> 1.1.1) therubyracer (0.12.2) libv8 (~> 3.16.14.0) ref @@ -537,19 +518,11 @@ GEM unf (0.1.4) unf_ext unf_ext (0.0.7.2) - unicode-display_width (1.1.3) + unicode-display_width (1.2.0) unicorn (5.3.0) kgio (~> 2.6) raindrops (~> 0.7) uniform_notifier (1.9.0) - unparser (0.2.4) - abstract_type (~> 0.0.7) - adamantium (~> 0.2.0) - concord (~> 0.1.5) - diff-lcs (~> 1.2.5) - equalizer (~> 0.0.9) - parser (~> 2.2.2) - procto (~> 0.0.2) uuidtools (2.1.5) validates_email_format_of (1.6.3) i18n @@ -585,7 +558,7 @@ DEPENDENCIES autodoc bootstrap-datepicker-rails (= 1.3.1.1) bootstrap-sass (= 3.3.5.1) - brakeman (= 3.0.5) + brakeman (= 3.6.1) bullet (= 4.14.7) bundler-audit! cancancan (= 1.11.0) @@ -641,10 +614,10 @@ DEPENDENCIES rails-settings-cached (= 0.4.1) ransack (= 1.5.1) rest-client - rspec-rails (= 3.5.0) - rubocop (= 0.32.1) - rubycritic (= 1.4.0) - sass-rails (= 5.0.3) + rspec-rails (= 3.5.2) + rubocop (= 0.48.1) + rubycritic (= 3.2.0) + sass-rails (= 5.0.6) sdoc (= 0.4.1) select2-rails (= 3.5.9.3) selectize-rails (= 0.12.1) @@ -662,4 +635,4 @@ DEPENDENCIES whenever (= 0.9.4) BUNDLED WITH - 1.13.6 + 1.14.6 From 3d16656e177455820f1faa6fc9da2d5acf704e67 Mon Sep 17 00:00:00 2001 From: Georg Kahest Date: Sun, 9 Apr 2017 15:53:48 +0300 Subject: [PATCH 02/30] update money-rails, countries and digidoc_client --- Gemfile | 6 +++--- Gemfile.lock | 34 +++++++++++++++++++--------------- 2 files changed, 22 insertions(+), 18 deletions(-) diff --git a/Gemfile b/Gemfile index 3c5aef8f4..f4dbae4c5 100644 --- a/Gemfile +++ b/Gemfile @@ -66,7 +66,7 @@ gem 'jbuilder', '2.2.16' # json api # registry specfic gem 'simpleidn', '0.0.7' # For punycode gem 'isikukood' # for EE-id validation -gem 'money-rails', '1.4.1' +gem 'money-rails', '1.8.0' # deploy gem 'whenever', '0.9.4', require: false @@ -75,13 +75,13 @@ gem 'data_migrate', ref: '35d22b09ff37a4e9d61ab326ad5d8eb0edf1fc81' # country listing -gem 'countries', '0.11.4' +gem 'countries', '2.0.8' # cloning activerecord objects gem 'deep_cloneable', '2.1.1' # id + mid login -gem 'digidoc_client', '0.2.1' +gem 'digidoc_client', '0.3.0' gem 'epp', '1.5.0', github: 'internetee/epp' gem 'epp-xml', '1.1.0', github: 'internetee/epp-xml' diff --git a/Gemfile.lock b/Gemfile.lock index a9879fc01..5e761d7f7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -147,12 +147,13 @@ GEM execjs coffee-script-source (1.12.2) concurrent-ruby (1.0.5) - countries (0.11.4) - currencies (~> 0.4.2) + countries (2.0.8) i18n_data (~> 0.7.0) + money (~> 6.7) + sixarm_ruby_unaccent (~> 1.1) + unicode_utils (~> 1.4) crack (0.4.3) safe_yaml (~> 1.0.0) - currencies (0.4.2) daemons (1.2.4) daemons-rails (1.2.1) daemons @@ -170,7 +171,7 @@ GEM thread_safe (~> 0.1) warden (~> 1.2.3) diff-lcs (1.3) - digidoc_client (0.2.1) + digidoc_client (0.3.0) crack (>= 0.1.8) httpclient (>= 2.3.4) mime-types (>= 1.16) @@ -260,7 +261,7 @@ GEM httpi (2.4.2) rack socksify - i18n (0.7.0) + i18n (0.8.1) i18n_data (0.7.0) ice_nine (0.11.2) isikukood (0.1.2) @@ -305,14 +306,15 @@ GEM rake mini_portile2 (2.1.0) minitest (5.10.1) - monetize (1.1.0) - money (~> 6.5.0) - money (6.5.1) - i18n (>= 0.6.4, <= 0.7.0) - money-rails (1.4.1) + monetize (1.6.0) + money (~> 6.8) + money (6.8.3) + i18n (>= 0.6.4, < 0.9) + sixarm_ruby_unaccent (>= 1.1.1, < 2) + money-rails (1.8.0) activesupport (>= 3.0) - monetize (~> 1.1.0) - money (~> 6.5.0) + monetize (~> 1.6.0) + money (~> 6.8.1) railties (>= 3.0) multi_json (1.12.1) multi_xml (0.6.0) @@ -488,6 +490,7 @@ GEM rack (~> 1.5) rack-protection (~> 1.4) tilt (>= 1.3, < 3) + sixarm_ruby_unaccent (1.1.1) slop (3.6.0) socksify (1.7.1) spring (1.3.6) @@ -519,6 +522,7 @@ GEM unf_ext unf_ext (0.0.7.2) unicode-display_width (1.2.0) + unicode_utils (1.4.0) unicorn (5.3.0) kgio (~> 2.6) raindrops (~> 0.7) @@ -565,13 +569,13 @@ DEPENDENCIES capybara (= 2.4.4) coderay (= 1.1.0) coffee-rails (= 4.1.0) - countries (= 0.11.4) + countries (= 2.0.8) daemons-rails (= 1.2.1) data_migrate! database_cleaner deep_cloneable (= 2.1.1) devise (= 3.5.4) - digidoc_client (= 0.2.1) + digidoc_client (= 0.3.0) epp (= 1.5.0)! epp-xml (= 1.1.0)! fabrication (= 2.13.2) @@ -596,7 +600,7 @@ DEPENDENCIES launchy (= 2.4.3) liquid (= 3.0.6) mina (= 0.3.1) - money-rails (= 1.4.1) + money-rails (= 1.8.0) nokogiri (= 1.7.1) nprogress-rails (= 0.1.6.7) paper_trail! From 1a3a424c537457468ab8e0809cba3160b93b9f63 Mon Sep 17 00:00:00 2001 From: Georg Kahest Date: Sun, 9 Apr 2017 16:16:06 +0300 Subject: [PATCH 03/30] try digidoc master --- Gemfile | 6 +++++- Gemfile.lock | 20 +++++++++++++------- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/Gemfile b/Gemfile index f4dbae4c5..3d251e351 100644 --- a/Gemfile +++ b/Gemfile @@ -81,7 +81,11 @@ gem 'countries', '2.0.8' gem 'deep_cloneable', '2.1.1' # id + mid login -gem 'digidoc_client', '0.3.0' +#gem 'digidoc_client', '0.3.0' +gem 'digidoc_client', + github: 'tarmotalu/digidoc_client', + ref: '1645e83a5a548addce383f75703b0275c5310c32' + gem 'epp', '1.5.0', github: 'internetee/epp' gem 'epp-xml', '1.1.0', github: 'internetee/epp-xml' diff --git a/Gemfile.lock b/Gemfile.lock index 5e761d7f7..d31e03a11 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -53,6 +53,18 @@ GIT bundler (~> 1.2) thor (~> 0.18) +GIT + remote: https://github.com/tarmotalu/digidoc_client.git + revision: 1645e83a5a548addce383f75703b0275c5310c32 + ref: 1645e83a5a548addce383f75703b0275c5310c32 + specs: + digidoc_client (0.3.0) + crack (>= 0.1.8) + httpclient (>= 2.3.4) + mime-types (>= 1.16) + nokogiri (>= 1.4.0) + savon (>= 2.4.0) + GEM remote: https://rubygems.org/ specs: @@ -171,12 +183,6 @@ GEM thread_safe (~> 0.1) warden (~> 1.2.3) diff-lcs (1.3) - digidoc_client (0.3.0) - crack (>= 0.1.8) - httpclient (>= 2.3.4) - mime-types (>= 1.16) - nokogiri (>= 1.4.0) - savon (>= 2.4.0) docile (1.1.5) domain_name (0.5.20170404) unf (>= 0.0.5, < 1.0.0) @@ -575,7 +581,7 @@ DEPENDENCIES database_cleaner deep_cloneable (= 2.1.1) devise (= 3.5.4) - digidoc_client (= 0.3.0) + digidoc_client! epp (= 1.5.0)! epp-xml (= 1.1.0)! fabrication (= 2.13.2) From 12d80ce2cc1197fbec577b9614fee7f5be9e2213 Mon Sep 17 00:00:00 2001 From: Georg Kahest Date: Sun, 9 Apr 2017 16:34:50 +0300 Subject: [PATCH 04/30] follow digidoc git master, disable digidoc initializer --- Gemfile | 2 +- config/initializers/digidoc.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile b/Gemfile index 3d251e351..28549ba7c 100644 --- a/Gemfile +++ b/Gemfile @@ -84,7 +84,7 @@ gem 'deep_cloneable', '2.1.1' #gem 'digidoc_client', '0.3.0' gem 'digidoc_client', github: 'tarmotalu/digidoc_client', - ref: '1645e83a5a548addce383f75703b0275c5310c32' + branch: 'master' gem 'epp', '1.5.0', github: 'internetee/epp' diff --git a/config/initializers/digidoc.rb b/config/initializers/digidoc.rb index 2b103f750..0090c420d 100644 --- a/config/initializers/digidoc.rb +++ b/config/initializers/digidoc.rb @@ -1 +1 @@ -Digidoc::Client.logger = Rails.application.config.logger +#Digidoc::Client.logger = Rails.application.config.logger From 1a315363df41fc9800e49b22ff5d8bcd6b5a4a29 Mon Sep 17 00:00:00 2001 From: Georg Kahest Date: Sun, 9 Apr 2017 16:45:06 +0300 Subject: [PATCH 05/30] use new Cops syntax, ignore example files --- .rubocop.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index c9689567c..da8ac641f 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,10 +1,12 @@ AllCops: - RunRailsCops: true - - Exclude: + Rails: + Enabled: True + Exclude: - 'Guardfile' # stuff generated by AR and rails - 'config/deploy-example.rb' + - 'config/environments/development-example.rb' + - 'config/environments/staging-example.rb' - 'db/schema.rb' - 'db/schema-read-only.rb' - 'db/whois_schema.rb' From c92185ccb581cd54f78707969ae5e45ca5b9e6d0 Mon Sep 17 00:00:00 2001 From: Georg Kahest Date: Sun, 9 Apr 2017 16:59:46 +0300 Subject: [PATCH 06/30] move back to 1.x countries --- Gemfile | 3 ++- Gemfile.lock | 12 +++++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/Gemfile b/Gemfile index 28549ba7c..7a02ebb7a 100644 --- a/Gemfile +++ b/Gemfile @@ -75,7 +75,8 @@ gem 'data_migrate', ref: '35d22b09ff37a4e9d61ab326ad5d8eb0edf1fc81' # country listing -gem 'countries', '2.0.8' +#gem 'countries', '2.0.8' +gem 'countries', '1.2.5' # cloning activerecord objects gem 'deep_cloneable', '2.1.1' diff --git a/Gemfile.lock b/Gemfile.lock index d31e03a11..f0899e38b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -56,7 +56,7 @@ GIT GIT remote: https://github.com/tarmotalu/digidoc_client.git revision: 1645e83a5a548addce383f75703b0275c5310c32 - ref: 1645e83a5a548addce383f75703b0275c5310c32 + branch: master specs: digidoc_client (0.3.0) crack (>= 0.1.8) @@ -159,13 +159,12 @@ GEM execjs coffee-script-source (1.12.2) concurrent-ruby (1.0.5) - countries (2.0.8) + countries (1.2.5) + currencies (~> 0.4.2) i18n_data (~> 0.7.0) - money (~> 6.7) - sixarm_ruby_unaccent (~> 1.1) - unicode_utils (~> 1.4) crack (0.4.3) safe_yaml (~> 1.0.0) + currencies (0.4.2) daemons (1.2.4) daemons-rails (1.2.1) daemons @@ -528,7 +527,6 @@ GEM unf_ext unf_ext (0.0.7.2) unicode-display_width (1.2.0) - unicode_utils (1.4.0) unicorn (5.3.0) kgio (~> 2.6) raindrops (~> 0.7) @@ -575,7 +573,7 @@ DEPENDENCIES capybara (= 2.4.4) coderay (= 1.1.0) coffee-rails (= 4.1.0) - countries (= 2.0.8) + countries (= 1.2.5) daemons-rails (= 1.2.1) data_migrate! database_cleaner From 1444590b1b34c847677c4bc768f6ee60f4686569 Mon Sep 17 00:00:00 2001 From: Georg Kahest Date: Sun, 9 Apr 2017 17:12:38 +0300 Subject: [PATCH 07/30] require countries/global --- Gemfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile b/Gemfile index 7a02ebb7a..bbc463b1a 100644 --- a/Gemfile +++ b/Gemfile @@ -76,7 +76,7 @@ gem 'data_migrate', # country listing #gem 'countries', '2.0.8' -gem 'countries', '1.2.5' +gem 'countries', '1.2.5', :require => 'countries/global' # cloning activerecord objects gem 'deep_cloneable', '2.1.1' From e5d7c6c740bd564365b98b2dd746742c33683ac1 Mon Sep 17 00:00:00 2001 From: Georg Kahest Date: Sun, 9 Apr 2017 17:37:28 +0300 Subject: [PATCH 08/30] fix sorted_country --- .rubocop.yml | 2 -- lib/sorted_country.rb | 6 +++--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index da8ac641f..0857a9120 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,6 +1,4 @@ AllCops: - Rails: - Enabled: True Exclude: - 'Guardfile' # stuff generated by AR and rails diff --git a/lib/sorted_country.rb b/lib/sorted_country.rb index 1fc514d3f..e831c007b 100644 --- a/lib/sorted_country.rb +++ b/lib/sorted_country.rb @@ -32,12 +32,12 @@ class SortedCountry end def all_sorted - @all_sorted ||= Country.all.sort_by { |name, _code| name.first } + @all_sorted ||= Country.all.sort_by(&:name) end def all_sorted_truncated - @all_sorted_truncated ||= - all_sorted.map { |name, code| [truncate(name, length: 26), code] } + @all_sorted_truncated ||= + all_sorted.map { |country| [truncate(name, length: 26), country.alpha2] } end end end From 20b521576904072393bac046f8d387c0d84181c9 Mon Sep 17 00:00:00 2001 From: Georg Kahest Date: Sun, 9 Apr 2017 17:52:37 +0300 Subject: [PATCH 09/30] use latest countries --- Gemfile | 3 +-- Gemfile.lock | 10 ++++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/Gemfile b/Gemfile index bbc463b1a..5f973598e 100644 --- a/Gemfile +++ b/Gemfile @@ -75,8 +75,7 @@ gem 'data_migrate', ref: '35d22b09ff37a4e9d61ab326ad5d8eb0edf1fc81' # country listing -#gem 'countries', '2.0.8' -gem 'countries', '1.2.5', :require => 'countries/global' +gem 'countries', :require => 'countries/global' # cloning activerecord objects gem 'deep_cloneable', '2.1.1' diff --git a/Gemfile.lock b/Gemfile.lock index f0899e38b..27375b23a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -159,12 +159,13 @@ GEM execjs coffee-script-source (1.12.2) concurrent-ruby (1.0.5) - countries (1.2.5) - currencies (~> 0.4.2) + countries (2.0.8) i18n_data (~> 0.7.0) + money (~> 6.7) + sixarm_ruby_unaccent (~> 1.1) + unicode_utils (~> 1.4) crack (0.4.3) safe_yaml (~> 1.0.0) - currencies (0.4.2) daemons (1.2.4) daemons-rails (1.2.1) daemons @@ -527,6 +528,7 @@ GEM unf_ext unf_ext (0.0.7.2) unicode-display_width (1.2.0) + unicode_utils (1.4.0) unicorn (5.3.0) kgio (~> 2.6) raindrops (~> 0.7) @@ -573,7 +575,7 @@ DEPENDENCIES capybara (= 2.4.4) coderay (= 1.1.0) coffee-rails (= 4.1.0) - countries (= 1.2.5) + countries daemons-rails (= 1.2.1) data_migrate! database_cleaner From 353d4b74f775c9b2a279aaff59f2b3682953407f Mon Sep 17 00:00:00 2001 From: Georg Kahest Date: Sun, 9 Apr 2017 18:09:42 +0300 Subject: [PATCH 10/30] add .reek config file --- .reek | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .reek diff --git a/.reek b/.reek new file mode 100644 index 000000000..d94291666 --- /dev/null +++ b/.reek @@ -0,0 +1,3 @@ +exclude_paths: + - db/migrate/ + - db/data/ From bc737f064aa614125fa321f461ee74a95bc14682 Mon Sep 17 00:00:00 2001 From: Georg Kahest Date: Sun, 9 Apr 2017 18:59:21 +0300 Subject: [PATCH 11/30] use latest money-rails --- Gemfile | 2 +- Gemfile.lock | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile b/Gemfile index 5f973598e..d570ed721 100644 --- a/Gemfile +++ b/Gemfile @@ -66,7 +66,7 @@ gem 'jbuilder', '2.2.16' # json api # registry specfic gem 'simpleidn', '0.0.7' # For punycode gem 'isikukood' # for EE-id validation -gem 'money-rails', '1.8.0' +gem 'money-rails' # deploy gem 'whenever', '0.9.4', require: false diff --git a/Gemfile.lock b/Gemfile.lock index 27375b23a..f49dab70d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -606,7 +606,7 @@ DEPENDENCIES launchy (= 2.4.3) liquid (= 3.0.6) mina (= 0.3.1) - money-rails (= 1.8.0) + money-rails nokogiri (= 1.7.1) nprogress-rails (= 0.1.6.7) paper_trail! From d1d3480546c2beeb9080d2136bc0c1abcafd3fe9 Mon Sep 17 00:00:00 2001 From: Georg Kahest Date: Sun, 9 Apr 2017 19:53:22 +0300 Subject: [PATCH 12/30] fix typo #306 --- doc/epp/contact.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/epp/contact.md b/doc/epp/contact.md index dbfdc893f..3ec314b9e 100644 --- a/doc/epp/contact.md +++ b/doc/epp/contact.md @@ -39,7 +39,7 @@ More info: https://en.wikipedia.org/wiki/Latin_script_in_Unicode 1 Contact identificator Attribute: "type" "org" # Business registry code - "priv" # National idendtification number + "priv" # National identification number "birthday" # Birthday date in format in YYYY-MM-DD Attribute: "cc" "EE" # Country code in ISO_3166-1 aplha 2 @@ -76,7 +76,7 @@ More info: https://en.wikipedia.org/wiki/Latin_script_in_Unicode 0-1 Contact identificator Attribute: "type" "org" # Business registry code - "priv" # National idendtification number + "priv" # National identification number "birthday" # Birthday date in format in YYYY-MM-DD Attribute: "cc" "EE" # Country code in ISO_3166-1 aplha 2 From dc33d1aff3851bf6a9a02fb5bb4092b7731d1d8e Mon Sep 17 00:00:00 2001 From: Georg Kahest Date: Sun, 9 Apr 2017 20:35:39 +0300 Subject: [PATCH 13/30] codeclimate configuration --- .codeclimate.yml | 45 ++++++++ .csslintrc | 2 + .eslintignore | 1 + .eslintrc.yml | 277 +++++++++++++++++++++++++++++++++++++++++++++++ coffeelint.json | 129 ++++++++++++++++++++++ 5 files changed, 454 insertions(+) create mode 100644 .codeclimate.yml create mode 100644 .csslintrc create mode 100644 .eslintignore create mode 100644 .eslintrc.yml create mode 100644 coffeelint.json diff --git a/.codeclimate.yml b/.codeclimate.yml new file mode 100644 index 000000000..99383daf4 --- /dev/null +++ b/.codeclimate.yml @@ -0,0 +1,45 @@ +--- +engines: + brakeman: + enabled: true + bundler-audit: + enabled: true + csslint: + enabled: true + coffeelint: + enabled: true + duplication: + enabled: true + config: + languages: + - ruby + - javascript + - python + - php + eslint: + enabled: true + fixme: + enabled: true + rubocop: + enabled: true +ratings: + paths: + - Gemfile.lock + - "**.erb" + - "**.haml" + - "**.rb" + - "**.rhtml" + - "**.slim" + - "**.css" + - "**.coffee" + - "**.inc" + - "**.js" + - "**.jsx" + - "**.module" + - "**.php" + - "**.py" +exclude_paths: +- config/ +- db/ +- spec/ +- vendor/ diff --git a/.csslintrc b/.csslintrc new file mode 100644 index 000000000..aacba956e --- /dev/null +++ b/.csslintrc @@ -0,0 +1,2 @@ +--exclude-exts=.min.css +--ignore=adjoining-classes,box-model,ids,order-alphabetical,unqualified-attributes diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 000000000..96212a359 --- /dev/null +++ b/.eslintignore @@ -0,0 +1 @@ +**/*{.,-}min.js diff --git a/.eslintrc.yml b/.eslintrc.yml new file mode 100644 index 000000000..a6a0ce9c4 --- /dev/null +++ b/.eslintrc.yml @@ -0,0 +1,277 @@ +--- +parserOptions: + sourceType: module + ecmaFeatures: + jsx: true + +env: + amd: true + browser: true + es6: true + jquery: true + node: true + +# http://eslint.org/docs/rules/ +rules: + # Possible Errors + no-await-in-loop: off + no-cond-assign: error + no-console: off + no-constant-condition: error + no-control-regex: error + no-debugger: error + no-dupe-args: error + no-dupe-keys: error + no-duplicate-case: error + no-empty-character-class: error + no-empty: error + no-ex-assign: error + no-extra-boolean-cast: error + no-extra-parens: off + no-extra-semi: error + no-func-assign: error + no-inner-declarations: + - error + - functions + no-invalid-regexp: error + no-irregular-whitespace: error + no-negated-in-lhs: error + no-obj-calls: error + no-prototype-builtins: off + no-regex-spaces: error + no-sparse-arrays: error + no-template-curly-in-string: off + no-unexpected-multiline: error + no-unreachable: error + no-unsafe-finally: off + no-unsafe-negation: off + use-isnan: error + valid-jsdoc: off + valid-typeof: error + + # Best Practices + accessor-pairs: error + array-callback-return: off + block-scoped-var: off + class-methods-use-this: off + complexity: + - error + - 6 + consistent-return: off + curly: off + default-case: off + dot-location: off + dot-notation: off + eqeqeq: error + guard-for-in: error + no-alert: error + no-caller: error + no-case-declarations: error + no-div-regex: error + no-else-return: off + no-empty-function: off + no-empty-pattern: error + no-eq-null: error + no-eval: error + no-extend-native: error + no-extra-bind: error + no-extra-label: off + no-fallthrough: error + no-floating-decimal: off + no-global-assign: off + no-implicit-coercion: off + no-implied-eval: error + no-invalid-this: off + no-iterator: error + no-labels: + - error + - allowLoop: true + allowSwitch: true + no-lone-blocks: error + no-loop-func: error + no-magic-number: off + no-multi-spaces: off + no-multi-str: off + no-native-reassign: error + no-new-func: error + no-new-wrappers: error + no-new: error + no-octal-escape: error + no-octal: error + no-param-reassign: off + no-proto: error + no-redeclare: error + no-restricted-properties: off + no-return-assign: error + no-return-await: off + no-script-url: error + no-self-assign: off + no-self-compare: error + no-sequences: off + no-throw-literal: off + no-unmodified-loop-condition: off + no-unused-expressions: error + no-unused-labels: off + no-useless-call: error + no-useless-concat: error + no-useless-escape: off + no-useless-return: off + no-void: error + no-warning-comments: off + no-with: error + prefer-promise-reject-errors: off + radix: error + require-await: off + vars-on-top: off + wrap-iife: error + yoda: off + + # Strict + strict: off + + # Variables + init-declarations: off + no-catch-shadow: error + no-delete-var: error + no-label-var: error + no-restricted-globals: off + no-shadow-restricted-names: error + no-shadow: off + no-undef-init: error + no-undef: off + no-undefined: off + no-unused-vars: off + no-use-before-define: off + + # Node.js and CommonJS + callback-return: error + global-require: error + handle-callback-err: error + no-mixed-requires: off + no-new-require: off + no-path-concat: error + no-process-env: off + no-process-exit: error + no-restricted-modules: off + no-sync: off + + # Stylistic Issues + array-bracket-spacing: off + block-spacing: off + brace-style: off + camelcase: off + capitalized-comments: off + comma-dangle: + - error + - never + comma-spacing: off + comma-style: off + computed-property-spacing: off + consistent-this: off + eol-last: off + func-call-spacing: off + func-name-matching: off + func-names: off + func-style: off + id-length: off + id-match: off + indent: off + jsx-quotes: off + key-spacing: off + keyword-spacing: off + line-comment-position: off + linebreak-style: off + lines-around-comment: off + lines-around-directive: off + max-depth: off + max-len: off + max-nested-callbacks: off + max-params: off + max-statements-per-line: off + max-statements: + - error + - 30 + multiline-ternary: off + new-cap: off + new-parens: off + newline-after-var: off + newline-before-return: off + newline-per-chained-call: off + no-array-constructor: off + no-bitwise: off + no-continue: off + no-inline-comments: off + no-lonely-if: off + no-mixed-operators: off + no-mixed-spaces-and-tabs: off + no-multi-assign: off + no-multiple-empty-lines: off + no-negated-condition: off + no-nested-ternary: off + no-new-object: off + no-plusplus: off + no-restricted-syntax: off + no-spaced-func: off + no-tabs: off + no-ternary: off + no-trailing-spaces: off + no-underscore-dangle: off + no-unneeded-ternary: off + object-curly-newline: off + object-curly-spacing: off + object-property-newline: off + one-var-declaration-per-line: off + one-var: off + operator-assignment: off + operator-linebreak: off + padded-blocks: off + quote-props: off + quotes: off + require-jsdoc: off + semi-spacing: off + semi: off + sort-keys: off + sort-vars: off + space-before-blocks: off + space-before-function-paren: off + space-in-parens: off + space-infix-ops: off + space-unary-ops: off + spaced-comment: off + template-tag-spacing: off + unicode-bom: off + wrap-regex: off + + # ECMAScript 6 + arrow-body-style: off + arrow-parens: off + arrow-spacing: off + constructor-super: off + generator-star-spacing: off + no-class-assign: off + no-confusing-arrow: off + no-const-assign: off + no-dupe-class-members: off + no-duplicate-imports: off + no-new-symbol: off + no-restricted-imports: off + no-this-before-super: off + no-useless-computed-key: off + no-useless-constructor: off + no-useless-rename: off + no-var: off + object-shorthand: off + prefer-arrow-callback: off + prefer-const: off + prefer-destructuring: off + prefer-numeric-literals: off + prefer-rest-params: off + prefer-reflect: off + prefer-spread: off + prefer-template: off + require-yield: off + rest-spread-spacing: off + sort-imports: off + symbol-description: off + template-curly-spacing: off + yield-star-spacing: off diff --git a/coffeelint.json b/coffeelint.json new file mode 100644 index 000000000..86422e323 --- /dev/null +++ b/coffeelint.json @@ -0,0 +1,129 @@ +{ + "arrow_spacing": { + "level": "ignore" + }, + "braces_spacing": { + "level": "ignore", + "spaces": 0, + "empty_object_spaces": 0 + }, + "camel_case_classes": { + "level": "error" + }, + "coffeescript_error": { + "level": "error" + }, + "colon_assignment_spacing": { + "level": "ignore", + "spacing": { + "left": 0, + "right": 0 + } + }, + "cyclomatic_complexity": { + "value": 10, + "level": "ignore" + }, + "duplicate_key": { + "level": "error" + }, + "empty_constructor_needs_parens": { + "level": "ignore" + }, + "ensure_comprehensions": { + "level": "warn" + }, + "eol_last": { + "level": "ignore" + }, + "indentation": { + "value": 2, + "level": "error" + }, + "line_endings": { + "level": "ignore", + "value": "unix" + }, + "max_line_length": { + "value": 80, + "level": "error", + "limitComments": true + }, + "missing_fat_arrows": { + "level": "ignore", + "is_strict": false + }, + "newlines_after_classes": { + "value": 3, + "level": "ignore" + }, + "no_backticks": { + "level": "error" + }, + "no_debugger": { + "level": "warn", + "console": false + }, + "no_empty_functions": { + "level": "ignore" + }, + "no_empty_param_list": { + "level": "ignore" + }, + "no_implicit_braces": { + "level": "ignore", + "strict": true + }, + "no_implicit_parens": { + "strict": true, + "level": "ignore" + }, + "no_interpolation_in_single_quotes": { + "level": "ignore" + }, + "no_plusplus": { + "level": "ignore" + }, + "no_stand_alone_at": { + "level": "ignore" + }, + "no_tabs": { + "level": "error" + }, + "no_this": { + "level": "ignore" + }, + "no_throwing_strings": { + "level": "error" + }, + "no_trailing_semicolons": { + "level": "error" + }, + "no_trailing_whitespace": { + "level": "error", + "allowed_in_comments": false, + "allowed_in_empty_lines": true + }, + "no_unnecessary_double_quotes": { + "level": "ignore" + }, + "no_unnecessary_fat_arrows": { + "level": "warn" + }, + "non_empty_constructor_needs_parens": { + "level": "ignore" + }, + "prefer_english_operator": { + "level": "ignore", + "doubleNotLevel": "ignore" + }, + "space_operators": { + "level": "ignore" + }, + "spacing_after_comma": { + "level": "ignore" + }, + "transform_messes_up_line_numbers": { + "level": "warn" + } +} From e7e3fa8ee28249a1e225f159fb963d72ff2e0bec Mon Sep 17 00:00:00 2001 From: Georg Kahest Date: Sun, 9 Apr 2017 20:46:40 +0300 Subject: [PATCH 14/30] add badges, add travis codeclimate integration --- .travis.yml | 2 ++ README.md | 2 ++ 2 files changed, 4 insertions(+) diff --git a/.travis.yml b/.travis.yml index 4e6723544..bbf9797a3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,6 +18,8 @@ services: - postgresql addons: postgresql: "9.4" + code_climate: + repo_token: 2fd0ab95eab718206f6732fdbd7b650da1e228f8dd491ef2082bb59d8684a054 branches: only: - master diff --git a/README.md b/README.md index 8ee6384a2..cf209e707 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ Domain Registry =============== [![Build Status](https://travis-ci.org/internetee/registry.svg?branch=master)](https://travis-ci.org/internetee/registry) +[![Code Climate](https://codeclimate.com/github/internetee/registry/badges/gpa.svg)](https://codeclimate.com/github/internetee/registry) +[![Issue Count](https://codeclimate.com/github/internetee/registry/badges/issue_count.svg)](https://codeclimate.com/github/internetee/registry) Full stack top-level domain (TLD) management. From 6bc6e3f51d76c4273dc9ffe708bf77ec6031574d Mon Sep 17 00:00:00 2001 From: Georg Kahest Date: Sun, 9 Apr 2017 21:08:27 +0300 Subject: [PATCH 15/30] simplecov and codeclimate-test-reporter --- .travis.yml | 1 + Gemfile | 7 ++++++- Gemfile.lock | 5 ++++- spec/spec_helper.rb | 3 +++ 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index bbf9797a3..a24c35fb8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,6 +14,7 @@ before_script: - "RAILS_ENV=test bundle exec rake db:migrate" script: - "RAILS_ENV=test bundle exec rspec" + - "CODECLIMATE_REPO_TOKEN=2fd0ab95eab718206f6732fdbd7b650da1e228f8dd491ef2082bb59d8684a054 codeclimate-test-reporter" services: - postgresql addons: diff --git a/Gemfile b/Gemfile index d570ed721..5f88cada2 100644 --- a/Gemfile +++ b/Gemfile @@ -108,6 +108,9 @@ gem 'pdfkit', '0.6.2' # for datepicker gem 'jquery-ui-rails', '5.0.5' +# codeclimate + + group :development do gem 'spring', '1.3.6' gem 'spring-commands-rspec', '1.0.4' @@ -135,7 +138,7 @@ group :development, :test do gem 'pry', '0.10.1' # code review - gem 'simplecov', '0.10.0', require: false +# gem 'simplecov', '0.10.0', require: false gem 'rubycritic', '3.2.0' gem 'bullet', '4.14.7' # for finding database optimizations gem 'bundler-audit', @@ -161,4 +164,6 @@ group :test do gem 'database_cleaner' gem 'factory_girl_rails' gem 'webmock' + gem 'simplecov' + gem 'codeclimate-test-reporter', "~> 1.0.0" end diff --git a/Gemfile.lock b/Gemfile.lock index f49dab70d..24299fb8c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -148,6 +148,8 @@ GEM cliver (0.3.2) codeclimate-engine-rb (0.4.0) virtus (~> 1.0) + codeclimate-test-reporter (1.0.8) + simplecov (<= 0.13) coderay (1.1.0) coercible (1.0.0) descendants_tracker (~> 0.0.1) @@ -573,6 +575,7 @@ DEPENDENCIES bundler-audit! cancancan (= 1.11.0) capybara (= 2.4.4) + codeclimate-test-reporter (~> 1.0.0) coderay (= 1.1.0) coffee-rails (= 4.1.0) countries @@ -631,7 +634,7 @@ DEPENDENCIES sdoc (= 0.4.1) select2-rails (= 3.5.9.3) selectize-rails (= 0.12.1) - simplecov (= 0.10.0) + simplecov simpleidn (= 0.0.7) spring (= 1.3.6) spring-commands-rspec (= 1.0.4) diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 68a2c0be1..0f9fd4e8d 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,4 +1,7 @@ require 'webmock/rspec' +require 'simplecov' +SimpleCov.start + RSpec.configure do |config| # https://github.com/rspec/rspec-rails/issues/1076 From fd5c8bea73531d9c00ef1a6b108ea3517d06bb53 Mon Sep 17 00:00:00 2001 From: Georg Kahest Date: Sun, 9 Apr 2017 21:29:52 +0300 Subject: [PATCH 16/30] fixme changes, add reek to codeclimate --- .codeclimate.yml | 7 +++++++ .travis.yml | 3 ++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.codeclimate.yml b/.codeclimate.yml index 99383daf4..871a1abe5 100644 --- a/.codeclimate.yml +++ b/.codeclimate.yml @@ -20,8 +20,15 @@ engines: enabled: true fixme: enabled: true + config: + strings: + - FIXME + - TODO + - HACK rubocop: enabled: true + reek: + enabled: true ratings: paths: - Gemfile.lock diff --git a/.travis.yml b/.travis.yml index a24c35fb8..b49edd8e2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,7 +14,8 @@ before_script: - "RAILS_ENV=test bundle exec rake db:migrate" script: - "RAILS_ENV=test bundle exec rspec" - - "CODECLIMATE_REPO_TOKEN=2fd0ab95eab718206f6732fdbd7b650da1e228f8dd491ef2082bb59d8684a054 codeclimate-test-reporter" +after_success: + - "bundle exec codeclimate-test-reporter" services: - postgresql addons: From 710295621f8af5e22f6111262a781d7fa21321b2 Mon Sep 17 00:00:00 2001 From: Georg Kahest Date: Sun, 9 Apr 2017 21:38:25 +0300 Subject: [PATCH 17/30] unlock bundler-audit, change order of gems in test --- Gemfile | 11 ++++------- Gemfile.lock | 14 ++++---------- 2 files changed, 8 insertions(+), 17 deletions(-) diff --git a/Gemfile b/Gemfile index 5f88cada2..d20880d7f 100644 --- a/Gemfile +++ b/Gemfile @@ -138,12 +138,9 @@ group :development, :test do gem 'pry', '0.10.1' # code review -# gem 'simplecov', '0.10.0', require: false gem 'rubycritic', '3.2.0' gem 'bullet', '4.14.7' # for finding database optimizations - gem 'bundler-audit', - github: 'rubysec/bundler-audit', - ref: 'f89ef7fae1090bbad825ea76812d56d72b417055' # for finding future vulnerable gems + gem 'bundler-audit' gem 'brakeman', '3.6.1', require: false # for security audit' # tmp, otherwise conflics with breakman # gem 'html2haml', github: 'haml/html2haml', ref: '6984f50bdbbd6291535027726a5697f28778ee8d' @@ -162,8 +159,8 @@ end group :test do gem 'database_cleaner' - gem 'factory_girl_rails' - gem 'webmock' - gem 'simplecov' + gem 'factory_girl_rails' gem 'codeclimate-test-reporter', "~> 1.0.0" + gem 'simplecov' + gem 'webmock' end diff --git a/Gemfile.lock b/Gemfile.lock index 24299fb8c..c314d836d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -44,15 +44,6 @@ GIT que (~> 0.6) rails (>= 4.0) -GIT - remote: https://github.com/rubysec/bundler-audit.git - revision: f89ef7fae1090bbad825ea76812d56d72b417055 - ref: f89ef7fae1090bbad825ea76812d56d72b417055 - specs: - bundler-audit (0.4.0) - bundler (~> 1.2) - thor (~> 0.18) - GIT remote: https://github.com/tarmotalu/digidoc_client.git revision: 1645e83a5a548addce383f75703b0275c5310c32 @@ -137,6 +128,9 @@ GEM bullet (4.14.7) activesupport (>= 3.0.0) uniform_notifier (~> 1.9.0) + bundler-audit (0.5.0) + bundler (~> 1.2) + thor (~> 0.18) cancancan (1.11.0) capybara (2.4.4) mime-types (>= 1.16) @@ -572,7 +566,7 @@ DEPENDENCIES bootstrap-sass (= 3.3.5.1) brakeman (= 3.6.1) bullet (= 4.14.7) - bundler-audit! + bundler-audit cancancan (= 1.11.0) capybara (= 2.4.4) codeclimate-test-reporter (~> 1.0.0) From 606b2a65702da3640a69f5d2112506b480e33d9e Mon Sep 17 00:00:00 2001 From: Georg Kahest Date: Sun, 9 Apr 2017 21:45:02 +0300 Subject: [PATCH 18/30] change order of gems to conform to style guide --- Gemfile | 44 +++++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/Gemfile b/Gemfile index d20880d7f..4d039cd92 100644 --- a/Gemfile +++ b/Gemfile @@ -8,10 +8,11 @@ end if Bundler::VERSION < '2' source 'https://rubygems.org' # core -gem 'rails', '4.2.7.1' # when update, all initializers eis_custom files needs check/update -gem 'iso8601', '0.8.6' # for dates and times -gem 'hashie-forbidden_attributes', '0.1.1' + gem 'SyslogLogger', '2.0', require: 'syslog/logger' +gem 'hashie-forbidden_attributes', '0.1.1' +gem 'iso8601', '0.8.6' # for dates and times +gem 'rails', '4.2.7.1' # when update, all initializers eis_custom files needs check/update gem 'rest-client' # load env @@ -34,45 +35,46 @@ gem 'haml-rails', '0.9.0' # haml for views gem 'nokogiri', '1.7.1' # For XML parsing # style -gem 'sass-rails', '5.0.6' # sass style gem 'bootstrap-sass', '3.3.5.1' # bootstrap style +gem 'sass-rails', '5.0.6' # sass style # js -gem 'uglifier', '2.7.2' # minifies js + gem 'coffee-rails', '4.1.0' # coffeescript support -gem 'turbolinks', '2.5.3' # faster page load +gem 'uglifier', '2.7.2' # minifies js gem 'jquery-rails', '4.0.4' # jquery +gem 'turbolinks', '2.5.3' # faster page load gem 'selectize-rails', '0.12.1' # include selectize.js for select -gem 'therubyracer', '0.12.2', platforms: :ruby gem 'jquery-validation-rails', '1.13.1' # validate on client side +gem 'therubyracer', '0.12.2', platforms: :ruby # view helpers gem 'kaminari', '0.16.3' # pagination -gem 'nprogress-rails', '0.1.6.7' # visual loader -gem 'html5_validators', '1.2.2' # model requements now automatically on html form gem 'coderay', '1.1.0' # xml console visualize +gem 'html5_validators', '1.2.2' # model requements now automatically on html form +gem 'nprogress-rails', '0.1.6.7' # visual loader gem 'select2-rails', '3.5.9.3' # for autocomplete gem 'bootstrap-datepicker-rails', '1.3.1.1' # datepicker gem 'liquid', '3.0.6' # for email templates # rights -gem 'devise', '3.5.4' # authenitcation gem 'cancancan', '1.11.0' # autharization +gem 'devise', '3.5.4' # authenitcation # rest api gem 'grape', '0.12.0' gem 'jbuilder', '2.2.16' # json api # registry specfic -gem 'simpleidn', '0.0.7' # For punycode gem 'isikukood' # for EE-id validation +gem 'simpleidn', '0.0.7' # For punycode gem 'money-rails' # deploy -gem 'whenever', '0.9.4', require: false gem 'data_migrate', github: 'internetee/data-migrate', ref: '35d22b09ff37a4e9d61ab326ad5d8eb0edf1fc81' +gem 'whenever', '0.9.4', require: false # country listing gem 'countries', :require => 'countries/global' @@ -81,7 +83,7 @@ gem 'countries', :require => 'countries/global' gem 'deep_cloneable', '2.1.1' # id + mid login -#gem 'digidoc_client', '0.3.0' +# gem 'digidoc_client', '0.3.0' gem 'digidoc_client', github: 'tarmotalu/digidoc_client', branch: 'master' @@ -93,8 +95,8 @@ gem 'uuidtools', '2.1.5' # For unique IDs (used by the epp gem) # que gem 'que', '0.10.0' -gem 'que-web', '0.4.0' gem 'daemons-rails', '1.2.1' +gem 'que-web', '0.4.0' gem 'que_mailer', github: 'prehnRA/que-mailer', branch: 'master' @@ -112,13 +114,13 @@ gem 'jquery-ui-rails', '5.0.5' group :development do + gem 'guard', '2.12.9' # run tests automatically gem 'spring', '1.3.6' gem 'spring-commands-rspec', '1.0.4' - gem 'guard', '2.12.9' # run tests automatically - gem 'guard-rspec', '4.5.2' gem 'guard-rails', '0.7.1' # run EPP server automatically - gem 'rubocop', '0.48.1' + gem 'guard-rspec', '4.5.2' gem 'guard-rubocop', '1.2.0' + gem 'rubocop', '0.48.1' # deploy gem 'mina', '0.3.1' # for fast deployment @@ -126,12 +128,12 @@ end group :development, :test do # test stack - gem 'rspec-rails', '3.5.2' gem 'capybara', '2.4.4' - gem 'phantomjs-binaries', '1.9.2.4' - gem 'poltergeist', '1.6.0' # We are using PhantomJS instead - gem 'phantomjs', '1.9.8.0' + gem 'rspec-rails', '3.5.2' gem 'fabrication', '2.13.2' # Replacement for fixtures + gem 'phantomjs-binaries', '1.9.2.4' + gem 'phantomjs', '1.9.8.0' + gem 'poltergeist', '1.6.0' # We are using PhantomJS instead gem 'launchy', '2.4.3' # for opening browser automatically # debug From 7a56d74f916a71f4bb03b0bded7d12df5055f907 Mon Sep 17 00:00:00 2001 From: Georg Date: Sun, 9 Apr 2017 22:18:09 +0300 Subject: [PATCH 19/30] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index cf209e707..9b2833fa2 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,8 @@ Domain Registry [![Build Status](https://travis-ci.org/internetee/registry.svg?branch=master)](https://travis-ci.org/internetee/registry) [![Code Climate](https://codeclimate.com/github/internetee/registry/badges/gpa.svg)](https://codeclimate.com/github/internetee/registry) [![Issue Count](https://codeclimate.com/github/internetee/registry/badges/issue_count.svg)](https://codeclimate.com/github/internetee/registry) +[![Test Coverage](https://codeclimate.com/github/internetee/registry/badges/coverage.svg)](https://codeclimate.com/github/internetee/registry/coverage) +[![Documentation Status](https://readthedocs.org/projects/eeregistry/badge/?version=latest)](http://docs.internet.ee/en/latest/?badge=latest) Full stack top-level domain (TLD) management. From 40246bf081b28f5337d36d20beb2f25ed7a77693 Mon Sep 17 00:00:00 2001 From: Georg Kahest Date: Mon, 10 Apr 2017 23:47:33 +0300 Subject: [PATCH 20/30] start simplecov only with travis --- .travis.yml | 1 - spec/rails_helper.rb | 6 ------ spec/spec_helper.rb | 6 ++++-- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/.travis.yml b/.travis.yml index b49edd8e2..f5fd67bc0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,7 +21,6 @@ services: addons: postgresql: "9.4" code_climate: - repo_token: 2fd0ab95eab718206f6732fdbd7b650da1e228f8dd491ef2082bb59d8684a054 branches: only: - master diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb index 110e8df27..b4a4443ee 100644 --- a/spec/rails_helper.rb +++ b/spec/rails_helper.rb @@ -8,12 +8,6 @@ require 'money-rails/test_helpers' require 'support/requests/session_helpers' require 'support/requests/epp_helpers' require 'support/features/session_helpers' - -if ENV['ROBOT'] - require 'simplecov' - SimpleCov.start 'rails' -end - require 'support/matchers/alias_attribute' require 'support/matchers/active_job' require 'support/matchers/epp/code' diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 0f9fd4e8d..664043716 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,6 +1,8 @@ require 'webmock/rspec' -require 'simplecov' -SimpleCov.start +if ENV['TRAVIS'] + require 'simplecov' + SimpleCov.start +end RSpec.configure do |config| From c5081a1e6b87cc055dd68266d85092dbe2c1dc36 Mon Sep 17 00:00:00 2001 From: Georg Kahest Date: Tue, 11 Apr 2017 00:39:34 +0300 Subject: [PATCH 21/30] follow rubocop standards in domain_name_validator, remove unused line --- app/validators/domain_name_validator.rb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/validators/domain_name_validator.rb b/app/validators/domain_name_validator.rb index 427a330f3..be8cbb65f 100644 --- a/app/validators/domain_name_validator.rb +++ b/app/validators/domain_name_validator.rb @@ -18,7 +18,6 @@ class DomainNameValidator < ActiveModel::EachValidator return true if origins.include?(value) general_domains = /(#{origins.join('|')})/ - # general_domains = /(.pri.ee|.com.ee|.fie.ee|.med.ee|.ee)/ # it's punycode if value[2] == '-' && value[3] == '-' @@ -39,7 +38,7 @@ class DomainNameValidator < ActiveModel::EachValidator def validate_blocked(value) return true unless value return false if BlockedDomain.where(name: value).count > 0 - ZonefileSetting.where(origin: value).count == 0 + ZonefileSetting.where(origin: value).count.zero? end end end From 5f03443922cfb28463697f2e326bb009f7aee358 Mon Sep 17 00:00:00 2001 From: Georg Kahest Date: Tue, 11 Apr 2017 01:01:08 +0300 Subject: [PATCH 22/30] update readme, ignore import rake task in rubocop --- .rubocop.yml | 3 ++- README.md | 5 ----- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index 0857a9120..d9e50b9a2 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -15,9 +15,10 @@ AllCops: - 'spec/support/epp.rb' - 'spec/support/epp_contact_xml_builder.rb' - 'vendor/bundle/**/*' + - 'lib/tasks/import.rake' Metrics/LineLength: - Max: 120 + Max: 120 # default 80 Metrics/MethodLength: Max: 25 # default 10 diff --git a/README.md b/README.md index 9b2833fa2..49a27815b 100644 --- a/README.md +++ b/README.md @@ -464,8 +464,3 @@ Please follow WHOIS server readme: https://github.com/internetee/whois - -## Code Status - -Alpha release status, only model tests: -[![Build Status](https://travis-ci.org/domify/registry.svg?branch=master)](https://travis-ci.org/domify/registry) From 2c986782f0b1853804f584ed29436fab8eae841c Mon Sep 17 00:00:00 2001 From: Georg Kahest Date: Tue, 11 Apr 2017 01:07:04 +0300 Subject: [PATCH 23/30] fix #263 --- doc/certificates.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/certificates.md b/doc/certificates.md index 4caea4988..a77edbc2f 100644 --- a/doc/certificates.md +++ b/doc/certificates.md @@ -90,7 +90,7 @@ Create certificate revocation list (prompts for pass phrase): Configure registry registry/shared/config/application.yml to match the CA settings: openssl_config_path: '/etc/ssl/openssl.cnf' - crl_path: '/home/registry/registry/shared/ca/crl/crl.pem' + crl_dir: '/home/registry/registry/shared/ca/crl/crl.pem' ca_cert_path: '/home/registry/registry/shared/ca/certs/ca.crt.pem' ca_key_path: '/home/registry/registry/shared/ca/private/ca.key.pem' ca_key_password: 'your-root-key-password' From 84d4b39b8f3c709ca80facaee7627c4ca3d803c7 Mon Sep 17 00:00:00 2001 From: Georg Kahest Date: Tue, 11 Apr 2017 01:32:09 +0300 Subject: [PATCH 24/30] bring back crl_path --- doc/certificates.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/certificates.md b/doc/certificates.md index a77edbc2f..2088bb011 100644 --- a/doc/certificates.md +++ b/doc/certificates.md @@ -90,7 +90,8 @@ Create certificate revocation list (prompts for pass phrase): Configure registry registry/shared/config/application.yml to match the CA settings: openssl_config_path: '/etc/ssl/openssl.cnf' - crl_dir: '/home/registry/registry/shared/ca/crl/crl.pem' + crl_dir: '/home/registry/registry/shared/ca/crl/' + crl_path: '/home/registry/registry/shared/ca/crl/crl.pem' ca_cert_path: '/home/registry/registry/shared/ca/certs/ca.crt.pem' ca_key_path: '/home/registry/registry/shared/ca/private/ca.key.pem' ca_key_password: 'your-root-key-password' From 85ef41b347432df5ce4b2119c48623f73092e755 Mon Sep 17 00:00:00 2001 From: Georg Kahest Date: Tue, 11 Apr 2017 01:34:30 +0300 Subject: [PATCH 25/30] remove random amazon ip --- doc/certificates.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/certificates.md b/doc/certificates.md index 2088bb011..bcb28a039 100644 --- a/doc/certificates.md +++ b/doc/certificates.md @@ -101,7 +101,7 @@ Configure registry registry/shared/config/application.yml to match the CA settin Configure registry epp registry-epp/shared/config/application.yml: - webclient_ips: '54.154.91.240' + webclient_ips: '127.0.0.1' # IP where webclient is running Configure EPP port 700 virtual host: From bbabaf75f6f1be21bfdeb36d7a95bcc6d84cf972 Mon Sep 17 00:00:00 2001 From: Georg Kahest Date: Tue, 11 Apr 2017 01:40:52 +0300 Subject: [PATCH 26/30] add crl_path to application-example.yml #263 --- config/application-example.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/config/application-example.yml b/config/application-example.yml index 6ef70c9a0..20b9370e1 100644 --- a/config/application-example.yml +++ b/config/application-example.yml @@ -41,6 +41,7 @@ time_zone: 'Tallinn' # more zones by rake time:zones:all openssl_config_path: '/etc/ssl/openssl.cnf' crl_dir: '/home/registry/registry/shared/ca/crl' +crl_path: '/home/registry/registry/shared/ca/crl/crl.pem' ca_cert_path: '/home/registry/registry/shared/ca/certs/ca.crt.pem' ca_key_path: '/home/registry/registry/shared/ca/private/ca.key.pem' ca_key_password: 'your-root-key-password' From a606421b8b508b3bc42e43b6bad426dae71f1438 Mon Sep 17 00:00:00 2001 From: Georg Kahest Date: Tue, 11 Apr 2017 14:27:19 +0300 Subject: [PATCH 27/30] log digidoc to same place as rails #448 --- app/controllers/registrant/sessions_controller.rb | 2 ++ app/controllers/registrar/sessions_controller.rb | 2 ++ config/initializers/digidoc.rb | 1 - 3 files changed, 4 insertions(+), 1 deletion(-) delete mode 100644 config/initializers/digidoc.rb diff --git a/app/controllers/registrant/sessions_controller.rb b/app/controllers/registrant/sessions_controller.rb index 91589d510..d1fd1e004 100644 --- a/app/controllers/registrant/sessions_controller.rb +++ b/app/controllers/registrant/sessions_controller.rb @@ -29,6 +29,7 @@ class Registrant::SessionsController < Devise::SessionsController phone = params[:user][:phone] endpoint = "#{ENV['sk_digi_doc_service_endpoint']}" client = Digidoc::Client.new(endpoint) + client.logger = Rails.application.config.logger if Rails.env.test? && phone == "123" @user = ApiUser.find_by(identity_code: "14212128025") @@ -70,6 +71,7 @@ class Registrant::SessionsController < Devise::SessionsController def mid_status endpoint = "#{ENV['sk_digi_doc_service_endpoint']}" client = Digidoc::Client.new(endpoint) + client.logger = Rails.application.config.logger client.session_code = session[:mid_session_code] auth_status = client.authentication_status diff --git a/app/controllers/registrar/sessions_controller.rb b/app/controllers/registrar/sessions_controller.rb index 2d04c6fdd..ebdbb04bb 100644 --- a/app/controllers/registrar/sessions_controller.rb +++ b/app/controllers/registrar/sessions_controller.rb @@ -100,6 +100,7 @@ class Registrar::SessionsController < Devise::SessionsController phone = params[:user][:phone] endpoint = "#{ENV['sk_digi_doc_service_endpoint']}" client = Digidoc::Client.new(endpoint) + client.logger = Rails.application.config.logger # country_codes = {'+372' => 'EST'} phone.gsub!('+372', '') @@ -135,6 +136,7 @@ class Registrar::SessionsController < Devise::SessionsController def mid_status endpoint = "#{ENV['sk_digi_doc_service_endpoint']}" client = Digidoc::Client.new(endpoint) + client.logger = Rails.application.config.logger client.session_code = session[:mid_session_code] auth_status = client.authentication_status diff --git a/config/initializers/digidoc.rb b/config/initializers/digidoc.rb deleted file mode 100644 index 0090c420d..000000000 --- a/config/initializers/digidoc.rb +++ /dev/null @@ -1 +0,0 @@ -#Digidoc::Client.logger = Rails.application.config.logger From aa141b50d6c223a6644df99d3f35fa1626379d8b Mon Sep 17 00:00:00 2001 From: Georg Kahest Date: Wed, 12 Apr 2017 16:02:22 +0300 Subject: [PATCH 28/30] skip client.logger in TEST env --- app/controllers/registrant/sessions_controller.rb | 4 ++-- app/controllers/registrar/sessions_controller.rb | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/controllers/registrant/sessions_controller.rb b/app/controllers/registrant/sessions_controller.rb index d1fd1e004..e1523c919 100644 --- a/app/controllers/registrant/sessions_controller.rb +++ b/app/controllers/registrant/sessions_controller.rb @@ -29,7 +29,7 @@ class Registrant::SessionsController < Devise::SessionsController phone = params[:user][:phone] endpoint = "#{ENV['sk_digi_doc_service_endpoint']}" client = Digidoc::Client.new(endpoint) - client.logger = Rails.application.config.logger + client.logger = Rails.application.config.logger unless Rails.env.test? if Rails.env.test? && phone == "123" @user = ApiUser.find_by(identity_code: "14212128025") @@ -71,7 +71,7 @@ class Registrant::SessionsController < Devise::SessionsController def mid_status endpoint = "#{ENV['sk_digi_doc_service_endpoint']}" client = Digidoc::Client.new(endpoint) - client.logger = Rails.application.config.logger + client.logger = Rails.application.config.logger unless Rails.env.test? client.session_code = session[:mid_session_code] auth_status = client.authentication_status diff --git a/app/controllers/registrar/sessions_controller.rb b/app/controllers/registrar/sessions_controller.rb index ebdbb04bb..a66d6f034 100644 --- a/app/controllers/registrar/sessions_controller.rb +++ b/app/controllers/registrar/sessions_controller.rb @@ -100,7 +100,7 @@ class Registrar::SessionsController < Devise::SessionsController phone = params[:user][:phone] endpoint = "#{ENV['sk_digi_doc_service_endpoint']}" client = Digidoc::Client.new(endpoint) - client.logger = Rails.application.config.logger + client.logger = Rails.application.config.logger unless Rails.env.test? # country_codes = {'+372' => 'EST'} phone.gsub!('+372', '') @@ -136,7 +136,7 @@ class Registrar::SessionsController < Devise::SessionsController def mid_status endpoint = "#{ENV['sk_digi_doc_service_endpoint']}" client = Digidoc::Client.new(endpoint) - client.logger = Rails.application.config.logger + client.logger = Rails.application.config.logger Rails.env.test? client.session_code = session[:mid_session_code] auth_status = client.authentication_status From cc58c687b668d64e11f34a42cd112e5be16d916a Mon Sep 17 00:00:00 2001 From: Georg Kahest Date: Wed, 12 Apr 2017 16:39:38 +0300 Subject: [PATCH 29/30] lock digidoc_client to commit, fix typo --- Gemfile | 2 +- app/controllers/registrar/sessions_controller.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile b/Gemfile index 4d039cd92..0249290fa 100644 --- a/Gemfile +++ b/Gemfile @@ -86,7 +86,7 @@ gem 'deep_cloneable', '2.1.1' # gem 'digidoc_client', '0.3.0' gem 'digidoc_client', github: 'tarmotalu/digidoc_client', - branch: 'master' + ref: '1645e83a5a548addce383f75703b0275c5310c32' gem 'epp', '1.5.0', github: 'internetee/epp' diff --git a/app/controllers/registrar/sessions_controller.rb b/app/controllers/registrar/sessions_controller.rb index a66d6f034..8c148acc2 100644 --- a/app/controllers/registrar/sessions_controller.rb +++ b/app/controllers/registrar/sessions_controller.rb @@ -136,7 +136,7 @@ class Registrar::SessionsController < Devise::SessionsController def mid_status endpoint = "#{ENV['sk_digi_doc_service_endpoint']}" client = Digidoc::Client.new(endpoint) - client.logger = Rails.application.config.logger Rails.env.test? + client.logger = Rails.application.config.logger unless Rails.env.test? client.session_code = session[:mid_session_code] auth_status = client.authentication_status From c38bef5af0dd1c466880ec1c6acbab43f823a9ef Mon Sep 17 00:00:00 2001 From: Georg Kahest Date: Wed, 12 Apr 2017 16:56:56 +0300 Subject: [PATCH 30/30] fix Gemfile.lock --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index c314d836d..59ba30d96 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -47,7 +47,7 @@ GIT GIT remote: https://github.com/tarmotalu/digidoc_client.git revision: 1645e83a5a548addce383f75703b0275c5310c32 - branch: master + ref: 1645e83a5a548addce383f75703b0275c5310c32 specs: digidoc_client (0.3.0) crack (>= 0.1.8)