Fix some rubocop rails style issues
authorTom Hughes <tom@compton.nu>
Wed, 25 Feb 2015 18:49:21 +0000 (18:49 +0000)
committerTom Hughes <tom@compton.nu>
Thu, 26 Feb 2015 00:12:54 +0000 (00:12 +0000)
61 files changed:
.rubocop_todo.yml
app/controllers/amf_controller.rb
app/controllers/api_controller.rb
app/controllers/application_controller.rb
app/controllers/browse_controller.rb
app/controllers/changeset_controller.rb
app/controllers/diary_entry_controller.rb
app/controllers/directions_controller.rb
app/controllers/export_controller.rb
app/controllers/geocoder_controller.rb
app/controllers/message_controller.rb
app/controllers/node_controller.rb
app/controllers/notes_controller.rb
app/controllers/oauth_clients_controller.rb
app/controllers/old_controller.rb
app/controllers/redactions_controller.rb
app/controllers/relation_controller.rb
app/controllers/search_controller.rb
app/controllers/site_controller.rb
app/controllers/swf_controller.rb
app/controllers/trace_controller.rb
app/controllers/user_blocks_controller.rb
app/controllers/user_controller.rb
app/controllers/user_preference_controller.rb
app/controllers/user_roles_controller.rb
app/controllers/way_controller.rb
app/models/access_token.rb
app/models/changeset.rb
app/models/changeset_comment.rb
app/models/changeset_tag.rb
app/models/client_application.rb
app/models/diary_comment.rb
app/models/diary_entry.rb
app/models/message.rb
app/models/node.rb
app/models/node_tag.rb
app/models/note.rb
app/models/note_comment.rb
app/models/oauth2_verifier.rb
app/models/oauth_nonce.rb
app/models/oauth_token.rb
app/models/old_node.rb
app/models/old_node_tag.rb
app/models/old_relation.rb
app/models/old_relation_tag.rb
app/models/old_way.rb
app/models/old_way_tag.rb
app/models/redaction.rb
app/models/relation.rb
app/models/relation_tag.rb
app/models/request_token.rb
app/models/trace.rb
app/models/tracepoint.rb
app/models/tracetag.rb
app/models/user.rb
app/models/user_block.rb
app/models/user_preference.rb
app/models/user_role.rb
app/models/way.rb
app/models/way_tag.rb
lib/validators.rb

index c4eb88ac45041752665077e5733e6c010f3e3613..57b992971d97ddd9de49e9fee72421d2d3802cdc 100644 (file)
@@ -62,28 +62,11 @@ Metrics/ParameterLists:
 Metrics/PerceivedComplexity:
   Max: 24
 
-# Offense count: 164
-# Cop supports --auto-correct.
-# Configuration parameters: EnforcedStyle, SupportedStyles, Include.
-Rails/ActionFilter:
-  Enabled: false
-
 # Offense count: 2
 # Configuration parameters: Include.
 Rails/HasAndBelongsToMany:
   Enabled: false
 
-# Offense count: 17
-# Cop supports --auto-correct.
-# Configuration parameters: Include.
-Rails/ReadWriteAttribute:
-  Enabled: false
-
-# Offense count: 123
-# Configuration parameters: Include.
-Rails/Validation:
-  Enabled: false
-
 # Offense count: 5
 Style/AccessorMethodName:
   Enabled: false
index 6c3e2c5cf2d272f4ee120153acb83a1fda3142b7..d7364d106c695a725e7f1f97dc4f35ae6b7097cf 100644 (file)
@@ -38,8 +38,8 @@
 class AmfController < ApplicationController
   include Potlatch
 
-  skip_before_filter :verify_authenticity_token
-  before_filter :check_api_writable
+  skip_before_action :verify_authenticity_token
+  before_action :check_api_writable
 
   # Main AMF handlers: process the raw AMF string (using AMF library) and
   # calls each action (private method) accordingly.
index 6bbbee1ce2b49771b5e81e7c3553db3dbb1377e5..7bf8f0499c7339b41a6c908aadde98e978b02325 100644 (file)
@@ -1,9 +1,9 @@
 class ApiController < ApplicationController
-  skip_before_filter :verify_authenticity_token
-  before_filter :check_api_readable, :except => [:capabilities]
-  before_filter :setup_user_auth, :only => [:permissions]
-  after_filter :compress_output
-  around_filter :api_call_handle_error, :api_call_timeout
+  skip_before_action :verify_authenticity_token
+  before_action :check_api_readable, :except => [:capabilities]
+  before_action :setup_user_auth, :only => [:permissions]
+  after_action :compress_output
+  around_action :api_call_handle_error, :api_call_timeout
 
   # Get an XML response containing a list of tracepoints that have been uploaded
   # within the specified bounding box, and in the specified page.
index 72de936d7f629eabc83ade79c0fab3a4018c237e..8322201ff16437a7f5806e506c4f1d3254574108 100644 (file)
@@ -3,7 +3,7 @@ class ApplicationController < ActionController::Base
 
   protect_from_forgery
 
-  before_filter :fetch_body
+  before_action :fetch_body
 
   def authorize_web
     if session[:user]
index a529b393eb954d29386e936388f0115a97adae63..c7f8b0e819849e66b4df3b554a6eee37d7a093a8 100644 (file)
@@ -1,11 +1,11 @@
 class BrowseController < ApplicationController
   layout :map_layout
 
-  before_filter :authorize_web
-  before_filter :set_locale
-  before_filter :except => [:query] { |c| c.check_database_readable(true) }
-  before_filter :require_oauth
-  around_filter :web_timeout
+  before_action :authorize_web
+  before_action :set_locale
+  before_action :except => [:query] { |c| c.check_database_readable(true) }
+  before_action :require_oauth
+  around_action :web_timeout
 
   def relation
     @type = "relation"
index eefe5b55fe85a77c4e326f46e41c40dbe0d72431..d2740f7f33e13aa3c89605e546535fa0d69b7d16 100644 (file)
@@ -4,19 +4,19 @@ class ChangesetController < ApplicationController
   layout "site"
   require "xml/libxml"
 
-  skip_before_filter :verify_authenticity_token, :except => [:list]
-  before_filter :authorize_web, :only => [:list, :feed, :comments_feed]
-  before_filter :set_locale, :only => [:list, :feed, :comments_feed]
-  before_filter :authorize, :only => [:create, :update, :delete, :upload, :include, :close, :comment, :subscribe, :unsubscribe, :hide_comment, :unhide_comment]
-  before_filter :require_moderator, :only => [:hide_comment, :unhide_comment]
-  before_filter :require_allow_write_api, :only => [:create, :update, :delete, :upload, :include, :close, :comment, :subscribe, :unsubscribe, :hide_comment, :unhide_comment]
-  before_filter :require_public_data, :only => [:create, :update, :delete, :upload, :include, :close, :comment, :subscribe, :unsubscribe]
-  before_filter :check_api_writable, :only => [:create, :update, :delete, :upload, :include, :comment, :subscribe, :unsubscribe, :hide_comment, :unhide_comment]
-  before_filter :check_api_readable, :except => [:create, :update, :delete, :upload, :download, :query, :list, :feed, :comment, :subscribe, :unsubscribe, :comments_feed]
-  before_filter(:only => [:list, :feed, :comments_feed]) { |c| c.check_database_readable(true) }
-  after_filter :compress_output
-  around_filter :api_call_handle_error, :except => [:list, :feed, :comments_feed]
-  around_filter :web_timeout, :only => [:list, :feed, :comments_feed]
+  skip_before_action :verify_authenticity_token, :except => [:list]
+  before_action :authorize_web, :only => [:list, :feed, :comments_feed]
+  before_action :set_locale, :only => [:list, :feed, :comments_feed]
+  before_action :authorize, :only => [:create, :update, :delete, :upload, :include, :close, :comment, :subscribe, :unsubscribe, :hide_comment, :unhide_comment]
+  before_action :require_moderator, :only => [:hide_comment, :unhide_comment]
+  before_action :require_allow_write_api, :only => [:create, :update, :delete, :upload, :include, :close, :comment, :subscribe, :unsubscribe, :hide_comment, :unhide_comment]
+  before_action :require_public_data, :only => [:create, :update, :delete, :upload, :include, :close, :comment, :subscribe, :unsubscribe]
+  before_action :check_api_writable, :only => [:create, :update, :delete, :upload, :include, :comment, :subscribe, :unsubscribe, :hide_comment, :unhide_comment]
+  before_action :check_api_readable, :except => [:create, :update, :delete, :upload, :download, :query, :list, :feed, :comment, :subscribe, :unsubscribe, :comments_feed]
+  before_action(:only => [:list, :feed, :comments_feed]) { |c| c.check_database_readable(true) }
+  after_action :compress_output
+  around_action :api_call_handle_error, :except => [:list, :feed, :comments_feed]
+  around_action :web_timeout, :only => [:list, :feed, :comments_feed]
 
   # Helper methods for checking consistency
   include ConsistencyValidations
