timeago-rails 0.1.0

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 (53) hide show
  1. data/.gitignore +8 -0
  2. data/Gemfile +3 -0
  3. data/MIT-LICENSE +20 -0
  4. data/README.md +42 -0
  5. data/Rakefile +23 -0
  6. data/lib/timeago-rails.rb +1 -0
  7. data/lib/timeago/rails/engine.rb +8 -0
  8. data/lib/timeago/rails/version.rb +6 -0
  9. data/test/dummy/README.rdoc +261 -0
  10. data/test/dummy/Rakefile +7 -0
  11. data/test/dummy/app/assets/javascripts/application.js +15 -0
  12. data/test/dummy/app/assets/stylesheets/application.css +13 -0
  13. data/test/dummy/app/controllers/application_controller.rb +3 -0
  14. data/test/dummy/app/controllers/timelines_controller.rb +20 -0
  15. data/test/dummy/app/helpers/application_helper.rb +2 -0
  16. data/test/dummy/app/mailers/.gitkeep +0 -0
  17. data/test/dummy/app/models/.gitkeep +0 -0
  18. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  19. data/test/dummy/app/views/timelines/index.html.erb +9 -0
  20. data/test/dummy/config.ru +4 -0
  21. data/test/dummy/config/application.rb +62 -0
  22. data/test/dummy/config/boot.rb +10 -0
  23. data/test/dummy/config/environment.rb +5 -0
  24. data/test/dummy/config/environments/development.rb +30 -0
  25. data/test/dummy/config/environments/production.rb +67 -0
  26. data/test/dummy/config/environments/test.rb +34 -0
  27. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  28. data/test/dummy/config/initializers/inflections.rb +15 -0
  29. data/test/dummy/config/initializers/mime_types.rb +5 -0
  30. data/test/dummy/config/initializers/secret_token.rb +7 -0
  31. data/test/dummy/config/initializers/session_store.rb +8 -0
  32. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  33. data/test/dummy/config/locales/en.yml +5 -0
  34. data/test/dummy/config/routes.rb +3 -0
  35. data/test/dummy/lib/assets/.gitkeep +0 -0
  36. data/test/dummy/log/.gitkeep +0 -0
  37. data/test/dummy/public/404.html +26 -0
  38. data/test/dummy/public/422.html +26 -0
  39. data/test/dummy/public/500.html +25 -0
  40. data/test/dummy/public/favicon.ico +0 -0
  41. data/test/dummy/script/rails +6 -0
  42. data/test/integration/navigation_test.rb +36 -0
  43. data/test/test_helper.rb +22 -0
  44. data/test/timeago-rails_test.rb +7 -0
  45. data/timeago-rails.gemspec +24 -0
  46. data/vendor/assets/javascripts/locales/timeago.de.js +28 -0
  47. data/vendor/assets/javascripts/locales/timeago.en.js +29 -0
  48. data/vendor/assets/javascripts/locales/timeago.es.js +29 -0
  49. data/vendor/assets/javascripts/locales/timeago.fr.js +29 -0
  50. data/vendor/assets/javascripts/locales/timeago.pt-br.js +29 -0
  51. data/vendor/assets/javascripts/locales/timeago.zh-cn.js +29 -0
  52. data/vendor/assets/javascripts/timeago.js +195 -0
  53. metadata +206 -0
