|
- module Gitea::User
- class UpdateInteractor
- def self.call(username, params={})
- interactor = new(username, params)
- interactor.run
- interactor
- end
-
- attr_reader :error, :result
-
- def initialize(username, params)
- @username = username
- @params = params
- end
-
- def success?
- @error.nil?
- end
-
- def result
- @result
- end
-
- def run
- Gitea::User::UpdateForm.new(valid_params).validate!
- response = Gitea::User::UpdateService.new(username, params).call
- render_result(response)
- rescue Exception => exception
- Rails.logger.info "Exception ===========> #{exception.message}"
- fail!(exception.message)
- end
-
-
- private
- attr_reader :params, :username
-
- def fail!(error)
- @error = error
- end
-
- def render_result(response)
- @result = response
- end
-
- def valid_params
- @params.merge(username: username)
- end
- end
- end
|