index 7c38e58a8a57eff382e43f6be231b66750a86ec0..ee998ba8a3f7fd85531e43f84b3d7c8af3c3eee5 100644 (file)
@@ -1,13 +1,13 @@
 class DiaryEntryController < ApplicationController
   layout "site", :except => :rss
 
-  before_filter :authorize_web
-  before_filter :set_locale
-  before_filter :require_user, :only => [:new, :edit, :comment, :hide, :hidecomment]
-  before_filter :lookup_this_user, :only => [:view, :comments]
-  before_filter :check_database_readable
-  before_filter :check_database_writable, :only => [:new, :edit]
-  before_filter :require_administrator, :only => [:hide, :hidecomment]
+  before_action :authorize_web
+  before_action :set_locale
+  before_action :require_user, :only => [:new, :edit, :comment, :hide, :hidecomment]
+  before_action :lookup_this_user, :only => [:view, :comments]
+  before_action :check_database_readable
+  before_action :check_database_writable, :only => [:new, :edit]
+  before_action :require_administrator, :only => [:hide, :hidecomment]
 
   def new
     @title = t "diary_entry.new.title"
index d153f03205bff148a98c0f9f30bd2eaa03d90fe0..b04db6b6f6aea919cb99fa84fdda5283efb9d37b 100644 (file)
@@ -1,7 +1,7 @@
 class DirectionsController < ApplicationController
-  before_filter :authorize_web
-  before_filter :set_locale
-  before_filter :require_oauth, :only => [:search]
+  before_action :authorize_web
+  before_action :set_locale
+  before_action :require_oauth, :only => [:search]
 
   def search
     render :layout => map_layout
index 6a8348fb59addd87882045b081c4ac748e0d71e1..bd020f29b6ea11a1b960ec5f8e71d0885a48fd4c 100644 (file)
@@ -1,6 +1,6 @@
 class ExportController < ApplicationController
-  before_filter :authorize_web
-  before_filter :set_locale
+  before_action :authorize_web
+  before_action :set_locale
 
   caches_page :embed
 
index e889228f3de8f5f6f2f778463ec0a329b554e5d9..be4f0570c828c298dedda67fd3446a0aed5686bd 100644 (file)
@@ -6,9 +6,9 @@ class GeocoderController < ApplicationController
   require "net/http"
   require "rexml/document"
 
-  before_filter :authorize_web
-  before_filter :set_locale
-  before_filter :require_oauth, :only => [:search]
+  before_action :authorize_web
+  before_action :set_locale
+  before_action :require_oauth, :only => [:search]
 
   def search
     normalize_params
index 32f2f8780c3a28be99ab108ce7d522cc7494ed4b..a22802e63accdbe85531db1d740ba87df6a683f4 100644 (file)
@@ -1,12 +1,12 @@
 class MessageController < ApplicationController
   layout "site"
 
-  before_filter :authorize_web
-  before_filter :set_locale
-  before_filter :require_user
-  before_filter :lookup_this_user, :only => [:new]
-  before_filter :check_database_readable
-  before_filter :check_database_writable, :only => [:new, :reply, :mark]
+  before_action :authorize_web
+  before_action :set_locale
+  before_action :require_user
+  before_action :lookup_this_user, :only => [:new]
+  before_action :check_database_readable
+  before_action :check_database_writable, :only => [:new, :reply, :mark]
 
   # Allow the user to write a new message to another user. This action also
   # deals with the sending of that message to the other user when the user
index 8c57ad8f93d76e8f5ad515c6adc8a56103adf9f0..9d3825679c5425629c5cd76e1d2675e90e6c92bc 100644 (file)
@@ -3,14 +3,14 @@
 class NodeController < ApplicationController
   require "xml/libxml"
 
-  skip_before_filter :verify_authenticity_token
-  before_filter :authorize, :only => [:create, :update, :delete]
-  before_filter :require_allow_write_api, :only => [:create, :update, :delete]
-  before_filter :require_public_data, :only => [:create, :update, :delete]
-  before_filter :check_api_writable, :only => [:create, :update, :delete]
-  before_filter :check_api_readable, :except => [:create, :update, :delete]
-  after_filter :compress_output
-  around_filter :api_call_handle_error, :api_call_timeout
+  skip_before_action :verify_authenticity_token
+  before_action :authorize, :only => [:create, :update, :delete]
+  before_action :require_allow_write_api, :only => [:create, :update, :delete]
+  before_action :require_public_data, :only => [:create, :update, :delete]
+  before_action :check_api_writable, :only => [:create, :update, :delete]
+  before_action :check_api_readable, :except => [:create, :update, :delete]
+  after_action :compress_output
+  around_action :api_call_handle_error, :api_call_timeout
 
   # Create a node from XML.
   def create
index 5bdf28862636ae28708684c06e2b8e4c676c1958..5ae136f29aac5c8ce3548cfb232e0d8ea761eb69 100644 (file)
@@ -1,16 +1,16 @@
 class NotesController < ApplicationController
   layout "site", :only => [:mine]
 
-  before_filter :check_api_readable
-  before_filter :authorize_web, :only => [:mine]
-  before_filter :setup_user_auth, :only => [:create, :comment]
-  before_filter :authorize, :only => [:close, :reopen, :destroy]
-  before_filter :require_moderator, :only => [:destroy]
-  before_filter :check_api_writable, :only => [:create, :comment, :close, :reopen, :destroy]
-  before_filter :require_allow_write_notes, :only => [:create, :comment, :close, :reopen, :destroy]
-  before_filter :set_locale
-  after_filter :compress_output
-  around_filter :api_call_handle_error, :api_call_timeout
+  before_action :check_api_readable
+  before_action :authorize_web, :only => [:mine]
+  before_action :setup_user_auth, :only => [:create, :comment]
+  before_action :authorize, :only => [:close, :reopen, :destroy]
+  before_action :require_moderator, :only => [:destroy]
+  before_action :check_api_writable, :only => [:create, :comment, :close, :reopen, :destroy]
+  before_action :require_allow_write_notes, :only => [:create, :comment, :close, :reopen, :destroy]
+  before_action :set_locale
+  after_action :compress_output
+  around_action :api_call_handle_error, :api_call_timeout
 
   ##
   # Return a list of notes in a given area
index bf55679e87b170bbc7177e8d4178340f5150c523..1c1877ad4e3414e140bcda772482a3efa56fc751 100644 (file)
@@ -1,9 +1,9 @@
 class OauthClientsController < ApplicationController
   layout "site"
 
-  before_filter :authorize_web
-  before_filter :set_locale
-  before_filter :require_user
+  before_action :authorize_web
+  before_action :set_locale
+  before_action :require_user
 
   def index
     @client_applications = @user.client_applications
index ff86407f5011fbcd8862a768391656964ada2935..b52c4efa4c40f7dd12718d767b7cee1ba68d2c4f 100644 (file)
@@ -4,17 +4,17 @@
 class OldController < ApplicationController
   require "xml/libxml"
 
-  skip_before_filter :verify_authenticity_token
-  before_filter :setup_user_auth, :only => [:history, :version]
-  before_filter :authorize, :only => [:redact]
-  before_filter :authorize_moderator, :only => [:redact]
-  before_filter :require_allow_write_api, :only => [:redact]
-  before_filter :check_api_readable
-  before_filter :check_api_writable, :only => [:redact]
-  after_filter :compress_output
-  around_filter :api_call_handle_error, :api_call_timeout
-  before_filter :lookup_old_element, :except => [:history]
-  before_filter :lookup_old_element_versions, :only => [:history]
+  skip_before_action :verify_authenticity_token
+  before_action :setup_user_auth, :only => [:history, :version]
+  before_action :authorize, :only => [:redact]
+  before_action :authorize_moderator, :only => [:redact]
+  before_action :require_allow_write_api, :only => [:redact]
+  before_action :check_api_readable
+  before_action :check_api_writable, :only => [:redact]
+  after_action :compress_output
+  around_action :api_call_handle_error, :api_call_timeout
+  before_action :lookup_old_element, :except => [:history]
+  before_action :lookup_old_element_versions, :only => [:history]
 
   def history
     # the .where() method used in the lookup_old_element_versions