@@ -0,0 +1,22 @@
1
+ # Configure Rails Environment
2
+ ENV["RAILS_ENV"] = "test"
3
+
4
+ require File.expand_path("../dummy/config/environment.rb", __FILE__)
5
+ require "rails/test_help"
6
+ require "capybara/rails"
7
+ require "capybara-webkit"
8
+
9
+ Rails.backtrace_cleaner.remove_silencers!
10
+
11
+ # Load support files
12
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
13
+
14
+ class ActionDispatch::IntegrationTest
15
+ include Capybara::DSL
16
+
17
+ teardown do
18
+ Capybara.reset_sessions! # Forget the (simulated) browser state
19
+ Capybara.use_default_driver # Revert Capybara.current_driver to Capybara.default_driver
20
+ end
21
+ end
22
+
@@ -0,0 +1,7 @@
1
+ require 'test_helper'
2
+
3
+ class TimeagoRailsTest < ActiveSupport::TestCase
4
+ test "truth" do
5
+ assert_kind_of Module, Timeago::Rails
6
+ end
7
+ end
@@ -0,0 +1,24 @@
1
+ # encoding: utf-8
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+
4
+ require "timeago/rails/version"
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = "timeago-rails"
8
+ s.version = Timeago::Rails::VERSION
9
+ s.authors = ["James Chen"]
10
+ s.email = ["ashchan@gmail.com"]
11
+ s.homepage = "https://github.com/ashchan/timeago-rails"
12
+ s.summary = "Use smart-time-ago jQuery plugin with Rails 3"
13
+ s.description = "Provides smart-time-ago jQuery plugin for your Rails 3 app"
14
+
15
+ s.licenses = ["MIT"]
16
+
17
+ s.files = `git ls-files`.split("\n")
18
+ s.test_files = Dir["test/**/*"]
19
+
20
+ s.add_dependency "rails", "~> 3.2.8"
21
+ s.add_dependency "jquery-rails"
22
+
23
+ s.add_development_dependency "capybara-webkit"
24
+ end
@@ -0,0 +1,28 @@
1
+ (function() {
2
+
3
+ $.fn.timeago.defaults.lang = {
4
+ units: {
5
+ second: "Sekunde",
6
+ seconds: "Sekunden",
7
+ minute: "Minute",
8
+ minutes: "Minuten",
9
+ hour: "Stunde",
10
+ hours: "Stunden",
11
+ day: "Tag",
12
+ days: "Tagen",
13
+ month: "Monat",
14
+ months: "Monaten",
15
+ year: "Jahr",
16
+ years: "Jahren",
17
+ },
18
+ prefixes: {
19
+ lt: "weniger als eine",
20
+ about: "ungefähr",
21
+ over: "über",
22
+ almost: "fast",
23
+ ago: "vor "
24
+ },
25
+ suffix: ""
26
+ };
27
+
28
+ }).call(this);
@@ -0,0 +1,29 @@
1
+ // Generated by CoffeeScript 1.3.3
2
+ (function() {
3
+
4
+ $.fn.timeago.defaults.lang = {
5
+ units: {
6
+ second: "second",
7
+ seconds: "seconds",
8
+ minute: "minute",
9
+ minutes: "minutes",
10
+ hour: "hour",
11
+ hours: "hours",
12
+ day: "day",
13
+ days: "days",
14
+ month: "month",
15
+ months: "months",
16
+ year: "year",
17
+ years: "years"
18
+ },
19
+ prefixes: {
20
+ lt: "less than a",
21
+ about: "about",
22
+ over: "over",
23
+ almost: "almost",
24
+ ago: ""
25
+ },
26
+ suffix: " ago"
27
+ };
28
+
29
+ }).call(this);
@@ -0,0 +1,29 @@
1
+ // Generated by CoffeeScript 1.3.3
2
+ (function() {
3
+
4
+ $.fn.timeago.defaults.lang = {
5
+ units: {
6
+ second: "segundo",
7
+ seconds: "segundos",
8
+ minute: "minuto",
9
+ minutes: "minutos",
10
+ hour: "hora",
11
+ hours: "horas",
12
+ day: "día",
13
+ days: "días",
14
+ month: "mes",
15
+ months: "meses",
16
+ year: "año",
17
+ years: "años"
18
+ },
19
+ prefixes: {
20
+ lt: "hace menos de un",
21
+ about: "cerca de",
22
+ over: "poco más de",
23
+ almost: "casi",
24
+ ago: "hace "
25
+ },
26
+ suffix: ""
27
+ };
28
+
29
+ }).call(this);
@@ -0,0 +1,29 @@
1
+ // Generated by CoffeeScript 1.3.3
2
+ (function() {
3
+
4
+ $.fn.timeago.defaults.lang = {
5
+ units: {
6
+ second: "seconde",
7
+ seconds: "secondes",
8
+ minute: "minute",
9
+ minutes: "minutes",
10
+ hour: "heure",
11
+ hours: "heures",
12
+ day: "jour",
13
+ days: "jours",
14
+ month: "mois",
15
+ months: "mois",
16
+ year: "an",
17
+ years: "ans"
18
+ },
19
+ prefixes: {
20
+ lt: "moins d'un",
21
+ about: "environ",
22
+ over: "plus de ",
23
+ almost: "presque",
24
+ ago: "il y a "
25
+ },
26
+ suffix: ""
27
+ };
28
+
29
+ }).call(this);
@@ -0,0 +1,29 @@
1
+ // Generated by CoffeeScript 1.3.3
2
+ (function() {
3
+
4
+ $.fn.timeago.defaults.lang = {
5
+ units: {
6
+ second: "segundo",
7
+ seconds: "segundos",
8
+ minute: "minuto",
9
+ minutes: "minutos",
10
+ hour: "hora",
11
+ hours: "horas",
12
+ day: "dia",
13
+ days: "dias",
14
+ month: "mês",
15
+ months: "meses",
16
+ year: "ano",
17
+ years: "anos"
18
+ },
19
+ prefixes: {
20
+ lt: "menos de um",
21
+ about: "aproximadamente",
22
+ over: "pouco mais de",
23
+ almost: "quase",
24
+ ago: ""
25
+ },
26
+ suffix: " atrás"
27
+ };
28
+
29
+ }).call(this);
@@ -0,0 +1,29 @@
1
+ // Generated by CoffeeScript 1.3.3
2
+ (function() {
3
+
4
+ $.fn.timeago.defaults.lang = {
5
+ units: {
6
+ second: "秒",
7
+ seconds: "秒",
8
+ minute: "分钟",
9
+ minutes: "分钟",
10
+ hour: "小时",
11
+ hours: "小时",
12
+ day: "天",
13
+ days: "天",
14
+ month: "月",
15
+ months: "月",
16
+ year: "年",
17
+ years: "年"
18
+ },
19
+ prefixes: {
20
+ lt: "不到",
21
+ about: "大约",
22
+ over: "超过",
23
+ almost: "接近",
24
+ ago: ""
25
+ },
26
+ suffix: "之前"
27
+ };
28
+
29
+ }).call(this);
@@ -0,0 +1,195 @@
1
+ // Copyright 2012, Terry Tai, Pragmatic.ly
2
+ // https://pragmatic.ly/
3
+ // Licensed under the MIT license.
4
+ // https://github.com/pragmaticly/smart-time-ago/blob/master/LICENSE
5
+ //
6
+ // Generated by CoffeeScript 1.3.3
7
+
8
+ (function() {
9
+ var TimeAgo;
10
+
11
+ TimeAgo = (function() {
12
+
13
+ function TimeAgo(element, options) {
14
+ this.startInterval = 60000;
15
+ this.init(element, options);
16
+ }
17
+
18
+ TimeAgo.prototype.init = function(element, options) {
19
+ this.$element = $(element);
20
+ this.options = $.extend({}, $.fn.timeago.defaults, options);
21
+ this.updateTime();
22
+ return this.startTimer();
23
+ };
24
+
25
+ TimeAgo.prototype.startTimer = function() {
26
+ var self;
27
+ self = this;
28
+ return this.interval = setInterval((function() {
29
+ return self.refresh();
30
+ }), this.startInterval);
31
+ };
32
+
33
+ TimeAgo.prototype.stopTimer = function() {
34
+ return clearInterval(this.interval);
35
+ };
36
+
37
+ TimeAgo.prototype.restartTimer = function() {
38
+ this.stopTimer();
39
+ return this.startTimer();
40
+ };
41
+
42
+ TimeAgo.prototype.refresh = function() {
43
+ this.updateTime();
44
+ return this.updateInterval();
45
+ };
46
+
47
+ TimeAgo.prototype.updateTime = function() {
48
+ var self;
49
+ self = this;
50
+ return this.$element.findAndSelf(this.options.selector).each(function() {
51
+ var timeAgoInWords;
52
+ timeAgoInWords = self.timeAgoInWords($(this).attr(self.options.attr));
53
+ return $(this).html(timeAgoInWords);
54
+ });
55
+ };
56
+
57
+ TimeAgo.prototype.updateInterval = function() {
58
+ var filter, newestTime, newestTimeInMinutes, newestTimeSrc;
59
+ if (this.$element.findAndSelf(this.options.selector).length > 0) {
60
+ if (this.options.dir === "up") {
61
+ filter = ":first";
62
+ } else if (this.options.dir === "down") {
63
+ filter = ":last";
64
+ }
65
+ newestTimeSrc = this.$element.findAndSelf(this.options.selector).filter(filter).attr(this.options.attr);
66
+ newestTime = this.parse(newestTimeSrc);
67
+ newestTimeInMinutes = this.getTimeDistanceInMinutes(newestTime);
68
+ if (newestTimeInMinutes >= 0 && newestTimeInMinutes <= 44 && this.startInterval !== 60000) {
69
+ this.startInterval = 60000;
70
+ return this.restartTimer();
71
+ } else if (newestTimeInMinutes >= 45 && newestTimeInMinutes <= 89 && this.startInterval !== 60000 * 22) {
72
+ this.startInterval = 60000 * 22;
73
+ return this.restartTimer();
74
+ } else if (newestTimeInMinutes >= 90 && newestTimeInMinutes <= 2519 && this.startInterval !== 60000 * 30) {
75
+ this.startInterval = 60000 * 30;
76
+ return this.restartTimer();
77
+ } else if (newestTimeInMinutes >= 2520 && this.startInterval !== 60000 * 60 * 12) {
78
+ this.startInterval = 60000 * 60 * 12;
79
+ return this.restartTimer();
80
+ }
81
+ }
82
+ };
83
+
84
+ TimeAgo.prototype.timeAgoInWords = function(timeString) {
85
+ var absolutTime;
86
+ absolutTime = this.parse(timeString);
87
+ return "" + this.options.lang.prefixes.ago + (this.distanceOfTimeInWords(absolutTime)) + this.options.lang.suffix;
88
+ };
89
+
90
+ TimeAgo.prototype.parse = function(iso8601) {
91
+ var timeStr;
92
+ timeStr = $.trim(iso8601);
93
+ timeStr = timeStr.replace(/\.\d\d\d+/, "");
94
+ timeStr = timeStr.replace(/-/, "/").replace(/-/, "/");
95
+ timeStr = timeStr.replace(/T/, " ").replace(/Z/, " UTC");
96
+ timeStr = timeStr.replace(/([\+\-]\d\d)\:?(\d\d)/, " $1$2");
97
+ return new Date(timeStr);
98
+ };
99
+
100
+ TimeAgo.prototype.getTimeDistanceInMinutes = function(absolutTime) {
101
+ var timeDistance;
102
+ timeDistance = new Date().getTime() - absolutTime.getTime();
103
+ return Math.round((Math.abs(timeDistance) / 1000) / 60);
104
+ };
105
+
106
+ TimeAgo.prototype.distanceOfTimeInWords = function(absolutTime) {
107
+ var dim;
108
+ dim = this.getTimeDistanceInMinutes(absolutTime);
109
+ if (dim === 0) {
110
+ return "" + this.options.lang.prefixes.lt + " " + this.options.lang.units.minute;
111
+ } else if (dim === 1) {
112
+ return "1 " + this.options.lang.units.minute;
113
+ } else if (dim >= 2 && dim <= 44) {
114
+ return "" + dim + " " + this.options.lang.units.minutes;
115
+ } else if (dim >= 45 && dim <= 89) {
116
+ return "" + this.options.lang.prefixes.about + " 1 " + this.options.lang.units.hour;
117
+ } else if (dim >= 90 && dim <= 1439) {
118
+ return "" + this.options.lang.prefixes.about + " " + (Math.round(dim / 60)) + " " + this.options.lang.units.hours;
119
+ } else if (dim >= 1440 && dim <= 2519) {
120
+ return "1 " + this.options.lang.units.day;
121
+ } else if (dim >= 2520 && dim <= 43199) {
122
+ return "" + (Math.round(dim / 1440)) + " " + this.options.lang.units.days;
123
+ } else if (dim >= 43200 && dim <= 86399) {
124
+ return "" + this.options.lang.prefixes.about + " 1 " + this.options.lang.units.month;
125
+ } else if (dim >= 86400 && dim <= 525599) {
126
+ return "" + (Math.round(dim / 43200)) + " " + this.options.lang.units.months;
127
+ } else if (dim >= 525600 && dim <= 655199) {
128
+ return "" + this.options.lang.prefixes.about + " 1 " + this.options.lang.units.year;
129
+ } else if (dim >= 655200 && dim <= 914399) {
130
+ return "" + this.options.lang.prefixes.over + " 1 " + this.options.lang.units.year;
131
+ } else if (dim >= 914400 && dim <= 1051199) {
132
+ return "" + this.options.lang.prefixes.almost + " 2 " + this.options.lang.units.years;
133
+ } else {
134
+ return "" + this.options.lang.prefixes.about + " " + (Math.round(dim / 525600)) + " " + this.options.lang.units.years;
135
+ }
136
+ };
137
+
138
+ return TimeAgo;
139
+
140
+ })();
141
+
142
+ $.fn.timeago = function(options) {
143
+ if (options == null) {
144
+ options = {};
145
+ }
146
+ return this.each(function() {
147
+ var $this, data;
148
+ $this = $(this);
149
+ data = $this.data("timeago");
150
+ if (!data) {
151
+ $this.data("timeago", new TimeAgo(this, options));
152
+ }
153
+ if (typeof options === 'string') {
154
+ return data[options]();
155
+ }
156
+ });
157
+ };
158
+
159
+ $.fn.findAndSelf = function(selector) {
160
+ return this.find(selector).add(this.filter(selector));
161
+ };
162
+
163
+ $.fn.timeago.Constructor = TimeAgo;
164
+
165
+ $.fn.timeago.defaults = {
166
+ selector: 'time.timeago',
167
+ attr: 'datetime',
168
+ dir: 'up',
169
+ lang: {
170
+ units: {
171
+ second: "second",
172
+ seconds: "seconds",
173
+ minute: "minute",
174
+ minutes: "minutes",
175
+ hour: "hour",
176
+ hours: "hours",
177
+ day: "day",
178
+ days: "days",
179
+ month: "month",
180
+ months: "months",
181
+ year: "year",
182
+ years: "years"
183
+ },
184
+ prefixes: {
185
+ lt: "less than a",
186
+ about: "about",
187
+ over: "over",
188
+ almost: "almost",
189
+ ago: ""
190
+ },
191
+ suffix: ' ago'
192
+ }
193
+ };
194
+
195
+ }).call(this);
metadata ADDED
@@ -0,0 +1,206 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: timeago-rails
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - James Chen
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-10-03 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rails
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: 3.2.8
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 3.2.8
30
+ - !ruby/object:Gem::Dependency
31
+ name: jquery-rails
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: capybara-webkit
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ description: Provides smart-time-ago jQuery plugin for your Rails 3 app
63
+ email:
64
+ - ashchan@gmail.com
65
+ executables: []
66
+ extensions: []
67
+ extra_rdoc_files: []
68
+ files:
69
+ - .gitignore
70
+ - Gemfile
71
+ - MIT-LICENSE
72
+ - README.md
73
+ - Rakefile
74
+ - lib/timeago-rails.rb
75
+ - lib/timeago/rails/engine.rb
76
+ - lib/timeago/rails/version.rb
77
+ - test/dummy/README.rdoc
78
+ - test/dummy/Rakefile
79
+ - test/dummy/app/assets/javascripts/application.js
80
+ - test/dummy/app/assets/stylesheets/application.css
81
+ - test/dummy/app/controllers/application_controller.rb
82
+ - test/dummy/app/controllers/timelines_controller.rb
83
+ - test/dummy/app/helpers/application_helper.rb
84
+ - test/dummy/app/mailers/.gitkeep
85
+ - test/dummy/app/models/.gitkeep
86
+ - test/dummy/app/views/layouts/application.html.erb
87
+ - test/dummy/app/views/timelines/index.html.erb
88
+ - test/dummy/config.ru
89
+ - test/dummy/config/application.rb
90
+ - test/dummy/config/boot.rb
91
+ - test/dummy/config/environment.rb
92
+ - test/dummy/config/environments/development.rb
93
+ - test/dummy/config/environments/production.rb
94
+ - test/dummy/config/environments/test.rb
95
+ - test/dummy/config/initializers/backtrace_silencers.rb
96
+ - test/dummy/config/initializers/inflections.rb
97
+ - test/dummy/config/initializers/mime_types.rb
98
+ - test/dummy/config/initializers/secret_token.rb
99
+ - test/dummy/config/initializers/session_store.rb
100
+ - test/dummy/config/initializers/wrap_parameters.rb
101
+ - test/dummy/config/locales/en.yml
102
+ - test/dummy/config/routes.rb
103
+ - test/dummy/lib/assets/.gitkeep
104
+ - test/dummy/log/.gitkeep
105
+ - test/dummy/public/404.html
106
+ - test/dummy/public/422.html
107
+ - test/dummy/public/500.html
108
+ - test/dummy/public/favicon.ico
109
+ - test/dummy/script/rails
110
+ - test/integration/navigation_test.rb
111
+ - test/test_helper.rb
112
+ - test/timeago-rails_test.rb
113
+ - timeago-rails.gemspec
114
+ - vendor/assets/javascripts/locales/timeago.de.js
115
+ - vendor/assets/javascripts/locales/timeago.en.js
116
+ - vendor/assets/javascripts/locales/timeago.es.js
117
+ - vendor/assets/javascripts/locales/timeago.fr.js
118
+ - vendor/assets/javascripts/locales/timeago.pt-br.js
119
+ - vendor/assets/javascripts/locales/timeago.zh-cn.js
120
+ - vendor/assets/javascripts/timeago.js
121
+ - test/dummy/log/development.log
122
+ - test/dummy/log/test.log
123
+ - test/dummy/tmp/cache/assets/C9D/130/sprockets%2F6d04663118cae4117244206b3c17fa6e
124
+ - test/dummy/tmp/cache/assets/CA7/320/sprockets%2Fac4197a17d230db8a6859f0f13507162
125
+ - test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953
126
+ - test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705
127
+ - test/dummy/tmp/cache/assets/D4B/F70/sprockets%2Faabc322719b896f72018da8fc94d45f9
128
+ - test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655
129
+ - test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6
130
+ - test/dummy/tmp/cache/assets/D63/720/sprockets%2Fc1ac36c9ebb79e0223dcef433e058016
131
+ - test/dummy/tmp/cache/assets/D89/6D0/sprockets%2Fa1816bebb0c35cab780f0351e34e3de5
132
+ - test/dummy/tmp/cache/assets/DAD/A50/sprockets%2F1eeb1738de84d21a5e01b979e89dc8de
133
+ - test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994
134
+ - test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
135
+ homepage: https://github.com/ashchan/timeago-rails
136
+ licenses:
137
+ - MIT
138
+ post_install_message:
139
+ rdoc_options: []
140
+ require_paths:
141
+ - lib
142
+ required_ruby_version: !ruby/object:Gem::Requirement
143
+ none: false
144
+ requirements:
145
+ - - ! '>='
146
+ - !ruby/object:Gem::Version
147
+ version: '0'
148
+ required_rubygems_version: !ruby/object:Gem::Requirement
149
+ none: false
150
+ requirements:
151
+ - - ! '>='
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
154
+ requirements: []
155
+ rubyforge_project:
156
+ rubygems_version: 1.8.24
157
+ signing_key:
158
+ specification_version: 3
159
+ summary: Use smart-time-ago jQuery plugin with Rails 3
160
+ test_files:
161
+ - test/dummy/app/assets/javascripts/application.js
162
+ - test/dummy/app/assets/stylesheets/application.css
163
+ - test/dummy/app/controllers/application_controller.rb
164
+ - test/dummy/app/controllers/timelines_controller.rb
165
+ - test/dummy/app/helpers/application_helper.rb
166
+ - test/dummy/app/views/layouts/application.html.erb
167
+ - test/dummy/app/views/timelines/index.html.erb
168
+ - test/dummy/config/application.rb
169
+ - test/dummy/config/boot.rb
170
+ - test/dummy/config/environment.rb
171
+ - test/dummy/config/environments/development.rb
172
+ - test/dummy/config/environments/production.rb
173
+ - test/dummy/config/environments/test.rb
174
+ - test/dummy/config/initializers/backtrace_silencers.rb
175
+ - test/dummy/config/initializers/inflections.rb
176
+ - test/dummy/config/initializers/mime_types.rb
177
+ - test/dummy/config/initializers/secret_token.rb
178
+ - test/dummy/config/initializers/session_store.rb
179
+ - test/dummy/config/initializers/wrap_parameters.rb
180
+ - test/dummy/config/locales/en.yml
181
+ - test/dummy/config/routes.rb
182
+ - test/dummy/config.ru
183
+ - test/dummy/log/development.log
184
+ - test/dummy/log/test.log
185
+ - test/dummy/public/404.html
186
+ - test/dummy/public/422.html
187
+ - test/dummy/public/500.html
188
+ - test/dummy/public/favicon.ico
189
+ - test/dummy/Rakefile
190
+ - test/dummy/README.rdoc
191
+ - test/dummy/script/rails
192
+ - test/dummy/tmp/cache/assets/C9D/130/sprockets%2F6d04663118cae4117244206b3c17fa6e
193
+ - test/dummy/tmp/cache/assets/CA7/320/sprockets%2Fac4197a17d230db8a6859f0f13507162
194
+ - test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953
195
+ - test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705
196
+ - test/dummy/tmp/cache/assets/D4B/F70/sprockets%2Faabc322719b896f72018da8fc94d45f9
197
+ - test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655
198
+ - test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6
199
+ - test/dummy/tmp/cache/assets/D63/720/sprockets%2Fc1ac36c9ebb79e0223dcef433e058016
200
+ - test/dummy/tmp/cache/assets/D89/6D0/sprockets%2Fa1816bebb0c35cab780f0351e34e3de5
201
+ - test/dummy/tmp/cache/assets/DAD/A50/sprockets%2F1eeb1738de84d21a5e01b979e89dc8de
202
+ - test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994
203
+ - test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
204
+ - test/integration/navigation_test.rb
205
+ - test/test_helper.rb
206
+ - test/timeago-rails_test.rb