mirror of
https://github.com/ditkrg/active_model_serializers.git
synced 2026-01-23 06:16:50 +00:00
commit
f8d2aabf38
19
.rubocop.yml
19
.rubocop.yml
@ -4,15 +4,20 @@ AllCops:
|
||||
Exclude:
|
||||
- config/initializers/forbidden_yaml.rb
|
||||
- !ruby/regexp /(vendor|bundle|bin|db|tmp)\/.*/
|
||||
RunRailsCops: true
|
||||
DisplayCopNames: true
|
||||
DisplayStyleGuide: true
|
||||
|
||||
Rails:
|
||||
Enabled: true
|
||||
|
||||
Lint/NestedMethodDefinition:
|
||||
Enabled: false
|
||||
Exclude:
|
||||
- test/action_controller/serialization_test.rb
|
||||
|
||||
Style/Alias:
|
||||
EnforcedStyle: prefer_alias
|
||||
|
||||
Style/StringLiterals:
|
||||
EnforcedStyle: single_quotes
|
||||
|
||||
@ -59,6 +64,18 @@ Style/BlockDelimiters:
|
||||
Enabled: true
|
||||
EnforcedStyle: line_count_based
|
||||
|
||||
Style/SignalException:
|
||||
EnforcedStyle: semantic
|
||||
|
||||
Style/TrailingCommaInLiteral:
|
||||
EnforcedStyleForMultiline: no_comma
|
||||
|
||||
Style/ConditionalAssignment:
|
||||
Enabled: false
|
||||
|
||||
Style/DotPosition:
|
||||
EnforcedStyle: leading
|
||||
|
||||
########## test_helper.rb sanity
|
||||
Style/EndBlock:
|
||||
Exclude:
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# This configuration was generated by
|
||||
# `rubocop --auto-gen-config`
|
||||
# on 2015-09-20 17:56:22 -0500 using RuboCop version 0.34.0.
|
||||
# on 2016-03-08 22:29:52 +0100 using RuboCop version 0.37.2.
|
||||
# The point is for the user to remove these configuration records
|
||||
# one by one as the offenses are removed from the code base.
|
||||
# Note that changes in the inspected code, or installation of new
|
||||
@ -13,49 +13,31 @@ Lint/HandleExceptions:
|
||||
|
||||
# Offense count: 2
|
||||
# Cop supports --auto-correct.
|
||||
Lint/UnusedBlockArgument:
|
||||
Exclude:
|
||||
- 'lib/active_model/serializer/adapter/json_api/fragment_cache.rb'
|
||||
|
||||
# Offense count: 7
|
||||
# Cop supports --auto-correct.
|
||||
# Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods.
|
||||
Lint/UnusedMethodArgument:
|
||||
Exclude:
|
||||
- 'lib/active_model/serializer/adapter/null.rb'
|
||||
- 'lib/active_model/serializer/pass_through_serializer.rb'
|
||||
- 'test/fixtures/poro.rb'
|
||||
- 'test/lint_test.rb'
|
||||
|
||||
# Offense count: 2
|
||||
Lint/UselessAssignment:
|
||||
Exclude:
|
||||
- 'bench/perf.rb'
|
||||
- 'lib/active_model/serializer/adapter/json_api/fragment_cache.rb'
|
||||
|
||||
# Offense count: 1
|
||||
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
||||
Rails/Date:
|
||||
Exclude:
|
||||
- 'test/fixtures/poro.rb'
|
||||
|
||||
# Offense count: 4
|
||||
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
||||
# SupportedStyles: strict, flexible
|
||||
Rails/TimeZone:
|
||||
Exclude:
|
||||
- 'test/action_controller/serialization_test.rb'
|
||||
- 'test/fixtures/poro.rb'
|
||||
- 'test/serializers/cache_test.rb'
|
||||
|
||||
# Offense count: 16
|
||||
# Cop supports --auto-correct.
|
||||
# Configuration parameters: EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle, SupportedLastArgumentHashStyles.
|
||||
# SupportedLastArgumentHashStyles: always_inspect, always_ignore, ignore_implicit, ignore_explicit
|
||||
Style/AlignHash:
|
||||
Exclude:
|
||||
- 'test/action_controller/json_api/pagination_test.rb'
|
||||
|
||||
# Offense count: 25
|
||||
# Offense count: 27
|
||||
# Cop supports --auto-correct.
|
||||
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
||||
# SupportedStyles: braces, no_braces, context_dependent
|
||||
Style/BracesAroundHashParameters:
|
||||
Exclude:
|
||||
- 'test/action_controller/adapter_selector_test.rb'
|
||||
@ -67,17 +49,16 @@ Style/BracesAroundHashParameters:
|
||||
- 'test/collection_serializer_test.rb'
|
||||
- 'test/serializable_resource_test.rb'
|
||||
- 'test/serializers/associations_test.rb'
|
||||
- 'test/serializers/attribute_test.rb'
|
||||
- 'test/serializers/attributes_test.rb'
|
||||
- 'test/serializers/fieldset_test.rb'
|
||||
- 'test/serializers/root_test.rb'
|
||||
|
||||
# Offense count: 174
|
||||
# Offense count: 271
|
||||
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
||||
# SupportedStyles: nested, compact
|
||||
Style/ClassAndModuleChildren:
|
||||
Enabled: false
|
||||
|
||||
# Offense count: 5
|
||||
# Offense count: 6
|
||||
# Cop supports --auto-correct.
|
||||
Style/CommentIndentation:
|
||||
Exclude:
|
||||
@ -89,34 +70,29 @@ Style/DoubleNegation:
|
||||
- 'lib/active_model/serializable_resource.rb'
|
||||
|
||||
# Offense count: 1
|
||||
Style/EachWithObject:
|
||||
Exclude:
|
||||
- 'lib/active_model/serializer/fieldset.rb'
|
||||
|
||||
# Offense count: 2
|
||||
# Configuration parameters: MinBodyLength.
|
||||
Style/GuardClause:
|
||||
Exclude:
|
||||
- 'lib/active_model/serializer.rb'
|
||||
|
||||
# Offense count: 12
|
||||
# Offense count: 58
|
||||
# Cop supports --auto-correct.
|
||||
# Configuration parameters: EnforcedStyle, SupportedStyles, UseHashRocketsWithSymbolValues.
|
||||
# SupportedStyles: ruby19, ruby19_no_mixed_keys, hash_rockets
|
||||
Style/HashSyntax:
|
||||
Enabled: false
|
||||
|
||||
# Offense count: 9
|
||||
# Offense count: 4
|
||||
# Cop supports --auto-correct.
|
||||
# Configuration parameters: EnforcedStyle, SupportedStyles, IndentationWidth.
|
||||
# SupportedStyles: special_inside_parentheses, consistent, align_brackets
|
||||
Style/IndentArray:
|
||||
Exclude:
|
||||
- 'test/adapter/json/has_many_test.rb'
|
||||
- 'test/adapter/json_api/json_api_test.rb'
|
||||
- 'test/adapter/json_api/pagination_links_test.rb'
|
||||
- 'test/adapter/json_test.rb'
|
||||
Enabled: false
|
||||
|
||||
# Offense count: 8
|
||||
# Offense count: 10
|
||||
# Cop supports --auto-correct.
|
||||
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
||||
# Configuration parameters: EnforcedStyle, SupportedStyles, IndentationWidth.
|
||||
# SupportedStyles: special_inside_parentheses, consistent, align_braces
|
||||
Style/IndentHash:
|
||||
Enabled: false
|
||||
|
||||
@ -129,12 +105,14 @@ Style/Lambda:
|
||||
# Offense count: 1
|
||||
# Cop supports --auto-correct.
|
||||
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
||||
# SupportedStyles: require_parentheses, require_no_parentheses, require_no_parentheses_except_multiline
|
||||
Style/MethodDefParentheses:
|
||||
Enabled: false
|
||||
|
||||
# Offense count: 3
|
||||
# Offense count: 1
|
||||
# Cop supports --auto-correct.
|
||||
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
||||
# Configuration parameters: EnforcedStyle, SupportedStyles, IndentationWidth.
|
||||
# SupportedStyles: aligned, indented
|
||||
Style/MultilineOperationIndentation:
|
||||
Enabled: false
|
||||
|
||||
@ -146,45 +124,26 @@ Style/NegatedIf:
|
||||
|
||||
# Offense count: 1
|
||||
# Cop supports --auto-correct.
|
||||
Style/NumericLiterals:
|
||||
MinDigits: 7
|
||||
|
||||
# Offense count: 2
|
||||
# Cop supports --auto-correct.
|
||||
Style/PerlBackrefs:
|
||||
Exclude:
|
||||
- 'test/fixtures/poro.rb'
|
||||
- 'test/serializers/associations_test.rb'
|
||||
|
||||
# Offense count: 3
|
||||
# Configuration parameters: NamePrefix, NamePrefixBlacklist.
|
||||
# Configuration parameters: NamePrefix, NamePrefixBlacklist, NameWhitelist.
|
||||
# NamePrefix: is_, has_, have_
|
||||
# NamePrefixBlacklist: is_, has_, have_
|
||||
# NameWhitelist: is_a?
|
||||
Style/PredicateName:
|
||||
Exclude:
|
||||
- 'lib/active_model/serializer/associations.rb'
|
||||
- 'test/action_controller/json_api/linked_test.rb'
|
||||
|
||||
# Offense count: 5
|
||||
# Offense count: 1
|
||||
# Cop supports --auto-correct.
|
||||
Style/RedundantSelf:
|
||||
Exclude:
|
||||
- 'lib/active_model/serializer/associations.rb'
|
||||
- 'test/fixtures/poro.rb'
|
||||
|
||||
# Offense count: 1
|
||||
# Cop supports --auto-correct.
|
||||
# Configuration parameters: AllowAsExpressionSeparator.
|
||||
Style/Semicolon:
|
||||
Exclude:
|
||||
- 'lib/active_model/serializer/fieldset.rb'
|
||||
|
||||
# Offense count: 3
|
||||
# Cop supports --auto-correct.
|
||||
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
||||
Style/SignalException:
|
||||
Exclude:
|
||||
- 'lib/active_model/serializer/fieldset.rb'
|
||||
- 'lib/active_model/serializer/pass_through_serializer.rb'
|
||||
|
||||
# Offense count: 1
|
||||
# Cop supports --auto-correct.
|
||||
# Configuration parameters: AllowIfMethodIsEmpty.
|
||||
@ -192,48 +151,17 @@ Style/SingleLineMethods:
|
||||
Exclude:
|
||||
- 'test/serializers/serializer_for_test.rb'
|
||||
|
||||
# Offense count: 2
|
||||
# Offense count: 4
|
||||
# Cop supports --auto-correct.
|
||||
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
||||
# SupportedStyles: single_quotes, double_quotes
|
||||
Style/StringLiteralsInInterpolation:
|
||||
Enabled: false
|
||||
|
||||
# Offense count: 1
|
||||
Style/StructInheritance:
|
||||
Exclude:
|
||||
- 'bench/perf.rb'
|
||||
|
||||
# Offense count: 1
|
||||
# Cop supports --auto-correct.
|
||||
# Configuration parameters: IgnoredMethods.
|
||||
Style/SymbolProc:
|
||||
Exclude:
|
||||
- 'lib/generators/serializer/serializer_generator.rb'
|
||||
|
||||
# Offense count: 8
|
||||
# Cop supports --auto-correct.
|
||||
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
||||
# SupportedStyles: final_newline, final_blank_line
|
||||
Style/TrailingBlankLines:
|
||||
Exclude:
|
||||
- 'lib/active_model/serializer/pass_through_serializer.rb'
|
||||
- 'lib/generators/serializer/serializer_generator.rb'
|
||||
- 'test/adapter/fragment_cache_test.rb'
|
||||
- 'test/adapter/json_api/json_api_test.rb'
|
||||
- 'test/adapter/null_test.rb'
|
||||
- 'test/serializers/cache_test.rb'
|
||||
- 'test/serializers/fieldset_test.rb'
|
||||
|
||||
# Offense count: 5
|
||||
# Cop supports --auto-correct.
|
||||
# Configuration parameters: EnforcedStyleForMultiline, SupportedStyles.
|
||||
Style/TrailingComma:
|
||||
Exclude:
|
||||
- 'test/action_controller/adapter_selector_test.rb'
|
||||
- 'test/action_controller/serialization_test.rb'
|
||||
- 'test/adapter/json_api/belongs_to_test.rb'
|
||||
- 'test/adapter/json_api/linked_test.rb'
|
||||
|
||||
# Offense count: 1
|
||||
Style/UnlessElse:
|
||||
Exclude:
|
||||
- 'lib/active_model/serializer.rb'
|
||||
|
||||
@ -31,6 +31,7 @@ Fixes:
|
||||
- [#1488](https://github.com/rails-api/active_model_serializers/pull/1488) Require ActiveSupport's string inflections (@nate00)
|
||||
|
||||
Misc:
|
||||
- [#1560](https://github.com/rails-api/active_model_serializers/pull/1560) Update rubocop and address its warnings. (@bf4 @groyoh)
|
||||
- [#1545](https://github.com/rails-api/active_model_serializers/pull/1545) Document how to pass arbitrary options to the
|
||||
serializer (@CodedBeardedSignedTaylor)
|
||||
- [#1496](https://github.com/rails-api/active_model_serializers/pull/1496) Run all branches against JRuby on CI (@nadavshatz)
|
||||
|
||||
2
Gemfile
2
Gemfile
@ -44,5 +44,5 @@ group :test do
|
||||
end
|
||||
|
||||
group :development, :test do
|
||||
gem 'rubocop', '~> 0.34.0', require: false
|
||||
gem 'rubocop', '~> 0.36', require: false
|
||||
end
|
||||
|
||||
@ -33,7 +33,7 @@ module ActiveModel
|
||||
def adapter
|
||||
@adapter ||= ActiveModelSerializers::Adapter.create(serializer_instance, adapter_opts)
|
||||
end
|
||||
alias_method :adapter_instance, :adapter
|
||||
alias adapter_instance adapter
|
||||
|
||||
def serializer_instance
|
||||
@serializer_instance ||= serializer.new(resource, serializer_opts)
|
||||
@ -54,7 +54,7 @@ module ActiveModel
|
||||
@serializer
|
||||
end
|
||||
end
|
||||
alias_method :serializer_class, :serializer
|
||||
alias serializer_class serializer
|
||||
|
||||
# True when no explicit adapter given, or explicit appear is truthy (non-nil)
|
||||
# False when explicit adapter is falsy (nil or false)
|
||||
@ -63,7 +63,7 @@ module ActiveModel
|
||||
end
|
||||
|
||||
def serializer?
|
||||
use_adapter? && !!(serializer)
|
||||
use_adapter? && !!serializer
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
@ -92,7 +92,7 @@ module ActiveModel
|
||||
self._cache_key = options.delete(:key)
|
||||
self._cache_only = options.delete(:only)
|
||||
self._cache_except = options.delete(:except)
|
||||
self._cache_options = (options.empty?) ? nil : options
|
||||
self._cache_options = options.empty? ? nil : options
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -14,7 +14,7 @@ module ActiveModel
|
||||
serializer_context_class = options.fetch(:serializer_context_class, ActiveModel::Serializer)
|
||||
serializer_class = options.fetch(:serializer) { serializer_context_class.serializer_for(resource) }
|
||||
|
||||
if serializer_class.nil?
|
||||
if serializer_class.nil? # rubocop:disable Style/GuardClause
|
||||
fail NoSerializerError, "No serializer found for resource: #{resource.inspect}"
|
||||
else
|
||||
serializer_class.new(resource, options.except(:serializer))
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
module ActiveModel
|
||||
class Serializer
|
||||
VERSION = '0.10.0.rc4'
|
||||
VERSION = '0.10.0.rc4'.freeze
|
||||
end
|
||||
end
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
module ActiveModelSerializers
|
||||
module Adapter
|
||||
UnknownAdapterError = Class.new(ArgumentError)
|
||||
ADAPTER_MAP = {}
|
||||
ADAPTER_MAP = {} # rubocop:disable Style/MutableConstant
|
||||
private_constant :ADAPTER_MAP if defined?(private_constant)
|
||||
require 'active_model_serializers/adapter/fragment_cache'
|
||||
require 'active_model_serializers/adapter/cached_serializer'
|
||||
@ -49,7 +49,7 @@ module ActiveModelSerializers
|
||||
# 'Json' will both register as 'json'.
|
||||
def register(name, klass = name)
|
||||
name = name.to_s.gsub(/\AActiveModelSerializers::Adapter::/, ''.freeze)
|
||||
adapter_map.update(name.underscore => klass)
|
||||
adapter_map[name.underscore] = klass
|
||||
self
|
||||
end
|
||||
|
||||
|
||||
@ -38,7 +38,7 @@ module ActiveModelSerializers
|
||||
def object_cache_key
|
||||
object_time_safe = @cached_serializer.object.updated_at
|
||||
object_time_safe = object_time_safe.strftime('%Y%m%d%H%M%S%9N') if object_time_safe.respond_to?(:strftime)
|
||||
(@klass._cache_key) ? "#{@klass._cache_key}/#{@cached_serializer.object.id}-#{object_time_safe}" : @cached_serializer.object.cache_key
|
||||
@klass._cache_key ? "#{@klass._cache_key}/#{@cached_serializer.object.id}-#{object_time_safe}" : @cached_serializer.object.cache_key
|
||||
end
|
||||
|
||||
# find all cache_key for the collection_serializer
|
||||
|
||||
@ -46,7 +46,7 @@ module ActiveModelSerializers
|
||||
# 3. Add non-cached attributes to non-cached Serializer
|
||||
def cached_attributes(klass, serializers)
|
||||
attributes = serializer.class._attributes
|
||||
cached_attributes = (klass._cache_only) ? klass._cache_only : attributes.reject { |attr| klass._cache_except.include?(attr) }
|
||||
cached_attributes = klass._cache_only ? klass._cache_only : attributes.reject { |attr| klass._cache_except.include?(attr) }
|
||||
non_cached_attributes = attributes - cached_attributes
|
||||
|
||||
cached_attributes.each do |attribute|
|
||||
|
||||
@ -188,7 +188,7 @@ module ActiveModelSerializers
|
||||
end
|
||||
|
||||
polymorphic = (options[:polymorphic] || []).include?(assoc_name.to_sym)
|
||||
hash.merge!("#{prefix_key}_type".to_sym => assoc_data['type']) if polymorphic
|
||||
hash["#{prefix_key}_type".to_sym] = assoc_data['type'] if polymorphic
|
||||
|
||||
hash
|
||||
end
|
||||
|
||||
@ -8,7 +8,7 @@ module ActiveModelSerializers
|
||||
no_root_cache = cached_hash.delete_if { |key, _value| key == core_cached[0] }
|
||||
no_root_non_cache = non_cached_hash.delete_if { |key, _value| key == core_non_cached[0] }
|
||||
cached_resource = (core_cached[1]) ? core_cached[1].deep_merge(core_non_cached[1]) : core_non_cached[1]
|
||||
hash = (root) ? { root => cached_resource } : cached_resource
|
||||
hash = root ? { root => cached_resource } : cached_resource
|
||||
|
||||
hash.deep_merge no_root_non_cache.deep_merge no_root_cache
|
||||
end
|
||||
|
||||
@ -38,12 +38,10 @@ module ActiveModelSerializers
|
||||
def data_for(serializer, options)
|
||||
if serializer.respond_to?(:each)
|
||||
serializer.map { |s| ResourceIdentifier.new(s).as_json }
|
||||
else
|
||||
if options[:virtual_value]
|
||||
options[:virtual_value]
|
||||
elsif serializer && serializer.object
|
||||
ResourceIdentifier.new(serializer).as_json
|
||||
end
|
||||
elsif options[:virtual_value]
|
||||
options[:virtual_value]
|
||||
elsif serializer && serializer.object
|
||||
ResourceIdentifier.new(serializer).as_json
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -33,7 +33,7 @@ module ActiveModelSerializers
|
||||
alias_method old, name
|
||||
class_eval do
|
||||
define_method(name) do |*args, &block|
|
||||
target = self.is_a?(Module) ? "#{self}." : "#{self.class}#"
|
||||
target = is_a?(Module) ? "#{self}." : "#{self.class}#"
|
||||
msg = ["NOTE: #{target}#{name} is deprecated",
|
||||
replacement == :none ? ' with no replacement' : "; use #{replacement} instead",
|
||||
"\n#{target}#{name} called from #{ActiveModelSerializers.location_of_caller.join(":")}"
|
||||
|
||||
@ -36,7 +36,7 @@ module ActionController
|
||||
type: 'profiles',
|
||||
attributes: {
|
||||
name: 'Name 1',
|
||||
description: 'Description 1',
|
||||
description: 'Description 1'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -8,8 +8,8 @@ module ActionController
|
||||
module Serialization
|
||||
class JsonApi
|
||||
class PaginationTest < ActionController::TestCase
|
||||
KAMINARI_URI = 'http://test.host/action_controller/serialization/json_api/pagination_test/pagination_test/render_pagination_using_kaminari'
|
||||
WILL_PAGINATE_URI = 'http://test.host/action_controller/serialization/json_api/pagination_test/pagination_test/render_pagination_using_will_paginate'
|
||||
KAMINARI_URI = 'http://test.host/action_controller/serialization/json_api/pagination_test/pagination_test/render_pagination_using_kaminari'.freeze
|
||||
WILL_PAGINATE_URI = 'http://test.host/action_controller/serialization/json_api/pagination_test/pagination_test/render_pagination_using_will_paginate'.freeze
|
||||
|
||||
class PaginationTestController < ActionController::Base
|
||||
def setup
|
||||
|
||||
@ -91,7 +91,7 @@ module ActionController
|
||||
|
||||
expires_in = [
|
||||
PostSerializer._cache_options[:expires_in],
|
||||
CommentSerializer._cache_options[:expires_in],
|
||||
CommentSerializer._cache_options[:expires_in]
|
||||
].max + 200
|
||||
|
||||
Timecop.travel(Time.zone.now + expires_in) do
|
||||
|
||||
@ -43,7 +43,7 @@ module ActiveModelSerializers
|
||||
type: 'posts',
|
||||
attributes: {
|
||||
title: 'New Post',
|
||||
body: 'Body',
|
||||
body: 'Body'
|
||||
},
|
||||
relationships: {
|
||||
comments: { data: [{ type: 'comments', id: '1' }] },
|
||||
|
||||
@ -60,7 +60,7 @@ module ActiveModelSerializers
|
||||
actual = ActiveModel::SerializableResource.new(
|
||||
[@first_post, @second_post], adapter: :json_api,
|
||||
fields: { posts: %w(title comments blog author) })
|
||||
.serializable_hash
|
||||
.serializable_hash
|
||||
expected = [
|
||||
{
|
||||
id: '1',
|
||||
|
||||
@ -98,7 +98,7 @@ module ActiveModelSerializers
|
||||
id: '2',
|
||||
type: 'comments',
|
||||
attributes: {
|
||||
body: 'ZOMG ANOTHER COMMENT',
|
||||
body: 'ZOMG ANOTHER COMMENT'
|
||||
},
|
||||
relationships: {
|
||||
post: { data: { type: 'posts', id: '10' } },
|
||||
@ -141,7 +141,7 @@ module ActiveModelSerializers
|
||||
type: 'bios',
|
||||
attributes: {
|
||||
rating: nil,
|
||||
content: 'Rails Contributor',
|
||||
content: 'Rails Contributor'
|
||||
},
|
||||
relationships: {
|
||||
author: { data: { type: 'authors', id: '2' } }
|
||||
@ -314,7 +314,7 @@ module ActiveModelSerializers
|
||||
def test_no_duplicates
|
||||
hash = ActiveModel::SerializableResource.new(@post1, adapter: :json_api,
|
||||
include: '*.*')
|
||||
.serializable_hash
|
||||
.serializable_hash
|
||||
expected = [
|
||||
{
|
||||
type: 'authors', id: '1',
|
||||
@ -343,7 +343,7 @@ module ActiveModelSerializers
|
||||
hash = ActiveModel::SerializableResource.new(
|
||||
[@post1, @post2], adapter: :json_api,
|
||||
include: '*.*')
|
||||
.serializable_hash
|
||||
.serializable_hash
|
||||
expected = [
|
||||
{
|
||||
type: 'authors', id: '1',
|
||||
|
||||
@ -8,7 +8,7 @@ module ActiveModelSerializers
|
||||
module Adapter
|
||||
class JsonApi
|
||||
class PaginationLinksTest < ActiveSupport::TestCase
|
||||
URI = 'http://example.com'
|
||||
URI = 'http://example.com'.freeze
|
||||
|
||||
def setup
|
||||
ActionController::Base.cache_store.clear
|
||||
|
||||
@ -77,22 +77,22 @@ module ActiveModelSerializers
|
||||
end
|
||||
|
||||
def test_relationship_block_link
|
||||
links = { self: proc { "#{object.id}" } }
|
||||
expected = { links: { self: "#{@blog.id}" } }
|
||||
links = { self: proc { object.id.to_s } }
|
||||
expected = { links: { self: @blog.id.to_s } }
|
||||
test_relationship(expected, links: links)
|
||||
end
|
||||
|
||||
def test_relationship_block_link_with_meta
|
||||
links = {
|
||||
self: proc do
|
||||
href "#{object.id}"
|
||||
href object.id.to_s
|
||||
meta(id: object.id)
|
||||
end
|
||||
}
|
||||
expected = {
|
||||
links: {
|
||||
self: {
|
||||
href: "#{@blog.id}",
|
||||
href: @blog.id.to_s,
|
||||
meta: { id: @blog.id }
|
||||
}
|
||||
}
|
||||
@ -122,7 +122,7 @@ module ActiveModelSerializers
|
||||
links = {
|
||||
self: 'a link',
|
||||
related: proc do
|
||||
href "#{object.id}"
|
||||
href object.id.to_s
|
||||
meta object.id
|
||||
end
|
||||
|
||||
|
||||
@ -15,11 +15,11 @@ class ActiveModelSerializers::GrapeTest < ActiveSupport::TestCase
|
||||
|
||||
def self.all
|
||||
@all ||=
|
||||
begin
|
||||
model1.save!
|
||||
model2.save!
|
||||
ARModels::Post.all
|
||||
end
|
||||
begin
|
||||
model1.save!
|
||||
model2.save!
|
||||
ARModels::Post.all
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@ -60,8 +60,8 @@ module ActiveModel
|
||||
|
||||
def test_serializer_options_are_passed_into_associations_serializers
|
||||
association = @post_serializer
|
||||
.associations
|
||||
.detect { |assoc| assoc.key == :comments }
|
||||
.associations
|
||||
.detect { |assoc| assoc.key == :comments }
|
||||
|
||||
assert association.serializer.first.custom_options[:custom_options]
|
||||
end
|
||||
@ -143,11 +143,11 @@ module ActiveModel
|
||||
)
|
||||
actual = serializable(post, adapter: :attributes, serializer: InlineAssociationTestPostSerializer).as_json
|
||||
expected = {
|
||||
:comments => [
|
||||
:comments => [
|
||||
{ :id => 1, :contents => 'first comment' },
|
||||
{ :id => 2, :contents => 'last comment' }
|
||||
],
|
||||
:last_comments => [
|
||||
:last_comments => [
|
||||
{ :id => 2, :contents => 'last comment' }
|
||||
]
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
module Rails5Shims
|
||||
module ControllerTests
|
||||
# https://github.com/rails/rails/blob/b217354/actionpack/lib/action_controller/test_case.rb
|
||||
REQUEST_KWARGS = [:params, :session, :flash, :method, :body, :xhr]
|
||||
REQUEST_KWARGS = [:params, :session, :flash, :method, :body, :xhr].freeze
|
||||
|
||||
# Fold kwargs from test request into args
|
||||
# Band-aid for DEPRECATION WARNING
|
||||
|
||||
@ -21,7 +21,7 @@ module SerializationTesting
|
||||
ensure
|
||||
ActiveModelSerializers.config.adapter = old_adapter
|
||||
end
|
||||
alias_method :with_configured_adapter, :with_adapter
|
||||
alias with_configured_adapter with_adapter
|
||||
|
||||
def with_config(hash)
|
||||
old_config = config.dup
|
||||
|
||||
Loading…
Reference in New Issue
Block a user