ice_t 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: eb428538b8a07c2a90ccbdbf9278611e26b8c3e7
4
- data.tar.gz: 4d480848e28958d21f470ca58fb8555e7bbf09b6
3
+ metadata.gz: cdf3d09149e3ebfc1e740bc9523814fdfbeadca4
4
+ data.tar.gz: 9f1e4c68ce2ed1f6c7b8aa33b22dba3221957e65
5
5
  SHA512:
6
- metadata.gz: 54c69688a04d0f7e15c7c16dbb50157458389582f04f6e3a8c7d410b415bb8f759c0070b97e3379203d172d89f1f231bff493451099b58bd836017561939d11a
7
- data.tar.gz: dc5d8e56b1125384aa1bf6aedf72ecb4e826e508fe9e48a55a2cef7172a7c3def870752c0c512a74bf74a3def081b9289d25954fc2d6d61892b60ef7aa0e7df2
6
+ metadata.gz: 84cf215a1807c44ac151a6bfcdc4d11be647c7256140557e1093ffcf7e671f739fb305adfb1b5c88dce3700ae478d3c61ef0211adff1aa88e542b22097897da3
7
+ data.tar.gz: 082bf83e1f43e1d5fea4b9c374d9b3b6f98c3f9b05e7734f1a0c1b5daa5478c110ba2e67ccc36eb31f539b3b45e711b9da8168babc50749fcc1ef21420046d15
data/README.md CHANGED
@@ -26,15 +26,20 @@ Or install it yourself as:
26
26
  ### Creating rules
27
27
 
28
28
  ```ruby
29
- rule = IceT::Rule::Secondly.new(42) # => step by 42 seconds
30
- rule = IceT::Rule::Minutely.new(42) # => step by 42 minutes
31
- rule = IceT::Rule::Hourly.new(42) # => step by 42 hours
32
- rule = IceT::Rule::Daily.new(42) # => step by 42 days
33
- rule = IceT::Rule::Weekly.new(42) # => step by 42 weeks
34
- rule = IceT::Rule::Monthly.new(42) # => step by 42 months
35
- rule = IceT::Rule::Yearly.new(42) # => step by 42 years
29
+ rule = IceT::Rule::Secondly.new(42) # => every 42 seconds
30
+ rule = IceT::Rule::Minutely.new(42) # => every 42 minutes
31
+ rule = IceT::Rule::Hourly.new(42) # => every 42 hours
32
+ rule = IceT::Rule::Daily.new(42) # => every 42 days
33
+ rule = IceT::Rule::Weekly.new(42) # => every 42 weeks
34
+ rule = IceT::Rule::Monthly.new(42) # => every 42 months
35
+ rule = IceT::Rule::Yearly.new(42) # => every 42 years
36
36
  ```
37
37
 
38
+ ```ruby
39
+ rule = IceT::Rule::Secondly.new # => every second
40
+ ```
41
+
42
+
38
43
  ### Get time occurrences
39
44
 
40
45
  ```ruby
@@ -42,6 +47,7 @@ rule.occurrences # => Array of times
42
47
  ```
43
48
 
44
49
  ### Schedule
50
+
45
51
  The Schedule helps on dealing with multiple rules.
46
52
 
47
53
  ```ruby
@@ -55,15 +61,14 @@ schedule.occurrences # => Merged occurrences
55
61
 
56
62
  ### Persistence
57
63
 
58
- Lets say you want to your Schedule in your database
59
- and use it later again. You can do this:
64
+ Lets say you want to store and restore your Schedule. Do this:
60
65
 
61
66
  ```ruby
62
67
  json = schedule.to_json
63
68
  schedule = IceT::Schedule.from_json(json)
64
69
  ```
65
70
 
66
- ## Tipps - doc in development
71
+ ## Tipps - section is under construction
67
72
 
68
73
  ### Sorting rules:
69
74
 
@@ -74,4 +79,20 @@ schedule = IceT::Schedule.from_json(json)
74
79
  ```ruby
75
80
  IceT::Rule::Daily.new(1) < IceT::Rule::Monthly.new(1) # => true
