Update rubocop
authorTom Hughes <tom@compton.nu>
Sun, 5 Feb 2017 11:02:10 +0000 (11:02 +0000)
committerTom Hughes <tom@compton.nu>
Sun, 5 Feb 2017 11:12:37 +0000 (11:12 +0000)
21 files changed:
.rubocop.yml
Gemfile
Gemfile.lock
app/controllers/amf_controller.rb
app/controllers/message_controller.rb
app/models/language.rb
app/models/user.rb
app/views/site/key.html.erb
config/application.rb
config/initializers/assets.rb
config/initializers/banners.rb
config/initializers/omniauth.rb
config/initializers/wiki_pages.rb
db/migrate/001_create_osm_db.rb
db/migrate/034_create_languages.rb
db/migrate/20140117185510_drop_countries.rb
lib/daemons/gpx_import_ctl
lib/id.rb
lib/osm.rb
lib/potlatch.rb
script/deliver-message

index 975457d9572a6670386e154be340781a44913299..477b2ab02c152e3af3488a62eb8c0b79040d1db3 100644 (file)
@@ -2,6 +2,23 @@ inherit_from: .rubocop_todo.yml
 
 AllCops:
   Include:
+    - '**/*.gemspec'
+    - '**/*.podspec'
+    - '**/*.jbuilder'
+    - '**/*.rake'
+    - '**/*.opal'
+    - '**/config.ru'
+    - '**/Gemfile'
+    - '**/Rakefile'
+    - '**/Capfile'
+    - '**/Guardfile'
+    - '**/Podfile'
+    - '**/Thorfile'
+    - '**/Vagrantfile'
+    - '**/Berksfile'
+    - '**/Cheffile'
+    - '**/Vagabondfile'
+    - '**/Fastfile'
     - '**/*.builder'
 
 Rails:
@@ -40,3 +57,8 @@ Style/StringLiterals:
 
 Rails/HttpPositionalArguments:
   Enabled: false
+
+Rails/SkipsModelValidations:
+  Exclude:
+    - 'db/migrate/*.rb'
+    - 'app/controllers/user_controller.rb'
diff --git a/Gemfile b/Gemfile
index 5e6eebfc90006497f2062864a47b754fd53300df..34768095f3ca07c2c7037df8fff3d531b992f8d5 100644 (file)
--- a/Gemfile
+++ b/Gemfile
@@ -41,30 +41,30 @@ gem "autoprefixer-rails"
 gem "image_optim_rails"
 
 # Load rails plugins
-gem "rails-i18n", "~> 4.0.0"
-gem "dynamic_form"
-gem "rinku", ">= 1.2.2", :require => "rails_rinku"
-gem "oauth-plugin", ">= 0.5.1"
-gem "validates_email_format_of", ">= 1.5.1"
+gem "actionpack-page_caching"
 gem "composite_primary_keys", "~> 8.1.0"
-gem "http_accept_language", "~> 2.0.0"
-gem "paperclip", "~> 4.0"
 gem "deadlock_retry", ">= 1.2.0"
+gem "dynamic_form"
+gem "http_accept_language", "~> 2.0.0"
 gem "i18n-js", ">= 3.0.0.rc10"
+gem "oauth-plugin", ">= 0.5.1"
+gem "paperclip", "~> 4.0"
 gem "rack-cors"
-gem "actionpack-page_caching"
+gem "rails-i18n", "~> 4.0.0"
+gem "rinku", ">= 1.2.2", :require => "rails_rinku"
+gem "validates_email_format_of", ">= 1.5.1"
 
 # Sanitise URIs
 gem "rack-uri_sanitizer"
 
 # Omniauth for authentication
 gem "omniauth"
-gem "omniauth-openid"
-gem "omniauth-google-oauth2", ">= 0.2.7"
 gem "omniauth-facebook"
-gem "omniauth-windowslive"
 gem "omniauth-github"
+gem "omniauth-google-oauth2", ">= 0.2.7"
 gem "omniauth-mediawiki", ">= 0.0.3"
+gem "omniauth-openid"
+gem "omniauth-windowslive"
 
 # Markdown formatting support
 gem "redcarpet"
@@ -73,8 +73,8 @@ gem "redcarpet"
 gem "libxml-ruby", ">= 2.0.5", :require => "libxml"
 
 # Use for HTML sanitisation
-gem "sanitize"
 gem "htmlentities"
+gem "sanitize"
 
 # Load SystemTimer for implementing request timeouts
 gem "SystemTimer", ">= 1.1.3", :require => "system_timer", :platforms => :ruby_18
@@ -102,17 +102,17 @@ end
 
 # Gems needed for running tests
 group :test do
