lib/alephant/sequencer.rb in alephant-sequencer-2.0.1 vs lib/alephant/sequencer.rb in alephant-sequencer-3.0.0
- old
+ new
@@ -1,15 +1,31 @@
require "alephant/sequencer/version"
require "alephant/sequencer/sequencer"
require "alephant/sequencer/sequence_table"
+require "alephant/sequencer/sequence_cache"
module Alephant
module Sequencer
@@sequence_tables = {}
- def self.create(table_name, ident, jsonpath = nil, keep_all = true)
+ def self.create(table_name, opts = {})
+ defaults = {
+ :jsonpath => nil,
+ :keep_all => true,
+ :config => {}
+ }
+
+ opts = defaults.merge(opts).tap do |opts|
+ opts[:cache] = self.cache(opts[:config])
+ end
+
@@sequence_tables[table_name] ||= SequenceTable.new(table_name)
- Sequencer.new(@@sequence_tables[table_name], ident, jsonpath, keep_all)
+ Sequencer.new(@@sequence_tables[table_name], opts)
end
+ private
+
+ def self.cache(config)
+ @cache ||= SequenceCache.new(config)
+ end
end
end