From d6d65cd0fd50d573356d50f247bf04233672512a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonne=20Ha=C3=9F?= <me@mrzyx.de> Date: Mon, 4 Aug 2014 13:14:06 +0200 Subject: [PATCH] apply rails 4 todos and fix specs after rebase --- app/controllers/admins_controller.rb | 20 ++++++-------------- config/initializers/json_escape.rb | 2 +- lib/diaspora/federated/signed_retraction.rb | 4 ++-- lib/diaspora/message_renderer.rb | 5 +---- 4 files changed, 10 insertions(+), 21 deletions(-) diff --git a/app/controllers/admins_controller.rb b/app/controllers/admins_controller.rb index b9af10e9ac..2ce13ca0e9 100644 --- a/app/controllers/admins_controller.rb +++ b/app/controllers/admins_controller.rb @@ -101,12 +101,10 @@ DATA end - # TODO action needed after rails4 update class UserSearch - #include ActiveModel::Model # rails4 + include ActiveModel::Model include ActiveModel::Conversion include ActiveModel::Validations - include ActiveModel::MassAssignmentSecurity attr_accessor :username, :email, :guid, :under13 @@ -117,26 +115,20 @@ DATA yield(self) if block_given? end - def assign_attributes(values, options={}) - sanitize_for_mass_assignment(values, options[:as]).each do |k, v| - send("#{k}=", v) + def assign_attributes(values) + values.each do |k, v| + public_send("#{k}=", v) end end - # TODO remove this once ActiveModel is included - def persisted? - false - end - def any_searchfield_present? - if %w(username email guid under13).all? { |attr| self.send(attr).blank? } + if %w(username email guid under13).all? { |attr| public_send(attr).blank? } errors.add :base, "no fields for search set" end end def perform - #return User.none unless valid? # rails4 - return [] unless valid? + return User.none unless valid? users = User.arel_table people = Person.arel_table diff --git a/config/initializers/json_escape.rb b/config/initializers/json_escape.rb index a27bf2dd5d..0a5ee2b6eb 100644 --- a/config/initializers/json_escape.rb +++ b/config/initializers/json_escape.rb @@ -1,5 +1,5 @@ # From http://jfire.io/blog/2012/04/30/how-to-securely-bootstrap-json-in-a-rails-view/ -# Review on Rails 4 update, might be built in by then! +# Remove on Rails 4.1 update class ActionView::Base def json_escape(s) diff --git a/lib/diaspora/federated/signed_retraction.rb b/lib/diaspora/federated/signed_retraction.rb index 67a6812c1c..9a1f6d3678 100644 --- a/lib/diaspora/federated/signed_retraction.rb +++ b/lib/diaspora/federated/signed_retraction.rb @@ -4,7 +4,7 @@ class SignedRetraction include Diaspora::Federated::Base - + include Diaspora::Encryptable xml_name :signed_retraction @@ -78,7 +78,7 @@ class SignedRetraction onward_retraction.sender = receiving_user.person Postzord::Dispatcher.build(receiving_user, onward_retraction).post end - if target + if target && !target.destroyed? self.target.destroy end Rails.logger.info("event=retraction status =complete target_type=#{self.target_type} guid =#{self.target_guid}") diff --git a/lib/diaspora/message_renderer.rb b/lib/diaspora/message_renderer.rb index 9a62fe6611..66a6bfd1cb 100644 --- a/lib/diaspora/message_renderer.rb +++ b/lib/diaspora/message_renderer.rb @@ -36,12 +36,9 @@ module Diaspora message << options[:append_after_truncate].to_s end - include ActionView::Helpers::TagHelper def escape if options[:escape] - # TODO: On Rails 4 port change this to ERB::Util.html_escape_once - # and remove the include - @message = escape_once message + @message = ERB::Util.html_escape_once message # Special case Hex entities since escape_once # doesn't catch them. -- GitLab