semantic_date_time_tags 0.0.9 → 0.0.10

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