ice_t 0.0.5 → 0.0.6

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 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