rails-timeago 1.4.3 → 2.0.0.beta1

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