rails-timeago 1.4.3 → 2.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. data/README.md +24 -39
  2. data/lib/assets/javascripts/rails-timeago-all.js +38 -0
  3. data/lib/rails-timeago.rb +0 -93
  4. data/lib/rails-timeago/helper.rb +3 -13
  5. data/lib/rails-timeago/version.rb +4 -4
  6. data/rails-timeago.gemspec +1 -1
  7. data/spec/support/stub.rb +2 -2
  8. data/spec/timeago/helper_spec.rb +2 -69
  9. data/vendor/assets/javascripts/jquery.timeago.js +10 -9
  10. data/vendor/assets/javascripts/locales/jquery.timeago.ar.js +1 -1
  11. data/vendor/assets/javascripts/locales/jquery.timeago.bg.js +1 -1
  12. data/vendor/assets/javascripts/locales/jquery.timeago.bs.js +1 -1
  13. data/vendor/assets/javascripts/locales/jquery.timeago.ca.js +1 -1
  14. data/vendor/assets/javascripts/locales/jquery.timeago.cy.js +1 -1
  15. data/vendor/assets/javascripts/locales/jquery.timeago.cz.js +1 -1
  16. data/vendor/assets/javascripts/locales/jquery.timeago.da.js +1 -1
  17. data/vendor/assets/javascripts/locales/jquery.timeago.de.js +1 -1
  18. data/vendor/assets/javascripts/locales/jquery.timeago.el.js +1 -1
  19. data/vendor/assets/javascripts/locales/jquery.timeago.en-short.js +1 -1
  20. data/vendor/assets/javascripts/locales/jquery.timeago.es.js +1 -1
  21. data/vendor/assets/javascripts/locales/jquery.timeago.fa.js +1 -1
  22. data/vendor/assets/javascripts/locales/jquery.timeago.fi.js +1 -1
  23. data/vendor/assets/javascripts/locales/jquery.timeago.fr.js +1 -1
  24. data/vendor/assets/javascripts/locales/jquery.timeago.he.js +1 -1
  25. data/vendor/assets/javascripts/locales/jquery.timeago.hr.js +1 -1
  26. data/vendor/assets/javascripts/locales/jquery.timeago.hu.js +1 -1
  27. data/vendor/assets/javascripts/locales/jquery.timeago.hy.js +1 -1
  28. data/vendor/assets/javascripts/locales/jquery.timeago.id.js +1 -1
  29. data/vendor/assets/javascripts/locales/jquery.timeago.it.js +1 -1
  30. data/vendor/assets/javascripts/locales/jquery.timeago.ja.js +1 -1
  31. data/vendor/assets/javascripts/locales/jquery.timeago.ko.js +1 -1
  32. data/vendor/assets/javascripts/locales/jquery.timeago.mk.js +20 -0
  33. data/vendor/assets/javascripts/locales/jquery.timeago.nl.js +1 -1
  34. data/vendor/assets/javascripts/locales/jquery.timeago.no.js +1 -1
  35. data/vendor/assets/javascripts/locales/jquery.timeago.pl.js +1 -1
  36. data/vendor/assets/javascripts/locales/jquery.timeago.pt-br.js +16 -0
  37. data/vendor/assets/javascripts/locales/jquery.timeago.pt.js +1 -1
  38. data/vendor/assets/javascripts/locales/jquery.timeago.ro.js +1 -1
  39. data/vendor/assets/javascripts/locales/jquery.timeago.ru.js +1 -1
  40. data/vendor/assets/javascripts/locales/jquery.timeago.sv.js +1 -1
  41. data/vendor/assets/javascripts/locales/jquery.timeago.tr.js +1 -1
  42. data/vendor/assets/javascripts/locales/jquery.timeago.uk.js +2 -2
  43. data/vendor/assets/javascripts/locales/jquery.timeago.uz.js +1 -1
  44. data/vendor/assets/javascripts/locales/jquery.timeago.zh-CN.js +1 -1
  45. data/vendor/assets/javascripts/locales/jquery.timeago.zh-TW.js +1 -1
  46. metadata +8 -6
  47. data/spec/timeago_spec.rb +0 -66
data/README.md CHANGED
@@ -8,7 +8,7 @@
8
8
  Add this line to your application's Gemfile:
9
9
 
10
10
  ```ruby
11
- gem 'rails-timeago'
11
+ gem 'rails-timeago', '~> 2.0.0.beta1'
12
12
  ```
13
13
 
14
14
  And then execute:
@@ -25,6 +25,10 @@ To use bundled jQuery Timeago plugin add this require statement to your applicat
25
25
 
26
26
  This will also convert all matching time tags on page load.
27
27
 
28
+ Use the following to also include all available locale files:
29
+
30
+ //= require rails-timeago-all
31
+
28
32
  ## Usage
29
33
 
30
34
  Use the timeago_tag helper like any other regular tag helper:
@@ -60,7 +64,6 @@ Force time ago tag ignoring limit option.
60
64
  String that will be returned if time is nil.
61
65
  (default: '-')
62
66
 
63
-
64
67
  All other options will be given as options to the time tag helper.
65
68
  The above options can be assigned globally as defaults using
66
69
 
