nexia_event_store 0.8.0 → 0.8.1

Sign up to get free protection for your applications and to get access to all the features.
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