+  gem "minitest", "~> 5.1", :platforms => [:ruby_19, :ruby_20]
   gem "rubocop"
   gem "timecop"
-  gem "minitest", "~> 5.1", :platforms => [:ruby_19, :ruby_20]
   gem "webmock"
 end
 
 # Needed in development as well so rake can see konacha tasks
 group :development, :test do
+  gem "coveralls", :require => false
+  gem "factory_girl_rails"
   gem "jshint"
   gem "konacha"
   gem "poltergeist"
-  gem "factory_girl_rails"
-  gem "coveralls", :require => false
 end
index 5ca69babea8f0b070a381c027e0df42597e550a9..b641b6cb3e672e2591120ed8207f754fb59ca06e 100644 (file)
@@ -265,8 +265,8 @@ GEM
     request_store (1.3.1)
     rinku (2.0.2)
     rotp (3.3.0)
-    rubocop (0.46.0)
-      parser (>= 2.3.1.1, < 3.0)
+    rubocop (0.47.1)
+      parser (>= 2.3.3.1, < 3.0)
       powerpack (~> 0.1)
       rainbow (>= 1.99.1, < 3.0)
       ruby-progressbar (~> 1.7)
@@ -311,7 +311,7 @@ GEM
       thread_safe (~> 0.1)
     uglifier (3.0.4)
       execjs (>= 0.3.0, < 3)
-    unicode-display_width (1.1.2)
+    unicode-display_width (1.1.3)
     validates_email_format_of (1.6.3)
       i18n
     vendorer (0.1.16)
index 632974f4fa28042412b832cf2754d9500982f0d9..47a28fd4041fd46a6a0c3eca84be7dff37cfe54d 100644 (file)
@@ -220,14 +220,14 @@ class AmfController < ApplicationController
     loaded_lang = "en"
 
     # Load English defaults
-    en = YAML.load(File.open("#{Rails.root}/config/potlatch/locales/en.yml"))["en"]
+    en = YAML.safe_load(File.open(Rails.root.join("config", "potlatch", "locales", "en.yml")))["en"]
 
     if lang == "en"
       return [loaded_lang, en]
     else
       # Use English as a fallback
       begin
-        other = YAML.load(File.open("#{Rails.root}/config/potlatch/locales/#{lang}.yml"))[lang]
+        other = YAML.safe_load(File.open(Rails.root.join("config", "potlatch", "locales", "#{lang}.yml")))[lang]
         loaded_lang = lang
       rescue
         other = en
@@ -875,7 +875,7 @@ class AmfController < ApplicationController
   end
 
   def getlocales
-    @locales ||= Locale.list(Dir.glob("#{Rails.root}/config/potlatch/locales/*").collect { |f| File.basename(f, ".yml") })
+    @locales ||= Locale.list(Dir.glob(Rails.root.join("config", "potlatch", "locales", "*")).collect { |f| File.basename(f, ".yml") })
   end
 
   ##
index 97e892156f097cc1a0cb22d51806ff5ec7efed4e..0ec1c8eb6cadc1d918607252ddd6d1bdeb767824 100644 (file)
@@ -39,7 +39,7 @@ class MessageController < ApplicationController
     message = Message.find(params[:message_id])
 
     if message.to_user_id == @user.id
