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/ diff --git a/.rubocop.yml b/.rubocop.yml index c9689567c..0857a9120 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,10 +1,10 @@ AllCops: - RunRailsCops: true - - Exclude: + 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' diff --git a/Gemfile b/Gemfile index acdc8fff2..d570ed721 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 @@ -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' # deploy gem 'whenever', '0.9.4', require: false @@ -75,13 +75,17 @@ gem 'data_migrate', ref: '35d22b09ff37a4e9d61ab326ad5d8eb0edf1fc81' # country listing -gem 'countries', '0.11.4' +gem 'countries', :require => 'countries/global' # 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 'digidoc_client', + github: 'tarmotalu/digidoc_client', + branch: 'master' + gem 'epp', '1.5.0', github: 'internetee/epp' gem 'epp-xml', '1.1.0', github: 'internetee/epp-xml' @@ -110,7 +114,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 +123,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 +136,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..f49dab70d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -53,11 +53,22 @@ GIT bundler (~> 1.2) thor (~> 0.18) +GIT + remote: https://github.com/tarmotalu/digidoc_client.git + revision: 1645e83a5a548addce383f75703b0275c5310c32 + branch: master + 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: 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 +106,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 +116,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 +132,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 +146,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,16 +158,14 @@ 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) + 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 @@ -185,13 +182,7 @@ GEM responders thread_safe (~> 0.1) warden (~> 1.2.3) - diff-lcs (1.2.5) - digidoc_client (0.2.1) - crack (>= 0.1.8) - httpclient (>= 2.3.4) - mime-types (>= 1.16) - nokogiri (>= 1.4.0) - savon (>= 2.4.0) + diff-lcs (1.3) docile (1.1.5) domain_name (0.5.20170404) unf (>= 0.0.5, < 1.0.0) @@ -204,16 +195,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 +254,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) @@ -275,7 +267,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) @@ -311,8 +303,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) @@ -322,14 +312,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) @@ -344,8 +335,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 +351,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 +410,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 +434,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 +443,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) @@ -505,6 +496,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,8 +511,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 +527,12 @@ 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) + unicode_utils (1.4.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,20 +568,20 @@ 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) capybara (= 2.4.4) coderay (= 1.1.0) coffee-rails (= 4.1.0) - countries (= 0.11.4) + countries 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! epp (= 1.5.0)! epp-xml (= 1.1.0)! fabrication (= 2.13.2) @@ -623,7 +606,7 @@ DEPENDENCIES launchy (= 2.4.3) liquid (= 3.0.6) mina (= 0.3.1) - money-rails (= 1.4.1) + money-rails nokogiri (= 1.7.1) nprogress-rails (= 0.1.6.7) paper_trail! @@ -641,10 +624,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 +645,4 @@ DEPENDENCIES whenever (= 0.9.4) BUNDLED WITH - 1.13.6 + 1.14.6 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 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