since_when 0.0.2 → 0.0.3

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/NERD_tree_1 ADDED
@@ -0,0 +1,13 @@
1
+ " Press ? for help
2
+
3
+ .. (up a dir)
4
+ /Users/cole/since_when/
5
+ ▾ lib/
6
+ ▾ since_when/
7
+ version.rb
8
+ since_when.rb
9
+ Gemfile
10
+ LICENSE.txt
11
+ Rakefile
12
+ README.md
13
+ since_when.gemspec
@@ -1,3 +1,3 @@
1
1
  module SinceWhen
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
data/lib/since_when.rb CHANGED
@@ -1,7 +1,84 @@
1
1
  require "since_when/version"
2
2
 
3
3
  module SinceWhen
4
- def self.time_since
5
- 'time time time time time time time time'
4
+ def self.time_since date, scope = :month
5
+
6
+ days_in_month = [31, date.year%4 == 0 ? 29 : 28 , 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
7
+ time_string = ""
8
+
9
+ if date.class != Date
10
+ date = date.to_datetime
11
+ end
12
+
13
+ day_dif = Date.today.day - date.day
14
+ month_dif = Date.today.month - date.month
15
+ year_dif = Date.today.year - date.year
16
+
17
+ unless scope == :month || scope == :day
18
+ hour_dif = DateTime.now.hour - date.hour
19
+ if hour_dif < 0
20
+ day_dif -= 1
21
+ hour_dif += 24
22
+ end
23
+ unless scope == :hour
24
+ minute_dif = DateTime.now.minute - date.minute
25
+ if minute_dif < 0
26
+ hour_dif -= 1
27
+ minute_dif += 60
28
+ end
29
+ unless scope == :minute
30
+ second_dif = DateTime.now.second - date.second
31
+ if second_dif < 0
32
+ minute_dif -= 1
33
+ second_dif += 60
34
+ end
35
+ end
36
+ end
37
+ end
38
+
39
+ if day_dif < 0
40
+ month_dif -= 1
41
+ unless scope == :month
42
+ day_dif += days_in_month[date.month + 1]
43
+ end
44
+ end
45
+
46
+ if month_dif < 0
47
+ year_dif -= 1
48
+ month_dif += 12
49
+ end
50
+
51
+ if year_dif > 0
52
+ time_string << "#{year_dif} #{year_dif > 1 ? 'years' : 'year' }"
53
+ end
54
+
55
+ if month_dif > 0
56
+ time_string << " #{month_dif} #{month_dif > 1 ? 'months' : 'month'}"
57
+ end
58
+
59
+ unless scope == :month
60
+ if day_dif > 0
61
+ time_string << " #{day_dif} #{day_dif > 1 ? 'days' : 'day'}"
62
+ end
63
+ unless scope == :day
64
+ if hour_dif > 0
65
+ time_string << " #{hour_dif} #{hour_dif > 1 ? 'hours' : 'hour'}"
66
+ end
67
+ unless scope == :hour
68
+ if minute_dif > 0
69
+ time_string << " #{minute_dif} #{minute_dif > 1 ? 'minutes' : 'minute'}"
70
+ end
71
+ unless scope == :minute
72
+ if second_dif > 0
73
+ time_string << " #{second_dif} #{second_dif > 1 ? 'seconds' : 'second'}"
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
79
+
80
+
81
+ time_string
82
+
6
83
  end
7
84
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: since_when
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
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-10-15 00:00:00.000000000 Z
12
+ date: 2013-10-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -53,6 +53,7 @@ files:
53
53
  - .gitignore
54
54
  - Gemfile
55
55
  - LICENSE.txt
56
+ - NERD_tree_1
56
57
  - README.md
57
58
  - Rakefile
58
59
  - lib/since_when.rb