data_store 0.1.9 → 0.2.0

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 0bc549a10d7a06c7a3d644b3558c1d9389621f8d
4
+ data.tar.gz: a6450c7d17d1e9350ed4f998fb17f04d67a40e9c
5
+ SHA512:
6
+ metadata.gz: 80a97d74d1899e36100cbaead1916b154c8cc08a27650d6459d5821bf3720122d6d22c43705937de51953791af3b81192997bd98bb04f32e834a27fac9818dd6
7
+ data.tar.gz: bba43210532999187df99db2e6945f8d4580556c6789b992cd56e8391af43b2c8001258b6401c45aa4f9578c36eec2f8b91c68a831eaf425abd04991c631622c
data/.ruby-gemset ADDED
@@ -0,0 +1 @@
1
+ data_store
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 2.0.0-p247
data/.travis.yml CHANGED
@@ -1,7 +1,7 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 1.9.3
4
- - rbx-19mode
3
+ - 2.0.0
4
+ - rbx-2.1.1
5
5
  - jruby-19mode
6
6
 
7
7
  matrix:
data/Gemfile CHANGED
@@ -17,7 +17,7 @@ end
17
17
  group :test, :development do
18
18
  gem 'rake'
19
19
  gem 'shoulda'
20
- gem 'mocha'
20
+ gem 'mocha', require: 'mocha/setup'
21
21
  gem 'guard'
22
22
  gem 'guard-test'
23
23
  gem 'rb-fsevent'
data/README.md CHANGED
@@ -43,7 +43,7 @@ For JRuby on of the following:
43
43
  DataStore.configure do |config|
44
44
  config.prefix = 'ds_'
45
45
  config.database = :mysql
46
- config.compression_schema = [6,5,3]
46
+ config.compression_schema = '[6,5,3]'
47
47
  config.data_type = :double
48
48
  config.frequency = 10
49
49
  config.maximum_datapoints = 800
data/data_store.gemspec CHANGED
@@ -16,5 +16,5 @@ Gem::Specification.new do |gem|
16
16
  gem.require_paths = ['lib']
17
17
  gem.version = DataStore::VERSION
18
18
 
19
- gem.add_dependency('sequel')
19
+ gem.add_dependency('sequel', '4.4.0')
20
20
  end
data/db/data_store.db CHANGED
Binary file
@@ -22,11 +22,16 @@ module DataStore
22
22
  end
23
23
 
24
24
  # Convert serialized compression schema as a string back into the array object itself.
25
- # For example: "[5,4,3]" => [5,4,3]
26
- def compression_schema
25
+ # For example: "(5,4,3)" => [5,4,3]
26
+ def compression_schema
27
27
  value = self.values[:compression_schema]
28
- value.gsub(/\[|\]/,'').split(',').map(&:to_i) unless value.nil?
29
- end
28
+ if value.nil?
29
+ value = []
30
+ else
31
+ value = value.gsub(/\[|\]|\(|\)/,'').split(',').map(&:to_i) unless value.is_a?(Array)
32
+ end
33
+ value
34
+ end
30
35
 
31
36
  def table_names
32
37
  names = [table_name]
@@ -9,8 +9,10 @@ module DataStore
9
9
  # The database used for storing the data.
10
10
  attr_accessor :database
11
11
 
12
- # The schema is the way avarages of the datapoints is calculated/
13
- # Default: [6,5,3,4,4,3]
12
+ # The compression schema defines the compression of the data, i.e how the averages of the datapoints are calculated.
13
+ # Default: '[6,5,3,4,4,3]'
14
+ # With the default settings: from every 6 datapoints an average value is calculated. From those calculated average values
15
+ # from every five values a new average value is created (The compression is now 6 * 5 = 30).
14
16
  attr_accessor :compression_schema
15
17
 
16
18
  # The frequency tells how often data entry is done.
@@ -50,7 +52,7 @@ module DataStore
50
52
  def initialize
51
53
  @prefix = 'ds_'
52
54
  @database = :postgres
53
- @compression_schema = [6,5,3,4,4,3]
55
+ @compression_schema = '[6,5,3,4,4,3]'
54
56
  @frequency = 10
55
57
  @maximum_datapoints = 800
56
58
  @data_type = :double
@@ -1,3 +1,3 @@
1
1
  module DataStore
2
- VERSION = '0.1.9'
2
+ VERSION = '0.2.0'
3
3
  end
@@ -15,7 +15,7 @@ class AverageCalculatorTest < Test::Unit::TestCase
15
15
  name: 'Electra',
16
16
  frequency: 10,
17
17
  description: 'Actual usage of electra in the home',
18
- compression_schema: [2,2,2])
18
+ compression_schema: '[2,2,2]')
19
19
 
20
20
  @table = DataStore::Table.new(1)
21
21
  @calculator = DataStore::AverageCalculator.new(@table)
@@ -141,7 +141,7 @@ class AverageCalculatorTest < Test::Unit::TestCase
141
141
  name: 'Electra',
142
142
  frequency: 10,
143
143
  description: 'Actual usage of gas in the home',
144
- compression_schema: [2])
144
+ compression_schema: '[2]')
145
145
 
146
146
  @table = DataStore::Table.new(1)
147
147
  @calculator = DataStore::AverageCalculator.new(@table)
@@ -7,7 +7,7 @@ class ConfigurationTest < Test::Unit::TestCase
7
7
  should "provide default values" do
8
8
  assert_config_default :prefix, 'ds_'
9
9
  assert_config_default :database, :postgres
