semantic_date_time_tags 0.0.9 → 0.0.10

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: c7f48716ca3eedf2271ad9edc02f534a9b47960f
4
- data.tar.gz: 8a093fb2ee1a6b816d73f3ac662f576521255494
3
+ metadata.gz: fe726c652f793a8dd9fe4544b1ce97c490f8e886
4
+ data.tar.gz: 0e7ea49f7fb2c6099f34f300b148d6c3131d38d1
5
5
  SHA512:
6
- metadata.gz: afb9271d74b26ad21dc007bd8e833848f8c53de617742c3f770082dc873816681df2014f8e1ab4910873bad49a28822dadb48f2eac59bd026d9b006c72b8c756
7
- data.tar.gz: fad5f7f0585f5c0b3741a7e4744f3b5633dc09c2a9d4402db4e5af4710951e9815e1bbf321d9e9542b0829ac17ff0b57e88a74d5cd610866a2f19ca604ff045f
6
+ metadata.gz: 710ddafcf1f2284cb34c1a8505ddca911dce078d28468e1b0c9849707ece8e879c62691d3d97a63fba1daca55043ba5fd672ea423074160cfd58614c6b3a3f6d
7
+ data.tar.gz: 37b06c8ec419ebef9a7742b4cd05646b00ea2cc28b0e15d582cb329fb28f1380adc56dfecd093ee321c00987e21df86ddf57a0e699df67989c6c5ea0df200981
data/.gitignore CHANGED
@@ -12,6 +12,7 @@ rerun.txt
12
12
  pickle-email-*.html
13
13
  config/initializers/secret_token.rb
14
14
  config/secrets.yml
15
+ .DS_Store
15
16
 
16
17
  ## Environment normalisation:
17
18
  /.bundle
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- semantic_date_time_tags (0.0.9)
4
+ semantic_date_time_tags (0.0.10)
5
5
  rails (>= 3.0.0)
6
6
 
7
7
  GEM
@@ -44,26 +44,24 @@ GEM
44
44
  tzinfo (~> 1.1)
45
45
  arel (6.0.3)
46
46
  builder (3.2.2)
47
- celluloid (0.16.0)
48
- timers (~> 4.0.0)
49
47
  coderay (1.1.0)
50
- coveralls (0.8.1)
48
+ coveralls (0.8.3)
51
49
  json (~> 1.8)
52
50
  rest-client (>= 1.6.8, < 2)
53
51
  simplecov (~> 0.10.0)
54
52
  term-ansicolor (~> 1.3)
55
53
  thor (~> 0.19.1)
56
54
  docile (1.1.5)
57
- domain_name (0.5.24)
55
+ domain_name (0.5.25)
58
56
  unf (>= 0.0.5, < 1.0.0)
59
57
  erubis (2.7.0)
60
- ffi (1.9.8)
58
+ ffi (1.9.10)
61
59
  formatador (0.2.5)
62
60
  globalid (0.3.6)
63
61
  activesupport (>= 4.1.0)
64
- guard (2.12.6)
62
+ guard (2.13.0)
65
63
  formatador (>= 0.2.4)
66
- listen (~> 2.7)
64
+ listen (>= 2.7, <= 4.0)
67
65
  lumberjack (~> 1.0)
68
66
  nenv (~> 0.1)
69
67
  notiffany (~> 0.0)
@@ -74,13 +72,11 @@ GEM
74
72
  guard-minitest (2.4.4)
75
73
  guard-compat (~> 1.2)
76
74
  minitest (>= 3.0)
77
- hitimes (1.2.2)
78
75
  http-cookie (1.0.2)
79
76
  domain_name (~> 0.5)
80
77
  i18n (0.7.0)
81
78
  json (1.8.3)
82
- listen (2.10.1)
83
- celluloid (~> 0.16.0)
79
+ listen (3.0.3)
84
80
  rb-fsevent (>= 0.9.3)
85
81
  rb-inotify (>= 0.9)
86
82
  loofah (2.0.3)
@@ -89,17 +85,17 @@ GEM
89
85
  mail (2.6.3)
90
86
  mime-types (>= 1.16, < 3)
91
87
  method_source (0.8.2)
92
- mime-types (2.6.1)
88
+ mime-types (2.6.2)
93
89
  mini_portile (0.6.2)
94
- minitest (5.7.0)
90
+ minitest (5.8.2)
95
91
  nenv (0.2.0)
96
- netrc (0.10.3)
92
+ netrc (0.11.0)
97
93
  nokogiri (1.6.6.2)
98
94
  mini_portile (~> 0.6.0)
99
- notiffany (0.0.6)
95
+ notiffany (0.0.8)
100
96
  nenv (~> 0.1)
101
97
  shellany (~> 0.0)
102
- pry (0.10.1)
98
+ pry (0.10.3)
103
99
  coderay (~> 1.1.0)
104
100
  method_source (~> 0.8.1)
105
101
  slop (~> 3.4)
@@ -131,7 +127,7 @@ GEM
131
127
  rake (>= 0.8.7)
132
128
  thor (>= 0.18.1, < 2.0)
