Module: FastJsonapi
- Defined in:
- lib/fast_jsonapi.rb,
lib/fast_jsonapi/link.rb,
lib/fast_jsonapi/scalar.rb,
lib/fast_jsonapi/helpers.rb,
lib/fast_jsonapi/version.rb,
lib/fast_jsonapi/attribute.rb,
lib/fast_jsonapi/relationship.rb,
lib/fast_jsonapi/object_serializer.rb,
lib/fast_jsonapi/serialization_core.rb
Defined Under Namespace
Modules: ObjectSerializer, SerializationCore Classes: Attribute, Link, Relationship, Scalar
Constant Summary collapse
- VERSION =
JSONAPI::Serializer::VERSION
- MandatoryField =
Class.new(StandardError)
Class Method Summary collapse
-
.call_proc(proc, *params) ⇒ Object
Calls either a Proc or a Lambda, making sure to never pass more parameters to it than it can receive.
Class Method Details
.call_proc(proc, *params) ⇒ Object
Calls either a Proc or a Lambda, making sure to never pass more parameters to it than it can receive
8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/fast_jsonapi/helpers.rb', line 8 def call_proc(proc, *params) # The parameters array for a lambda created from a symbol (&:foo) differs # from explictly defined procs/lambdas, so we can't deduce the number of # parameters from the array length (and differs between Ruby 2.x and 3). # In the case of negative arity -- unlimited/unknown argument count -- # just send the object to act as the method receiver. if proc.arity.negative? proc.call(params.first) else proc.call(*params.take(proc.parameters.length)) end end |