Class: RailsEventStore::JSONClient
- Defined in:
- lib/rails_event_store/json_client.rb
Instance Attribute Summary
Attributes inherited from Client
Instance Method Summary collapse
Methods inherited from Client
Constructor Details
#initialize(mapper: RubyEventStore::Mappers::BatchMapper.new( RubyEventStore::Mappers::PipelineMapper.new( RubyEventStore::Mappers::Pipeline.new( { Symbol => { serializer: ->(v) { v.to_s }, deserializer: ->(v) { v.to_sym }, }, Time => { serializer: ->(v) { v.iso8601(RubyEventStore::TIMESTAMP_PRECISION) }, deserializer: ->(v) { Time.iso8601(v) }, }, ActiveSupport::TimeWithZone => { serializer: ->(v) { v.iso8601(RubyEventStore::TIMESTAMP_PRECISION) }, deserializer: ->(v) { Time.iso8601(v).in_time_zone }, stored_type: ->(*) { "ActiveSupport::TimeWithZone" }, }, Date => { serializer: ->(v) { v.iso8601 }, deserializer: ->(v) { Date.iso8601(v) }, }, DateTime => { serializer: ->(v) { v.iso8601 }, deserializer: ->(v) { DateTime.iso8601(v) }, }, BigDecimal => { serializer: ->(v) { v.to_s }, deserializer: ->(v) { BigDecimal(v) }, }, }.merge( if defined?(OpenStruct) { OpenStruct => { serializer: ->(v) { v.to_h }, deserializer: ->(v) { OpenStruct.new(v) } } } else {} end, ) .reduce(RubyEventStore::Mappers::Transformation::PreserveTypes.new) do |preserve_types, (klass, options)| preserve_types.register(klass, **options) end, RubyEventStore::Mappers::Transformation::SymbolizeMetadataKeys.new, ), ), ), repository: RubyEventStore::ActiveRecord::EventRepository.new(serializer: JSON), subscriptions: nil, dispatcher: nil, message_broker: nil, clock: default_clock, correlation_id_generator: default_correlation_id_generator, request_metadata: default_request_metadata) ⇒ JSONClient
Returns a new instance of JSONClient.
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/rails_event_store/json_client.rb', line 7 def initialize( mapper: RubyEventStore::Mappers::BatchMapper.new( RubyEventStore::Mappers::PipelineMapper.new( RubyEventStore::Mappers::Pipeline.new( { Symbol => { serializer: ->(v) { v.to_s }, deserializer: ->(v) { v.to_sym }, }, Time => { serializer: ->(v) { v.iso8601(RubyEventStore::TIMESTAMP_PRECISION) }, deserializer: ->(v) { Time.iso8601(v) }, }, ActiveSupport::TimeWithZone => { serializer: ->(v) { v.iso8601(RubyEventStore::TIMESTAMP_PRECISION) }, deserializer: ->(v) { Time.iso8601(v).in_time_zone }, stored_type: ->(*) { "ActiveSupport::TimeWithZone" }, }, Date => { serializer: ->(v) { v.iso8601 }, deserializer: ->(v) { Date.iso8601(v) }, }, DateTime => { serializer: ->(v) { v.iso8601 }, deserializer: ->(v) { DateTime.iso8601(v) }, }, BigDecimal => { serializer: ->(v) { v.to_s }, deserializer: ->(v) { BigDecimal(v) }, }, }.merge( if defined?(OpenStruct) { OpenStruct => { serializer: ->(v) { v.to_h }, deserializer: ->(v) { OpenStruct.new(v) } } } else {} end, ) .reduce(RubyEventStore::Mappers::Transformation::PreserveTypes.new) do |preserve_types, (klass, )| preserve_types.register(klass, **) end, RubyEventStore::Mappers::Transformation::SymbolizeMetadataKeys.new, ), ), ), repository: RubyEventStore::ActiveRecord::EventRepository.new(serializer: JSON), subscriptions: nil, dispatcher: nil, message_broker: nil, clock: default_clock, correlation_id_generator: default_correlation_id_generator, request_metadata: ) super end |