diff options
author | Reverite <github@reverite.sh> | 2019-07-20 18:46:40 -0700 |
---|---|---|
committer | Reverite <github@reverite.sh> | 2019-07-20 18:46:40 -0700 |
commit | 266540080ef5659060faa7da502123f45bbc04f2 (patch) | |
tree | 1c34751dd4e199737b7a2a4c511b756760941c52 /app/controllers/concerns/account_owned_concern.rb | |
parent | 40fd56351f0a466e0e3785cca4ee27f2a9060e8a (diff) | |
parent | f1597e1ab90b1fb291f16977877c6ca79bf89676 (diff) |
Merge branch 'glitch' into production
Diffstat (limited to 'app/controllers/concerns/account_owned_concern.rb')
-rw-r--r-- | app/controllers/concerns/account_owned_concern.rb | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/app/controllers/concerns/account_owned_concern.rb b/app/controllers/concerns/account_owned_concern.rb new file mode 100644 index 000000000..99c240fe9 --- /dev/null +++ b/app/controllers/concerns/account_owned_concern.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true + +module AccountOwnedConcern + extend ActiveSupport::Concern + + included do + before_action :set_account, if: :account_required? + before_action :check_account_approval, if: :account_required? + before_action :check_account_suspension, if: :account_required? + end + + private + + def account_required? + true + end + + def set_account + @account = Account.find_local!(username_param) + end + + def username_param + params[:account_username] + end + + def check_account_approval + not_found if @account.local? && @account.user_pending? + end + + def check_account_suspension + expires_in(3.minutes, public: true) && gone if @account.suspended? + end +end |