Sha256: 694d00aba4fd4eb65d641bce89a210a6082a2fa7b9161e3337aa1ee2fd0c2380

Contents?: true

Size: 880 Bytes

Versions: 7

Compression:

Stored size: 880 Bytes

Contents

require "monban/core"
require "monban/use_case/base"

require "getto/params"

module Monban
  module UseCase
    module Account
      class Fetch < Base

        initialize_with(
          error: Monban::Core::ERRORS,
          repository: [
            :login_id,
            :reset_password_email,
            :roles,
          ],
        )

        def fetch(params)
          Getto::Params.new.validate(params) do |v|
            v.hash(
              account_id: v.integer{|val| param_error!(account_id: val) },
            )
          end or param_error!(params: params)

          {
            login_id: repository.login_id(account_id: params[:account_id]),
            email:    repository.reset_password_email(account_id: params[:account_id]),
            roles:    repository.roles(account_id: params[:account_id]),
          }
        end

      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
monban-core-1.2.4 lib/monban/use_case/account/fetch.rb
monban-core-1.2.3 lib/monban/use_case/account/fetch.rb
monban-core-1.2.2 lib/monban/use_case/account/fetch.rb
monban-core-1.1.0 lib/monban/use_case/account/fetch.rb
monban-core-1.0.3 lib/monban/use_case/account/fetch.rb
monban-core-1.0.2 lib/monban/use_case/account/fetch.rb
monban-core-1.0.0 lib/monban/use_case/account/fetch.rb