Class: ActiveSerializer::SerializationRulesValidator

Inherits:
Object
  • Object
show all
Defined in:
lib/active_serializer/serialization_rules_validator.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.validate!(&rules) ⇒ Object



4
5
6
7
8
9
10
# File 'lib/active_serializer/serialization_rules_validator.rb', line 4

def self.validate!(&rules)
  fake_objects = rules.arity.times.map do
    ActiveSerializer::Support::FakeObject.new
  end
  validator = self.new
  validator.instance_exec(*fake_objects, &rules)
end

Instance Method Details

#attribute(name, value = nil, &block) ⇒ Object



12
13
14
# File 'lib/active_serializer/serialization_rules_validator.rb', line 12

def attribute(name, value = nil, &block)
  ActiveSerializer::Support::ArgsValidator.is_symbol!(name, 'attributes')
end

#attributes(*attrs) ⇒ Object



31
32
33
34
# File 'lib/active_serializer/serialization_rules_validator.rb', line 31

def attributes(*attrs)
  attrs.delete_at(-1)
  ActiveSerializer::Support::ArgsValidator.is_array_of_symbols!(attrs, 'attributes')
end

#namespace(name, &block) ⇒ Object



36
37
38
39
# File 'lib/active_serializer/serialization_rules_validator.rb', line 36

def namespace(name, &block)
  ActiveSerializer::Support::ArgsValidator.is_symbol!(name, 'namespace name')
  ActiveSerializer::Support::ArgsValidator.block_given!(block, 'namespace block')
end

#resource(name, object = nil, &block) ⇒ Object



41
42
43
44
# File 'lib/active_serializer/serialization_rules_validator.rb', line 41

def resource(name, object = nil, &block)
  ActiveSerializer::Support::ArgsValidator.is_symbol!(name, 'resource name')
  ActiveSerializer::Support::ArgsValidator.block_given!(block, 'resource block')
end

#resources(name, objects = nil, &block) ⇒ Object



46
47
48
49
# File 'lib/active_serializer/serialization_rules_validator.rb', line 46

def resources(name, objects = nil, &block)
  ActiveSerializer::Support::ArgsValidator.is_symbol!(name, 'resources name')
  ActiveSerializer::Support::ArgsValidator.block_given!(block, 'resources block')
end

#serialize_collection(*attrs) ⇒ Object



16
17
18
19
20
21
22
# File 'lib/active_serializer/serialization_rules_validator.rb', line 16

def serialize_collection(*attrs)
  key    = attrs[0]
  object = attrs[1]
  klass  = attrs[2]
  ActiveSerializer::Support::ArgsValidator.is_symbol!(key, 'collection name')
  ActiveSerializer::Support::ArgsValidator.is_class!(klass, 'serializer class')
end

#serialize_entity(*attrs) ⇒ Object



24
25
26
27
28
29
# File 'lib/active_serializer/serialization_rules_validator.rb', line 24

def serialize_entity(*attrs)
  key    = attrs[0]
  klass  = attrs[2]
  ActiveSerializer::Support::ArgsValidator.is_symbol!(key, 'collection name')
  ActiveSerializer::Support::ArgsValidator.is_class!(klass, 'serializer class')
end