index beff596a040a7aeb5f422abbc4ab60d9660354c9..31dd7273f114d2ff217961830c7d80c29ecc41cb 100644 (file)
@@ -1,13 +1,13 @@
 class RedactionsController < ApplicationController
   layout "site"
 
-  before_filter :authorize_web
-  before_filter :set_locale
-  before_filter :require_user, :only => [:new, :create, :edit, :update, :destroy]
-  before_filter :require_moderator, :only => [:new, :create, :edit, :update, :destroy]
-  before_filter :lookup_redaction, :only => [:show, :edit, :update, :destroy]
-  before_filter :check_database_readable
-  before_filter :check_database_writable, :only => [:create, :update, :destroy]
+  before_action :authorize_web
+  before_action :set_locale
+  before_action :require_user, :only => [:new, :create, :edit, :update, :destroy]
+  before_action :require_moderator, :only => [:new, :create, :edit, :update, :destroy]
+  before_action :lookup_redaction, :only => [:show, :edit, :update, :destroy]
+  before_action :check_database_readable
+  before_action :check_database_writable, :only => [:create, :update, :destroy]
 
   def index
     @redactions = Redaction.order(:id)
index 22a8d2831b7b7833e06619769d5c1dfa79fcbe8a..63fdafbde355b386a6ad740c65e0eb87504a4957 100644 (file)
@@ -1,14 +1,14 @@
 class RelationController < ApplicationController
   require "xml/libxml"
 
-  skip_before_filter :verify_authenticity_token
-  before_filter :authorize, :only => [:create, :update, :delete]
-  before_filter :require_allow_write_api, :only => [:create, :update, :delete]
-  before_filter :require_public_data, :only => [:create, :update, :delete]
-  before_filter :check_api_writable, :only => [:create, :update, :delete]
-  before_filter :check_api_readable, :except => [:create, :update, :delete]
-  after_filter :compress_output
-  around_filter :api_call_handle_error, :api_call_timeout
+  skip_before_action :verify_authenticity_token
+  before_action :authorize, :only => [:create, :update, :delete]
+  before_action :require_allow_write_api, :only => [:create, :update, :delete]
+  before_action :require_public_data, :only => [:create, :update, :delete]
+  before_action :check_api_writable, :only => [:create, :update, :delete]
+  before_action :check_api_readable, :except => [:create, :update, :delete]
+  after_action :compress_output
+  around_action :api_call_handle_error, :api_call_timeout
 
   def create
     assert_method :put
index 0217bb29e021cef6ec3ab6e79fa3a8add4f48748..6e9130a526f6e90340747dde82dc6de05d8923e8 100644 (file)
@@ -2,8 +2,8 @@ class SearchController < ApplicationController
   # Support searching for nodes, ways, or all
   # Can search by tag k, v, or both (type->k,value->v)
   # Can search by name (k=name,v=....)
-  skip_before_filter :verify_authenticity_token
-  after_filter :compress_output
+  skip_before_action :verify_authenticity_token
+  after_action :compress_output
 
   def search_all
     do_search(true, true, true)
index 4034950b72e8938e8c6a19f63574667e7ad4994b..5131629acfd57140e0c3eedf06e0d7cefc87aaaa 100644 (file)
@@ -2,12 +2,12 @@ class SiteController < ApplicationController
   layout "site"
   layout :map_layout, :only => [:index, :export]
 
-  before_filter :authorize_web
-  before_filter :set_locale
-  before_filter :redirect_browse_params, :only => :index
-  before_filter :redirect_map_params, :only => [:index, :edit, :export]
-  before_filter :require_user, :only => [:welcome]
-  before_filter :require_oauth, :only => [:index]
+  before_action :authorize_web
+  before_action :set_locale
+  before_action :redirect_browse_params, :only => :index
+  before_action :redirect_map_params, :only => [:index, :edit, :export]
+  before_action :require_user, :only => [:welcome]
+  before_action :require_oauth, :only => [:index]
 
   def index
     unless STATUS == :database_readonly || STATUS == :database_offline
index 8d907d850b37bddbe4cf044391486d8a73cb062c..b7ec2714e7b64987cd2bd75e9d97b3a804170624 100644 (file)
@@ -1,6 +1,6 @@
 class SwfController < ApplicationController
-  skip_before_filter :verify_authenticity_token
-  before_filter :check_api_readable
+  skip_before_action :verify_authenticity_token
+  before_action :check_api_readable
 
   # to log:
   # RAILS_DEFAULT_LOGGER.error("Args: #{args[0]}, #{args[1]}, #{args[2]}, #{args[3]}")
index 9d6dad600b5269a700a28cc5188037069dea8cfd..64ecd5a7fa53e0ccaa81837eb1ecb06476e95a67 100644 (file)
@@ -1,20 +1,20 @@
 class TraceController < ApplicationController
   layout "site"
 
-  skip_before_filter :verify_authenticity_token, :only => [:api_create, :api_read, :api_update, :api_delete, :api_data]
-  before_filter :authorize_web
-  before_filter :set_locale
-  before_filter :require_user, :only => [:mine, :create, :edit, :delete]
-  before_filter :authorize, :only => [:api_create, :api_read, :api_update, :api_delete, :api_data]
-  before_filter :check_database_readable, :except => [:api_read, :api_data]
-  before_filter :check_database_writable, :only => [:create, :edit, :delete, :api_create, :api_update, :api_delete]
-  before_filter :check_api_readable, :only => [:api_read, :api_data]
-  before_filter :check_api_writable, :only => [:api_create, :api_update, :api_delete]
-  before_filter :require_allow_read_gpx, :only => [:api_read, :api_data]
-  before_filter :require_allow_write_gpx, :only => [:api_create, :api_update, :api_delete]
-  before_filter :offline_warning, :only => [:mine, :view]
-  before_filter :offline_redirect, :only => [:create, :edit, :delete, :data, :api_create, :api_delete, :api_data]
-  around_filter :api_call_handle_error, :only => [:api_create, :api_read, :api_update, :api_delete, :api_data]
+  skip_before_action :verify_authenticity_token, :only => [:api_create, :api_read, :api_update, :api_delete, :api_data]
+  before_action :authorize_web
+  before_action :set_locale
+  before_action :require_user, :only => [:mine, :create, :edit, :delete]
+  before_action :authorize, :only => [:api_create, :api_read, :api_update, :api_delete, :api_data]
+  before_action :check_database_readable, :except => [:api_read, :api_data]
+  before_action :check_database_writable, :only => [:create, :edit, :delete, :api_create, :api_update, :api_delete]
+  before_action :check_api_readable, :only => [:api_read, :api_data]
+  before_action :check_api_writable, :only => [:api_create, :api_update, :api_delete]
+  before_action :require_allow_read_gpx, :only => [:api_read, :api_data]
+  before_action :require_allow_write_gpx, :only => [:api_create, :api_update, :api_delete]
+  before_action :offline_warning, :only => [:mine, :view]
+  before_action :offline_redirect, :only => [:create, :edit, :delete, :data, :api_create, :api_delete, :api_data]
+  around_action :api_call_handle_error, :only => [:api_create, :api_read, :api_update, :api_delete, :api_data]
 
   # Counts and selects pages of GPX traces for various criteria (by user, tags, public etc.).
   #  target_user - if set, specifies the user to fetch traces for.  if not set will fetch all traces
index b0ac27dd4002b53f90cfb42ae4f87fcb1e1abb7b..7a8c7a29e2fc842c9411575a4f26e1a27b0217f5 100644 (file)
@@ -1,15 +1,15 @@
 class UserBlocksController < ApplicationController
   layout "site"
 