133
129
  rake (10.4.2)
134
- rb-fsevent (0.9.5)
130
+ rb-fsevent (0.9.6)
135
131
  rb-inotify (0.9.5)
136
132
  ffi (>= 0.5.0)
137
133
  rest-client (1.8.0)
@@ -145,8 +141,8 @@ GEM
145
141
  simplecov-html (~> 0.10.0)
146
142
  simplecov-html (0.10.0)
147
143
  slop (3.6.0)
148
- sprockets (3.3.4)
149
- rack (~> 1.0)
144
+ sprockets (3.4.0)
145
+ rack (> 1, < 3)
150
146
  sprockets-rails (2.3.3)
151
147
  actionpack (>= 3.0)
152
148
  activesupport (>= 3.0)
@@ -155,9 +151,7 @@ GEM
155
151
  tins (~> 1.0)
156
152
  thor (0.19.1)
157
153
  thread_safe (0.3.5)
158
- timers (4.0.1)
159
- hitimes
160
- tins (1.5.4)
154
+ tins (1.6.0)
161
155
  tzinfo (1.2.2)
162
156
  thread_safe (~> 0.1)
163
157
  unf (0.1.4)
@@ -175,3 +169,6 @@ DEPENDENCIES
175
169
  minitest
176
170
  rake
177
171
  semantic_date_time_tags!
172
+
173
+ BUNDLED WITH
174
+ 1.10.6
@@ -27,12 +27,18 @@ module SemanticDateTimeTags
27
27
  @date_from == @date_to
28
28
  end
29
29
 
30
+ def both_in_current_year?
31
+ return false if spans_years?
32
+ @date_from.year == ::Date.today.year
33
+ end
34
+
30
35
  # ---------------------------------------------------------------------
31
36
 
32
37
  def dom_classes
33
38
  res = []
34
39
  res << 'date_range'
35
40
  res << 'same_year' unless spans_years?
41
+ res << 'current_year' if both_in_current_year?
36
42
  res << 'same_month' unless spans_months?
37
43
  res << 'more_than_a_week' unless within_a_week?
38
44
  res << 'same_day' if one_day?
@@ -1,3 +1,3 @@
1
1
  module SemanticDateTimeTags
2
- VERSION = "0.0.9"
2
+ VERSION = "0.0.10"
3
3
  end
@@ -4,10 +4,10 @@ require 'semantic_date_time_tags/view_helpers'
4
4
  describe SemanticDateTimeTags::ViewHelpers do
5
5
  include SemanticDateTimeTags::ViewHelpers
6
6
 
7
- let(:time_object) { Time.now }
8
- let(:date_object) { Date.today }
9
- let(:date_tomorrow_object) { Date.tomorrow }
10
- let(:date_time_object) { DateTime.now }
7
+ let(:time_object) { Time.parse('31/10/2015') }
8
+ let(:date_object) { Date.parse('31/10/2015') }
9
+ let(:date_tomorrow_object) { Date.parse('31/10/2015')+1.day }
10
+ let(:date_time_object) { DateTime.parse('31/10/2015') }
11
11
 
12
12
  # ---------------------------------------------------------------------
13
13
 
@@ -22,27 +22,27 @@ describe SemanticDateTimeTags::ViewHelpers do
22
22
  end
23
23
 
24
24
  it 'returns hours wrapped in a span tag' do
25
- semantic_time_tag(time_object).must_match Regexp.new(".*?<span class=\"hours H\">#{time_object_hours}</span>.*?")
25
+ semantic_time_tag(time_object).must_match Regexp.new("<span.+?hours.+?H.+?>#{time_object_hours}</span>")
26
26
  end
27
27
 
28
28
  it 'returns minutes wrapped in a span tag' do
29
- semantic_time_tag(time_object).must_match Regexp.new(".*?<span class=\"minutes M\">#{time_object_minutes}</span>.*?")
29
+ semantic_time_tag(time_object).must_match Regexp.new("<span.+?minutes.+?M.+?>#{time_object_minutes}</span>")
30
30
  end
31
31
 
32
32
  it 'wraps the whole thing in a time tag by default' do
33
- semantic_time_tag(time_object).must_match Regexp.new("\\A<time.*?>.*?</time>\\z")
33
+ semantic_time_tag(time_object).must_match /\A<time.+?<\/time>\z/
34
34
  end
35
35
 
36
36
  it 'wraps the whole thing in a span tag if passed as argument' do
37
- semantic_time_tag(time_object, :span).must_match Regexp.new("\\A<span.*?>.*?</span>\\z")
37
+ semantic_time_tag(time_object, :span).must_match /\A<span.+?<\/span>\z/
38
38
  end
39
39
 
40
40
  it 'adds whole_hour class if time is whole hour' do
41
- semantic_time_tag(time_object_whole_hour).must_match Regexp.new("\\A<time.*? class=\".*?whole_hour.*?\">.*?</time>\\z")
41
+ semantic_time_tag(time_object_whole_hour).must_match /\A<time.+?whole_hour.+?<\/time>\z/
42
42
  end
43
43
 
