From 539fc3bcb52e3cd389ee367fa31a983678eef63c Mon Sep 17 00:00:00 2001 From: Sebastian Wilgosz Date: Tue, 5 Apr 2022 13:55:52 +0200 Subject: [PATCH 1/2] Remove dependency from activesupport. This is only relevant when running tests as i is only used in test configuration --- contrib/ruby_event_store-rom/Gemfile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/contrib/ruby_event_store-rom/Gemfile b/contrib/ruby_event_store-rom/Gemfile index 2cb83432d1..51e27777de 100644 --- a/contrib/ruby_event_store-rom/Gemfile +++ b/contrib/ruby_event_store-rom/Gemfile @@ -7,4 +7,7 @@ gem "mysql2", ">= 0.5.3" gem "pg", ">= 1.2.2" gem "ruby_event_store", path: "../../ruby_event_store" gem "sqlite3", "1.4.2" -gem "activesupport" \ No newline at end of file + +group :test do + gem "activesupport" +end From 2806d8ac673d5c4d0b36cb0bbace8edd91ffdb7e Mon Sep 17 00:00:00 2001 From: Sebastian Wilgosz Date: Tue, 5 Apr 2022 14:08:46 +0200 Subject: [PATCH 2/2] Add transformation for values type of hash Reason: In hanami integration, for some reason, I get hash instead of String in those two fields. Possibly there is sth wrong with the configuration itself but just for now I added this quick fix. --- .../lib/ruby_event_store/rom/changesets/create_events.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/contrib/ruby_event_store-rom/lib/ruby_event_store/rom/changesets/create_events.rb b/contrib/ruby_event_store-rom/lib/ruby_event_store/rom/changesets/create_events.rb index 929041fda2..838b43c8b4 100644 --- a/contrib/ruby_event_store-rom/lib/ruby_event_store/rom/changesets/create_events.rb +++ b/contrib/ruby_event_store-rom/lib/ruby_event_store/rom/changesets/create_events.rb @@ -11,6 +11,8 @@ class CreateEvents < ::ROM::Changeset::Create rename_keys timestamp: :created_at map_value :created_at, ->(time) { Time.iso8601(time).localtime } map_value :valid_at, ->(time) { Time.iso8601(time).localtime } + map_value :data, ->(value) { value.class.name == "Hash" ? value.to_json : value } + map_value :metadata, ->(value) { value.class.name == "Hash" ? value.to_json : value } accept_keys %i[event_id data metadata event_type created_at valid_at] end