@@ -68,60 +71,42 @@ The above options can be assigned globally as defaults using
68
71
  Rails::Timeago.default_options :limit => proc { 20.days.ago }, :nojs => true
69
72
  ```
70
73
 
71
- A global limit should always be given as a block that will be evaluated each time
72
- the rails timeago_tag helper is called. That avoids the limit becoming smaller the
73
- longer the application runs.
74
+ A global limit should always be given as a block that will be evaluated each time the rails timeago_tag helper is called. That avoids the limit becoming smaller the longer the application runs.
74
75
 
75
76
  ## I18n
76
77
 
77
- **rails-timeago** provides additional localization features and includes locale
78
- files for the following locales taken from [jQuery Timeago](https://github.com/rmm5t/jquery-timeago).
78
+ **rails-timeago 2** ships with a modified version of jQuery timeago that allows to include all locale files at once and set the locale via an option or per element via the `lang` attribute:
79
79
 
80
- > ar, bg, bs, ca, cy, cz, da, de, el, en, en-short, es, fa, fi, fr,
81
- > he, hr, hu, hy, id, it, ja, ko, nl, no, pl, pt, ro, ru,
82
- > sv, tr, uk, uz, zh-CN, zh-TW
80
+ ```erb
81
+ <%= timeago_tag Time.zone.now, :lang => :de %>
82
+ ```
83
83
 
84
- **rails-timeago** will automatically include the locale file for your current
85
- locale if it is available. You only have to include the following method into
86
- your html head tag:
84
+ The following snippet will print a script tag that set the jQuery timeago locale according to your `I18n.locale`:
87
85
 
88
86
  ```ruby
89
87
  <%= timeago_script_tag %>
90
88
  ```
91
89
 
92
- That will add a script include tag to include the needed locale file.
93
- **rails-timeago** will also add all locale files to Rails precompiled assets
94
- list to allow precompilation. By default all locale files will be included but
95
- you can specify a list by adding a initializer similar to:
90
+ Just insert it in your application layout's html head. If you use another I18n framework for JavaScript you can also directly set `jQuery.timeago.settings.lang`.
96
91
 
97
- ```ruby
98
- Rails::Timeago.locales = [:en, :de, "zh-CN", :sjn]
99
- ```
92
+ Do not forget to require the needed locale files by either require `rails-timeago-all` in your `application.js` file or require specific locale files:
100
93
 
101
- This will only add English, German, Chinese and Sindarin locale files to
102
- precompiled assets. *rails-timeago* will also only use these locales for
103
- locale file lookup for `timeago_script_tag`.
104
- To add your own locales add a file in JavaScript assets directory named
105
- `locales/jquery.timeago.<locale>.js` and add your locale to `Rails::Timeago.locales`.
94
+ //= require locales/jquery.timeago.de.js
95
+ //= require locales/jquery.timeago.ru.js
106
96
 
107
- **rails-timeago** provides support for custom locale file mappings. That may be
108
- especially useful to override the embedded `en` locale because there is no English
109
- locale file that can be overridden:
97
+ *Note:* English is included in jQuery timeago library, but can be easily override by include an own file that defines `jQuery.timeago.settings.strings["en"]`. See a locale file for more details.
110
98
 
111
- ```ruby
112
- Rails::Timeago.map_locale "en", "better/locales/en.js"
113
- ```
99
+ **rails-timeago** includes locale files for the following locales taken from [jQuery Timeago](https://github.com/rmm5t/jquery-timeago).
114
100
 
115
- Given that mapping rails-timeago's `timeago_script_tag` will include the mapped
116
- locale file into your page.
101
+ > ar, bg, bs, ca, cy, cz, da, de, el, en, en-short, es, fa, fi, fr,
102
+ > he, hr, hu, hy, id, it, ja, ko, mk, nl, no, pl, pt, pt-br, ro, ru,
103
+ > sv, tr, uk, uz, zh-CN, zh-TW
117
104
 
118
- **Note:** Rails default `application.js` file contains a line to require all JavaScript
119
- in your assets directory. That will also include all your custom locale files if you
120
- place them in `app/assets/javascripts/locales` and will result in unexpected behavior when
121
- using `en` locale (see #5).
105
+ Your customized jQuery locale files must be changed to work with **rails-timeago 2**. Instead of defining your locale strings as `jQuery.timeago.settings.strings` you need to define them like this:
122
106
 
123
- A workaround is to remove the `//= require_tree .` line from `application.js` or to move your
124
- custom locale files to `lib/assets/javascripts/locales`.
107
+ jQuery.timeago.settings.string["en"] = {
108
+ ...
109
+ }
125
110
 
126
111
  ## License
127
112
 
