rails-timeago 2.15.0 → 2.19.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (90) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +26 -1
  3. data/README.md +12 -14
  4. data/lib/assets/javascripts/rails-timeago-all.js +6 -0
  5. data/lib/assets/javascripts/rails-timeago.js +1 -1
  6. data/lib/rails-timeago.rb +21 -17
  7. data/lib/rails-timeago/helper.rb +27 -11
  8. data/lib/rails-timeago/version.rb +4 -2
  9. data/rails-timeago.gemspec +38 -20
  10. data/vendor/assets/javascripts/jquery.timeago.js +5 -4
  11. data/vendor/assets/javascripts/locales/jquery.timeago.af.js +30 -20
  12. data/vendor/assets/javascripts/locales/jquery.timeago.am.js +30 -0
  13. data/vendor/assets/javascripts/locales/jquery.timeago.ar.js +12 -4
  14. data/vendor/assets/javascripts/locales/jquery.timeago.az-short.js +30 -20
  15. data/vendor/assets/javascripts/locales/jquery.timeago.az.js +30 -20
  16. data/vendor/assets/javascripts/locales/jquery.timeago.be.js +43 -0
  17. data/vendor/assets/javascripts/locales/jquery.timeago.bg.js +28 -18
  18. data/vendor/assets/javascripts/locales/jquery.timeago.bs.js +13 -7
  19. data/vendor/assets/javascripts/locales/jquery.timeago.ca.js +30 -18
  20. data/vendor/assets/javascripts/locales/jquery.timeago.cs.js +34 -24
  21. data/vendor/assets/javascripts/locales/jquery.timeago.cy.js +30 -20
  22. data/vendor/assets/javascripts/locales/jquery.timeago.da.js +28 -18
  23. data/vendor/assets/javascripts/locales/jquery.timeago.de-short.js +30 -20
  24. data/vendor/assets/javascripts/locales/jquery.timeago.de.js +29 -18
  25. data/vendor/assets/javascripts/locales/jquery.timeago.dv.js +32 -22
  26. data/vendor/assets/javascripts/locales/jquery.timeago.el.js +28 -18
  27. data/vendor/assets/javascripts/locales/jquery.timeago.en-short.js +30 -20
  28. data/vendor/assets/javascripts/locales/jquery.timeago.eo.js +30 -0
  29. data/vendor/assets/javascripts/locales/jquery.timeago.es-short.js +31 -20
  30. data/vendor/assets/javascripts/locales/jquery.timeago.es.js +29 -18
  31. data/vendor/assets/javascripts/locales/jquery.timeago.et.js +28 -18
  32. data/vendor/assets/javascripts/locales/jquery.timeago.eu.js +28 -17
  33. data/vendor/assets/javascripts/locales/jquery.timeago.fa-short.js +30 -20
  34. data/vendor/assets/javascripts/locales/jquery.timeago.fa.js +32 -22
  35. data/vendor/assets/javascripts/locales/jquery.timeago.fi.js +38 -28
  36. data/vendor/assets/javascripts/locales/jquery.timeago.fr-short.js +26 -16
  37. data/vendor/assets/javascripts/locales/jquery.timeago.fr.js +27 -17
  38. data/vendor/assets/javascripts/locales/jquery.timeago.gl.js +28 -18
  39. data/vendor/assets/javascripts/locales/jquery.timeago.he.js +26 -16
  40. data/vendor/assets/javascripts/locales/jquery.timeago.hr.js +53 -48
  41. data/vendor/assets/javascripts/locales/jquery.timeago.hu.js +28 -18
  42. data/vendor/assets/javascripts/locales/jquery.timeago.hy.js +28 -18
  43. data/vendor/assets/javascripts/locales/jquery.timeago.id.js +29 -18
  44. data/vendor/assets/javascripts/locales/jquery.timeago.is.js +29 -19
  45. data/vendor/assets/javascripts/locales/jquery.timeago.it-short.js +30 -20
  46. data/vendor/assets/javascripts/locales/jquery.timeago.it.js +28 -16
  47. data/vendor/assets/javascripts/locales/jquery.timeago.ja.js +29 -19
  48. data/vendor/assets/javascripts/locales/jquery.timeago.jv.js +28 -18
  49. data/vendor/assets/javascripts/locales/jquery.timeago.ka.js +30 -0
  50. data/vendor/assets/javascripts/locales/jquery.timeago.ko.js +31 -20
  51. data/vendor/assets/javascripts/locales/jquery.timeago.ky.js +11 -3
  52. data/vendor/assets/javascripts/locales/jquery.timeago.lt.js +30 -20
  53. data/vendor/assets/javascripts/locales/jquery.timeago.lv.js +30 -20
  54. data/vendor/assets/javascripts/locales/jquery.timeago.mk.js +30 -20
  55. data/vendor/assets/javascripts/locales/jquery.timeago.nl.js +30 -20
  56. data/vendor/assets/javascripts/locales/jquery.timeago.no.js +28 -18
  57. data/vendor/assets/javascripts/locales/jquery.timeago.pl.js +11 -3
  58. data/vendor/assets/javascripts/locales/jquery.timeago.pt-br-short.js +30 -20
  59. data/vendor/assets/javascripts/locales/jquery.timeago.pt-br.js +28 -18
  60. data/vendor/assets/javascripts/locales/jquery.timeago.pt-short.js +30 -20
  61. data/vendor/assets/javascripts/locales/jquery.timeago.pt.js +26 -16
  62. data/vendor/assets/javascripts/locales/jquery.timeago.ro.js +29 -18
  63. data/vendor/assets/javascripts/locales/jquery.timeago.rs.js +53 -48
  64. data/vendor/assets/javascripts/locales/jquery.timeago.ru.js +13 -4
  65. data/vendor/assets/javascripts/locales/jquery.timeago.rw.js +30 -20
  66. data/vendor/assets/javascripts/locales/jquery.timeago.si.js +28 -18
  67. data/vendor/assets/javascripts/locales/jquery.timeago.sk.js +34 -18
  68. data/vendor/assets/javascripts/locales/jquery.timeago.sl.js +45 -39
  69. data/vendor/assets/javascripts/locales/jquery.timeago.sq.js +26 -0
  70. data/vendor/assets/javascripts/locales/jquery.timeago.sr.js +53 -48
  71. data/vendor/assets/javascripts/locales/jquery.timeago.sv.js +28 -18
  72. data/vendor/assets/javascripts/locales/jquery.timeago.th.js +30 -20
  73. data/vendor/assets/javascripts/locales/jquery.timeago.tr-short.js +30 -20
  74. data/vendor/assets/javascripts/locales/jquery.timeago.tr.js +26 -16
  75. data/vendor/assets/javascripts/locales/jquery.timeago.uk.js +11 -3
  76. data/vendor/assets/javascripts/locales/jquery.timeago.ur.js +30 -0
  77. data/vendor/assets/javascripts/locales/jquery.timeago.uz.js +29 -19
  78. data/vendor/assets/javascripts/locales/jquery.timeago.vi.js +30 -20
  79. data/vendor/assets/javascripts/locales/jquery.timeago.zh-CN.js +31 -20
  80. data/vendor/assets/javascripts/locales/jquery.timeago.zh-TW.js +30 -20
  81. metadata +20 -21
  82. data/.gitignore +0 -22
  83. data/.travis.yml +0 -10
  84. data/Gemfile +0 -18
  85. data/Rakefile +0 -45
  86. data/spec/rails-timeago_spec.rb +0 -44
  87. data/spec/spec_helper.rb +0 -25
  88. data/spec/support/assets/javascripts/jquery.js +0 -4
  89. data/spec/support/stub.rb +0 -87
  90. data/spec/timeago/helper_spec.rb +0 -208