-      message.update_attribute(:message_read, true)
+      message.update(:message_read => true)
 
       @message = Message.new(
         :recipient => message.sender,
index bb31c82ee4586ac21ca5e2f4e4ba729dc3d0f29c..776182e6376c90e8be6224e3fcd9a580f0c26e9b 100644 (file)
@@ -5,7 +5,7 @@ class Language < ActiveRecord::Base
 
   def self.load(file)
     Language.transaction do
-      YAML.load(File.read(file)).each do |k, v|
+      YAML.safe_load(File.read(file)).each do |k, v|
         begin
           Language.update(k, :english_name => v["english"], :native_name => v["native"])
         rescue ActiveRecord::RecordNotFound
index e6d7a4e46f31cfbbc3a7f2b3d7a88944ffabd4f2..3d5e71ea27de1cd192315570c36488fd5fadd5bc 100644 (file)
@@ -94,7 +94,7 @@ class User < ActiveRecord::Base
       user = nil
     end
 
-    token.update_column(:expiry, 1.week.from_now) if token && user
+    token.update(:expiry => 1.week.from_now) if token && user
 
     user
   end
@@ -233,7 +233,7 @@ class User < ActiveRecord::Base
   # perform a spam check on a user
   def spam_check
     if status == "active" && spam_score > SPAM_THRESHOLD
-      update_column(:status, "suspended")
+      update(:status => "suspended")
     end
   end
 
index d401b4c34b32f4dc0d35668a01824a69d583d1c3..039c9a51cc5e205a1430490edcce984303998907 100644 (file)
@@ -1,6 +1,6 @@
 <div id="mapkey">
   <table class="mapkey-table">
-    <% YAML.load_file("#{Rails.root}/config/key.yml").each do |name,data| %>
+    <% YAML.load_file(Rails.root.join("config", "key.yml")).each do |name,data| %>
       <% data.each do |entry| %>
         <tr class="mapkey-table-entry" data-layer="<%= name %>" data-zoom-min="<%= entry['min_zoom'] %>" data-zoom-max="<%= entry['max_zoom'] %>">
           <td class="mapkey-table-key">
index be2cc0a99bb5813ef68fb761f1a8b49e388d2d97..5ff166beb1ab86812c100eb18d6d376534e857da 100644 (file)
@@ -58,6 +58,6 @@ module OpenStreetMap
     end
 
     # Configure image optimisation
-    config.assets.image_optim = YAML.load_file("#{Rails.root}/config/image_optim.yml")
+    config.assets.image_optim = YAML.load_file(Rails.root.join("config", "image_optim.yml"))
   end
 end
index da975acc9e90c1804060f615775a5d9d4724ceac..5e07cc0986f81c571b2bd3dc86343b0c4eaa80d0 100644 (file)
@@ -4,7 +4,7 @@
 Rails.application.config.assets.version = "1.0"
 
 # Location of manifest file.
-Rails.application.config.assets.manifest = Rails.root.join("tmp/manifest.json")
+Rails.application.config.assets.manifest = Rails.root.join("tmp", "manifest.json")
 
 # Add additional assets to the asset load path
 Rails.application.config.assets.paths << Rails.root.join("config")
index cda96e038018e56263b3c836ea00850661534c3b..5c83c045d777266178e66ce2f19d9e61fc470005 100644 (file)
@@ -1,5 +1,5 @@
 begin
-  BANNERS = YAML.load_file("#{Rails.root}/config/banners.yml").deep_symbolize_keys
+  BANNERS = YAML.load_file(Rails.root.join("config", "banners.yml")).deep_symbolize_keys
 rescue
   BANNERS = {}.freeze
 end
index 5504a2b3f2e4e78216458f2033c3ad31bdee1900..d117707bef68ca7363c92c030271e1f69d608d5b 100644 (file)
@@ -16,7 +16,7 @@ if defined?(MEMCACHE_SERVERS)
 else
   require "openid/store/filesystem"
 
-  openid_store = OpenID::Store::Filesystem.new(Rails.root.join("tmp/openids"))
+  openid_store = OpenID::Store::Filesystem.new(Rails.root.join("tmp", "openids"))
 end
 
 openid_options = { :name => "openid", :store => openid_store }
index 0b6f7be2a9f8c0fd794b1f565756a1adee9d26cf..c679cd4e2df24bf9aa9b42f14531f8ae08f253e5 100644 (file)
@@ -1 +1 @@
-WIKI_PAGES = YAML.load_file("#{Rails.root}/config/wiki_pages.yml")
+WIKI_PAGES = YAML.load_file(Rails.root.join("config", "wiki_pages.yml"))
index 985997ac27bae78313afdbaf07a0c7afbbad8e2a..ddbfe259d613cbec2d589baa3319b8f2127c34a0 100644 (file)
@@ -216,6 +216,5 @@ class CreateOsmDb < ActiveRecord::Migration
     add_index "ways", ["id"], :name => "ways_id_version_idx"
   end
 
-  def self.down
-  end
+  def self.down; end
 end
index 05a70e7a9771092d1645fad3df60c107295dde08..c41856e1e7631c1581aa20b9107efcea38e1cbce 100644 (file)
@@ -10,7 +10,7 @@ class CreateLanguages < ActiveRecord::Migration
 
     add_primary_key :languages, [:code]
 
-    Language.load("#{Rails.root}/config/languages.yml")
+    Language.load(Rails.root.join("config", "languages.yml"))
 
     add_foreign_key :users, :languages, :column => :locale, :primary_key => :code, :name => "users_locale_fkey"
     add_foreign_key :diary_entries, :languages, :column => :language_code, :primary_key => :code, :name => "diary_entries_language_code_fkey"
index fe9144cbb28b2ae95cf94df90a7500a010875d53..083319284700607c84528ed3a306f117506f74ec 100644 (file)
@@ -1,5 +1,5 @@
 class DropCountries < ActiveRecord::Migration
-  def change
+  def up
     drop_table :countries
   end
 end
index 8b893a6b2780aa1bd0b93876b1890a8d3ce09984..00b3a00b368643fdc0a799f34e5248188d926472 100755 (executable)
@@ -11,7 +11,7 @@ class Hash
   end
 end
 
-options = YAML.load(
+options = YAML.safe_load(
   ERB.new(
     IO.read(
       File.dirname(__FILE__) + "/../../config/daemons.yml"
index 4e6cf3b7c8475e403da4322677f9dbb40c27f189..3adfecf65b4792854dc65e2f33b7e67a8a600f78 100644 (file)
--- a/lib/id.rb
+++ b/lib/id.rb
@@ -1,3 +1,3 @@
 module ID
-  LOCALES = Locale.list(Rails.root.join("vendor/assets/iD/iD/locales").entries.map { |p| p.basename.to_s[/(.*).json/] && Regexp.last_match(1) }.compact)
+  LOCALES = Locale.list(Rails.root.join("vendor", "assets", "iD", "iD", "locales").entries.map { |p| p.basename.to_s[/(.*).json/] && Regexp.last_match(1) }.compact)
 end
index 370f0f30009c2a09cafa3ba7ea5847a21636c372..80b68c2a95bdbeeb4d8201614994865638c321aa 100644 (file)
@@ -559,8 +559,8 @@ module OSM
 
   # Return the terms and conditions text for a given country
   def self.legal_text_for_country(country_code)
-    file_name = File.join(Rails.root, "config", "legales", country_code.to_s + ".yml")
-    file_name = File.join(Rails.root, "config", "legales", DEFAULT_LEGALE + ".yml") unless File.exist? file_name
+    file_name = Rails.root.join("config", "legales", country_code.to_s + ".yml")
+    file_name = Rails.root.join("config", "legales", DEFAULT_LEGALE + ".yml") unless File.exist? file_name
     YAML.load_file(file_name)
   end
 
index 165e37b0cca605d8858e7825fd3c20e89a664633..717622762e9a383402ed7135fdfd540f0395bd85 100644 (file)
@@ -177,7 +177,7 @@ module Potlatch
       presettype = ""
       presetcategory = ""
       #        StringIO.open(txt) do |file|
-      File.open("#{Rails.root}/config/potlatch/presets.txt") do |file|
+      File.open(Rails.root.join("config", "potlatch", "presets.txt")) do |file|
         file.each_line do |line|
           t = line.chomp
           if t =~ %r{(\w+)/(\w+)}
@@ -201,7 +201,7 @@ module Potlatch
       colours = {}
       casing = {}
       areas = {}
-      File.open("#{Rails.root}/config/potlatch/colours.txt") do |file|
+      File.open(Rails.root.join("config", "potlatch", "colours.txt")) do |file|
         file.each_line do |line|
           next unless line.chomp =~ /(\w+)\s+([^\s]+)\s+([^\s]+)\s+([^\s]+)/
 
@@ -216,7 +216,7 @@ module Potlatch
       relcolours = {}
       relalphas = {}
       relwidths = {}
-      File.open("#{Rails.root}/config/potlatch/relation_colours.txt") do |file|
+      File.open(Rails.root.join("config", "potlatch", "relation_colours.txt")) do |file|
         file.each_line do |line|
           next unless line.chomp =~ /(\w+)\s+([^\s]+)\s+([^\s]+)\s+([^\s]+)/
 
@@ -230,7 +230,7 @@ module Potlatch
       # Read POI presets
       icon_list = []
       icon_tags = {}
-      File.open("#{Rails.root}/config/potlatch/icon_presets.txt") do |file|
+      File.open(Rails.root.join("config", "potlatch", "icon_presets.txt")) do |file|
         file.each_line do |line|
           (icon, tags) = line.chomp.split("\t")
           icon_list.push(icon)
@@ -241,7 +241,7 @@ module Potlatch
 
       # Read auto-complete
       autotags = { "point" => {}, "way" => {}, "POI" => {} }
-      File.open("#{Rails.root}/config/potlatch/autocomplete.txt") do |file|
+      File.open(Rails.root.join("config", "potlatch", "autocomplete.txt")) do |file|
         file.each_line do |line|
           next unless line.chomp =~ %r{^([\w:]+)/(\w+)\s+(.+)$}
 
index c15d365962e45124e6a7148c51f89dc6a22c6e88..46f9642e7f60ea5bd9d2b7b16d6d5f7100149356 100755 (executable)
@@ -23,7 +23,7 @@ end
 exit 0 unless token == digest[0, 6]
 exit 0 if date < 1.month.ago
 
-message.update_attribute(:message_read, true) if message
+message.update(:message_read => true) if message
 
 mail = Mail.new(STDIN.readlines.join)