ice_t 0.0.3 → 0.0.4

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: e836e34bd0669110cda706f4a8d0d378768fcabb
4
- data.tar.gz: 8e95eb9dab2a959d6ad93f31bc749a28e0586633
3
+ metadata.gz: 4f45183041524f2add8f09a2a163212717bd35ca
4
+ data.tar.gz: a4aff30ce9adff183d1b5542e97cb6779fa46d99
5
5
  SHA512:
6
- metadata.gz: fe6cfe556bd2a5f8361fd9ebcc288c3a4a5984e19647f754ec590999a08ea666c3a0570b59b992e054d1575d823cd653db4aff55caec1cc6776939941f695a06
7
- data.tar.gz: baa10bc4ffb1269360a6ffddfc1f2642300badb8b17ff1ebaecbd60b85f4cf5cb75a0cad9a8111c9ec5da5461ff09e1f195fd013dcd46ce2ce3cbe883fd95c18
6
+ metadata.gz: e7a0453d29ab8baadd22ab916b3306c8da871d27d26aee24ec4ee8a8f7db496400f5a12f1433e6aac8e54b7da237df37f41499af71c1a0a2d26568970089fb27
7
+ data.tar.gz: ca7784d2b5274e61409d60dda498071889631629c92babada557d4d13f5b4e3703f3504cad534ef5a35f71d6311db01b7cf09dbe5861389270f08c83e94485b9
data/README.md CHANGED
@@ -1,9 +1,11 @@
1
1
  # IceT
2
2
 
3
+ [![Gem Version](https://badge.fury.io/rb/ice_t.png)](http://badge.fury.io/rb/ice_t)
3
4
  [![Code Climate](https://codeclimate.com/github/XORwell/ice_t.png)](https://codeclimate.com/github/XORwell/ice_t)
4
5
  [![Build Status](https://travis-ci.org/XORwell/ice_t.png)](https://travis-ci.org/XORwell/ice_t)
6
+ [![Dependency Status](https://gemnasium.com/XORwell/ice_t.png)](https://gemnasium.com/XORwell/ice_t)
5
7
 
6
- TODO: Write a gem description
8
+ IceT is a ruby library for handling repeated events.
7
9
 
8
10
  ## Installation
9
11
 
@@ -21,17 +23,55 @@ Or install it yourself as:
21
23
 
22
24
  ## Usage
23
25
 
24
- TODO: Write usage instructions here
26
+ ### Creating rules
25
27
 
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
36
+ ```
26
37
 
27
- ## Tipps
38
+ ### Get time occurrences
28
39
 
29
- ### Sorting rules:
40
+ ```ruby
41
+ rule.occurrences # => Array of times
42
+ ```
30
43
 
31
- [r2,r1,r3].sort.collect(&:interval)
44
+ ### Schedule
45
+ The Schedule helps on dealing with multiple rules.
32
46
 
33
- ### Comparing comparing:
47
+ ```ruby
48
+ schedule = IceT::Schedule.new(start_time: Time.now, end_time: Time.now + 4.months)
49
+ schedule.add_rule my_daily_rule
50
+ schedule.add_rule my_monthly_rule
34
51
 
35
- daily(1) < daily(2)
52
+ schedule.rules # => Array of rules
53
+ schedule.occurrences # => Merged occurrences
54
+ ```
36
55
 
56
+ ### Persistence
57
+
58
+ Lets say you want to your Schedule in your database
59
+ and use it later again. You can do this:
60
+
61
+ ```ruby
62
+ json = schedule.to_json
63
+ schedule = IceT::Schedule.from_json(json)
64
+ ```
65
+
66
+ ## Tipps - doc in development
67
+
68
+ ### Sorting rules:
69
+
70
+ [r2,r1,r3].sort.collect(&:interval)
71
+
72
+ ### Comparing rules:
73
+
74
+ ```ruby
75
+ IceT::Rule::Daily.new(1) < IceT::Rule::Monthly.new(1) # => true
76
+ ```
37
77
  r2.between?(r1, r3)
@@ -0,0 +1,10 @@
1
+ module IceT
2
+ module Rule
3
+ class Weekly < Base
4
+ class << self
5
+ def to_i; 1.week.to_i end
6
+ def unit; :weeks end
7
+ end
8
+ end
9
+ end
10
+ end
data/lib/ice_t/rule.rb CHANGED
@@ -9,6 +9,7 @@ require 'ice_t/rule/secondly'
9
9
  require 'ice_t/rule/minutely'
10
10
  require 'ice_t/rule/hourly'
11
11
  require 'ice_t/rule/daily'
12
+ require 'ice_t/rule/weekly'
12
13
  require 'ice_t/rule/monthly'
13
14
  require 'ice_t/rule/yearly'
14
15
 
data/lib/ice_t/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module IceT
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
@@ -0,0 +1,6 @@
1
+ require 'spec_helper'
2
+
3
+ describe IceT::Rule::Weekly do
4
+ let(:klass) { IceT::Rule::Weekly }
5
+ it_behaves_like "a rule"
6
+ 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.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Christian Nennemann
@@ -136,6 +136,7 @@ files:
136
136
  - lib/ice_t/rule/monthly.rb
137
137
  - lib/ice_t/rule/repository.rb
138
138
  - lib/ice_t/rule/secondly.rb
139
+ - lib/ice_t/rule/weekly.rb
139
140
  - lib/ice_t/rule/yearly.rb
140
141
  - lib/ice_t/schedule.rb
141
142
  - lib/ice_t/time_helper.rb
@@ -149,6 +150,7 @@ files:
149
150
  - spec/rules/monthly_rule_spec.rb
150
151
  - spec/rules/rules_repository_spec.rb
151
152
  - spec/rules/secondly_rule_spec.rb
153
+ - spec/rules/weekly_rule_spec.rb
152
154
  - spec/rules/yearly_rule_spec.rb
153
155
  - spec/schedule_spec.rb
154
156
  - spec/spec_helper.rb
@@ -186,6 +188,7 @@ test_files:
186
188
  - spec/rules/monthly_rule_spec.rb
187
189
  - spec/rules/rules_repository_spec.rb
188
190
  - spec/rules/secondly_rule_spec.rb
191
+ - spec/rules/weekly_rule_spec.rb
189
192
  - spec/rules/yearly_rule_spec.rb
190
193
  - spec/schedule_spec.rb
191
194
  - spec/spec_helper.rb