nexia_event_store 0.8.0 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0482c47fcd18e73eb1faaddc9762fc4d7315c023
4
- data.tar.gz: 2300cc30c2e1c37bdfc4b9fe98cc96f015914655
3
+ metadata.gz: 47cfb9703b6fa4ac24c36ff082c21d9cea74e112
4
+ data.tar.gz: 9a3b46f82746fcddfc3fa8602ac02c136b8c4439
5
5
  SHA512:
6
- metadata.gz: 77cb1a1695d9f3d1e61ef508fba5ca4c435a9194a538595a4fc995c35a8593ac634d56efb2bad6c673658448a4aac9a1c65eb4d9036100a209a9b2a711b75505
7
- data.tar.gz: 14b00a3904376be51d2d7a8702c9a84ca7ea07d9360d9a7b130547475dc7e3514966ba946fd803b9dcaa749be633ece6eee7a0475b9bfb4e059eaa12939cb891
6
+ metadata.gz: 29a6b0e6c222365a2deec4c9013c4c6f36e045eb087a266e38acf2208c0f17549a89eda900d0eee1815157172ee26adb4324e9fb5a2b559ef5e9a4cd0e85acf2
7
+ data.tar.gz: 5f3d302bbf7f534b4e71935415d0a6ca21f6d6c5c945acca9dbafaa0e6b271e482473dfdbfd2b1c52d5a3adbde7edb4409d486479e4c67cf0a497e884c8abb2e
@@ -53,11 +53,14 @@ module EventStore
53
53
  end
54
54
 
55
55
  def events
56
- @events_query ||= EventStore.db.from(@aliased_event_table) \
57
- .where(:aggregate_id => @id.to_s) \
58
- .join(@names_table, id: :fully_qualified_name_id) \
59
- .order("#{@event_table_alias}__id".to_sym) \
60
- .select_all(:events).select_append(:fully_qualified_name)
56
+ @events_query ||=
57
+ begin
58
+ query = EventStore.db.from(@aliased_event_table).where(:aggregate_id => @id.to_s)
59
+ query = query.join(@names_table, id: :fully_qualified_name_id) if EventStore.use_names_table?
60
+ query = query.order("#{@event_table_alias}__id".to_sym).select_all(:events)
61
+ query = query.select_append(:fully_qualified_name) if EventStore.use_names_table?
62
+ query
63
+ end
61
64
  end
62
65
 
63
66
  def snapshot_events
@@ -121,9 +124,13 @@ module EventStore
121
124
  { :aggregate_id => raw_event.aggregate_id,
122
125
  :occurred_at => Time.parse(raw_event.occurred_at.to_s).utc, #to_s truncates microseconds, which brake Time equality
123
126
  :serialized_event => EventStore.escape_bytea(raw_event.serialized_event),
124
- :fully_qualified_name_id => EventStore.db.from(@names_table).where(fully_qualified_name: raw_event.fully_qualified_name).select(:id),
125
127
  :fully_qualified_name => raw_event.fully_qualified_name,
126
128
  :sub_key => raw_event.sub_key
129
+ }.tap { |event_info|
130
+ if EventStore.use_names_table?
131
+ name_subquery = EventStore.db.from(@names_table).where(fully_qualified_name: raw_event.fully_qualified_name).select(:id)
132
+ event_info[:fully_qualified_name_id] = name_subquery
133
+ end
127
134
  }
128
135
  end
129
136
 
@@ -1,3 +1,3 @@
1
1
  module EventStore
2
- VERSION = '0.8.0'
2
+ VERSION = '0.8.1'
3
3
  end
data/lib/event_store.rb CHANGED
@@ -143,14 +143,19 @@ module EventStore
143
143
  database_config = database_config.inject({}) {|memo, (k,v)| memo[k.to_s] = v; memo}
144
144
  redis_config = redis_config.inject({}) {|memo, (k,v)| memo[k.to_s] = v; memo}
145
145
 
146
- @adapter = database_config['adapter'].to_s
146
+ @adapter = database_config["adapter"].to_s
147
147
  @environment = environment
148
148
  @db_config = database_config
149
149
  @table_name = table_name
150
- @schema = database_config['schema'].to_s
150
+ @schema = database_config["schema"].to_s
151
+ @use_names_table = database_config.fetch("use_names_table", true)
151
152
  connect_db
152
153
  end
153
154
 
155
+ def self.use_names_table?
156
+ @use_names_table
157
+ end
158
+
154
159
  def self.migrations_dir
155
160
  @adapter == 'vertica' ? 'migrations' : 'pg_migrations'
156
161
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nexia_event_store
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.8.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paul Saieg, John Colvin
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-07-16 00:00:00.000000000 Z
12
+ date: 2015-11-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -234,7 +234,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
234
234
  version: '0'
235
235
  requirements: []
236
236
  rubyforge_project:
237
- rubygems_version: 2.4.2
237
+ rubygems_version: 2.4.5.1
238
238
  signing_key:
239
239
  specification_version: 4
240
240
  summary: Ruby implementation of an EventSource (A+ES) for the Nexia Ecosystem