Sha256: 35d50b87724b0b5fe0d02645235245af173d4208063a82198d0098ca23616357

Contents?: true

Size: 1.27 KB

Versions: 9

Compression:

Stored size: 1.27 KB

Contents

---
id: getting-started
title: Getting Started
sidebar_label: Getting Started
---

## Installation

To install Panko, all you need is to add it to your Gemfile:

```ruby
gem "panko_serializer"
```

Then, install it on the command line:

```
> bundle install
```


## Creating your first serializer

Let's create serializer and use it inside Rails controller.

```ruby
class PostSerializer < Panko::Serializer
  attributes :title
end

class UserSerializer < Panko::Serializer
  attributes :id, :name, :age

  has_many :posts, serializer: PostSerializer
end
```

### Serializing an object

And now serialize a single object

```ruby
# Using Oj serializer
PostSerializer.new.serialize_to_json(Post.first)

# or, similar to #serializable_hash
PostSerializer.new.serialize(Post.first).to_json
```

### Using the serializers in a controller

As you can see, defining serializers is simple and resembles ActiveModelSerializers 0.9,
To utilize the `UserSerializer` inside a Rails controller and serialize some users, all we need to do is:

```ruby
class UsersController < ApplicationController
 def index
   users = User.includes(:posts).all
   render json: Panko::ArraySerializer.new(users, each_serializer: UserSerializer).to_json
 end
end
```

And voila, we have endpoint which serialize users using Panko!

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
panko_serializer-0.8.2 docs/docs/getting-started.md
panko_serializer-0.8.1 docs/docs/getting-started.md
panko_serializer-0.8.0 docs/docs/getting-started.md
panko_serializer-0.7.9 docs/docs/getting-started.md
panko_serializer-0.7.7 docs/docs/getting-started.md
panko_serializer-0.7.6 docs/docs/getting-started.md
panko_serializer-0.7.5 docs/docs/getting-started.md
panko_serializer-0.7.4 docs/docs/getting-started.md
panko_serializer-0.7.3 docs/docs/getting-started.md