Sha256: 0d1bcdfbd2c0496f524c396c2a1a9a8eb91b94a43d6cde976754f2d6a8c47f09

Contents?: true

Size: 1.64 KB

Versions: 12

Compression:

Stored size: 1.64 KB

Contents

# Apidiesel

Apidiesel is a DSL for building API clients. It is made to be highly readable,
easily extensible and to assume as little as possible about your API.

## Installation

Add this line to your application's Gemfile:

```ruby
gem 'apidiesel'
```

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install apidiesel

## Usage

Apidiesel consists of three main parts: the base `Api`, one `Action` for each API
endpoint and `Handler` plugins for processing incoming and outgoing data.

    module Actions
      class GetUsers < Apidiesel::Action
        url path: '/users'

        expects do
          string :firstname, optional: true
          string :lastname, optional: true
          boolean :active, default: true
        end

        responds_with do
          objects :users, wrapped_in: MyUserModel
        end
      end
    end

    class Api < Apidiesel::Api
      url 'https://foo.example'
      http_method :post

      register_actions
    end

    api = Api.new
    api.get_users(firstname: 'Jane', lastname: 'Doe')

## Development

After checking out the repo, run `bin/setup` to install dependencies. You can also run `bin/console` for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).

## Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/apidiesel.

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
apidiesel-0.13 README.md
apidiesel-0.12 README.md
apidiesel-0.11 README.md
apidiesel-0.10 README.md
apidiesel-0.9 README.md
apidiesel-0.8 README.md
apidiesel-0.7 README.md
apidiesel-0.6 README.md
apidiesel-0.5 README.md
apidiesel-0.4 README.md
apidiesel-0.3 README.md
apidiesel-0.2 README.md