-  before_filter :authorize_web
-  before_filter :set_locale
-  before_filter :require_user, :only => [:new, :create, :edit, :update, :revoke]
-  before_filter :require_moderator, :only => [:new, :create, :edit, :update, :revoke]
-  before_filter :lookup_this_user, :only => [:new, :create, :blocks_on, :blocks_by]
-  before_filter :lookup_user_block, :only => [:show, :edit, :update, :revoke]
-  before_filter :require_valid_params, :only => [:create, :update]
-  before_filter :check_database_readable
-  before_filter :check_database_writable, :only => [:create, :update, :revoke]
+  before_action :authorize_web
+  before_action :set_locale
+  before_action :require_user, :only => [:new, :create, :edit, :update, :revoke]
+  before_action :require_moderator, :only => [:new, :create, :edit, :update, :revoke]
+  before_action :lookup_this_user, :only => [:new, :create, :blocks_on, :blocks_by]
+  before_action :lookup_user_block, :only => [:show, :edit, :update, :revoke]
+  before_action :require_valid_params, :only => [:create, :update]
+  before_action :check_database_readable
+  before_action :check_database_writable, :only => [:create, :update, :revoke]
 
   def index
     @user_blocks_pages, @user_blocks = paginate(:user_blocks,
index a62e58b0e57abc92f1ce374c727210915a80f3a0..7c20c5111844d2038b07f4b92da50dde7fec9cba 100644 (file)
@@ -1,23 +1,23 @@
 class UserController < ApplicationController
   layout "site", :except => [:api_details]
 
-  skip_before_filter :verify_authenticity_token, :only => [:api_read, :api_details, :api_gpx_files, :auth_success]
-  before_filter :disable_terms_redirect, :only => [:terms, :save, :logout, :api_details]
-  before_filter :authorize, :only => [:api_details, :api_gpx_files]
-  before_filter :authorize_web, :except => [:api_read, :api_details, :api_gpx_files]
-  before_filter :set_locale, :except => [:api_read, :api_details, :api_gpx_files]
-  before_filter :require_user, :only => [:account, :go_public, :make_friend, :remove_friend]
-  before_filter :require_self, :only => [:account]
-  before_filter :check_database_readable, :except => [:login, :api_read, :api_details, :api_gpx_files]
-  before_filter :check_database_writable, :only => [:new, :account, :confirm, :confirm_email, :lost_password, :reset_password, :go_public, :make_friend, :remove_friend]
-  before_filter :check_api_readable, :only => [:api_read, :api_details, :api_gpx_files]
-  before_filter :require_allow_read_prefs, :only => [:api_details]
-  before_filter :require_allow_read_gpx, :only => [:api_gpx_files]
-  before_filter :require_cookies, :only => [:new, :login, :confirm]
-  before_filter :require_administrator, :only => [:set_status, :delete, :list]
-  around_filter :api_call_handle_error, :only => [:api_read, :api_details, :api_gpx_files]
-  before_filter :lookup_user_by_id, :only => [:api_read]
-  before_filter :lookup_user_by_name, :only => [:set_status, :delete]
+  skip_before_action :verify_authenticity_token, :only => [:api_read, :api_details, :api_gpx_files, :auth_success]
+  before_action :disable_terms_redirect, :only => [:terms, :save, :logout, :api_details]
+  before_action :authorize, :only => [:api_details, :api_gpx_files]
+  before_action :authorize_web, :except => [:api_read, :api_details, :api_gpx_files]
+  before_action :set_locale, :except => [:api_read, :api_details, :api_gpx_files]
+  before_action :require_user, :only => [:account, :go_public, :make_friend, :remove_friend]
+  before_action :require_self, :only => [:account]
+  before_action :check_database_readable, :except => [:login, :api_read, :api_details, :api_gpx_files]
+  before_action :check_database_writable, :only => [:new, :account, :confirm, :confirm_email, :lost_password, :reset_password, :go_public, :make_friend, :remove_friend]
+  before_action :check_api_readable, :only => [:api_read, :api_details, :api_gpx_files]
+  before_action :require_allow_read_prefs, :only => [:api_details]
+  before_action :require_allow_read_gpx, :only => [:api_gpx_files]
+  before_action :require_cookies, :only => [:new, :login, :confirm]
+  before_action :require_administrator, :only => [:set_status, :delete, :list]
+  around_action :api_call_handle_error, :only => [:api_read, :api_details, :api_gpx_files]
+  before_action :lookup_user_by_id, :only => [:api_read]
+  before_action :lookup_user_by_name, :only => [:set_status, :delete]
 
   def terms
     @legale = params[:legale] || OSM.ip_to_country(request.remote_ip) || DEFAULT_LEGALE
index 78f310ce50557d1a4a3f7e77baefa9d6693d92fe..e9eed12e36ee33ea68bc20e7a85e66a9e2d2c55c 100644 (file)
@@ -1,10 +1,10 @@
 # Update and read user preferences, which are arbitrayr key/val pairs
 class UserPreferenceController < ApplicationController
-  skip_before_filter :verify_authenticity_token
-  before_filter :authorize
-  before_filter :require_allow_read_prefs, :only => [:read_one, :read]
-  before_filter :require_allow_write_prefs, :except => [:read_one, :read]
-  around_filter :api_call_handle_error
+  skip_before_action :verify_authenticity_token
+  before_action :authorize
+  before_action :require_allow_read_prefs, :only => [:read_one, :read]
+  before_action :require_allow_write_prefs, :except => [:read_one, :read]
+  around_action :api_call_handle_error
 
   ##
   # return all the preferences as an XML document
index 8b1c2e8c0b738f820a27bb227b30917d3dbcb59c..1cfbaf977b0d5a487f2bba28bd198dc2cfa88c9b 100644 (file)
@@ -1,13 +1,13 @@
 class UserRolesController < ApplicationController
   layout "site"
 
-  before_filter :authorize_web
-  before_filter :require_user
-  before_filter :lookup_this_user
-  before_filter :require_administrator
-  before_filter :require_valid_role
-  before_filter :not_in_role, :only => [:grant]
-  before_filter :in_role, :only => [:revoke]
+  before_action :authorize_web
+  before_action :require_user
+  before_action :lookup_this_user
+  before_action :require_administrator
+  before_action :require_valid_role
+  before_action :not_in_role, :only => [:grant]
+  before_action :in_role, :only => [:revoke]
 
   def grant
     @this_user.roles.create(:role => @role, :granter_id => @user.id)
index b13c91b084469a0ec84ab0db8e83207e24117147..0e98854ef76268cf11d473db635f1d2abecec678 100644 (file)
@@ -1,14 +1,14 @@
 class WayController < ApplicationController
   require "xml/libxml"
 
-  skip_before_filter :verify_authenticity_token
-  before_filter :authorize, :only => [:create, :update, :delete]
-  before_filter :require_allow_write_api, :only => [:create, :update, :delete]
-  before_filter :require_public_data, :only => [:create, :update, :delete]
-  before_filter :check_api_writable, :only => [:create, :update, :delete]
-  before_filter :check_api_readable, :except => [:create, :update, :delete]
-  after_filter :compress_output
-  around_filter :api_call_handle_error, :api_call_timeout
+  skip_before_action :verify_authenticity_token
+  before_action :authorize, :only => [:create, :update, :delete]
+  before_action :require_allow_write_api, :only => [:create, :update, :delete]
+  before_action :require_public_data, :only => [:create, :update, :delete]
+  before_action :check_api_writable, :only => [:create, :update, :delete]
+  before_action :check_api_readable, :except => [:create, :update, :delete]
+  after_action :compress_output
+  around_action :api_call_handle_error, :api_call_timeout
 
   def create
     assert_method :put
index 2bf226784085bd95d85681698b215e23710c39a7..f690c97542472dfa4fdbc54b5826e5dea4cf2d37 100644 (file)
@@ -4,7 +4,7 @@ class AccessToken < OauthToken
 
   scope :valid, -> { where(:invalidated_at => nil) }
 
-  validates_presence_of :user, :secret
+  validates :user, :secret, :presence => true
 
   before_create :set_authorized_at
 
index 11a09813721f4e6c976e77459bb90f48796b06b3..cede7daa1438777cfb868b5ba608631c43771b59 100644 (file)
@@ -15,13 +15,16 @@ class Changeset < ActiveRecord::Base
   has_many :comments, -> { where(:visible => true).order(:created_at) }, :class_name => "ChangesetComment"
   has_and_belongs_to_many :subscribers, :class_name => "User", :join_table => "changesets_subscribers", :association_foreign_key => "subscriber_id"
 
-  validates_presence_of :id, :on => :update
-  validates_presence_of :user_id, :created_at, :closed_at, :num_changes
-  validates_uniqueness_of :id
-  validates_numericality_of :id, :on => :update, :integer_only => true
-  validates_numericality_of :min_lat, :max_lat, :min_lon, :max_lat, :allow_nil => true, :integer_only => true
-  validates_numericality_of :user_id,  :integer_only => true
-  validates_numericality_of :num_changes, :integer_only => true, :greater_than_or_equal_to => 0
+  validates :id, :uniqueness => true, :presence => { :on => :update },
+                 :numericality => { :on => :update, :integer_only => true }
+  validates :user_id, :presence => true,
+                      :numericality => { :integer_only => true }
+  validates :num_changes, :presence => true,
+                          :numericality => { :integer_only => true,
+                                             :greater_than_or_equal_to => 0 }
+  validates :created_at, :closed_at, :presence => true
+  validates :min_lat, :max_lat, :min_lon, :max_lat, :allow_nil => true,
+                                                    :numericality => { :integer_only => true }
 
   before_save :update_closed_at
 
index 02f68a2fa72e98bc50d2aca798bd42d470449466..ec563d6c773ea50bd36adb1798adece578542085 100644 (file)
@@ -2,16 +2,14 @@ class ChangesetComment < ActiveRecord::Base
   belongs_to :changeset
   belongs_to :author, :class_name => "User"
 
-  validates_presence_of :id, :on => :update # is it necessary?
-  validates_uniqueness_of :id
-  validates_presence_of :changeset
-  validates_associated :changeset
-  validates_presence_of :author
-  validates_associated :author
-  validates :visible, :inclusion => { :in => [true, false] }
+  validates :id, :uniqueness => true, :presence => { :on => :update },
+                 :numericality => { :on => :update, :integer_only => true }
+  validates :changeset, :presence => true, :associated => true
+  validates :author, :presence => true, :associated => true
+  validates :visible, :inclusion => [true, false]
 
   # Return the comment text
   def body
-    RichText.new("text", read_attribute(:body))
+    RichText.new("text", self[:body])
   end
 end
index 0425fa6b40ae580587ea0ac736c0831f8333fb57..7ffba0dc3350c0348c094d4b7ddd0e8893fbeea4 100644 (file)
@@ -3,8 +3,7 @@ class ChangesetTag < ActiveRecord::Base
 
   belongs_to :changeset
 
-  validates_presence_of :changeset
-  validates_length_of :k, :maximum => 255, :allow_blank => true
-  validates_uniqueness_of :k, :scope => :changeset_id
-  validates_length_of :v, :maximum => 255, :allow_blank => true
+  validates :changeset, :presence => true, :associated => true
+  validates :k, :v, :allow_blank => true, :length => { :maximum => 255 }
+  validates :k, :uniqueness => { :scope => :changeset_id }
 end
index e1358028d98ae6fe7197b922cc081194528e759c..e37629d1798fcbf2818be825a94d8075ed1683fb 100644 (file)
@@ -7,11 +7,10 @@ class ClientApplication < ActiveRecord::Base
   has_many :oauth2_verifiers
   has_many :oauth_tokens
 
-  validates_presence_of :name, :url, :key, :secret
-  validates_uniqueness_of :key
-  validates_format_of :url, :with => %r{\Ahttp(s?)://(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(/|/([\w#!:.?+=&%@!\-/]))?}i
-  validates_format_of :support_url, :with => %r{\Ahttp(s?)://(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(/|/([\w#!:.?+=&%@!\-/]))?}i, :allow_blank => true
-  validates_format_of :callback_url, :with => %r{\A[a-z][a-z0-9.+-]*://(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(/|/([\w#!:.?+=&%@!\-/]))?}i, :allow_blank => true
+  validates :key, :presence => true, :uniqueness => true
+  validates :name, :url, :secret, :presence => true
+  validates :url, :format => %r{\Ahttp(s?)://(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(/|/([\w#!:.?+=&%@!\-/]))?}i
+  validates :support_url, :callback_url, :allow_blank => true, :format => %r{\Ahttp(s?)://(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(/|/([\w#!:.?+=&%@!\-/]))?}i
 
   before_validation :generate_keys, :on => :create
 
index b38240db015cca987af8b12569fa9244cb3f143b..2796eb612ac8eea869270fc7cee2f72bb73b6da8 100644 (file)
@@ -2,13 +2,13 @@ class DiaryComment < ActiveRecord::Base
   belongs_to :user
   belongs_to :diary_entry
 
-  validates_presence_of :body
-  validates_associated :diary_entry
+  validates :body, :presence => true
+  validates :diary_entry, :user, :associated => true
 
   after_save :spam_check
 
   def body
-    RichText.new(read_attribute(:body_format), read_attribute(:body))
+    RichText.new(self[:body_format], self[:body])
   end
 
   def digest
index fa3c4c84826c1ad0be38a4319e56017c3bd04eb4..368ee3aca802dc1770b7a5b87d25d38706205dea 100644 (file)
@@ -7,19 +7,20 @@ class DiaryEntry < ActiveRecord::Base
 
   scope :visible, -> { where(:visible => true) }
 
-  validates_presence_of :title, :body
-  validates_length_of :title, :within => 1..255
-  # validates_length_of :language, :within => 2..5, :allow_nil => false
-  validates_numericality_of :latitude, :allow_nil => true,
-                                       :greater_than_or_equal_to => -90, :less_than_or_equal_to => 90
-  validates_numericality_of :longitude, :allow_nil => true,
-                                        :greater_than_or_equal_to => -180, :less_than_or_equal_to => 180
-  validates_associated :language
+  validates :title, :body, :presence => true
+  validates :title, :length => 1..255
+  validates :latitude, :allow_nil => true,
+                       :numericality => { :greater_than_or_equal_to => -90,
+                                          :less_than_or_equal_to => 90 }
+  validates :longitude, :allow_nil => true,
+                        :numericality => { :greater_than_or_equal_to => -180,
+                                           :less_than_or_equal_to => 180 }
+  validates :language, :user, :associated => true
 
   after_save :spam_check
 
   def body
-    RichText.new(read_attribute(:body_format), read_attribute(:body))
+    RichText.new(self[:body_format], self[:body])
   end
 
   private
index 10b6bda8ac55636a4b551b5cb37c71e3c5c517dc..2a0cea4a1faa7840c10d5b9f2c2f79169a989237 100644 (file)
@@ -4,10 +4,8 @@ class Message < ActiveRecord::Base
   belongs_to :sender, :class_name => "User", :foreign_key => :from_user_id
   belongs_to :recipient, :class_name => "User", :foreign_key => :to_user_id
 
-  validates_presence_of :title, :body, :sent_on, :sender, :recipient
-  validates_length_of :title, :within => 1..255
-  validates_inclusion_of :message_read, :in => [true, false]
-  validates_as_utf8 :title
+  validates :title, :presence => true, :utf8 => true, :length => 1..255
+  validates :body, :sent_on, :sender, :recipient, :presence => true
 
   def self.from_mail(mail, from, to)
     if mail.multipart?
@@ -33,7 +31,7 @@ class Message < ActiveRecord::Base
   end
 
   def body
-    RichText.new(read_attribute(:body_format), read_attribute(:body))
+    RichText.new(self[:body_format], self[:body])
   end
 
   def digest
index ec899fa89814b8820e8f09dfef92d32e9b7bbbb4..f1a89e0e2d4656ccc4480fbf88a8cb69002288ee 100644 (file)
@@ -23,14 +23,21 @@ class Node < ActiveRecord::Base
   has_many :containing_relation_members, :class_name => "RelationMember", :as => :member
   has_many :containing_relations, :class_name => "Relation", :through => :containing_relation_members, :source => :relation
 
-  validates_presence_of :id, :on => :update
-  validates_presence_of :timestamp, :version,  :changeset_id
-  validates_uniqueness_of :id
-  validates_inclusion_of :visible, :in => [true, false]
-  validates_numericality_of :latitude, :longitude, :changeset_id, :version, :integer_only => true
-  validates_numericality_of :id, :on => :update, :integer_only => true
+  validates :id, :uniqueness => true, :presence => { :on => :update },
+                 :numericality => { :on => :update, :integer_only => true }
+  validates :version, :presence => true,
+                      :numericality => { :integer_only => true }
+  validates :changeset_id, :presence => true,
+                           :numericality => { :integer_only => true }
+  validates :latitude, :presence => true,
+                       :numericality => { :integer_only => true }
+  validates :longitude, :presence => true,
+                        :numericality => { :integer_only => true }
+  validates :timestamp, :presence => true
+  validates :changeset, :associated => true
+  validates :visible, :inclusion => [true, false]
+
   validate :validate_position
-  validates_associated :changeset
 
   scope :visible, -> { where(:visible => true) }
   scope :invisible, -> { where(:visible => false) }
index cb906402c897737c374113fe6874cfac522c4212..5f2f9efc9107036fef2bb97b244d63325c1efe15 100644 (file)
@@ -4,8 +4,7 @@ class NodeTag < ActiveRecord::Base
 
   belongs_to :node
 
-  validates_presence_of :node
-  validates_length_of :k, :maximum => 255, :allow_blank => true
-  validates_uniqueness_of :k, :scope => :node_id
-  validates_length_of :v, :maximum => 255, :allow_blank => true
+  validates :node, :presence => true, :associated => true
+  validates :k, :v, :allow_blank => true, :length => { :maximum => 255 }
+  validates :k, :uniqueness => { :scope => :node_id }
 end
index f70e4f3bfdf229b227475cd18e4dcbbdf2a293b6..31056be49ca090733b483a09ddeb1ac0f4ecb805 100644 (file)
@@ -3,12 +3,12 @@ class Note < ActiveRecord::Base
 
   has_many :comments, -> { where(:visible => true).order(:created_at) }, :class_name => "NoteComment", :foreign_key => :note_id
 
-  validates_presence_of :id, :on => :update
-  validates_uniqueness_of :id
-  validates_numericality_of :latitude, :only_integer => true
-  validates_numericality_of :longitude, :only_integer => true
-  validates_presence_of :closed_at if :status == "closed"
-  validates_inclusion_of :status, :in => %w(open closed hidden)
+  validates :id, :uniqueness => true, :presence => { :on => :update },
+                 :numericality => { :on => :update, :integer_only => true }
+  validates :latitude, :longitude, :numericality => { :only_integer => true }
+  validates :closed_at, :presence => true, :if => proc { :status == "closed" }
+  validates :status, :inclusion => %w(open closed hidden)
+
   validate :validate_position
 
   scope :visible, -> { where("status != 'hidden'") }
index 192064864e4de10d78f7e408ae243cb60ce7787d..31ee6f99b58de4db11862c9c7a258051da134a5b 100644 (file)
@@ -2,17 +2,16 @@ class NoteComment < ActiveRecord::Base
   belongs_to :note, :foreign_key => :note_id, :touch => true
   belongs_to :author, :class_name => "User", :foreign_key => :author_id
 
-  validates_presence_of :id, :on => :update
-  validates_uniqueness_of :id
-  validates_presence_of :note_id
-  validates_associated :note
-  validates_presence_of :visible
-  validates_associated :author
-  validates_inclusion_of :event, :in => %w(opened closed reopened commented hidden)
-  validates_format_of :body, :with => /\A[^\x00-\x08\x0b-\x0c\x0e-\x1f\x7f\ufffe\uffff]*\z/
+  validates :id, :uniqueness => true, :presence => { :on => :update },
+                 :numericality => { :on => :update, :integer_only => true }
+  validates :note, :presence => true, :associated => true
+  validates :visible, :inclusion => [true, false]
+  validates :author, :associated => true
+  validates :event, :inclusion => %w(opened closed reopened commented hidden)
+  validates :body, :format => /\A[^\x00-\x08\x0b-\x0c\x0e-\x1f\x7f\ufffe\uffff]*\z/
 
   # Return the comment text
   def body
-    RichText.new("text", read_attribute(:body))
+    RichText.new("text", self[:body])
   end
 end
index 4dcce5588ff8756b451d80cdeeed20918e7dc58c..a404d0c7a872c6d1cb8673cafdc3ea3feb792f4f 100644 (file)
@@ -1,5 +1,6 @@
 class Oauth2Verifier < OauthToken
-  validates_presence_of :user
+  validates :user, :presence => true, :associated => true
+
   attr_accessor :state
 
   def exchange!(_params = {})
index 84211e31d355e6ef96b9187a24eb246e0acd3856..4d615dd5defcba96a238bf6cfbab81d55ff6b875 100644 (file)
@@ -1,8 +1,8 @@
 # Simple store of nonces. The OAuth Spec requires that any given pair of nonce and timestamps are unique.
 # Thus you can use the same nonce with a different timestamp and viceversa.
 class OauthNonce < ActiveRecord::Base
-  validates_presence_of :nonce, :timestamp
-  validates_uniqueness_of :nonce, :scope => :timestamp
+  validates :timestamp, :presence => true
+  validates :nonce, :presence => true, :uniqueness => { :scope => :timestamp }
 
   # Remembers a nonce and it's associated timestamp. It returns false if it has already been used
   def self.remember(nonce, timestamp)
index f2dd31df08a4d729c261e27377324e1461f04b9d..9a3e7de9eca142c21574f011ef33ee393f573539 100644 (file)
@@ -4,8 +4,9 @@ class OauthToken < ActiveRecord::Base
 
   scope :authorized, -> { where("authorized_at IS NOT NULL and invalidated_at IS NULL") }
 
-  validates_uniqueness_of :token
-  validates_presence_of :client_application, :token
+  validates :token, :presence => true, :uniqueness => true
+  validates :user, :associated => true
+  validates :client_application, :presence => true
 
   before_validation :generate_keys, :on => :create
 
index 5b5739ff23d5891a25acd6cb916f27ea9c2bd4a4..84899d7fb4a8e7b609c0d3dd03d01271b145789f 100644 (file)
@@ -10,11 +10,15 @@ class OldNode < ActiveRecord::Base
   # the queries generated by Redactable will use the wrong table name.
   include Redactable
 
-  validates_presence_of :changeset_id, :timestamp
-  validates_inclusion_of :visible, :in => [true, false]
-  validates_numericality_of :latitude, :longitude
+  validates :changeset, :presence => true, :associated => true
+  validates :latitude, :presence => true,
+                       :numericality => { :integer_only => true }
+  validates :longitude, :presence => true,
+                        :numericality => { :integer_only => true }
+  validates :timestamp, :presence => true
+  validates :visible, :inclusion => [true, false]
+
   validate :validate_position
-  validates_associated :changeset
 
   belongs_to :changeset
   belongs_to :redaction
index eef1e02d508836f43652df4a8059be79b7e1eb2c..f1df02c84095c279e18f579591e35f09df57645d 100644 (file)
@@ -4,8 +4,7 @@ class OldNodeTag < ActiveRecord::Base
 
   belongs_to :old_node, :foreign_key => [:node_id, :version]
 
-  validates_presence_of :old_node
-  validates_length_of :k, :maximum => 255, :allow_blank => true
-  validates_uniqueness_of :k, :scope => [:node_id, :version]
-  validates_length_of :v, :maximum => 255, :allow_blank => true
+  validates :old_node, :presence => true, :associated => true
+  validates :k, :v, :allow_blank => true, :length => { :maximum => 255 }
+  validates :k, :uniqueness => { :scope => [:node_id, :version] }
 end
index deba6ecb6014a250d456a2e8645fc216de3053f5..af49ddefbcd6ded8a6d890a3a8957d586530d619 100644 (file)
@@ -16,7 +16,9 @@ class OldRelation < ActiveRecord::Base
   has_many :old_members, -> { order(:sequence_id) }, :class_name => "OldRelationMember", :foreign_key => [:relation_id, :version]
   has_many :old_tags, :class_name => "OldRelationTag", :foreign_key => [:relation_id, :version]
 
-  validates_associated :changeset
+  validates :changeset, :presence => true, :associated => true
+  validates :timestamp, :presence => true
+  validates :visible, :inclusion => [true, false]
 
   def self.from_relation(relation)
     old_relation = OldRelation.new
index 952c51fa52a9fa7c2386c006353ff6e20d1b58b4..ad3b72734aed707bfebc87c4c26562690fa5f9c6 100644 (file)
@@ -4,8 +4,7 @@ class OldRelationTag < ActiveRecord::Base
 
   belongs_to :old_relation, :foreign_key => [:relation_id, :version]
 
-  validates_presence_of :old_relation
-  validates_length_of :k, :maximum => 255, :allow_blank => true
-  validates_uniqueness_of :k, :scope => [:relation_id, :version]
-  validates_length_of :v, :maximum => 255, :allow_blank => true
+  validates :old_relation, :presence => true, :associated => true
+  validates :k, :v, :allow_blank => true, :length => { :maximum => 255 }
+  validates :k, :uniqueness => { :scope => [:relation_id, :version] }
 end
index ed1f867f6c2e163c3e836789be29c3bfc772c31c..c86590ed94a13f1da6046bbcd307f182f10d8fb5 100644 (file)
@@ -16,7 +16,9 @@ class OldWay < ActiveRecord::Base
   has_many :old_nodes, :class_name => "OldWayNode", :foreign_key => [:way_id, :version]
   has_many :old_tags, :class_name => "OldWayTag", :foreign_key => [:way_id, :version]
 
-  validates_associated :changeset
+  validates :changeset, :presence => true, :associated => true
+  validates :timestamp, :presence => true
+  validates :visible, :inclusion => [true, false]
 
   def self.from_way(way)
     old_way = OldWay.new
index 9926db1446310fdf46d41aa6592df8f203a59331..69bd2b1861d12d845d2c3716f8fd651311d781c1 100644 (file)
@@ -4,8 +4,7 @@ class OldWayTag < ActiveRecord::Base
 
   belongs_to :old_way, :foreign_key => [:way_id, :version]
 
-  validates_presence_of :old_way
-  validates_length_of :k, :maximum => 255, :allow_blank => true
-  validates_uniqueness_of :k, :scope => [:way_id, :version]
-  validates_length_of :v, :maximum => 255, :allow_blank => true
+  validates :old_way, :presence => true, :associated => true
+  validates :k, :v, :allow_blank => true, :length => { :maximum => 255 }
+  validates :k, :uniqueness => { :scope => [:way_id, :version] }
 end
index b3c5ec5ba6753469a8b87c9cf6bb6af0fb4c36e0..fda59f33bcd10e5098af8d210faf5f11715237e0 100644 (file)
@@ -17,6 +17,6 @@ class Redaction < ActiveRecord::Base
   # this method overrides the AR default to provide the rich
   # text object for the description field.
   def description
-    RichText.new(read_attribute(:description_format), read_attribute(:description))
+    RichText.new(self[:description_format], self[:description])
   end
 end
index 97241f437a040f79e3967a193482e7eb4191aca8..d39fd27968a87bcbe76a8fe624c21c3bed53babc 100644 (file)
@@ -17,13 +17,15 @@ class Relation < ActiveRecord::Base
   has_many :containing_relation_members, :class_name => "RelationMember", :as => :member
   has_many :containing_relations, :class_name => "Relation", :through => :containing_relation_members, :source => :relation
 
-  validates_presence_of :id, :on => :update
-  validates_presence_of :timestamp, :version,  :changeset_id
-  validates_uniqueness_of :id
-  validates_inclusion_of :visible, :in => [true, false]
-  validates_numericality_of :id, :on => :update, :integer_only => true
-  validates_numericality_of :changeset_id, :version, :integer_only => true
-  validates_associated :changeset
+  validates :id, :uniqueness => true, :presence => { :on => :update },
+                 :numericality => { :on => :update, :integer_only => true }
+  validates :version, :presence => true,
+                      :numericality => { :integer_only => true }
+  validates :changeset_id, :presence => true,
+                           :numericality => { :integer_only => true }
+  validates :timestamp, :presence => true
+  validates :changeset, :associated => true
+  validates :visible, :inclusion => [true, false]
 
   scope :visible, -> { where(:visible => true) }
   scope :invisible, -> { where(:visible => false) }
index c665cfef66e0fb19896731d29776d3695715b153..382606795cab0416326971239a393173edb6c491 100644 (file)
@@ -4,8 +4,7 @@ class RelationTag < ActiveRecord::Base
 
   belongs_to :relation
 
-  validates_presence_of :relation
-  validates_length_of :k, :maximum => 255, :allow_blank => true
-  validates_uniqueness_of :k, :scope => :relation_id
-  validates_length_of :v, :maximum => 255, :allow_blank => true
+  validates :relation, :presence => true, :associated => true
+  validates :k, :v, :allow_blank => true, :length => { :maximum => 255 }
+  validates :k, :uniqueness => { :scope => :relation_id }
 end
index 02f1683465111c32aeda63d54b75c9f3bd6c3f5c..a1b30abb30d76c9a51c01b1083bbb0ad12335d1b 100644 (file)
@@ -17,7 +17,7 @@ class RequestToken < OauthToken
       params = { :user => user, :client_application => client_application }
       # copy the permissions from the authorised request token to the access token
       client_application.permissions.each do |p|
-        params[p] = read_attribute(p)
+        params[p] = self[p]
       end
 
       access_token = AccessToken.create(params)
index 157b63f691e05f3105a3db536a50fc8419ecde24..994bafcf13cc9738124ed05f572fc8990c8324bc 100644 (file)
@@ -10,13 +10,11 @@ class Trace < ActiveRecord::Base
   scope :visible_to_all, -> { where(:visibility => %w(public identifiable)) }
   scope :tagged, ->(t) { joins(:tags).where(:gpx_file_tags => { :tag => t }) }
 
-  validates_presence_of :user_id, :name, :timestamp
-  validates_presence_of :description, :on => :create
-  validates_length_of :name, :maximum => 255
-  validates_length_of :description, :maximum => 255
-  #  validates_numericality_of :latitude, :longitude
-  validates_inclusion_of :inserted, :in => [true, false]
-  validates_inclusion_of :visibility, :in => %w(private public trackable identifiable)
+  validates :user, :presence => true, :associated => true
+  validates :name, :presence => true, :length => 1..255
+  validates :description, :presence => { :on => :create }, :length => 1..255
+  validates :timestamp, :presence => true
+  validates :visibility, :inclusion => %w(private public trackable identifiable)
 
   def destroy
     super
index 398a849d0ef757f840bb3859f4429fae1464e27d..9485b8a14086b7d291c42eb24ff85a2fa4ee689c 100644 (file)
@@ -3,11 +3,10 @@ class Tracepoint < ActiveRecord::Base
 
   self.table_name = "gps_points"
 
-  validates_numericality_of :trackid, :only_integer => true
-  validates_numericality_of :latitude, :only_integer => true
-  validates_numericality_of :longitude, :only_integer => true
-  validates_associated :trace
-  validates_presence_of :timestamp
+  validates :trackid, :numericality => { :only_integer => true }
+  validates :latitude, :longitude, :numericality => { :only_integer => true }
+  validates :trace, :associated => true
+  validates :timestamp, :presence => true
 
   belongs_to :trace, :foreign_key => "gpx_id"
 
index 2614e597124ee8a1aeaa41964c51c6ddc07bff49..35513783110db7f174b5f20ed7755712db961b79 100644 (file)
@@ -1,8 +1,8 @@
 class Tracetag < ActiveRecord::Base
   self.table_name = "gpx_file_tags"
 
-  validates_format_of :tag, :with => /\A[^\/;.,?]*\z/
-  validates_length_of :tag, :within => 1..255
-
   belongs_to :trace, :foreign_key => "gpx_id"
+
+  validates :trace, :presence => true, :associated => true
+  validates :tag, :length => 1..255, :format => /\A[^\/;.,?]*\z/
 end
index ac293a0bdbeeeb38e5a9e3650d768311c03b5542..d8c5153b1053e1ccaa42e06e851d8b51888d3d65 100644 (file)
@@ -34,24 +34,27 @@ class User < ActiveRecord::Base
                     :default_url => "/assets/:class/:attachment/:style.png",
                     :styles => { :large => "100x100>", :small => "50x50>" }
 
-  validates_presence_of :email, :display_name
-  validates_confirmation_of :email # , :message => ' addresses must match'
-  validates_confirmation_of :pass_crypt # , :message => ' must match the confirmation password'
-  validates_uniqueness_of :display_name, :allow_nil => true, :case_sensitive => false, :if => proc { |u| u.display_name_changed? }
-  validates_uniqueness_of :email, :case_sensitive => false, :if => proc { |u| u.email_changed? }
-  validates_length_of :pass_crypt, :within => 8..255
-  validates_length_of :display_name, :within => 3..255, :allow_nil => true
+  validates :display_name, :presence => true, :allow_nil => true, :length => 3..255,
+                           :exclusion => %w(new terms save confirm confirm-email go_public reset-password forgot-password suspended)
+  validates :display_name, :if => proc { |u| u.display_name_changed? },
+                           :uniqueness => { :case_sensitive => false }
+  validates :display_name, :if => proc { |u| u.display_name_changed? },
+                           :format => { :with => /\A[^\x00-\x1f\x7f\ufffe\uffff\/;.,?%#]*\z/ }
+  validates :display_name, :if => proc { |u| u.display_name_changed? },
+                           :format => { :with => /\A\S/, :message => "has leading whitespace" }
+  validates :display_name, :if => proc { |u| u.display_name_changed? },
+                           :format => { :with => /\S\z/, :message => "has trailing whitespace" }
+  validates :email, :presence => true, :confirmation => true
+  validates :email, :if => proc { |u| u.email_changed? },
+                    :uniqueness => { :case_sensitive => false }
+  validates :pass_crypt, :confirmation => true, :length => 8..255
+  validates :home_lat, :home_lon, :allow_nil => true, :numericality => true
+  validates :home_zoom, :allow_nil => true, :numericality => { :only_integer => true }
+  validates :preferred_editor, :inclusion => Editors::ALL_EDITORS, :allow_nil => true
+  validates :image, :attachment_content_type => { :content_type => /\Aimage\/.*\Z/ }
+
   validates_email_format_of :email, :if => proc { |u| u.email_changed? }
   validates_email_format_of :new_email, :allow_blank => true, :if => proc { |u| u.new_email_changed? }
-  validates_format_of :display_name, :with => /\A[^\x00-\x1f\x7f\ufffe\uffff\/;.,?%#]*\z/, :if => proc { |u| u.display_name_changed? }
-  validates_format_of :display_name, :with => /\A\S/, :message => "has leading whitespace", :if => proc { |u| u.display_name_changed? }
-  validates_format_of :display_name, :with => /\S\z/, :message => "has trailing whitespace", :if => proc { |u| u.display_name_changed? }
-  validates_exclusion_of :display_name, :in => %w(new terms save confirm confirm-email go_public reset-password forgot-password suspended)
-  validates_numericality_of :home_lat, :allow_nil => true
-  validates_numericality_of :home_lon, :allow_nil => true
-  validates_numericality_of :home_zoom, :only_integer => true, :allow_nil => true
-  validates_inclusion_of :preferred_editor, :in => Editors::ALL_EDITORS, :allow_nil => true
-  validates_attachment_content_type :image, :content_type => /\Aimage\/.*\Z/
 
   after_initialize :set_defaults
   before_save :encrypt_password
@@ -113,15 +116,15 @@ class User < ActiveRecord::Base
   end
 
   def description
-    RichText.new(read_attribute(:description_format), read_attribute(:description))
+    RichText.new(self[:description_format], self[:description])
   end
 
   def languages
-    attribute_present?(:languages) ? read_attribute(:languages).split(/ *, */) : []
+    attribute_present?(:languages) ? self[:languages].split(/ *, */) : []
   end
 
   def languages=(languages)
-    write_attribute(:languages, languages.join(","))
+    self[:languages] = languages.join(",")
   end
 
   def preferred_language
index 3759afd692f4c5dbd0e3a66f43b12ce9b12a71a3..de14dcaa9617f351941b93925cc7b1453ee6357b 100644 (file)
@@ -16,7 +16,7 @@ class UserBlock < ActiveRecord::Base
   ##
   # return a renderable version of the reason text.
   def reason
-    RichText.new(read_attribute(:reason_format), read_attribute(:reason))
+    RichText.new(self[:reason_format], self[:reason])
   end
 
   ##
index 0533ccad2d83857a967feefdb2703b1e19c145ac..7c65a589953a688e3d4aa87e533ac00e9c8839ce 100644 (file)
@@ -3,8 +3,8 @@ class UserPreference < ActiveRecord::Base
 
   belongs_to :user
 
-  validates_length_of :k, :within => 1..255
-  validates_length_of :v, :within => 1..255
+  validates :user, :presence => true, :associated => true
+  validates :k, :v, :length => 1..255
 
   # Turn this Node in to an XML Node without the <osm> wrapper.
   def to_xml_node
index c4d703530220bac59cc59f9f96b5db47e7213227..9686f7250bdc7234173dad784686811420422594 100644 (file)
@@ -3,6 +3,5 @@ class UserRole < ActiveRecord::Base
 
   ALL_ROLES = %w(administrator moderator)
 
-  validates_inclusion_of :role, :in => ALL_ROLES
-  validates_uniqueness_of :role, :scope => :user_id
+  validates :role, :inclusion => ALL_ROLES, :uniqueness => { :scope => :user_id }
 end
index 9b1765d12d3c88ed3d4a41cf8084cce578cc9d2b..f0b35a88a2384914d31b97f65992b71efd9afed0 100644 (file)
@@ -19,13 +19,15 @@ class Way < ActiveRecord::Base
   has_many :containing_relation_members, :class_name => "RelationMember", :as => :member
   has_many :containing_relations, :class_name => "Relation", :through => :containing_relation_members, :source => :relation
 
-  validates_presence_of :id, :on => :update
-  validates_presence_of :changeset_id, :version,  :timestamp
-  validates_uniqueness_of :id
-  validates_inclusion_of :visible, :in => [true, false]
-  validates_numericality_of :changeset_id, :version, :integer_only => true
-  validates_numericality_of :id, :on => :update, :integer_only => true
-  validates_associated :changeset
+  validates :id, :uniqueness => true, :presence => { :on => :update },
+                 :numericality => { :on => :update, :integer_only => true }
+  validates :version, :presence => true,
+                      :numericality => { :integer_only => true }
+  validates :changeset_id, :presence => true,
+                           :numericality => { :integer_only => true }
+  validates :timestamp, :presence => true
+  validates :changeset, :associated => true
+  validates :visible, :inclusion => [true, false]
 
   scope :visible, -> { where(:visible => true) }
   scope :invisible, -> { where(:visible => false) }
index 6204af9a5a909c8cc847b2594d1e790023d630a3..99d435d33a7d78dec9e00af3f38d263d57b2cfc5 100644 (file)
@@ -4,8 +4,7 @@ class WayTag < ActiveRecord::Base
 
   belongs_to :way
 
-  validates_presence_of :way
-  validates_length_of :k, :maximum => 255, :allow_blank => true
-  validates_uniqueness_of :k, :scope => :way_id
-  validates_length_of :v, :maximum => 255, :allow_blank => true
+  validates :way, :presence => true, :associated => true
+  validates :k, :v, :allow_blank => true, :length => { :maximum => 255 }
+  validates :k, :uniqueness => { :scope => :way_id }
 end
index 69cabb942540bed9dbe5350593efc63962b7005f..0c6b3f5949e9eec7ba719aa2096a3b49fff71606 100644 (file)
@@ -1,15 +1,9 @@
-module ActiveRecord
-  module Validations
-    module ClassMethods
-      ##
-      # validation method to be included like any other validations methods
-      # in the models definitions. this one checks that the named attribute
-      # is a valid UTF-8 format string.
-      def validates_as_utf8(*attrs)
-        validates_each(attrs) do |record, attr, value|
-          record.errors.add(attr, " is invalid UTF-8") unless UTF8.valid? value
-        end
-      end
-    end
+##
+# validation method to be included like any other validations methods
+# in the models definitions. this one checks that the named attribute
+# is a valid UTF-8 format string.
+class Utf8Validator < ActiveModel::EachValidator
+  def validate_each(record, attribute, value)
+    record.errors.add(attribute, " is invalid UTF-8") unless UTF8.valid? value
   end
 end