thredded 0.3.1 → 0.3.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.mkdn +8 -0
- data/README.mkdn +67 -35
- data/app/assets/stylesheets/thredded/components/_post.scss +1 -0
- data/app/commands/thredded/messageboard_destroyer.rb +1 -1
- data/app/commands/thredded/notify_private_topic_users.rb +1 -1
- data/app/forms/thredded/private_topic_form.rb +3 -4
- data/app/forms/thredded/user_preferences_form.rb +4 -2
- data/app/helpers/thredded/application_helper.rb +1 -1
- data/app/jobs/thredded/activity_updater_job.rb +2 -3
- data/app/models/concerns/thredded/topic_common.rb +3 -4
- data/app/models/concerns/thredded/user_topic_read_state_common.rb +1 -1
- data/app/models/thredded/stats.rb +1 -15
- data/app/models/thredded/topic.rb +1 -1
- data/app/models/thredded/user_messageboard_preference.rb +1 -1
- data/app/view_models/thredded/base_topic_view.rb +1 -1
- data/app/view_models/thredded/post_view.rb +1 -0
- data/db/migrate/20160329231848_create_thredded.rb +6 -0
- data/db/seeds.rb +1 -4
- data/db/upgrade_migrations/20160410111522_upgrade_v0_2_to_v0_3.rb +4 -0
- data/heroku.gemfile +2 -0
- data/heroku.gemfile.lock +12 -6
- data/lib/thredded/engine.rb +2 -4
- data/lib/thredded/search_parser.rb +7 -8
- data/lib/thredded/version.rb +1 -1
- data/thredded.gemspec +3 -1
- metadata +31 -4
- data/app/views/thredded/shared/_time_ago.html.erb +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a5b1a2f3452e32092928cdeaa8ccb705e9f2a7d8
|
4
|
+
data.tar.gz: ff7a72e796b7dd7b20d0becc114ec3734ead905b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9d4db4b55939ec62cc509a46ba8fe1e67c1f919ed826637e2202adf52ed1da8b67d6b4e58943b3d4fff8cef6ed5f7420fdab39a1464cb8eebca5c316be2e79e6
|
7
|
+
data.tar.gz: 6b6a9c0faa439d62c8bd53fdc7937efbd51261416e9506f0b67b1eeb659e79b706594f7c06438d447c18bdaa4780a711ed0ffd100a6ddd5941fc9604ea3c462a
|
data/CHANGELOG.mkdn
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
# MASTER
|
2
|
+
|
3
|
+
## 0.3.2 - 2016-05-04
|
4
|
+
|
5
|
+
* Main app routes are delegated correctly when using the standalone layout. [8a2ff56](https://github.com/thredded/thredded/commit/8a2ff56f73afe0d6e8e8ecede9666b8d65817fa3)
|
6
|
+
* Posts now have `word-break: break-all` applied to prevent overly long string form breaking the layout. [#267](https://github.com/thredded/thredded/issues/267)
|
7
|
+
* I18n for [rails-timeago](https://github.com/jgraichen/rails-timeago). [#270](https://github.com/thredded/thredded/issues/270)
|
8
|
+
|
1
9
|
# 0.3.1 - 2016-05-01
|
2
10
|
|
3
11
|
## Fixed
|
data/README.mkdn
CHANGED
@@ -48,7 +48,7 @@ while Discourse is a full app.
|
|
48
48
|
Add the gem to your Gemfile:
|
49
49
|
|
50
50
|
```ruby
|
51
|
-
gem 'thredded', '~> 0.3.
|
51
|
+
gem 'thredded', '~> 0.3.2'
|
52
52
|
```
|
53
53
|
|
54
54
|
Add the Thredded [initializer] to your parent app by running the install generator.
|
@@ -78,6 +78,45 @@ Mount the thredded engine in your routes file:
|
|
78
78
|
mount Thredded::Engine => '/forum'
|
79
79
|
```
|
80
80
|
|
81
|
+
You also may want to add an index to the user name column in your users table.
|
82
|
+
Thredded uses it to find @-mentions and perform name prefix autocompletion on the private topic form.
|
83
|
+
Add the index in a migration like so:
|
84
|
+
|
85
|
+
```ruby
|
86
|
+
DbTextSearch::CaseInsensitive.add_index(
|
87
|
+
connection, Thredded.user_class.table_name, Thredded.user_name_column, unique: true)
|
88
|
+
```
|
89
|
+
|
90
|
+
### Migrating from Forem
|
91
|
+
|
92
|
+
Using [Forem]? Thredded provides [a migration][forem-to-thredded] to copy all your existing forums from Forem over
|
93
|
+
to Thredded.
|
94
|
+
|
95
|
+
[forem-to-thredded]: https://github.com/thredded/thredded/wiki/Migrate-from-Forem
|
96
|
+
|
97
|
+
## Views and other assets
|
98
|
+
|
99
|
+
### Standalone layout
|
100
|
+
|
101
|
+
By default, thredded renders in its own layout.
|
102
|
+
|
103
|
+
When using the standalone thredded layout, the log in / sign out links will be rendered in the navigation.
|
104
|
+
For these links (and only for these links), Thredded makes the assumption that you are using devise as your auth
|
105
|
+
library. If you are using something different you need to override the partial at
|
106
|
+
`app/views/thredded/shared/nav/_standalone.html.erb` and use the appropriate log in / sign out path URL helpers.
|
107
|
+
|
108
|
+
You can override the partial by copying it into the app:
|
109
|
+
|
110
|
+
```bash
|
111
|
+
mkdir -p app/views/thredded/shared/nav && cp "$(bundle show thredded)/$_/_standalone.html.erb" "$_"
|
112
|
+
```
|
113
|
+
|
114
|
+
### Application layout
|
115
|
+
|
116
|
+
You can also use Thredded with the application layout by by setting `Thredded.layout` in the initializer.
|
117
|
+
|
118
|
+
In this case, you will also need to include Thredded styles and JavaScript into the application styles and JavaScript.
|
119
|
+
|
81
120
|
Add thredded styles to your `application.scss` (see below for customizing the styles):
|
82
121
|
|
83
122
|
```scss
|
@@ -90,23 +129,23 @@ Include thredded JavaScripts in your `application.js`:
|
|
90
129
|
//= require thredded
|
91
130
|
```
|
92
131
|
|
93
|
-
|
94
|
-
Thredded
|
95
|
-
Add the index in a migration like so:
|
96
|
-
|
97
|
-
```ruby
|
98
|
-
DbTextSearch::CaseInsensitive.add_index(
|
99
|
-
connection, Thredded.user_class.table_name, Thredded.user_name_column, unique: true)
|
100
|
-
```
|
132
|
+
Thredded views also provide two `content_tag`s available to yield - `:thredded_page_title` and `:thredded_page_id`.
|
133
|
+
The views within Thredded pass those up through to your layout if you would like to use them.
|
101
134
|
|
102
|
-
|
135
|
+
### Customizing views
|
103
136
|
|
104
|
-
|
137
|
+
You can also override any views and assets by placing them in the same path in your application as they are in the gem.
|
138
|
+
This uses the [standard Rails mechanism](http://guides.rubyonrails.org/engines.html#overriding-views) for overriding
|
139
|
+
engine views. For example, to copy the post view for customization:
|
105
140
|
|
106
|
-
|
107
|
-
to
|
141
|
+
```bash
|
142
|
+
# Copy the post view into the application to customize it:
|
143
|
+
mkdir -p app/views/thredded/posts && cp "$(bundle show thredded)/$_/_post.html.erb" "$_"
|
144
|
+
```
|
108
145
|
|
109
|
-
|
146
|
+
**NB:** Overriding the views like this means that on every update of the thredded gem you have to check that your
|
147
|
+
customizations are still compatible with the new version of thredded. This is difficult and error-prone.
|
148
|
+
Whenever possible, use the styles and i18n to customize Thredded to your needs.
|
110
149
|
|
111
150
|
## Theming
|
112
151
|
|
@@ -144,27 +183,6 @@ any duplicate CSS.
|
|
144
183
|
[select2-rails]: https://github.com/argerim/select2-rails
|
145
184
|
[thredded-scss-base]: https://github.com/thredded/thredded/blob/master/app/assets/stylesheets/thredded/_base.scss
|
146
185
|
|
147
|
-
### Views and other assets
|
148
|
-
|
149
|
-
By default, thredded renders in its own layout, but you can easily override this by setting `Thredded.layout` in the
|
150
|
-
initializer.
|
151
|
-
|
152
|
-
You can also override any views and assets by placing them in the same path in your application as they are in the gem.
|
153
|
-
This uses the [standard Rails mechanism](http://guides.rubyonrails.org/engines.html#overriding-views) for overriding
|
154
|
-
engine views. For example, to copy the post view for customization:
|
155
|
-
|
156
|
-
```bash
|
157
|
-
# Copy the post view into the application to customize it:
|
158
|
-
mkdir -p app/views/thredded/posts && cp "$(bundle show thredded)/$_/_post.html.erb" "$_"
|
159
|
-
```
|
160
|
-
|
161
|
-
**NB:** Overriding the views like this means that on every update of the thredded gem you have to check that your
|
162
|
-
customizations are still compatible with the new version of thredded. This is difficult and error-prone.
|
163
|
-
Whenever possible, use the styles and i18n to customize Thredded to your needs.
|
164
|
-
|
165
|
-
Thredded views also provide two content_tags available to yield - `:thredded_page_title` and `:thredded_page_id`.
|
166
|
-
The views within Thredded pass those up through to your layout if you would like to use them.
|
167
|
-
|
168
186
|
### Emails
|
169
187
|
|
170
188
|
Thredded sends several notification emails to the users. You can override in the same way as the views.
|
@@ -173,6 +191,19 @@ If you use [Rails Email Preview], you can include Thredded emails into the list
|
|
173
191
|
|
174
192
|
[Rails Email Preview]: https://github.com/glebm/rails_email_preview
|
175
193
|
|
194
|
+
## I18n
|
195
|
+
|
196
|
+
Thredded is mostly internationalized. It is currently available in English and Brazilian Portuguese. We welcome PRs
|
197
|
+
adding support for new languages.
|
198
|
+
|
199
|
+
If you use thredded in languages other than English, you probably want to add `rails-i18n` to your Gemfile.
|
200
|
+
Additionally, you will need to require the translations for rails-timeago in you JavaScript,
|
201
|
+
e.g. for Brazilian Portuguese:
|
202
|
+
|
203
|
+
```js
|
204
|
+
//= require locales/jquery.timeago.pt-br
|
205
|
+
```
|
206
|
+
|
176
207
|
## Permissions
|
177
208
|
|
178
209
|
Thredded comes with a flexible permissions system that can be configured per messageboard/user.
|
@@ -402,3 +433,4 @@ docker-compose run web bundle exec rake
|
|
402
433
|
|
403
434
|
The docker container uses PostgreSQL.
|
404
435
|
|
436
|
+
[initializer]: https://github.com/thredded/thredded/blob/master/lib/generators/thredded/install/templates/initializer.rb
|
@@ -3,6 +3,9 @@ module Thredded
|
|
3
3
|
class PrivateTopicForm
|
4
4
|
include ActiveModel::Model
|
5
5
|
|
6
|
+
delegate :id,
|
7
|
+
to: :private_topic
|
8
|
+
|
6
9
|
attr_accessor \
|
7
10
|
:title,
|
8
11
|
:category_ids,
|
@@ -31,10 +34,6 @@ module Thredded
|
|
31
34
|
Thredded::PrivateTopic.model_name
|
32
35
|
end
|
33
36
|
|
34
|
-
def id
|
35
|
-
private_topic.id
|
36
|
-
end
|
37
|
-
|
38
37
|
def save
|
39
38
|
return false unless valid?
|
40
39
|
|
@@ -45,12 +45,14 @@ module Thredded
|
|
45
45
|
def user_messageboard_preference
|
46
46
|
return nil unless @messageboard
|
47
47
|
@user_messageboard_preference ||=
|
48
|
-
user_preference.messageboard_preferences.
|
48
|
+
user_preference.messageboard_preferences.find_or_initialize_by(messageboard_id: @messageboard.id)
|
49
49
|
end
|
50
50
|
|
51
51
|
def validate_children
|
52
52
|
promote_errors(user_preference.errors) if user_preference.invalid?
|
53
|
-
|
53
|
+
if messageboard && user_messageboard_preference.invalid?
|
54
|
+
promote_errors(user_messageboard_preference.errors, :messageboard)
|
55
|
+
end
|
54
56
|
end
|
55
57
|
|
56
58
|
def promote_errors(child_errors, prefix = nil)
|
@@ -20,7 +20,7 @@ module Thredded
|
|
20
20
|
# @param datetime [DateTime]
|
21
21
|
# @return [String] html_safe datetime presentation
|
22
22
|
def time_ago(datetime)
|
23
|
-
|
23
|
+
timeago_tag datetime, lang: I18n.locale.to_s.downcase, date_only: false, nojs: true
|
24
24
|
end
|
25
25
|
|
26
26
|
def paginate(collection, args = {})
|
@@ -6,15 +6,14 @@ module Thredded
|
|
6
6
|
def perform(user_id, messageboard_id)
|
7
7
|
now = Time.current
|
8
8
|
|
9
|
-
user_detail = Thredded::UserDetail.
|
9
|
+
user_detail = Thredded::UserDetail.find_or_initialize_by(user_id: user_id)
|
10
10
|
user_detail.update!(last_seen_at: now)
|
11
11
|
|
12
12
|
Thredded::MessageboardUser
|
13
|
-
.
|
13
|
+
.find_or_initialize_by(
|
14
14
|
thredded_messageboard_id: messageboard_id,
|
15
15
|
thredded_user_detail_id: user_detail.id
|
16
16
|
)
|
17
|
-
.first_or_initialize
|
18
17
|
.update!(last_seen_at: now)
|
19
18
|
end
|
20
19
|
end
|
@@ -12,10 +12,9 @@ module Thredded
|
|
12
12
|
scope :order_recently_updated_first, -> { order(updated_at: :desc, id: :desc) }
|
13
13
|
scope :on_page, -> page_num { page(page_num).per(30) }
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
validates_uniqueness_of :hash_id
|
15
|
+
validates :hash_id, presence: true, uniqueness: true
|
16
|
+
validates :last_user_id, presence: true
|
17
|
+
validates :posts_count, numericality: true
|
19
18
|
|
20
19
|
before_validation do
|
21
20
|
self.hash_id = SecureRandom.hex(10) if hash_id.nil?
|
@@ -21,7 +21,7 @@ module Thredded
|
|
21
21
|
# TODO: Switch to upsert once Travis supports PostgreSQL 9.5.
|
22
22
|
# Travis issue: https://github.com/travis-ci/travis-ci/issues/4264
|
23
23
|
# Upsert gem: https://github.com/seamusabshere/upsert
|
24
|
-
state =
|
24
|
+
state = find_or_initialize_by(user_id: user_id, postable_id: topic_id)
|
25
25
|
fail ArgumentError, "expected post_page >= 1, given #{post_page.inspect}" if post_page < 1
|
26
26
|
return unless !state.read_at? || state.read_at < post.updated_at
|
27
27
|
state.update!(read_at: post.updated_at, page: post_page)
|
@@ -3,22 +3,8 @@ module Thredded
|
|
3
3
|
class Stats
|
4
4
|
include ActionView::Helpers::NumberHelper
|
5
5
|
|
6
|
-
class << self
|
7
|
-
def messageboards_count
|
8
|
-
new.messageboards_count
|
9
|
-
end
|
10
|
-
|
11
|
-
def topics_count
|
12
|
-
new.topics_count
|
13
|
-
end
|
14
|
-
|
15
|
-
def posts_count
|
16
|
-
new.posts_count
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
6
|
def messageboards_count
|
21
|
-
messageboards.count
|
7
|
+
number_to_human(messageboards.count, precision: 4)
|
22
8
|
end
|
23
9
|
|
24
10
|
def topics_count
|
@@ -47,7 +47,7 @@ module Thredded
|
|
47
47
|
module ClassMethods
|
48
48
|
def from_user(topic, user)
|
49
49
|
read_state = if user && !user.thredded_anonymous?
|
50
|
-
topic.association(:user_read_states).klass.
|
50
|
+
topic.association(:user_read_states).klass.find_by(user_id: user.id, postable_id: topic.id)
|
51
51
|
end
|
52
52
|
new(topic, read_state, Pundit.policy!(user, topic))
|
53
53
|
end
|
@@ -1,4 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
# rubocop:disable Metrics/ClassLength
|
3
|
+
# rubocop:disable Metrics/MethodLength
|
4
|
+
# rubocop:disable Metrics/LineLength
|
2
5
|
class CreateThredded < ActiveRecord::Migration
|
3
6
|
def change
|
4
7
|
unless table_exists?(:friendly_id_slugs)
|
@@ -167,3 +170,6 @@ class CreateThredded < ActiveRecord::Migration
|
|
167
170
|
end
|
168
171
|
end
|
169
172
|
end
|
173
|
+
# rubocop:enable Metrics/LineLength
|
174
|
+
# rubocop:enable Metrics/MethodLength
|
175
|
+
# rubocop:enable Metrics/ClassLength
|
data/db/seeds.rb
CHANGED
@@ -44,10 +44,7 @@ module Thredded
|
|
44
44
|
end
|
45
45
|
|
46
46
|
def create_first_user
|
47
|
-
@user ||=
|
48
|
-
::User.first ||
|
49
|
-
::User.create(name: 'Joe', email: 'joe@example.com')
|
50
|
-
end
|
47
|
+
@user ||= ::User.first || ::User.create(name: 'Joe', email: 'joe@example.com')
|
51
48
|
end
|
52
49
|
|
53
50
|
def create_users(count: 5)
|
@@ -1,4 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
# rubocop:disable Metrics/MethodLength
|
3
|
+
# rubocop:disable Metrics/LineLength
|
2
4
|
class UpgradeV02ToV03 < ActiveRecord::Migration
|
3
5
|
def up
|
4
6
|
remove_index :thredded_notification_preferences, name: :index_thredded_notification_preferences_on_messageboard_id
|
@@ -57,3 +59,5 @@ class UpgradeV02ToV03 < ActiveRecord::Migration
|
|
57
59
|
remove_column :thredded_user_preferences, :notify_on_message
|
58
60
|
end
|
59
61
|
end
|
62
|
+
# rubocop:enable Metrics/LineLength
|
63
|
+
# rubocop:enable Metrics/MethodLength
|
data/heroku.gemfile
CHANGED
data/heroku.gemfile.lock
CHANGED
@@ -17,7 +17,7 @@ GIT
|
|
17
17
|
PATH
|
18
18
|
remote: .
|
19
19
|
specs:
|
20
|
-
thredded (0.3.
|
20
|
+
thredded (0.3.2)
|
21
21
|
active_record_union (>= 1.1.1)
|
22
22
|
autoprefixer-rails
|
23
23
|
autosize-rails
|
@@ -103,7 +103,7 @@ GEM
|
|
103
103
|
coffee-script-source
|
104
104
|
execjs
|
105
105
|
coffee-script-source (1.10.0)
|
106
|
-
concurrent-ruby (1.0.
|
106
|
+
concurrent-ruby (1.0.2)
|
107
107
|
crass (1.0.2)
|
108
108
|
dalli (2.7.6)
|
109
109
|
db_text_search (0.2.0)
|
@@ -131,8 +131,9 @@ GEM
|
|
131
131
|
html-pipeline-youtube (0.1.2)
|
132
132
|
html-pipeline (~> 2.0)
|
133
133
|
htmlentities (4.3.4)
|
134
|
+
http_accept_language (2.0.5)
|
134
135
|
i18n (0.7.0)
|
135
|
-
inline_svg (0.
|
136
|
+
inline_svg (0.7.0)
|
136
137
|
activesupport (>= 4.0.4)
|
137
138
|
loofah (>= 2.0)
|
138
139
|
nokogiri (~> 1.6)
|
@@ -155,7 +156,7 @@ GEM
|
|
155
156
|
mime-types-data (3.2016.0221)
|
156
157
|
mini_portile2 (2.0.0)
|
157
158
|
minitest (5.8.4)
|
158
|
-
multi_json (1.
|
159
|
+
multi_json (1.12.0)
|
159
160
|
newrelic_rpm (3.15.2.317)
|
160
161
|
nio4r (1.2.1)
|
161
162
|
nokogiri (1.6.7.2)
|
@@ -193,6 +194,9 @@ GEM
|
|
193
194
|
rails-deprecated_sanitizer (>= 1.0.1)
|
194
195
|
rails-html-sanitizer (1.0.3)
|
195
196
|
loofah (~> 2.0)
|
197
|
+
rails-i18n (4.0.2)
|
198
|
+
i18n (~> 0.6)
|
199
|
+
rails (>= 4.0)
|
196
200
|
rails-timeago (2.13.0)
|
197
201
|
actionpack (>= 3.1)
|
198
202
|
activesupport (>= 3.1)
|
@@ -212,7 +216,7 @@ GEM
|
|
212
216
|
ref (2.0.0)
|
213
217
|
request_store (1.3.1)
|
214
218
|
rinku (1.7.3)
|
215
|
-
rollbar (2.
|
219
|
+
rollbar (2.11.1)
|
216
220
|
multi_json
|
217
221
|
sanitize (4.0.1)
|
218
222
|
crass (~> 1.0.2)
|
@@ -260,6 +264,7 @@ DEPENDENCIES
|
|
260
264
|
dalli
|
261
265
|
factory_girl_rails
|
262
266
|
faker (>= 1.6.2)
|
267
|
+
http_accept_language
|
263
268
|
jquery-turbolinks
|
264
269
|
kaminari!
|
265
270
|
newrelic_rpm
|
@@ -267,6 +272,7 @@ DEPENDENCIES
|
|
267
272
|
puma
|
268
273
|
rack-canonical-host
|
269
274
|
rails (~> 5.0.0.beta4)
|
275
|
+
rails-i18n
|
270
276
|
rails_email_preview (>= 1.0.3)
|
271
277
|
rollbar
|
272
278
|
therubyracer
|
@@ -277,4 +283,4 @@ RUBY VERSION
|
|
277
283
|
ruby 2.3.1p112
|
278
284
|
|
279
285
|
BUNDLED WITH
|
280
|
-
1.12.
|
286
|
+
1.12.1
|
data/lib/thredded/engine.rb
CHANGED
@@ -19,10 +19,8 @@ module Thredded
|
|
19
19
|
Thredded.user_class.send(:include, Thredded::UserExtender)
|
20
20
|
end
|
21
21
|
|
22
|
-
|
23
|
-
|
24
|
-
::Thredded::ApplicationController.helper ::Thredded::MainAppRouteDelegator
|
25
|
-
end
|
22
|
+
# Delegate all main_app routes to allow calling them directly.
|
23
|
+
::Thredded::ApplicationController.helper ::Thredded::MainAppRouteDelegator
|
26
24
|
end
|
27
25
|
|
28
26
|
initializer 'thredded.setup_assets' do
|
@@ -20,16 +20,15 @@ module Thredded
|
|
20
20
|
keyword_scan = @query.scan(regex)
|
21
21
|
@query = @query.gsub(regex, '')
|
22
22
|
|
23
|
-
|
24
|
-
|
25
|
-
|
23
|
+
next unless keyword_scan.present?
|
24
|
+
keyword_scan.each do |term|
|
25
|
+
keyword_term = term.delete(' ').split(':')
|
26
26
|
|
27
|
-
|
28
|
-
|
29
|
-
end
|
30
|
-
|
31
|
-
found_terms_hash[keyword] << keyword_term[1]
|
27
|
+
if found_terms_hash[keyword].nil?
|
28
|
+
found_terms_hash[keyword] = []
|
32
29
|
end
|
30
|
+
|
31
|
+
found_terms_hash[keyword] << keyword_term[1]
|
33
32
|
end
|
34
33
|
end
|
35
34
|
|
data/lib/thredded/version.rb
CHANGED
data/thredded.gemspec
CHANGED
@@ -15,7 +15,7 @@ Gem::Specification.new do |s|
|
|
15
15
|
s.description = 'A messageboard engine for Rails 4.2+ apps'
|
16
16
|
|
17
17
|
s.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(spec|script)/|^\.}) } -
|
18
|
-
|
18
|
+
%w(Dockerfile docker-compose.yml Rakefile Gemfile shared.gemfile)
|
19
19
|
|
20
20
|
# backend
|
21
21
|
s.add_dependency 'bbcoder', '~> 1.0'
|
@@ -59,6 +59,8 @@ Gem::Specification.new do |s|
|
|
59
59
|
s.add_development_dependency 'test-unit'
|
60
60
|
|
61
61
|
# dummy app dependencies
|
62
|
+
s.add_development_dependency 'rails-i18n'
|
63
|
+
s.add_development_dependency 'http_accept_language'
|
62
64
|
s.add_development_dependency 'mysql2'
|
63
65
|
s.add_development_dependency 'pg'
|
64
66
|
s.add_development_dependency 'sqlite3'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: thredded
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joel Oliveira
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-05-
|
12
|
+
date: 2016-05-04 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bbcoder
|
@@ -473,6 +473,34 @@ dependencies:
|
|
473
473
|
- - ">="
|
474
474
|
- !ruby/object:Gem::Version
|
475
475
|
version: '0'
|
476
|
+
- !ruby/object:Gem::Dependency
|
477
|
+
name: rails-i18n
|
478
|
+
requirement: !ruby/object:Gem::Requirement
|
479
|
+
requirements:
|
480
|
+
- - ">="
|
481
|
+
- !ruby/object:Gem::Version
|
482
|
+
version: '0'
|
483
|
+
type: :development
|
484
|
+
prerelease: false
|
485
|
+
version_requirements: !ruby/object:Gem::Requirement
|
486
|
+
requirements:
|
487
|
+
- - ">="
|
488
|
+
- !ruby/object:Gem::Version
|
489
|
+
version: '0'
|
490
|
+
- !ruby/object:Gem::Dependency
|
491
|
+
name: http_accept_language
|
492
|
+
requirement: !ruby/object:Gem::Requirement
|
493
|
+
requirements:
|
494
|
+
- - ">="
|
495
|
+
- !ruby/object:Gem::Version
|
496
|
+
version: '0'
|
497
|
+
type: :development
|
498
|
+
prerelease: false
|
499
|
+
version_requirements: !ruby/object:Gem::Requirement
|
500
|
+
requirements:
|
501
|
+
- - ">="
|
502
|
+
- !ruby/object:Gem::Version
|
503
|
+
version: '0'
|
476
504
|
- !ruby/object:Gem::Dependency
|
477
505
|
name: mysql2
|
478
506
|
requirement: !ruby/object:Gem::Requirement
|
@@ -768,7 +796,6 @@ files:
|
|
768
796
|
- app/views/thredded/shared/_header.html.erb
|
769
797
|
- app/views/thredded/shared/_nav.html.erb
|
770
798
|
- app/views/thredded/shared/_page.html.erb
|
771
|
-
- app/views/thredded/shared/_time_ago.html.erb
|
772
799
|
- app/views/thredded/shared/nav/_notification_preferences.html.erb
|
773
800
|
- app/views/thredded/shared/nav/_private_topics.html.erb
|
774
801
|
- app/views/thredded/shared/nav/_standalone.html.erb
|
@@ -831,7 +858,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
831
858
|
version: '0'
|
832
859
|
requirements: []
|
833
860
|
rubyforge_project:
|
834
|
-
rubygems_version: 2.
|
861
|
+
rubygems_version: 2.5.1
|
835
862
|
signing_key:
|
836
863
|
specification_version: 4
|
837
864
|
summary: A messageboard engine
|