Sha256: ee55a4e992552b039754a3a26630ffbc654cda71c0945c440b984835b89222e7

Contents?: true

Size: 418 Bytes

Versions: 1

Compression:

Stored size: 418 Bytes

Contents

## Dry-auto\_inject

```ruby
AbilitiesImport = Dry::AutoInject(Kan::Application.new({}))

# Operation

class UpdateOperation
  include AbilitiesImport[ability_checker: 'post.edit']

  def call(user, params)
    return Left(:permission_denied) unless ability_checker.call(user)
    # ...
  end
end

# Specs

UpdateOperation.new(ability_checker: ->(*) { true })
UpdateOperation.new(ability_checker: ->(*) { false })
```

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
kan-0.4.0 docs/working_with_dry.md