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