module DataStore
Constants
- VERSION
Public Class Methods
configuration()
click to toggle source
The configuration object. See {Configuration}
# File lib/data_store.rb, line 54 def configuration @configuration ||= Configuration.new end
configure() { |configuration| ... }
click to toggle source
Configure DataStore
Example
DataStore.configure |config| config.prefix = 'data_store_' config.database = :postgres end
# File lib/data_store.rb, line 48 def configure yield(configuration) define_base_class end
create_data_stores()
click to toggle source
Definition of the data_stores table
# File lib/data_store/definitions.rb, line 4 def self.create_data_stores Sequel.migration do change do create_table(:data_stores) do primary_key :id Integer :identifier, unique: true, null: false String :name, null: false String :type, null: false String :description String :data_type String :compression_schema Integer :frequency Integer :maximum_datapoints DateTime :created_at DateTime :updated_at index :identifier end end end end
create_table(settings)
click to toggle source
# File lib/data_store/definitions.rb, line 25 def self.create_table(settings) name = settings[:name] original_value = settings[:original_value] || false data_type = settings[:data_type] Sequel.migration do change do create_table(name) do primary_key :id column :value, data_type column :original_value, data_type if original_value column :created, :double index :created end end end end
Private Class Methods
define_base_class()
click to toggle source
# File lib/data_store.rb, line 60 def define_base_class connector = DataStore::Connector.new set_logger(connector.database) connector.create_table! suppress_warnings { self.const_set(:Base, Class.new(Sequel::Model(connector.dataset)))} load 'base.rb' connector.database.disconnect end
set_logger(db)
click to toggle source
# File lib/data_store.rb, line 69 def set_logger(db) if configuration.enable_logging logger = Logger.new(configuration.log_file) logger.level = configuration.log_level db.logger = logger end end