Class: DataStore::Base
- Inherits:
-
Object
- Object
- DataStore::Base
- Defined in:
- lib/data_store.rb,
lib/data_store/base.rb
Overview
Base class will be redefined during configure In order to assign Sequel::Model behaviour to it with the correctly defined (or configured) database connector
Instance Method Summary collapse
- #after_create ⇒ Object
- #before_destroy ⇒ Object
-
#before_save ⇒ Object
Set the default values with the globally defined values * :compression_schema * :frequency * :maximum_datapoints * :data_type See Configuration.
-
#compression_schema ⇒ Object
Convert serialized compression schema as a string back into the array object itself.
- #table_names ⇒ Object
- #time_borders ⇒ Object
- #time_width ⇒ Object
Instance Method Details
#after_create ⇒ Object
15 16 17 18 |
# File 'lib/data_store/base.rb', line 15 def after_create drop_tables! create_tables! end |
#before_destroy ⇒ Object
20 21 22 |
# File 'lib/data_store/base.rb', line 20 def before_destroy drop_tables! end |
#before_save ⇒ Object
Set the default values with the globally defined values
* :compression_schema
* :frequency
* :maximum_datapoints
* :data_type
See Configuration
11 12 13 |
# File 'lib/data_store/base.rb', line 11 def before_save set_default_values end |
#compression_schema ⇒ Object
Convert serialized compression schema as a string back into the array object itself. For example: “(5,4,3)” => [5,4,3]
26 27 28 29 30 31 32 33 34 |
# File 'lib/data_store/base.rb', line 26 def compression_schema value = self.values[:compression_schema] if value.nil? value = [] else value = value.gsub(/\[|\]|\(|\)/,'').split(',').map(&:to_i) unless value.is_a?(Array) end value end |
#table_names ⇒ Object
36 37 38 39 40 41 42 43 44 |
# File 'lib/data_store/base.rb', line 36 def table_names names = [table_name] factor = 1 compression_schema.each do |compression| factor = (factor * compression) names << (table_name.to_s + '_' + factor.to_s).to_sym end names end |
#time_borders ⇒ Object
46 47 48 49 50 51 52 53 54 |
# File 'lib/data_store/base.rb', line 46 def time_borders width = time_width borders = [width] compression_schema.each do |compression| width = width * compression borders << width end borders end |
#time_width ⇒ Object
56 57 58 |
# File 'lib/data_store/base.rb', line 56 def time_width frequency * maximum_datapoints end |