Module: ActivejobArguments::ClassAndMethodArguments
- Defined in:
- lib/activejob_arguments.rb
Instance Method Summary collapse
Instance Method Details
#deserialize_argument(argument) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/activejob_arguments.rb', line 33 def deserialize_argument(argument) if argument.is_a? Hash return super unless argument['_aj_type'].present? case argument['_aj_type'] when 'Class' argument['value'].constantize when 'Symbol' argument['value'].to_sym when 'Time' DateTime.iso8601(argument['value']) when 'DateTime' DateTime.iso8601(argument['value']) else super end else super end end |
#serialize_argument(argument) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/activejob_arguments.rb', line 5 def serialize_argument(argument) case argument when Class, Module { '_aj_type' => 'Class', 'value' => argument.name } when Symbol { '_aj_type' => 'Symbol', 'value' => argument.to_s } when Time # https://github.com/rails/rails/blob/11581afc01927565d57dd0e0156e983f92f8c2e0/activejob/lib/active_job/serializers/time_serializer.rb { '_aj_type' => 'Time', 'value' => argument.iso8601(6) } when DateTime # https://github.com/rails/rails/blob/11581afc01927565d57dd0e0156e983f92f8c2e0/activejob/lib/active_job/serializers/date_time_serializer.rb { '_aj_type' => 'DateTime', 'value' => argument.iso8601(6) } else super end end |