@@ -1,208 +0,0 @@
1
- require 'spec_helper'
2
-
3
- RSpec.describe Rails::Timeago::Helper do
4
- before { @stub = TimeagoStub.new }
5
- let(:time) { Time.now }
6
-
7
- context "#timeago_tag" do
8
- let(:kwargs) { {} }
9
- subject { @stub.timeago_tag(time, **kwargs) }
10
-
11
- it 'creates a time tag' do
12
- is_expected.to match /<time.*>.*<\/time>/
13
- end
14
-
15
- it 'has a title attribute' do
16
- is_expected.to match /<time.*title=".*".*>.*<\/time>/
17
- end
18
-
19
- it 'has a human readable datetime as title attribute' do
20
- is_expected.to include "title=\"#{I18n.l time}\""
21
- end
22
-
23
- it 'has a data-time-ago attribute' do
24
- is_expected.to match /<time.*data-time-ago=".*".*>.*<\/time>/
25
- end
26
-
27
- context 'with nil as timestamp' do
28
- let(:time) { nil }
29
- it 'returns default string' do
30
- is_expected.to eq '-'
31
- end
32
- end
33
-
34
- describe 'format parameter' do
35
- let(:kwargs) { {format: format} }
36
-
37
- context 'with symbolic format' do
38
- let(:format) { :short }
39
- it { is_expected.to include "title=\"#{I18n.l time, format: :short}\"" }
40
- end
41
-
42
- context 'with proc format' do
43
- let(:format) { proc {|time, options| :long } }
44
- it { is_expected.to include "title=\"#{I18n.l time, format: :long}\"" }
45
- end
46
- end
47
-
48
- describe 'format global configuration' do
49
- before { Rails::Timeago.default_options format: format }
50
-
51
- context 'with symbolic format' do
52
- let(:format) { :short }
53
- it { is_expected.to include "title=\"#{I18n.l time, format: :short}\"" }
54
- end
55
-
56
- context 'with proc format' do
57
- let(:format) { proc {|time, options| :long } }
58
- it { is_expected.to include "title=\"#{I18n.l time, format: :long}\"" }
59
- end
60
- end
61
-
62
- describe 'title parameter' do
63
- let(:kwargs) { {title: title} }
64
-
65
- context 'with title disable' do
66
- let(:title) { false }
67
- it { is_expected.to_not match /<time.*title=".*".*>.*<\/time>/ }
68
- end
69
-
70
- context 'with title set to nil' do
71
- let(:title) { nil }
72
- it { is_expected.to_not match /<time.*title=".*".*>.*<\/time>/ }
73
- end
74
-
75
- context 'with title set to proc' do
76
- let(:title) { proc {|_, o| o[:format] } }
77
- let(:kwargs) { super().merge format: :short }
78
- it { is_expected.to match /<time.*title="short".*>.*<\/time>/ }
79
- end
80
- end
81
-
82
- describe 'title global configuration' do
83
- before { Rails::Timeago.default_options title: title }
84
-
85
- context 'with title disabled' do
86
- let(:title) { false }
87
- it { is_expected.to_not match /<time.*title=".*".*>.*<\/time>/ }
88
- end
89
-
90
- context 'with title set to nil' do
91
- let(:title) { nil }
92
- it { is_expected.to_not match /<time.*title=".*".*>.*<\/time>/ }
93
- end
94
-
95
- context 'with title set to proc' do
96
- let(:title) { proc {|_, o| o[:format] } }
97
- let(:kwargs) { {format: :short} }
98
- it { is_expected.to match /<time.*title="short".*>.*<\/time>/ }
99
- end
100
- end
101
-
102
- describe 'limit' do
103
- let(:time) { 5.days.ago }
104
-
105
- it 'should not have data-time-ago attribute for times before limit' do
106
- is_expected.to_not match /<time.*data-time-ago=".*".*>.*<\/time>/
107
- end
108
-
109
- context 'with given limit' do
110
- let(:kwargs) { {limit: limit} }
111
-
112
- context 'in past' do
113
- let(:limit) { 6.days.ago }
114
-
115
- context 'and past timestamp after limit' do
116
- let(:time) { 5.days.ago }
117
- it { is_expected.to match /<time.*data-time-ago=".*".*>.*<\/time>/ }
118
- end
119
-
120
- context 'and past timestamp before limit' do
121
- let(:time) { 8.days.ago }
122
- it { is_expected.to_not match /<time.*data-time-ago=".*".*>.*<\/time>/ }
123
-
124
- context 'when forced' do
125
- let(:kwargs) { super().merge force: true }
126
- it { is_expected.to match /<time.*data-time-ago=".*".*>.*<\/time>/ }
127
- end
128
- end
129
- end
130
-
131
- context 'in future' do
132
- let(:limit) { 5.days.from_now }
133
-
134
- context 'and future timestamp after limit' do
135
- let(:time) { 7.days.from_now }
136
- it { is_expected.to_not match /<time.*data-time-ago=".*".*>.*<\/time>/ }
137
- end
138
-
139
- context 'and future timestamp before limit' do
140
- let(:time) { 3.days.from_now }
141
- it { is_expected.to match /<time.*data-time-ago=".*".*>.*<\/time>/ }
142
- end
143
-
144
- context 'and past timestamp' do
145
- let(:time) { 3.days.ago }
146
- it { is_expected.to_not match /<time.*data-time-ago=".*".*>.*<\/time>/ }
147
- end
148
- end
149
- end
150
- end
151
-
152
- describe 'content' do
153
- let(:time) { 3.days.ago }
154
-
155
- it 'has localized date as content' do
156
- is_expected.to include ">#{I18n.l time.to_date}<"
157
- end
158
-
159
- context 'with :format option' do
160
- let(:kwargs) { {format: :short} }
161
-
162
- it 'has correctly formatted date as content' do
163
- is_expected.to include ">#{I18n.l time.to_date, format: :short}<"
164
- end
165
- end
166
-
167
- context 'with :date_only set to false' do
168
- let(:kwargs) { {date_only: false} }
169
-
170
- it 'has localized time as content' do
171
- is_expected.to include ">#{I18n.l time}<"
172
- end
173
- end
174
- end
175
-
176
- describe ':nojs set to true' do
177
- let(:time) { 3.days.ago }
178
- let(:kwargs) { {nojs: true} }
179
-
180
- it 'has time in words as content' do
181
- is_expected.to match /<time.*>%time_ago_in_words%<\/time>/
182
- end
183
-
184
- context 'with limit' do
185
- let(:kwargs) { super().merge limit: 2.days.ago }
186
- it { is_expected.to_not match /<time.*data-time-ago=".*".*>.*<\/time>/ }
187
- it { is_expected.to include ">#{I18n.l time.to_date}<" }
188
- end
189
- end
190
-
191
- context 'with HTML options' do
192
- let(:kwargs) { {myattr: 'abc'} }
193
-
194
- it 'passes them to #tag_helper' do
195
- is_expected.to match /<time.*myattr="abc".*>.*<\/time>/
196
- end
197
- end
198
- end
199
-
200
- context "#timeago_script_tag" do
201
- subject { @stub.timeago_script_tag }
202
-
203
- it "should return a javascript snippet to set jQuery timeago locale" do
204
- I18n.locale = "en"
205
- is_expected.to eq '<script>jQuery.timeago.settings.lang="en";</script>'
206
- end
207
- end
208
- end