class JsonApiServer::MetaBuilder

Class for building meta element. jsonapi.org/format/#document-meta

Example

MetaBuilder.new
 .add('copyright', "Copyright 2015 Example Corp.")
 .add('authors', ["Yehuda Katz", "Steve Klabnik", "Dan Gebhardt", "Tyler Kellen"])
 .merge({a: 'something', b: 'something else'})
 .meta  # => { "copyright": "Copyright 2015 Example Corp.",
                "authors": ["Yehuda Katz", "Steve Klabnik", "Dan Gebhardt", "Tyler Kellen"],
                a: 'something',
                b: 'something else'
             }

Public Class Methods

new() click to toggle source
# File lib/json_api_server/meta_builder.rb, line 18
def initialize
  @hash = {}
end

Public Instance Methods

add(key, value) click to toggle source

Add key and value.

# File lib/json_api_server/meta_builder.rb, line 23
def add(key, value)
  @hash[key] = value
  self
end
merge(hash) click to toggle source

Push in multiple key/values with merge.

# File lib/json_api_server/meta_builder.rb, line 29
def merge(hash)
  @hash.merge!(hash) if hash.respond_to?(:keys) && hash.any?
  self
end
meta() click to toggle source

Returns a hash if it has values, nil otherwise.

# File lib/json_api_server/meta_builder.rb, line 35
def meta
  @hash.any? ? @hash : nil
end