76
81
  ```
77
- r2.between?(r1, r3)
82
+
83
+ r2.between?(r1, r3)
84
+
85
+
86
+
87
+ ## License
88
+ This software is released under the [MIT License](http://opensource.org/licenses/MIT).
89
+
90
+ Copyright © 2013 Christian Nennemann _(christian.nennemann[at]gmail[dot]com)_
91
+
92
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
93
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
94
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
95
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
96
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
97
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
98
+ THE SOFTWARE.
data/ice_t.gemspec CHANGED
@@ -24,8 +24,5 @@ Gem::Specification.new do |spec|
24
24
  spec.add_development_dependency "bundler", "~> 1.3"
25
25
  spec.add_development_dependency "rake"
26
26
  spec.add_development_dependency "rspec", "~> 2.13"
27
- spec.add_development_dependency "turnip"
28
- spec.add_development_dependency "guard"
29
- spec.add_development_dependency "guard-rspec"
30
27
 
31
28
  end
@@ -3,11 +3,11 @@ module IceT
3
3
  module_function
4
4
  #
5
5
  # Returns diff of two date by given unit
6
- # @param Time start_time
7
- # @param Time end_time
8
- # @param Symbol unit
9
- # @param Boolean round
10
- # @return Integer|Float diff
6
+ # @param [Time] start_time
7
+ # @param [Time] end_time
8
+ # @param [Symbol] unit
9
+ # @param [Boolean] round return value as Integer or Float
10
+ # @return [Integer|Float] diff
11
11
  def diff_by_unit(start_time, end_time, unit = :days, round = true)
12
12
  diff = ((end_time - start_time) / eval("1.#{unit}"))
13
13
  diff = (round) ? diff.round : diff
data/lib/ice_t/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module IceT
2
- VERSION = "0.0.5"
2
+ VERSION = "0.0.6"
3
3
  end
@@ -2,6 +2,70 @@ require 'spec_helper'
2
2
 
3
3
  describe IceT::Rule::Base do
4
4
 
5
+ describe 'descendants comparison' do
6
+ classes = IceT::Rule::Base.descendants.sort
7
+ classes.each_with_index { | obj, i |
8
+ describe "#{obj}" do
9
+ classes.each_with_index { | other, j |
10
+ case
11
+ when i == j
12
+ it "#{obj} == #{other}" do
13
+ expect(obj==other).to be_true
14
+ end
15
+ it "#{obj}.new(1) == #{other}.new(1)" do
16
+ expect(obj.new(1) == other.new(1)).to be_true
17
+ end
18
+ it "#{obj}.new(1) < #{other}.new(2)" do
19
+ expect(obj.new(1) < other.new(2)).to be_true
20
+ end
21
+ it "#{obj}.new(2) > #{other}.new(1)" do
22
+ expect(obj.new(2) > other.new(1)).to be_true
23
+ end
24
+ it "#{obj}.new(1) <= #{other}.new(1)" do
25
+ expect(obj.new(1) <= other.new(1)).to be_true
26
+ end
27
+ it "#{obj}.new(1) >= #{other}.new(1)" do
28
+ expect(obj.new(1) >= other.new(1)).to be_true
29
+ end
30
+ when i > j
31
+ it "#{obj} > #{other} is true" do
32
+ expect(obj > other).to be_true
33
+ end
34
+ it "#{obj} < #{other} is false" do
35
+ expect(obj < other).to be_false
36
+ end
37
+ it "#{obj} == #{other} is false" do
38
+ expect(obj == other).to be_false
39
+ end
40
+ it "#{obj}.new(1) > #{other}.new(1) is true" do
41
+ expect(obj.new(1) > other.new(1)).to be_true
42
+ end
43
+ it "#{obj}.new(1) < #{other}.new(1) is false" do
44
+ expect(obj.new(1) < other.new(1)).to be_false
45
+ end
46
+ it "#{obj}.new(1) == #{other}.new(1) is false" do
47
+ expect(obj.new(1) == other.new(1)).to be_false
48
+ end
49
+ when i < j
50
+ it "#{obj} < #{other} is true" do
51
+ expect(obj < other).to be_true
52
+ end
53
+ it "#{obj} > #{other} is false" do
54
+ expect(obj > other).to be_false
55
+ end
56
+ it "#{obj} == #{other} is false" do
57
+ expect(obj == other).to be_false
58
+ end
59
+ it "#{obj}.new(1) < #{other}.new(1)" do
60
+ expect(obj.new(1) < other.new(1)).to be_true
61
+ end
62
+ end
63
+ }
64
+ end
65
+ }
66
+ end
67
+
68
+
5
69
  describe '.new' do
6
70
  describe 'param: interval' do
7
71
  context 'when valid' do
@@ -47,59 +47,4 @@ shared_examples 'a rule' do
47
47
  end
48
48
 
49
49
 
50
- describe 'comparison' do
51
- classes = IceT::Rule::Base.descendants.sort
52
- classes.each_with_index { | obj, i |
53
- classes.each_with_index { | other, j |
54
- case
55
- when i == j
56
- context 'on class level' do
57
- it "#{obj} == #{other}" do
58
- expect(obj==other).to be_true
59
- end
60
- end
61
- context 'on instance level' do
62
- it "#{obj}.new(1) == #{other}.new(1)" do
63
- expect(obj.new(1) == other.new(1)).to be_true
64
- end
65
- it "#{obj}.new(1) < #{other}.new(2)" do
66
- expect(obj.new(1) < other.new(2)).to be_true
67
- end
68
- it "#{obj}.new(2) > #{other}.new(1)" do
69
- expect(obj.new(2) > other.new(1)).to be_true
70
- end
71
- it "#{obj}.new(1) <= #{other}.new(1)" do
72
- expect(obj.new(1) <= other.new(1)).to be_true
73
- end
74
- it "#{obj}.new(1) >= #{other}.new(1)" do
75
- expect(obj.new(1) >= other.new(1)).to be_true
76
- end
77
- end
78
- when i > j
79
- context 'on class level' do
80
- it "#{obj} > #{other}" do
81
- expect(obj > other).to be_true
82
- end
83
- end
84
- context 'on instance level' do
85
- it "#{obj}.new(1) > #{other}.new(1)" do
86
- expect(obj.new(1) > other.new(1)).to be_true
87
- end
88
- end
89
- when i < j
90
- context 'on class level' do
91
- it "#{obj} < #{other}" do
92
- expect(obj < other).to be_true
93
- end
94
- end
95
- context 'on instance level' do
96
- it "#{obj}.new(1) < #{other}.new(1)" do
97
- expect(obj.new(1) < other.new(1)).to be_true
98
- end
99
- end
100
- end
101
- }
102
- }
103
- end
104
-
105
50
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ice_t
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Christian Nennemann
@@ -66,48 +66,6 @@ dependencies:
66
66
  - - ~>
67
67
  - !ruby/object:Gem::Version
68
68
  version: '2.13'
69
- - !ruby/object:Gem::Dependency
70
- name: turnip
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - '>='
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - '>='
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: guard
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - '>='
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - '>='
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: guard-rspec
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - '>='
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - '>='
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
69
  description: IceT is a ruby library for handling repeated events
112
70
  email:
113
71
  - christian.nennemann@gmail.com