lps 0.1.3 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/lps.rb +8 -16
- data/lib/lps/version.rb +1 -1
- data/lps.gemspec +1 -1
- data/test/test_lps.rb +8 -2
- metadata +4 -4
data/lib/lps.rb
CHANGED
@@ -3,22 +3,14 @@ require 'option_initializer'
|
|
3
3
|
|
4
4
|
class LPS
|
5
5
|
include OptionInitializer
|
6
|
-
option_initializer! :freq, :interval, :while
|
7
|
-
option_validator do |
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
raise ArgumentError,
|
15
|
-
'interval must be a positive number (or zero)' unless
|
16
|
-
v.is_a?(Numeric) && v >= 0
|
17
|
-
when :while
|
18
|
-
raise ArgumentError,
|
19
|
-
'loop condition must respond to call' unless
|
20
|
-
v.respond_to?(:call)
|
21
|
-
end
|
6
|
+
option_initializer! :freq, :interval => Numeric, :while => :&
|
7
|
+
option_validator :freq do |v|
|
8
|
+
msg = 'frequency must be a positive number (or nil)'
|
9
|
+
raise TypeError, msg unless v.is_a?(Numeric) || v.nil?
|
10
|
+
raise ArgumentError, msg if v.is_a?(Numeric) && v <= 0
|
11
|
+
end
|
12
|
+
option_validator :interval do |v|
|
13
|
+
raise ArgumentError, 'interval must be a non-negative number' if v < 0
|
22
14
|
end
|
23
15
|
|
24
16
|
# @param [Proc] &block Loop
|
data/lib/lps/version.rb
CHANGED
data/lps.gemspec
CHANGED
@@ -15,7 +15,7 @@ Gem::Specification.new do |gem|
|
|
15
15
|
gem.require_paths = ["lib"]
|
16
16
|
gem.version = LPS::VERSION
|
17
17
|
|
18
|
-
gem.add_runtime_dependency 'option_initializer', '~> 1.
|
18
|
+
gem.add_runtime_dependency 'option_initializer', '~> 1.5.0'
|
19
19
|
gem.add_development_dependency 'test-unit'
|
20
20
|
gem.add_development_dependency 'guard'
|
21
21
|
gem.add_development_dependency 'guard-test'
|
data/test/test_lps.rb
CHANGED
@@ -30,12 +30,18 @@ class TestLPS < Test::Unit::TestCase
|
|
30
30
|
end
|
31
31
|
|
32
32
|
def test_non_positive_frequency
|
33
|
+
assert_raise(ArgumentError) { LPS.freq {} }
|
34
|
+
assert_raise(ArgumentError) { LPS.freq }
|
33
35
|
assert_raise(ArgumentError) { LPS.freq(0) }
|
34
36
|
assert_raise(ArgumentError) { LPS.freq(-1) }
|
37
|
+
assert_raise(ArgumentError) { LPS.freq(1, 1) }
|
35
38
|
end
|
36
39
|
|
37
40
|
def test_invalid_interval
|
41
|
+
assert_raise(ArgumentError) { LPS.interval {} }
|
42
|
+
assert_raise(ArgumentError) { LPS.interval }
|
38
43
|
assert_raise(ArgumentError) { LPS.interval(-1) }
|
44
|
+
assert_raise(ArgumentError) { LPS.interval(1, 1) }
|
39
45
|
end
|
40
46
|
|
41
47
|
def test_both_freq_and_interval
|
@@ -44,8 +50,8 @@ class TestLPS < Test::Unit::TestCase
|
|
44
50
|
end
|
45
51
|
|
46
52
|
def test_non_number_params
|
47
|
-
assert_raise(
|
48
|
-
assert_raise(
|
53
|
+
assert_raise(TypeError) { LPS.freq('bad') }
|
54
|
+
assert_raise(TypeError) { LPS.interval('bad') }
|
49
55
|
assert_raise(ArgumentError) { LPS.while('bad') }
|
50
56
|
end
|
51
57
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lps
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-03-
|
12
|
+
date: 2013-03-18 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: option_initializer
|
@@ -18,7 +18,7 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 1.
|
21
|
+
version: 1.5.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -26,7 +26,7 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ~>
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 1.
|
29
|
+
version: 1.5.0
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: test-unit
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|