10
- assert_config_default :compression_schema, [6,5,3,4,4,3]
10
+ assert_config_default :compression_schema, '[6,5,3,4,4,3]'
11
11
  assert_config_default :frequency, 10
12
12
  assert_config_default :frequency_tolerance, 0.05
13
13
  assert_config_default :maximum_datapoints, 800
@@ -27,7 +27,7 @@ class DataStoreTest < Test::Unit::TestCase
27
27
  type: 'gauge',
28
28
  name: 'Electra',
29
29
  description: 'Actual usage of electra in the home',
30
- compression_schema: [5,4,3])
30
+ compression_schema: '[5,4,3]')
31
31
  end
32
32
 
33
33
  should 'be valid' do
@@ -56,7 +56,7 @@ class DataStoreTest < Test::Unit::TestCase
56
56
  frequency: 5,
57
57
  maximum_datapoints: 10,
58
58
  description: 'Gas usage',
59
- compression_schema: [2,4])
59
+ compression_schema: '[2,4]')
60
60
  assert_equal [50, 100, 400], record.time_borders
61
61
  end
62
62
 
@@ -11,7 +11,7 @@ class IntegrationTest < Test::Unit::TestCase
11
11
  name: 'Electra',
12
12
  frequency: 10,
13
13
  description: 'Actual usage of gas in the home',
14
- compression_schema: [2,2])
14
+ compression_schema: '[2,2]')
15
15
 
16
16
  @table = DataStore::Table.new(1)
17
17
  @calculator = DataStore::AverageCalculator.new(@table)
@@ -47,7 +47,7 @@ class IntegrationTest < Test::Unit::TestCase
47
47
  type: 'gauge',
48
48
  name: 'Electra',
49
49
  description: 'Actual usage of electra in the home',
50
- compression_schema: [2,3])
50
+ compression_schema: '[2,3]')
51
51
  @table = DataStore::Table.new(1)
52
52
  end
53
53
 
data/test/table_test.rb CHANGED
@@ -10,7 +10,7 @@ class TableTest < Test::Unit::TestCase
10
10
  type: 'gauge',
11
11
  name: 'Electra',
12
12
  description: 'Actual usage of electra in the home',
13
- compression_schema: [5,6,10])
13
+ compression_schema: '[5,6,10]')
14
14
  @table = DataStore::Table.new(1)
15
15
  end
16
16
 
@@ -117,7 +117,7 @@ class TableTest < Test::Unit::TestCase
117
117
  type: 'gauge',
118
118
  name: 'Electra',
119
119
  description: 'Actual usage of electra in the home',
120
- compression_schema: [5,6,10])
120
+ compression_schema: '[5,6,10]')
121
121
 
122
122
  @table = DataStore::Table.new(1, 1)
123
123
  @table.stubs(:calculate_average_values)
@@ -142,7 +142,7 @@ class TableTest < Test::Unit::TestCase
142
142
  type: 'counter',
143
143
  name: 'Gas',
144
144
  description: 'Actual usage of natural gas',
145
- compression_schema: [])
145
+ compression_schema: '[]')
146
146
  @table = DataStore::Table.new(2)
147
147
  end
148
148
 
data/test/test_helper.rb CHANGED
@@ -8,7 +8,7 @@ rescue Bundler::BundlerError => e
8
8
  exit e.status_code
9
9
  end
10
10
  require 'test/unit'
11
- require 'mocha'
11
+ require 'mocha/setup'
12
12
  require 'shoulda'
13
13
 
14
14
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
metadata CHANGED
@@ -1,32 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: data_store
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
5
- prerelease:
4
+ version: 0.2.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Frank Oxener
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-06-16 00:00:00.000000000 Z
11
+ date: 2013-11-04 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: sequel
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - '='
20
18
  - !ruby/object:Gem::Version
21
- version: '0'
19
+ version: 4.4.0
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - '='
28
25
  - !ruby/object:Gem::Version
29
- version: '0'
26
+ version: 4.4.0
30
27
  description: DataStore is designed to store real time data but still manage the growth
31
28
  of your dataset and still keeping historical data
32
29
  email:
@@ -36,6 +33,8 @@ extensions: []
36
33
  extra_rdoc_files: []
37
34
  files:
38
35
  - .gitignore
36
+ - .ruby-gemset
37
+ - .ruby-version
39
38
  - .rvmrc
40
39
  - .travis.yml
41
40
  - CHANGELOG.md
@@ -67,33 +66,26 @@ files:
67
66
  homepage: https://github.com/dovadi/data_store
68
67
  licenses:
69
68
  - MIT
69
+ metadata: {}
70
70
  post_install_message:
71
71
  rdoc_options: []
72
72
  require_paths:
73
73
  - lib
74
74
  required_ruby_version: !ruby/object:Gem::Requirement
75
- none: false
76
75
  requirements:
77
- - - ! '>='
76
+ - - '>='
78
77
  - !ruby/object:Gem::Version
79
78
  version: '0'
80
- segments:
81
- - 0
82
- hash: -2498536008263531709
83
79
  required_rubygems_version: !ruby/object:Gem::Requirement
84
- none: false
85
80
  requirements:
86
- - - ! '>='
81
+ - - '>='
87
82
  - !ruby/object:Gem::Version
88
83
  version: '0'
89
- segments:
90
- - 0
91
- hash: -2498536008263531709
92
84
  requirements: []
93
85
  rubyforge_project:
94
- rubygems_version: 1.8.25
86
+ rubygems_version: 2.1.9
95
87
  signing_key:
96
- specification_version: 3
88
+ specification_version: 4
97
89
  summary: DataStore for storing real time data
98
90
  test_files:
99
91
  - test/average_calculator_test.rb