@@ -0,0 +1,38 @@
1
+ // Rails timeago bootstrap with all locales
2
+ //= require rails-timeago
3
+ //= require locales/jquery.timeago.de.js
4
+ //= require locales/jquery.timeago.cy.js
5
+ //= require locales/jquery.timeago.pl.js
6
+ //= require locales/jquery.timeago.mk.js
7
+ //= require locales/jquery.timeago.zh-CN.js
8
+ //= require locales/jquery.timeago.bs.js
9
+ //= require locales/jquery.timeago.en-short.js
10
+ //= require locales/jquery.timeago.it.js
11
+ //= require locales/jquery.timeago.fi.js
12
+ //= require locales/jquery.timeago.es.js
13
+ //= require locales/jquery.timeago.uk.js
14
+ //= require locales/jquery.timeago.zh-TW.js
15
+ //= require locales/jquery.timeago.hy.js
16
+ //= require locales/jquery.timeago.ca.js
17
+ //= require locales/jquery.timeago.pt.js
18
+ //= require locales/jquery.timeago.el.js
19
+ //= require locales/jquery.timeago.sv.js
20
+ //= require locales/jquery.timeago.ar.js
21
+ //= require locales/jquery.timeago.no.js
22
+ //= require locales/jquery.timeago.fa.js
23
+ //= require locales/jquery.timeago.fr.js
24
+ //= require locales/jquery.timeago.pt-br.js
25
+ //= require locales/jquery.timeago.tr.js
26
+ //= require locales/jquery.timeago.he.js
27
+ //= require locales/jquery.timeago.bg.js
28
+ //= require locales/jquery.timeago.ko.js
29
+ //= require locales/jquery.timeago.uz.js
30
+ //= require locales/jquery.timeago.cz.js
31
+ //= require locales/jquery.timeago.hu.js
32
+ //= require locales/jquery.timeago.id.js
33
+ //= require locales/jquery.timeago.hr.js
34
+ //= require locales/jquery.timeago.ru.js
35
+ //= require locales/jquery.timeago.nl.js
36
+ //= require locales/jquery.timeago.da.js
37
+ //= require locales/jquery.timeago.ja.js
38
+ //= require locales/jquery.timeago.ro.js
data/lib/rails-timeago.rb CHANGED
@@ -13,27 +13,6 @@ module Rails
13
13
  ActiveSupport.on_load(:action_view) do
14
14
  include Rails::Timeago::Helper
15
15
  end
16
-
17
- if app.config.assets.locales
18
- app.config.assets.precompile +=
19
- app.config.assets.locales.map do |locale|
20
- if ::Rails::Timeago.has_locale_file locale
21
- 'locales/jquery.timeago.' + locale.to_s + '.js'
22
- end
23
- end
24
- elsif ::Rails::Timeago.locales.empty?
25
- app.config.assets.precompile +=
26
- Dir[Rails::Timeago.locale_path + '*.js'].map do |f|
27
- 'locales/' + File.basename(f)
28
- end
29
- else
30
- app.config.assets.precompile +=
31
- ::Rails::Timeago.locales.map do |locale|
32
- if ::Rails::Timeago.has_locale_file locale
33
- 'locales/jquery.timeago.' + locale.to_s + '.js'
34
- end
35
- end
36
- end
37
16
  end
38
17
  end
39
18
  end
@@ -82,77 +61,5 @@ module Rails
82
61
  @defaults
83
62
  end
84
63
  end
85
-
86
- # Allow to map a locale to a specific url. May be useful for
87
- # overriding embedded english locale:
88
- #
89
- # Rails::Timeago.map_locale :en, "better/locales/en.js"
90
- #
91
- def self.map_locale(locale, url)
92
- @locale_map ||= {}
93
- @locale_map[locale.to_s] = url
94
- end
95
-
96
- def self.mapped_locale(locale)
97
- @locale_map ||= {}
98
- @locale_map[locale.to_s]
99
- end
100
-
101
- def self.locale_path
102
- File.dirname(__FILE__) + '/../vendor/assets/javascripts/locales/'
103
- end
104
-
105
- def self.locale_file(locale)
106
- locale_path + locale_file_name(locale)
107
- end
108
-
109
- def self.locale_file_name(locale)
110
- 'jquery.timeago.' + locale + '.js'
111
- end
112
-
113
- def self.has_locale_file(locale)
114
- File.exist? locale_file(locale)
115
- end
116
-
117
- # Look up a timeago locale. If no locale is given I18n's
118
- # default locale will be used. Lookup follows the given
119
- # order:
120
- # 1) ll-CC (language and country)
121
- # 2) ll (only language)
122
- # 3) I18n default locale
123
- # 4) "en"
124
- def self.lookup_locale(locale = nil)
125
- locale = I18n.locale.to_s unless locale
126
-
127
- if locale =~ /^(\w+)(\-(\w+))?$/
128
- lang = $1.downcase
129
- if $3
130
- ctry = $3.upcase
131
- return "#{lang}-#{ctry}" if has_locale "#{lang}-#{ctry}"
132
- end
133
- return lang if has_locale lang
134
- end
135
-
136
- return I18n.default_locale.to_s if has_locale I18n.default_locale.to_s
137
- "en"
138
- end
139
-
140
- def self.has_locale(locale)
141
- return locales.include? locale if locales.any?
142
- return true if @locale_map and @locale_map[locale.to_s]
143
- return has_locale_file locale
144
- end
145
-
146
- def self.locales
147
- @locales ||= []
148
- end
149
-
150
- def self.locales=(*attrs)
151
- if attrs[0].kind_of?(Array)
152
- @locales = attrs[0].map(&:to_s)
153
- else
154
- @locales = attrs.map(&:to_s)
155
- end
156
- end
157
64
  end
158
65
  end
