Bläddra i källkod

Conditional validations no longer accept strings for if/unless (#3124)

master
Matt Jankowski 7 år sedan
committed by Eugen Rochko
förälder
incheckning
6e4c7d6211
6 ändrade filer med 13 tillägg och 9 borttagningar
  1. +5
    -1
      app/controllers/remote_follow_controller.rb
  2. +1
    -1
      app/lib/application_extension.rb
  3. +2
    -2
      app/models/account.rb
  4. +1
    -1
      app/models/conversation.rb
  5. +3
    -3
      app/models/status.rb
  6. +1
    -1
      app/models/user.rb

+ 5
- 1
app/controllers/remote_follow_controller.rb Visa fil

@@ -4,7 +4,7 @@ class RemoteFollowController < ApplicationController
layout 'public' layout 'public'


before_action :set_account before_action :set_account
before_action :gone, if: -> { @account.suspended? }
before_action :gone, if: :suspended_account?


def new def new
@remote_follow = RemoteFollow.new(session_params) @remote_follow = RemoteFollow.new(session_params)
@@ -34,4 +34,8 @@ class RemoteFollowController < ApplicationController
def set_account def set_account
@account = Account.find_local!(params[:account_username]) @account = Account.find_local!(params[:account_username])
end end

def suspended_account?
@account.suspended?
end
end end

+ 1
- 1
app/lib/application_extension.rb Visa fil

@@ -4,6 +4,6 @@ module ApplicationExtension
extend ActiveSupport::Concern extend ActiveSupport::Concern


included do included do
validates :website, url: true, unless: 'website.blank?'
validates :website, url: true, if: :website?
end end
end end

+ 2
- 2
app/models/account.rb Visa fil

@@ -52,10 +52,10 @@ class Account < ApplicationRecord
has_one :user, inverse_of: :account has_one :user, inverse_of: :account


validates :username, presence: true validates :username, presence: true
validates :username, uniqueness: { scope: :domain, case_sensitive: true }, unless: 'local?'
validates :username, uniqueness: { scope: :domain, case_sensitive: true }, unless: :local?


# Local user validations # Local user validations
with_options if: 'local?' do
with_options if: :local? do
validates :username, format: { with: /\A[a-z0-9_]+\z/i }, uniqueness: { scope: :domain, case_sensitive: false }, length: { maximum: 30 } validates :username, format: { with: /\A[a-z0-9_]+\z/i }, uniqueness: { scope: :domain, case_sensitive: false }, length: { maximum: 30 }
validates :display_name, length: { maximum: 30 } validates :display_name, length: { maximum: 30 }
validates :note, length: { maximum: 160 } validates :note, length: { maximum: 160 }


+ 1
- 1
app/models/conversation.rb Visa fil

@@ -10,7 +10,7 @@
# #


class Conversation < ApplicationRecord class Conversation < ApplicationRecord
validates :uri, uniqueness: true, if: :uri
validates :uri, uniqueness: true, if: :uri?


has_many :statuses has_many :statuses




+ 3
- 3
app/models/status.rb Visa fil

@@ -50,10 +50,10 @@ class Status < ApplicationRecord
has_one :notification, as: :activity, dependent: :destroy has_one :notification, as: :activity, dependent: :destroy
has_one :preview_card, dependent: :destroy has_one :preview_card, dependent: :destroy


validates :uri, uniqueness: true, unless: 'local?'
validates :text, presence: true, unless: 'reblog?'
validates :uri, uniqueness: true, unless: :local?
validates :text, presence: true, unless: :reblog?
validates_with StatusLengthValidator validates_with StatusLengthValidator
validates :reblog, uniqueness: { scope: :account }, if: 'reblog?'
validates :reblog, uniqueness: { scope: :account }, if: :reblog?


default_scope { order(id: :desc) } default_scope { order(id: :desc) }




+ 1
- 1
app/models/user.rb Visa fil

@@ -45,7 +45,7 @@ class User < ApplicationRecord
belongs_to :account, inverse_of: :user, required: true belongs_to :account, inverse_of: :user, required: true
accepts_nested_attributes_for :account accepts_nested_attributes_for :account


validates :locale, inclusion: I18n.available_locales.map(&:to_s), unless: 'locale.nil?'
validates :locale, inclusion: I18n.available_locales.map(&:to_s), if: :locale?
validates :email, email: true validates :email, email: true


scope :recent, -> { order(id: :desc) } scope :recent, -> { order(id: :desc) }


Laddar…
Avbryt
Spara