diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2016-09-18 12:28:49 +0200 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2016-09-18 12:28:49 +0200 |
commit | adffc7a49527d816f95e34268ebf196d9f020579 (patch) | |
tree | 1ed7992d34ed855168bfe8e3dd69290b25d8d520 | |
parent | bf4ee145f907f311c686c69ac28f006c8a4735af (diff) |
Fix #43
-rw-r--r-- | app/controllers/api/accounts_controller.rb | 2 | ||||
-rw-r--r-- | app/controllers/api/statuses_controller.rb | 8 | ||||
-rw-r--r-- | app/services/process_feed_service.rb | 3 | ||||
-rw-r--r-- | spec/services/process_feed_service_spec.rb | 6 |
4 files changed, 12 insertions, 7 deletions
diff --git a/app/controllers/api/accounts_controller.rb b/app/controllers/api/accounts_controller.rb index 4a4431b2d..1a19ae43e 100644 --- a/app/controllers/api/accounts_controller.rb +++ b/app/controllers/api/accounts_controller.rb @@ -15,7 +15,7 @@ class Api::AccountsController < ApiController end def statuses - @statuses = @account.statuses.with_includes.with_counters.paginate_by_max_id(20, params[:max_id] || nil) + @statuses = @account.statuses.with_includes.with_counters.paginate_by_max_id(20, params[:max_id] || nil).to_a end def follow diff --git a/app/controllers/api/statuses_controller.rb b/app/controllers/api/statuses_controller.rb index 90e78a542..a4b183ef1 100644 --- a/app/controllers/api/statuses_controller.rb +++ b/app/controllers/api/statuses_controller.rb @@ -8,8 +8,8 @@ class Api::StatusesController < ApiController def context @status = Status.find(params[:id]) - @ancestors = @status.ancestors.with_includes.with_counters - @descendants = @status.descendants.with_includes.with_counters + @ancestors = @status.ancestors.with_includes.with_counters.to_a + @descendants = @status.descendants.with_includes.with_counters.to_a end def create @@ -28,10 +28,10 @@ class Api::StatusesController < ApiController end def home - @statuses = Feed.new(:home, current_user.account).get(20, params[:max_id]) + @statuses = Feed.new(:home, current_user.account).get(20, params[:max_id]).to_a end def mentions - @statuses = Feed.new(:mentions, current_user.account).get(20, params[:max_id]) + @statuses = Feed.new(:mentions, current_user.account).get(20, params[:max_id]).to_a end end diff --git a/app/services/process_feed_service.rb b/app/services/process_feed_service.rb index e0b857482..5fde19547 100644 --- a/app/services/process_feed_service.rb +++ b/app/services/process_feed_service.rb @@ -129,7 +129,8 @@ class ProcessFeedService < BaseService account = follow_remote_account_service.("#{username}@#{domain}", false) end - Status.new(account: account, uri: target_id(xml), text: target_content(xml), url: target_url(xml)) + status = Status.new(account: account, uri: target_id(xml), text: target_content(xml), url: target_url(xml), created_at: published(xml), updated_at: updated(xml)) + status.thread = find_original_status(xml, thread_id(xml)) rescue Goldfinger::Error, HTTP::Error nil end diff --git a/spec/services/process_feed_service_spec.rb b/spec/services/process_feed_service_spec.rb index 858053823..2144c0221 100644 --- a/spec/services/process_feed_service_spec.rb +++ b/spec/services/process_feed_service_spec.rb @@ -4,5 +4,9 @@ RSpec.describe ProcessFeedService do subject { ProcessFeedService.new } it 'updates remote user\'s account information' - it 'creates local copies of all notes and comments' + it 'creates posts' + it 'creates reblogs' + it 'creates replies' + it 'creates reblogged replies' + it 'deletes removed posts' end |