chronicle 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.
data/README.md CHANGED
@@ -1,34 +1,29 @@
1
1
  Chronicle
2
2
  =========
3
3
 
4
- Chronicle groups collections of ActiveRecord objects into chronologically ordered hashes.
5
- It uses [Chronic](https://github.com/mojombo/chronic/) to parse natural language dates
4
+ Chronicle groups collections of ruby objects into time periods.
5
+ It uses [Chronic](https://github.com/mojombo/chronic/) to parse natural language date strings
6
6
  and [ActiveSupport::OrderedHash](http://apidock.com/rails/ActiveSupport/OrderedHash)
7
- to keep the hash order consistent.
7
+ to preserve the hash order.
8
8
 
9
9
  ```ruby
10
- # Before...
11
- [
12
- object_1,
13
- object_2,
14
- object_3,
15
- object_4,
16
- object_5,
17
- object_6,
18
- object_7,
19
- object_8
20
- ]
21
-
22
- # After...
10
+ # Before:
11
+ [obj_1, obj_2, obj_3, obj_4, obj_5, obj_6, obj_7, obj_8, obj_9, obj_10]
12
+
13
+ # After:
23
14
  {
24
- "just now": [object_10, object_9],
25
- "two hours ago": [object_8, object_7, object_6],
26
- "yesterday": [object_5, object_4, object_3],
27
- "6 months ago": [object_2],
28
- "1 year ago": [object_1]
15
+ "just now": [obj_10, obj_9],
16
+ "two hours ago": [obj_8, obj_7, obj_6],
17
+ "yesterday": [obj_5, obj_4, obj_3],
18
+ "6 months ago": [obj_2],
19
+ "1 year ago": [obj_1]
29
20
  }
30
21
  ```
31
22
 
23
+ An example UI using Chronicle:
24
+
25
+ [ !["Chronicle on Sniphr"](http://f.cl.ly/items/2I2q0P0w2Z2r0D0d390D/chronicle.png "Chronicle on Sniphr") ](http://sniphr.com "Sniphr")
26
+
32
27
  Installation
33
28
  ------------
34
29
 
@@ -54,6 +49,9 @@ chronicle = Chronicle.new(things, :eras => ["5 minutes ago", "2 hours ago", "thr
54
49
  chronicle = Chronicle.new(things, :date_attr => :updated_at)
55
50
  ```
56
51
 
52
+ To see the default `eras` used by Chronicle, have a look at
53
+ [chronicle.rb](https://github.com/zeke/chronicle/blob/master/lib/chronicle.rb#L16).
54
+
57
55
  License
58
56
  -------
59
57
 
@@ -8,8 +8,8 @@ Gem::Specification.new do |s|
8
8
  s.authors = ["Zeke Sikelianos"]
9
9
  s.email = ["zeke@sikelianos.com"]
10
10
  s.homepage = "http://zeke.sikelianos.com"
11
- s.summary = %q{Chronicle groups collections of ActiveRecord objects into chronologically ordered hashes.}
12
- s.description = %q{Chronicle groups collections of ActiveRecord objects into chronologically ordered hashes.}
11
+ s.summary = %q{Chronicle groups collections of ruby objects into time periods.}
12
+ s.description = %q{Chronicle groups collections of ruby objects into time periods.}
13
13
 
14
14
  s.rubyforge_project = "chronicle"
15
15
 
@@ -15,23 +15,34 @@ module Chronicle
15
15
 
16
16
  def self.default_eras
17
17
  [
18
+ "7 years ago",
19
+ "6 years ago",
20
+ "5 years ago",
21
+ "4 years ago",
18
22
  "3 years ago",
19
23
  "2 years ago",
20
- "one year ago",
24
+ "1 year ago",
21
25
  "6 months ago",
26
+ "5 months ago",
27
+ "4 months ago",
22
28
  "3 months ago",
23
29
  "2 months ago",
24
- "one month ago",
30
+ "1 month ago",
25
31
  "3 weeks ago",
26
32
  "2 weeks ago",
27
- "one week ago",
33
+ "1 week ago",
28
34
  "6 days ago",
35
+ "5 days ago",
29
36
  "4 days ago",
30
37
  "3 days ago",
31
38
  "2 days ago",
32
- "yesterday",
39
+ "1 day ago",
33
40
  "8 hours ago",
41
+ "7 hours ago",
42
+ "6 hours ago",
43
+ "5 hours ago",
34
44
  "4 hours ago",
45
+ "3 hours ago",
35
46
  "2 hours ago",
36
47
  "1 hour ago",
37
48
  "30 minutes ago",
@@ -40,7 +51,7 @@ module Chronicle
40
51
  "5 minutes ago",
41
52
  "3 minutes ago",
42
53
  "2 minutes ago",
43
- "one minute ago",
54
+ "1 minute ago",
44
55
  "just now"
45
56
  ]
46
57
  end
@@ -1,3 +1,3 @@
1
1
  module Chronicle
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -21,11 +21,11 @@ describe Chronicle do
21
21
 
22
22
  it "sorts era keys from newest to oldest" do
23
23
  @chronicle.keys.first.should == 'just now'
24
- @chronicle.keys.last.should == 'one month ago'
24
+ @chronicle.keys.last.should == '1 month ago'
25
25
  end
26
26
 
27
27
  it "sorts objects in eras from newest to oldest" do
28
- era = @chronicle['one week ago']
28
+ era = @chronicle['1 week ago']
29
29
  era.size.should == 2
30
30
  era.last.created_at.should be < era.first.created_at
31
31
  end
@@ -75,7 +75,7 @@ describe Chronicle do
75
75
  it "allows an alternative to created_at" do
76
76
  @chronicle = Chronicle.new(@things, :date_attr => :updated_at)
77
77
  @chronicle.values.flatten.size.should == @things.size
78
- @chronicle.keys.last.should == 'one year ago'
78
+ @chronicle.keys.last.should == '1 year ago'
79
79
  @chronicle.keys.first.should == 'just now'
80
80
  end
81
81
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chronicle
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-02-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: hoe
16
- requirement: &70361455414560 !ruby/object:Gem::Requirement
16
+ requirement: &70113761128700 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70361455414560
24
+ version_requirements: *70113761128700
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec
27
- requirement: &70361455413780 !ruby/object:Gem::Requirement
27
+ requirement: &70113761128200 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 2.8.0
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70361455413780
35
+ version_requirements: *70113761128200
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: autotest
38
- requirement: &70361455412920 !ruby/object:Gem::Requirement
38
+ requirement: &70113761127780 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70361455412920
46
+ version_requirements: *70113761127780
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: chronic
49
- requirement: &70361455411820 !ruby/object:Gem::Requirement
49
+ requirement: &70113761127320 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70361455411820
57
+ version_requirements: *70113761127320
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: rails
60
- requirement: &70361455410980 !ruby/object:Gem::Requirement
60
+ requirement: &70113761126900 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,9 +65,8 @@ dependencies:
65
65
  version: '0'
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *70361455410980
69
- description: Chronicle groups collections of ActiveRecord objects into chronologically
70
- ordered hashes.
68
+ version_requirements: *70113761126900
69
+ description: Chronicle groups collections of ruby objects into time periods.
71
70
  email:
72
71
  - zeke@sikelianos.com
73
72
  executables: []
@@ -107,6 +106,5 @@ rubyforge_project: chronicle
107
106
  rubygems_version: 1.8.10
108
107
  signing_key:
109
108
  specification_version: 3
110
- summary: Chronicle groups collections of ActiveRecord objects into chronologically
111
- ordered hashes.
109
+ summary: Chronicle groups collections of ruby objects into time periods.
112
110
  test_files: []