@@ -55,19 +55,9 @@ module Rails
55
55
  I18n.l time, :format => time_options[:format]
56
56
  end
57
57
 
58
- # Return a JavaScript tag to include jQuery timeago
59
- # or custom mapped locale file for current or given locale.
60
- def timeago_script_tag(locale = nil)
61
- locale = ::Rails::Timeago.lookup_locale locale
62
-
63
- file = ::Rails::Timeago.mapped_locale locale
64
- return javascript_include_tag file if file
65
-
66
- if locale != 'en'
67
- javascript_include_tag 'locales/' + ::Rails::Timeago.locale_file_name(locale)
68
- else
69
- '' # English locale is embedded in jQuery timeago plugin file.
70
- end
58
+ # Return a JavaScript tag to set jQuery timeago locale.
59
+ def timeago_script_tag
60
+ javascript_tag "jQuery.timeago.settings.lang=\"#{I18n.locale}\";" if I18n.locale != 'en'
71
61
  end
72
62
  end
73
63
  end
@@ -1,10 +1,10 @@
1
1
  module Rails
2
2
  module Timeago
3
3
  module VERSION
4
- MAJOR = 1
5
- MINOR = 4
6
- PATCH = 3
7
- STAGE = nil
4
+ MAJOR = 2
5
+ MINOR = 0
6
+ PATCH = 0
7
+ STAGE = 'beta1'
8
8
 
9
9
  def self.to_s
10
10
  [MAJOR, MINOR, PATCH, STAGE].reject(&:nil?).join '.'
@@ -9,7 +9,7 @@ Gem::Specification.new do |gem|
9
9
  gem.homepage = "https://github.com/jgraichen/rails-timeago"
10
10
 
11
11
  gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
12
- gem.files = `git ls-files`.split("\n")
12
+ gem.files = `git ls-files`.split("\n").reject{|file| file =~ /^scripts/}
13
13
  gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
14
14
  gem.name = "rails-timeago"
15
15
  gem.require_paths = ["lib"]
data/spec/support/stub.rb CHANGED
@@ -12,7 +12,7 @@ class TimeagoStub
12
12
  "%time_ago_in_words%"
13
13
  end
14
14
 
15
- def javascript_include_tag(path)
16
- "<script src=\"#{path}\"></script>"
15
+ def javascript_tag(source)
16
+ "<script>#{source}</script>"
17
17
  end
18
18
  end
@@ -87,76 +87,9 @@ describe Rails::Timeago::Helper do
87
87
  end
88
88
 
89
89
  context "#timeago_script_tag" do
90
- it "should not return anything if locale is 'en' and no 'en' mapping exists" do
91
- Rails::Timeago.map_locale :en, nil
90
+ it "should return a javascript snippet to set jQuery timeago locale" do
92
91
  I18n.locale = "en"
93
- @stub.timeago_script_tag.should == ""
94
- end
95
-
96
- it "should return mapped 'en' locale file if mapping exists" do
97
- Rails::Timeago.map_locale :en, "better/locale/en.js"
98
-
99
- I18n.locale = "en"
100
- @stub.timeago_script_tag.should == '<script src="better/locale/en.js"></script>'
101
-
102
- Rails::Timeago.map_locale :en, nil
103
- end
104
-
105
- it "should return javascript tag with locale file" do
106
- I18n.locale = "de"
107
- @stub.timeago_script_tag.should == '<script src="locales/jquery.timeago.de.js"></script>'
108
- end
109
-
110
- it "should return javascript tag with mapped locale file" do
111
- Rails::Timeago.map_locale :de, "deutsch.js"
112
-
113
- I18n.locale = "de"
114
- @stub.timeago_script_tag.should == '<script src="deutsch.js"></script>'
115
-
116
- Rails::Timeago.map_locale :de, nil
117
- end
118
-
119
- it "should return javascript tag with full locale file if available" do
120
- I18n.locale = "zh-CN"
121
- @stub.timeago_script_tag.should == '<script src="locales/jquery.timeago.zh-CN.js"></script>'
122
- end
123
-
124
- it "should return javascript tag with lang locale file if available" do
125
- I18n.locale = "nl-NL"
126
- @stub.timeago_script_tag.should == '<script src="locales/jquery.timeago.nl.js"></script>'
127
- end
128
-
129
- it "should return javascript tag with formatted locale file" do
130
- I18n.locale = "zh-cn"
131
- @stub.timeago_script_tag.should == '<script src="locales/jquery.timeago.zh-CN.js"></script>'
132
- end
133
-
134
- context "with global locale configuration" do
135
- before { Rails::Timeago.locales = [:de, :en, "zh-CN", "tlh", "nl"] }
136
- after { Rails::Timeago.locales = [] }
137
-
138
- it "should include full locale if available" do
139
- I18n.locale = "zh-CN"
140
- @stub.timeago_script_tag.should == '<script src="locales/jquery.timeago.zh-CN.js"></script>'
141
- end
142
-
143
- it "should include lang locale if available" do
144
- I18n.locale = "nl-NL"
145
- @stub.timeago_script_tag.should == '<script src="locales/jquery.timeago.nl.js"></script>'
146
- end
147
-
148
- it "should include default locale for not specified locales" do
149
- I18n.locale = :ar
150
- I18n.default_locale = :de
151
- @stub.timeago_script_tag.should == '<script src="locales/jquery.timeago.de.js"></script>'
152
-
153
- I18n.default_locale = :en
154
- end
155
-
156
- it "should find added locales that does not have a locale file in gem" do
157
- I18n.locale = "tlh"
158
- @stub.timeago_script_tag.should == '<script src="locales/jquery.timeago.tlh.js"></script>'
159
- end
92
+ @stub.timeago_script_tag.should == '<script>jQuery.timeago.settings.lang="en";</script>'
160
93
  end