44
44
  it 'adds whole_minute class if time is whole minute' do
45
- semantic_time_tag(time_object_whole_minute).must_match Regexp.new("\\A<time.*? class=\".*?whole_minute.*?\">.*?</time>\\z")
45
+ semantic_time_tag(time_object_whole_minute).must_match /\A<time.+?whole_minute.+?<\/time>\z/
46
46
  end
47
47
 
48
48
  it 'allows to pass :format' do
@@ -56,39 +56,37 @@ describe SemanticDateTimeTags::ViewHelpers do
56
56
  let(:date_object_day) { date_object.strftime('%-d') }
57
57
  let(:date_object_month) { date_object.strftime('%-m') }
58
58
  let(:date_object_year) { date_object.year }
59
- let(:date_object_yesterday) { Date.yesterday }
60
- let(:date_object_last_year) { Date.civil( date_object.year-1, date_object.month, date_object.day ) }
61
59
 
62
60
  it 'should only work with a date or datetime object' do
63
61
  proc { semantic_date_tag(time_object) }.must_raise RuntimeError
64
62
  end
65
63
 
66
64
  it 'wraps everything in a time tag by default' do
67
- semantic_date_tag(date_object).must_match Regexp.new("\\A<time.*?>.*?</time>\\z")
65
+ semantic_date_tag(date_object).must_match /\A<time.+?<\/time>\z/
68
66
  end
69
67
 
70
68
  it 'wraps everything in a span tag if passed as argument' do
71
- semantic_date_tag(date_object, :span).must_match Regexp.new("\\A<span.*?>.*?</span>\\z")
69
+ semantic_date_tag(date_object, :span).must_match /\A<span.+?<\/span>\z/
72
70
  end
73
71
 
74
72
  it 'returns year, month and day wrapped in a span tags' do
75
- semantic_date_tag(date_object).must_match Regexp.new(".*?<span class=\"year .*?\">#{date_object_year}</span>.*?")
76
- semantic_date_tag(date_object).must_match Regexp.new(".*?<span class=\"month .*?\">#{date_object_month}</span>.*?")
77
- semantic_date_tag(date_object).must_match Regexp.new(".*?<span class=\"day .*?\">#{date_object_day}</span>.*?")
73
+ semantic_date_tag(date_object).must_match Regexp.new("<span.+?year.+?>#{date_object_year}</span>")
74
+ semantic_date_tag(date_object).must_match Regexp.new("<span.+?month.+?>#{date_object_month}</span>")
75
+ semantic_date_tag(date_object).must_match Regexp.new("<span.+?day.+?>#{date_object_day}</span>")
78
76
  end
79
77
 
80
78
  it 'adds current_date class if date is today' do
81
- semantic_date_tag(date_object).must_include "current_date"
82
- semantic_date_tag(date_object_yesterday).wont_include "current_date"
79
+ semantic_date_tag(Date.today).must_include "current_date"
80
+ semantic_date_tag(Date.today-1.day).wont_include "current_date"
83
81
  end
84
82
 
85
83
  it 'adds current class to year span if date is this year' do
86
- semantic_date_tag(date_object).must_include "current_year"
87
- semantic_date_tag(date_object_last_year).wont_include "current_year"
84
+ semantic_date_tag(Date.today).must_include "current_year"
85
+ semantic_date_tag(Date.today-1.year).wont_include "current_year"
88
86
  end
89
87
 
90
88
  it 'allows to pass :format' do
91
- semantic_date_tag(date_object, :time, format: :test).must_include '~'
89
+ semantic_date_tag(Date.today, :time, format: :test).must_include '~'
92
90
  end
93
91
  end
94
92
 
@@ -100,7 +98,7 @@ describe SemanticDateTimeTags::ViewHelpers do
100
98
  end
101
99
 
102
100
  it 'wraps the whole thing in a time tag' do
103
- semantic_date_time_tag(date_time_object).must_match Regexp.new("\\A<time.*?>.*?</time>\\z")
101
+ semantic_date_time_tag(date_time_object).must_match /\A<time.+?<\/time>\z/
104
102
  end
105
103
 
106
104
  it 'allows to pass :format' do
@@ -112,7 +110,12 @@ describe SemanticDateTimeTags::ViewHelpers do
112
110
 
113
111
  describe '#semantic_date_range_tag' do
114
112
  it 'returns the from date wrapped correctly' do
115
- semantic_date_range_tag(date_object, date_tomorrow_object).must_match Regexp.new("<time class=\"semantic date current_date current_year from\".*?>.*?</time>")
113
+ semantic_date_range_tag(date_object, date_tomorrow_object).must_match /<time.+?semantic.+?date.+?from.+?>/
114
+ end
115
+
116
+ it 'adds same_year and current_year class to wrapping span' do
117
+ semantic_date_range_tag(date_object, date_tomorrow_object).must_match /<time.+?date_range.+?current_year.+?>/
116
118
  end
117
119
  end
120
+
118
121
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: semantic_date_time_tags
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tomas Celizna
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-23 00:00:00.000000000 Z
11
+ date: 2015-10-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails