castle-log 0.0.1 → 0.0.2

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.
@@ -15,7 +15,79 @@ module Castle
15
15
  end
16
16
 
17
17
  def duration
18
- tick * @data.values[0].length
18
+ @duration ||= tick * @data.values[0].length
19
+ end
20
+
21
+ def throttle?
22
+ present? 'Throttle'
23
+ end
24
+
25
+ def throttle
26
+ @throttle ||= float_fields 'Throttle'
27
+ end
28
+
29
+ def power_out?
30
+ present? 'Power-Out'
31
+ end
32
+
33
+ def power_out
34
+ @power_out ||= float_fields 'Power-Out'
35
+ end
36
+
37
+ def voltage?
38
+ present? 'Voltage'
39
+ end
40
+
41
+ def voltage
42
+ @voltage ||= float_fields 'Voltage'
43
+ end
44
+
45
+ def ripple?
46
+ present? 'Ripple'
47
+ end
48
+
49
+ def ripple
50
+ @ripple ||= float_fields 'Ripple'
51
+ end
52
+
53
+ def current?
54
+ present? 'Current'
55
+ end
56
+
57
+ def current
58
+ # FIXME current values seem pretty funky...
59
+ @current ||= float_fields 'Current'
60
+ end
61
+
62
+ def temperature?
63
+ present? 'Temperature'
64
+ end
65
+
66
+ def temperature
67
+ @temperature ||= float_fields 'Temperature'
68
+ end
69
+
70
+ def speed?
71
+ present? 'Speed'
72
+ end
73
+
74
+ def speed
75
+ # FIXME need a pole count or something here
76
+ @speed ||= int_fields 'Speed'
77
+ end
78
+
79
+ private
80
+
81
+ def present? name
82
+ !@data[name].empty?
83
+ end
84
+
85
+ def int_fields name
86
+ @data[name].map(&:to_i)
87
+ end
88
+
89
+ def float_fields name
90
+ @data[name].map(&:to_f)
19
91
  end
20
92
 
21
93
  end
@@ -1,5 +1,5 @@
1
1
  module Castle
2
2
  module Log
3
- VERSION = "0.0.1"
3
+ VERSION = "0.0.2"
4
4
  end
5
5
  end
data/spec/session_spec.rb CHANGED
@@ -16,6 +16,76 @@ describe Castle::Log::Session do
16
16
 
17
17
  its(:duration) { should be_within(0.1).of(569.2) }
18
18
 
19
+ its(:throttle?) { should be_true }
20
+
21
+ its(:throttle) { should have(2846).values }
22
+
23
+ it 'should have some select throttle values' do
24
+ subject.throttle[0].should be_within(0.001).of(0.97)
25
+ subject.throttle[1500].should be_within(0.001).of(1.777)
26
+ subject.throttle[2602].should be_within(0.001).of(1.785)
27
+ end
28
+
29
+ its(:power_out?) { should be_true }
30
+
31
+ its(:power_out) { should have(2846).values }
32
+
33
+ it 'should have some select power-out values' do
34
+ subject.power_out[0].should be_within(0.001).of(0)
35
+ subject.power_out[1750].should be_within(0.001).of(87.843)
36
+ subject.power_out[2345].should be_within(0.001).of(88.235)
37
+ end
38
+
39
+ its(:voltage?) { should be_true }
40
+
41
+ its(:voltage) { should have(2846).values }
42
+
43
+ it 'should have some select voltage values' do
44
+ subject.voltage[0].should be_within(0.001).of(0)
45
+ subject.voltage[150].should be_within(0.001).of(40.15)
46
+ subject.voltage[2350].should be_within(0.001).of(36.55)
47
+ end
48
+
49
+ its(:ripple?) { should be_true }
50
+
51
+ its(:ripple) { should have(2846).values }
52
+
53
+ it 'should have some select ripple values' do
54
+ subject.ripple[0].should be_within(0.001).of(0)
55
+ subject.ripple[550].should be_within(0.001).of(0.845)
56
+ subject.ripple[2152].should be_within(0.001).of(1.479)
57
+ end
58
+
59
+ its(:current?) { should be_true }
60
+
61
+ its(:current) { should have(2846).values }
62
+
63
+ it 'should have some select current values' do
64
+ subject.current[0].should be_within(0.001).of(0)
65
+ subject.current[1540].should be_within(0.001).of(22.0)
66
+ subject.current[2160].should be_within(0.001).of(36.7)
67
+ end
68
+
69
+ its(:temperature?) { should be_true }
70
+
71
+ its(:temperature) { should have(2846).values }
72
+
73
+ it 'should have some select temperature values' do
74
+ subject.temperature[0].should be_within(0.001).of(76.8)
75
+ subject.temperature[1350].should be_within(0.001).of(115.1)
76
+ subject.temperature[2504].should be_within(0.001).of(114.1)
77
+ end
78
+
79
+ its(:speed?) { should be_true }
80
+
81
+ its(:speed) { should have(2846).values }
82
+
83
+ it 'should have some select speed values' do
84
+ subject.speed[0].should eql(0)
85
+ subject.speed[1250].should eql(91146)
86
+ subject.speed[2150].should eql(84366)
87
+ end
88
+
19
89
  end