161
94
  end
162
95
  end
@@ -3,7 +3,7 @@
3
3
  * updating fuzzy timestamps (e.g. "4 minutes ago" or "about 1 day ago").
4
4
  *
5
5
  * @name timeago
6
- * @version 0.11.3
6
+ * @version 0.11.4
7
7
  * @requires jQuery v1.2.3+
8
8
  * @author Ryan McGeary
9
9
  * @license MIT License - http://www.opensource.org/licenses/mit-license.php
@@ -31,7 +31,8 @@
31
31
  settings: {
32
32
  refreshMillis: 60000,
33
33
  allowFuture: false,
34
- strings: {
34
+ lang: "en",
35
+ strings: { "en": {
35
36
  prefixAgo: null,
36
37
  prefixFromNow: null,
37
38
  suffixAgo: "ago",
@@ -49,10 +50,10 @@
49
50
  years: "%d years",
50
51
  wordSeparator: " ",
51
52
  numbers: []
52
- }
53
+ }}
53
54
  },
54
- inWords: function(distanceMillis) {
55
- var $l = this.settings.strings;
55
+ inWords: function(distanceMillis, lang) {
56
+ var $l = this.settings.strings[lang] || this.settings.strings[this.settings.lang] || this.settings.strings["en"];
56
57
  var prefix = $l.prefixAgo;
57
58
  var suffix = $l.suffixAgo;
58
59
  if (this.settings.allowFuture) {
@@ -91,7 +92,7 @@
91
92
  },
92
93
  parse: function(iso8601) {
93
94
  var s = $.trim(iso8601);
94
- s = s.replace(/\.\d\d\d+/,""); // remove milliseconds
95
+ s = s.replace(/\.\d+/,""); // remove milliseconds
95
96
  s = s.replace(/-/,"/").replace(/-/,"/");
96
97
  s = s.replace(/T/," ").replace(/Z/," UTC");
97
98
  s = s.replace(/([\+\-]\d\d)\:?(\d\d)/," $1$2"); // -04:00 -> -0400
@@ -121,7 +122,7 @@
121
122
  function refresh() {
122
123
  var data = prepareData(this);
123
124
  if (!isNaN(data.datetime)) {
124
- $(this).text(inWords(data.datetime));
125
+ $(this).text(inWords(data.datetime, ($(this).attr('lang')) ? $(this).attr('lang') : $t.settings.lang));
125
126
  }
126
127
  return this;
127
128
  }
@@ -138,8 +139,8 @@
138
139
  return element.data("timeago");
139
140
  }
140
141
 
141
- function inWords(date) {
142
- return $t.inWords(distance(date));
142
+ function inWords(date, lang) {
143
+ return $t.inWords(distance(date), lang);
143
144
  }
144
145
 
145
146
  function distance(date) {
@@ -12,7 +12,7 @@
12
12
  return z; // 11+
13
13
  }
14
14
  }
15
- jQuery.timeago.settings.strings = {
15
+ jQuery.timeago.settings.strings["ar"] = {
16
16
  prefixAgo: "منذ",
17
17
  prefixFromNow: "يتبقى",
18
18
  suffixAgo: null,
@@ -1,5 +1,5 @@
1
1
  // Bulgarian
2
- jQuery.timeago.settings.strings = {
2
+ jQuery.timeago.settings.strings["bg"] = {
3
3
  prefixAgo: "преди",
4
4
  prefixFromNow: "след",
5
5
  suffixAgo: null,
@@ -14,7 +14,7 @@
14
14
  }
15
15
  };
16
16
 
17
- jQuery.timeago.settings.strings = {
17
+ jQuery.timeago.settings.strings["bs"] = {
18
18
  prefixAgo: "prije",
19
19
  prefixFromNow: "za",
20
20
  suffixAgo: null,
@@ -1,5 +1,5 @@
1
1
  // Catalan
2
- jQuery.timeago.settings.strings = {
2
+ jQuery.timeago.settings.strings["ca"] = {
3
3
  prefixAgo: "fa",
4
4
  prefixFromNow: "d'aqui a",
5
5
  suffixAgo: null,
@@ -1,5 +1,5 @@
1
1
  // Welsh
2
- jQuery.timeago.settings.strings = {
2
+ jQuery.timeago.settings.strings["cy"] = {
3
3
  prefixAgo: null,
4
4
  prefixFromNow: null,
5
5
  suffixAgo: "yn ôl",
@@ -1,5 +1,5 @@
1
1
  // Czech
2
- jQuery.timeago.settings.strings = {
2
+ jQuery.timeago.settings.strings["cz"] = {
3
3
  prefixAgo: "před",
4
4
  prefixFromNow: null,
5
5
  suffixAgo: null,
@@ -1,5 +1,5 @@
1
1
  // Danish
2
- jQuery.timeago.settings.strings = {
2
+ jQuery.timeago.settings.strings["da"] = {
3
3
  prefixAgo: "for",
4
4
  prefixFromNow: "om",
5
5
  suffixAgo: "siden",
@@ -1,5 +1,5 @@
1
1
  // German
2
- jQuery.timeago.settings.strings = {
2
+ jQuery.timeago.settings.strings["de"] = {
3
3
  prefixAgo: "vor",
4
4
  prefixFromNow: "in",
5
5
  suffixAgo: "",
@@ -1,5 +1,5 @@
1
1
  // Greek
2
- jQuery.timeago.settings.strings = {
2
+ jQuery.timeago.settings.strings["el"] = {
3
3
  prefixAgo: "πριν",
4
4
  prefixFromNow: "σε",
5
5
  suffixAgo: "",
@@ -1,5 +1,5 @@
1
1
  // English shortened
2
- jQuery.timeago.settings.strings = {
2
+ jQuery.timeago.settings.strings["en-short"] = {
3
3
  prefixAgo: null,
4
4
  prefixFromNow: null,
5
5
  suffixAgo: "",
@@ -1,5 +1,5 @@
1
1
  // Spanish
2
- jQuery.timeago.settings.strings = {
2
+ jQuery.timeago.settings.strings["es"] = {
3
3
  prefixAgo: "hace",
4
4
  prefixFromNow: "dentro de",
5
5
  suffixAgo: "",
@@ -2,7 +2,7 @@
2
2
  // Persian
3
3
  // Use DIR attribute for RTL text in Persian Language for ABBR tag .
4
4
  // By MB.seifollahi@gmail.com
5
- jQuery.timeago.settings.strings = {
5
+ jQuery.timeago.settings.strings["fa"] = {
6
6
  prefixAgo: null,
7
7
  prefixFromNow: null,
8
8
  suffixAgo: "پیش",
@@ -1,5 +1,5 @@
1
1
  // Finnish
2
- jQuery.timeago.settings.strings = {
2
+ jQuery.timeago.settings.strings["fi"] = {
3
3
  prefixAgo: null,
4
4
  prefixFromNow: null,
5
5
  suffixAgo: "sitten",
@@ -1,5 +1,5 @@
1
1
  // French
2
- jQuery.timeago.settings.strings = {
2
+ jQuery.timeago.settings.strings["fr"] = {
3
3
  // environ ~= about, it's optional
4
4
  prefixAgo: "il y a",
5
5
  prefixFromNow: "d'ici",
@@ -1,5 +1,5 @@
1
1
  // Hebrew
2
- jQuery.timeago.settings.strings = {
2
+ jQuery.timeago.settings.strings["he"] = {
3
3
  prefixAgo: "לפני",
4
4
  prefixFromNow: "מעכשיו",
5
5
  suffixAgo: "",
@@ -14,7 +14,7 @@
14
14
  }
15
15
  };
16
16
 
17
- jQuery.timeago.settings.strings = {
17
+ jQuery.timeago.settings.strings["hr"] = {
18
18
  prefixAgo: "prije",
19
19
  prefixFromNow: "za",
20
20
  suffixAgo: null,
@@ -1,5 +1,5 @@
1
1
  // Hungarian
2
- jQuery.timeago.settings.strings = {
2
+ jQuery.timeago.settings.strings["hu"] = {
3
3
  prefixAgo: null,
4
4
  prefixFromNow: null,
5
5
  suffixAgo: null,
@@ -1,5 +1,5 @@
1
1
  // Armenian
2
- jQuery.timeago.settings.strings = {
2
+ jQuery.timeago.settings.strings["hy"] = {
3
3
  prefixAgo: null,
4
4
  prefixFromNow: null,
5
5
  suffixAgo: "առաջ",
@@ -1,5 +1,5 @@
1
1
  // Indonesian
2
- jQuery.timeago.settings.strings = {
2
+ jQuery.timeago.settings.strings["id"] = {
3
3
  prefixAgo: null,
4
4
  prefixFromNow: null,
5
5
  suffixAgo: "yang lalu",
@@ -1,5 +1,5 @@
1
1
  // Italian
2
- jQuery.timeago.settings.strings = {
2
+ jQuery.timeago.settings.strings["it"] = {
3
3
  suffixAgo: "fa",
4
4
  suffixFromNow: "da ora",
5
5
  seconds: "meno di un minuto",
@@ -1,5 +1,5 @@
1
1
  // Japanese
2
- jQuery.timeago.settings.strings = {
2
+ jQuery.timeago.settings.strings["ja"] = {
3
3
  prefixAgo: "",
4
4
  prefixFromNow: "今から",
5
5
  suffixAgo: "前",
@@ -1,5 +1,5 @@
1
1
  // Korean
2
- jQuery.timeago.settings.strings = {
2
+ jQuery.timeago.settings.strings["ko"] = {
3
3
  suffixAgo: "전",
4
4
  suffixFromNow: "후",
5
5
  seconds: "1분 이내",
@@ -0,0 +1,20 @@
1
+ // Macedonian
2
+ (function() {
3
+ jQuery.timeago.settings.strings["mk"]={
4
+ prefixAgo: "пред",
5
+ prefixFromNow: "за",
6
+ suffixAgo: null,
7
+ suffixFromNow: null,
8
+ seconds: "%d секунди",
9
+ minute: "%d минута",
10
+ minutes: "%d минути",
11
+ hour: "%d час",
12
+ hours: "%d часа",
13
+ day: "%d ден",
14
+ days: "%d денови" ,
15
+ month: "%d месец",
16
+ months: "%d месеци",
17
+ year: "%d година",
18
+ years: "%d години"
19
+ }
20
+ })();
@@ -1,5 +1,5 @@
1
1
  // Dutch
2
- jQuery.timeago.settings.strings = {
2
+ jQuery.timeago.settings.strings["nl"] = {
3
3
  prefixAgo: null,
4
4
  prefixFromNow: "",
5
5
  suffixAgo: "geleden",
@@ -1,5 +1,5 @@
1
1
  // Norwegian
2
- jQuery.timeago.settings.strings = {
2
+ jQuery.timeago.settings.strings["no"] = {
3
3
  prefixAgo: "for",
4
4
  prefixFromNow: "om",
5
5
  suffixAgo: "siden",
@@ -11,7 +11,7 @@
11
11
  }
12
12
  }
13
13
 
14
- jQuery.timeago.settings.strings = {
14
+ jQuery.timeago.settings.strings["pl"] = {
15
15
  prefixAgo: null,
16
16
  prefixFromNow: "za",
17
17
  suffixAgo: "temu",
@@ -0,0 +1,16 @@
1
+ // Brazilian Portuguese
2
+ jQuery.timeago.settings.strings["pt-br"] = {
3
+ suffixAgo: "atrás",
4
+ suffixFromNow: "nesse momento",
5
+ seconds: "alguns segundos",
6
+ minute: "há um minuto",
7
+ minutes: "há %d minutos",
8
+ hour: "há uma hora",
9
+ hours: "há %d horas",
10
+ day: "há um dia",
11
+ days: "há %d dias",
12
+ month: "há um mês",
13
+ months: "há %d meses",
14
+ year: "há um ano",
15
+ years: "há %d anos"
16
+ };
@@ -1,5 +1,5 @@
1
1
  // Portuguese
2
- jQuery.timeago.settings.strings = {
2
+ jQuery.timeago.settings.strings["pt"] = {
3
3
  suffixAgo: "atrás",
4
4
  suffixFromNow: "a partir de agora",
5
5
  seconds: "menos de um minuto",
@@ -1,5 +1,5 @@
1
1
  // Romanian
2
- $.timeago.settings.strings = {
2
+ $.timeago.settings.strings["ro"] = {
3
3
  prefixAgo: "acum",
4
4
  prefixFromNow: "in timp de",
5
5
  suffixAgo: "",
@@ -14,7 +14,7 @@
14
14
  }
15
15
  }
16
16
 
17
- jQuery.timeago.settings.strings = {
17
+ jQuery.timeago.settings.strings["ru"] = {
18
18
  prefixAgo: null,
19
19
  prefixFromNow: "через",
20
20
  suffixAgo: "назад",
@@ -1,5 +1,5 @@
1
1
  // Swedish
2
- jQuery.timeago.settings.strings = {
2
+ jQuery.timeago.settings.strings["sv"] = {
3
3
  prefixAgo: "för",
4
4
  prefixFromNow: "om",
5
5
  suffixAgo: "sedan",
@@ -1,5 +1,5 @@
1
1
  // Turkish
2
- jQuery.extend($.timeago.settings.strings, {
2
+ jQuery.extend($.timeago.settings.strings["tr"], {
3
3
  suffixAgo: 'önce',
4
4
  suffixFromNow: null,
5
5
  seconds: '1 dakikadan',
@@ -14,12 +14,12 @@
14
14
  }
15
15
  }
16
16
 
17
- jQuery.timeago.settings.strings = {
17
+ jQuery.timeago.settings.strings["uk"] = {
18
18
  prefixAgo: null,
19
19
  prefixFromNow: "через",
20
20
  suffixAgo: "тому",
21
21
  suffixFromNow: null,
22
- seconds: "меньше хвилини",
22
+ seconds: "менше хвилини",
23
23
  minute: "хвилина",
24
24
  minutes: function(value) { return numpf(value, "%d хвилина", "%d хвилини", "%d хвилин"); },
25
25
  hour: "година",
@@ -1,5 +1,5 @@
1
1
  //Uzbek
2
- jQuery.timeago.settings.strings = {
2
+ jQuery.timeago.settings.strings["uz"] = {
3
3
  prefixAgo: null,
4
4
  prefixFromNow: "keyin",
5
5
  suffixAgo: "avval",
@@ -1,5 +1,5 @@
1
1
  // Simplified Chinese
2
- jQuery.timeago.settings.strings = {
2
+ jQuery.timeago.settings.strings["zh-CN"] = {
3
3
  prefixAgo: null,
4
4
  prefixFromNow: "从现在开始",
5
5
  suffixAgo: "之前",
@@ -1,5 +1,5 @@
1
1
  // Traditional Chinese, zh-tw
2
- jQuery.timeago.settings.strings = {
2
+ jQuery.timeago.settings.strings["zh-TW"] = {
3
3
  prefixAgo: null,
4
4
  prefixFromNow: "從現在開始",
5
5
  suffixAgo: "之前",
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-timeago
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.3
5
- prerelease:
4
+ version: 2.0.0.beta1
5
+ prerelease: 6
6
6
  platform: ruby
7
7
  authors:
8
8
  - Jan Graichen
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-23 00:00:00.000000000 Z
12
+ date: 2012-11-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -71,6 +71,7 @@ files:
71
71
  - LICENSE
72
72
  - README.md
73
73
  - Rakefile
74
+ - lib/assets/javascripts/rails-timeago-all.js
74
75
  - lib/assets/javascripts/rails-timeago.js
75
76
  - lib/rails-timeago.rb
76
77
  - lib/rails-timeago/helper.rb
@@ -79,7 +80,6 @@ files:
79
80
  - spec/spec_helper.rb
80
81
  - spec/support/stub.rb
81
82
  - spec/timeago/helper_spec.rb
82
- - spec/timeago_spec.rb
83
83
  - vendor/assets/javascripts/jquery.timeago.js
84
84
  - vendor/assets/javascripts/locales/jquery.timeago.ar.js
85
85
  - vendor/assets/javascripts/locales/jquery.timeago.bg.js
@@ -103,9 +103,11 @@ files:
103
103
  - vendor/assets/javascripts/locales/jquery.timeago.it.js
104
104
  - vendor/assets/javascripts/locales/jquery.timeago.ja.js
105
105
  - vendor/assets/javascripts/locales/jquery.timeago.ko.js
106
+ - vendor/assets/javascripts/locales/jquery.timeago.mk.js
106
107
  - vendor/assets/javascripts/locales/jquery.timeago.nl.js
107
108
  - vendor/assets/javascripts/locales/jquery.timeago.no.js
108
109
  - vendor/assets/javascripts/locales/jquery.timeago.pl.js
110
+ - vendor/assets/javascripts/locales/jquery.timeago.pt-br.js
109
111
  - vendor/assets/javascripts/locales/jquery.timeago.pt.js
110
112
  - vendor/assets/javascripts/locales/jquery.timeago.ro.js
111
113
  - vendor/assets/javascripts/locales/jquery.timeago.ru.js
@@ -130,9 +132,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
130
132
  required_rubygems_version: !ruby/object:Gem::Requirement
131
133
  none: false
132
134
  requirements:
133
- - - ! '>='
135
+ - - ! '>'
134
136
  - !ruby/object:Gem::Version
135
- version: '0'
137
+ version: 1.3.1
136
138
  requirements: []
137
139
  rubyforge_project:
138
140
  rubygems_version: 1.8.24
data/spec/timeago_spec.rb DELETED
@@ -1,66 +0,0 @@
1
-
2
- require File.dirname(__FILE__) + '/spec_helper'
3
-
4
- describe Rails::Timeago do
5
- context "#lookup_locale" do
6
- it "should return full locale if available" do
7
- Rails::Timeago.lookup_locale("zh-CN").should == "zh-CN"
8
- end
9
-
10
- it "should return formatted locale" do
11
- Rails::Timeago.lookup_locale("zh-cn").should == "zh-CN"
12
- end
13
-
14
- it "should return lang locale if available" do
15
- Rails::Timeago.lookup_locale("nl-NL").should == "nl"
16
- end
17
-
18
- it "should return locale if available" do
19
- Rails::Timeago.lookup_locale("de").should == "de"
20
- end
21
-
22
- it "should lookup default locale if nothing given" do
23
- I18n.locale = "ar"
24
-
25
- Rails::Timeago.lookup_locale.should == "ar"
26
- end
27
-
28
- it "should return english locale if locale does not
29
- match and default locale is not available" do
30
-
31
- I18n.locale = "sjn"
32
- Rails::Timeago.lookup_locale("tlh").should == "en"
33
- end
34
-
35
- context "with global locale configuration" do
36
- before { Rails::Timeago.locales = [:de, :en, "zh-CN", "tlh"] }
37
- after { Rails::Timeago.locales = [] }
38
-
39
- it "should return full locale if available" do
40
- Rails::Timeago.lookup_locale("zh-CN").should == "zh-CN"
41
- end
42
-
43
- it "should return lang locale if available" do
44
- Rails::Timeago.lookup_locale("en-US").should == "en"
45
- end
46
-
47
- it "should return use default locale if available" do
48
- I18n.locale = "en"
49
- Rails::Timeago.lookup_locale.should == "en"
50
- end
51
-
52
- it "should return default locale for not specified locales" do
53
- I18n.locale = "ar"
54
- I18n.default_locale = :de
55
- Rails::Timeago.lookup_locale.should == "de"
56
-
57
- I18n.default_locale = :en
58
- end
59
-
60
- it "should find added locales that does not have a locale file in gem" do
61
- I18n.locale = "tlh"
62
- Rails::Timeago.lookup_locale.should == "tlh"
63
- end
64
- end
65
- end
66
- end