Sha256: 0b886630a0cb08e9dccb3867a6b36eb5e4459192a3e14531823cac22a9ca2357

Contents?: true

Size: 1.11 KB

Versions: 12

Compression:

Stored size: 1.11 KB

Contents

<%- unless omit_comments? -%>
# Register a payload to validate against.
# Add expected attributes within this block, e.g.:
#
# key(:name)
#
# Optionally validate the type as well:
#
# key(:name, String)
#
# This will:
#
# * Compare record.name == json['name']
# * Ensure no extra keys are in the json payload
# * Ensure no values are nil (unless allow_nil: true is passed)
# * Ensures json['name'] is a string
#
# If you have custom serialization logic and want to compare against
# something other than "record.name", pass a block:
#
# key(:name) { |record| record.name.upcase }
#
# Or, if this is a one-off for a particular spec, do that customization at
# runtime:
#
# assert_payload(:person, person_record, json_item) do
#   key(:name) { 'Homer Simpson' }
# end
#
# For more information, see https://jsonapi-suite.github.io/jsonapi_spec_helpers/
<%- end -%>
JsonapiSpecHelpers::Payload.register(:<%= file_name %>) do
  <%- attributes.each do |a| -%>
  <%- type = a.type == :boolean ? [TrueClass, FalseClass] : a.type.to_s.classify -%>
  <%- type = String if a.type == :text -%>
  key(:<%= a.name %>, <%= type %>)
  <%- end -%>
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
jsonapi_compliable-0.11.8 lib/generators/jsonapi/templates/payload.rb.erb
jsonapi_compliable-0.11.7 lib/generators/jsonapi/templates/payload.rb.erb
jsonapi_compliable-0.11.6 lib/generators/jsonapi/templates/payload.rb.erb
jsonapi_compliable-0.11.5 lib/generators/jsonapi/templates/payload.rb.erb
jsonapi_compliable-0.11.4 lib/generators/jsonapi/templates/payload.rb.erb
jsonapi_compliable-0.11.3 lib/generators/jsonapi/templates/payload.rb.erb
jsonapi_compliable-0.11.2 lib/generators/jsonapi/templates/payload.rb.erb
jsonapi_compliable-0.11.1 lib/generators/jsonapi/templates/payload.rb.erb
jsonapi_compliable-0.11.0 lib/generators/jsonapi/templates/payload.rb.erb
jsonapi_compliable-0.10.9 lib/generators/jsonapi/templates/payload.rb.erb
jsonapi_compliable-0.10.7 lib/generators/jsonapi/templates/payload.rb.erb
jsonapi_compliable-0.10.6 lib/generators/jsonapi/templates/payload.rb.erb