20
90
 
21
91
  end
metadata CHANGED
@@ -1,18 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: castle-log
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Nick Veys
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2013-06-03 00:00:00.000000000 Z
12
+ date: 2013-06-04 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: bundler
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
19
  - - ~>
18
20
  - !ruby/object:Gem::Version
@@ -20,6 +22,7 @@ dependencies:
20
22
  type: :development
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
27
  - - ~>
25
28
  - !ruby/object:Gem::Version
@@ -27,6 +30,7 @@ dependencies:
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: ci_reporter
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
35
  - - '='
32
36
  - !ruby/object:Gem::Version
@@ -34,6 +38,7 @@ dependencies:
34
38
  type: :development
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
43
  - - '='
39
44
  - !ruby/object:Gem::Version
@@ -41,6 +46,7 @@ dependencies:
41
46
  - !ruby/object:Gem::Dependency
42
47
  name: rake
43
48
  requirement: !ruby/object:Gem::Requirement
49
+ none: false
44
50
  requirements:
45
51
  - - ~>
46
52
  - !ruby/object:Gem::Version
@@ -48,6 +54,7 @@ dependencies:
48
54
  type: :development
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
51
58
  requirements:
52
59
  - - ~>
53
60
  - !ruby/object:Gem::Version
@@ -55,6 +62,7 @@ dependencies:
55
62
  - !ruby/object:Gem::Dependency
56
63
  name: rspec
57
64
  requirement: !ruby/object:Gem::Requirement
65
+ none: false
58
66
  requirements:
59
67
  - - ~>
60
68
  - !ruby/object:Gem::Version
@@ -62,6 +70,7 @@ dependencies:
62
70
  type: :development
63
71
  prerelease: false
64
72
  version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
65
74
  requirements:
66
75
  - - ~>
67
76
  - !ruby/object:Gem::Version
@@ -74,6 +83,7 @@ extensions: []
74
83
  extra_rdoc_files: []
75
84
  files:
76
85
  - .gitignore
86
+ - .travis.yml
77
87
  - Gemfile
78
88
  - LICENSE.txt
79
89
  - README.md
@@ -94,29 +104,29 @@ files:
94
104
  homepage: ''
95
105
  licenses:
96
106
  - MIT
97
- metadata: {}
98
107
  post_install_message:
99
108
  rdoc_options: []
100
109
  require_paths:
101
110
  - lib
102
111
  required_ruby_version: !ruby/object:Gem::Requirement
112
+ none: false
103
113
  requirements:
104
114
  - - ! '>='
105
115
  - !ruby/object:Gem::Version
106
116
  version: '0'
107
117
  required_rubygems_version: !ruby/object:Gem::Requirement
118
+ none: false
108
119
  requirements:
109
120
  - - ! '>='
110
121
  - !ruby/object:Gem::Version
111
122
  version: '0'
112
123
  requirements: []
113
124
  rubyforge_project:
114
- rubygems_version: 2.0.3
125
+ rubygems_version: 1.8.22
115
126
  signing_key:
116
- specification_version: 4
127
+ specification_version: 3
117
128
  summary: Castle Creations data log file reader
118
129
  test_files:
119
130
  - spec/file_spec.rb
120
131
  - spec/session_spec.rb
121
132
  - spec/spec_helper.rb
122
- has_rdoc:
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 46a679deee156a7c0c421e1c1fbc505ddf3ba87d
4
- data.tar.gz: 3e4aabfeedaad4385169a1e5d4198d36c73d430d
5
- SHA512:
6
- metadata.gz: 0528e47a5e55b7578b72a2ceee64239c198cce6fa0311e204981c337458539d8d939890589993587b902cfdd4cd6a469e34d4bd397aa6dc504d72105af93151d
7
- data.tar.gz: 11d9c82d7d75b4fca9137eb80a6700cf2bfafd847b6242e4253af1bf6b5c80b272a76c1355cbe937b3ff227d0adccd773e54754cf6e9705001d38f3c329330e2