thredded 0.3.1 → 0.3.2
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.
- 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
|