Rodrigo Serradura

Results 16 issues of Rodrigo Serradura

## Micro::Case contracts ```ruby class Divide < Micro::Case attributes :a, :b results do |on| on.failure(:attributes_must_be_numbers) on.failure(:division_by_zero) on.success(result: [:division]) end def call! return Failure(:attributes_must_be_numbers) unless Kind.of?(Numeric, a, b) return Failure(:division_by_zero) if...

enhancement

# Table of contents: - [Table of contents:](#table-of-contents) - [[Change] Drop support for older Ruby versions](#change-drop-support-for-older-ruby-versions) - [[Change] Drop support for older Rails versions](#change-drop-support-for-older-rails-versions) - [[Change] Allow only two ways...

enhancement
help wanted

Configurations: ```ruby Micro::Case.config do |config| config.enable_attributes_accept = true config.enable_activemodel_validation = true end ``` Attributes changes: ```ruby attribute :first_name, accept: String, default: -> value { value.try(:strip) }, validates: { length: {...

enhancement

Wraps a `Micro::Cases::Flow` inside of an` ActiveRecord::Transactions` and if an exception happening or any step returns a failure, this flow will be halted because an `ActiveRecord::Rollback` will be raised. ```ruby...

enhancement

There are several checkers inside of the code to ensure a better experience in development and guide the developer to avoid predictable mistakes. So, the idea is to provide a...

enhancement

To avoid a fragmented codebase where some exceptions are handled with `rescue` and `on_exception` hook. The idea is to create a feature toggle which will forbid the usage of `Micro::Case::Safe`,...

enhancement

```ruby client = RequestVia::Client.('example.com') client .on(:get, params: {}, headers: {}) .then(200) { |response| puts response.body } .then(404) { puts 'NOT_FOUND' } .call =begin # A funcionalidade acima é o mesmo...

enhancement

```ruby client = RequestVia::Client.('example.com') requests = client.(:get, [ 'foo', 'bar', 'bla' ], params: {}) requests.map &:call Parallel.map requests, &:call # or requests = RequestVia::Get.([ 'example.com/foo', 'example.com/bar', 'example.com/bla' ]) # requests...

enhancement

```ruby client = RequestVia::Client.('example.com') client.(:get, '/foo') client.(:get, '/foo', params: {}, headers: {}) # or request = client.(:get) request.() # == client.get request.(params: {}) # == client.get params: {} request.('/bar', params:...

enhancement

```ruby client = RequestVia::Client.('example.com') client.get '/foo' foo_client = RequestVia::Client::Map.(client, 'foo') foo_client.get # == client.get '/foo' # or foo_client = client.map.('/foo') # ============== # Possibilities # ============== [ 'foo' 'bar', ].map...

enhancement
good first issue