Sha256: b057e3925cea376962582c0dfd847cb3c3a973b44aaf7b714a0141d739d14698

Contents?: true

Size: 738 Bytes

Versions: 15

Compression:

Stored size: 738 Bytes

Contents

# frozen_string_literal: true

module ConvenientService
  module Service
    module Plugins
      module HasResultShortSyntax
        module Error
          class Middleware < Core::MethodChainMiddleware
            def next(*args, **kwargs)
              Commands::AssertEitherArgsOrKwargsArePassed.call(args: args, kwargs: kwargs)

              return chain.next(**kwargs) if kwargs.any?

              Commands::AssertArgsCountLowerThanThree.call(args: args)

              return chain.next if args.none?

              return chain.next(message: args.first) if args.one?

              chain.next(message: args.first, code: args.last) # NOTE: if args.count == 2
            end
          end
        end
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
convenient_service-0.12.0 lib/convenient_service/service/plugins/has_result_short_syntax/error/middleware.rb
convenient_service-0.11.0 lib/convenient_service/service/plugins/has_result_short_syntax/error/middleware.rb
convenient_service-0.10.1 lib/convenient_service/service/plugins/has_result_short_syntax/error/middleware.rb
convenient_service-0.10.0 lib/convenient_service/service/plugins/has_result_short_syntax/error/middleware.rb
convenient_service-0.9.0 lib/convenient_service/service/plugins/has_result_short_syntax/error/middleware.rb
convenient_service-0.8.0 lib/convenient_service/service/plugins/has_result_short_syntax/error/middleware.rb
convenient_service-0.7.0 lib/convenient_service/service/plugins/has_result_short_syntax/error/middleware.rb
convenient_service-0.6.0 lib/convenient_service/service/plugins/has_result_short_syntax/error/middleware.rb
convenient_service-0.5.0 lib/convenient_service/service/plugins/has_result_short_syntax/error/middleware.rb
convenient_service-0.4.0 lib/convenient_service/service/plugins/has_result_short_syntax/error/middleware.rb
convenient_service-0.3.1 lib/convenient_service/service/plugins/has_result_short_syntax/error/middleware.rb
convenient_service-0.3.0 lib/convenient_service/service/plugins/has_result_short_syntax/error/middleware.rb
convenient_service-0.2.1 lib/convenient_service/service/plugins/has_result_short_syntax/error/middleware.rb
convenient_service-0.2.0 lib/convenient_service/service/plugins/has_result_short_syntax/error/middleware.rb
convenient_service-0.1.0 lib/convenient_service/service/plugins/has_result_short_syntax/error/middleware.rb