about summary refs log tree commit diff
path: root/app/lib
diff options
context:
space:
mode:
authorkibigo! <marrus-sh@users.noreply.github.com>2017-07-12 02:03:17 -0700
committerkibigo! <marrus-sh@users.noreply.github.com>2017-07-12 02:03:17 -0700
commit79d898ae0ad8c0e66bd63ec3e0904e9e5e7894e8 (patch)
treeee8d832ed2f11e9afe62daf0e586a86004eb8d98 /app/lib
parentbcf7ee48e94cd2e4d2de28e8854e7f0e2b5cad1f (diff)
parent056b5ed72f6d980bceeb49eb249b8365fe8fce66 (diff)
Merge upstream!! #64 <3 <3
Diffstat (limited to 'app/lib')
-rw-r--r--app/lib/feed_manager.rb4
-rw-r--r--app/lib/inline_rabl_scope.rb17
-rw-r--r--app/lib/inline_renderer.rb36
-rw-r--r--app/lib/user_settings_decorator.rb10
4 files changed, 39 insertions, 28 deletions
diff --git a/app/lib/feed_manager.rb b/app/lib/feed_manager.rb
index 1885eff26..35b18fa1b 100644
--- a/app/lib/feed_manager.rb
+++ b/app/lib/feed_manager.rb
@@ -38,9 +38,7 @@ class FeedManager
   end
 
   def trim(type, account_id)
-    return unless redis.zcard(key(type, account_id)) > FeedManager::MAX_ITEMS
-    last = redis.zrevrange(key(type, account_id), FeedManager::MAX_ITEMS - 1, FeedManager::MAX_ITEMS - 1)
-    redis.zremrangebyscore(key(type, account_id), '-inf', "(#{last.last}")
+    redis.zremrangebyrank(key(type, account_id), '0', (-(FeedManager::MAX_ITEMS + 1)).to_s)
   end
 
   def push_update_required?(timeline_type, account_id)
diff --git a/app/lib/inline_rabl_scope.rb b/app/lib/inline_rabl_scope.rb
deleted file mode 100644
index 26adcb03a..000000000
--- a/app/lib/inline_rabl_scope.rb
+++ /dev/null
@@ -1,17 +0,0 @@
-# frozen_string_literal: true
-
-class InlineRablScope
-  include RoutingHelper
-
-  def initialize(account)
-    @account = account
-  end
-
-  def current_user
-    @account.try(:user)
-  end
-
-  def current_account
-    @account
-  end
-end
diff --git a/app/lib/inline_renderer.rb b/app/lib/inline_renderer.rb
index 8e04ad1d5..7cd9758ec 100644
--- a/app/lib/inline_renderer.rb
+++ b/app/lib/inline_renderer.rb
@@ -1,13 +1,33 @@
 # frozen_string_literal: true
 
 class InlineRenderer
-  def self.render(status, current_account, template)
-    Rabl::Renderer.new(
-      template,
-      status,
-      view_path: 'app/views',
-      format: :json,
-      scope: InlineRablScope.new(current_account)
-    ).render
+  def initialize(object, current_account, template)
+    @object          = object
+    @current_account = current_account
+    @template        = template
+  end
+
+  def render
+    case @template
+    when :status
+      serializer = REST::StatusSerializer
+    when :notification
+      serializer = REST::NotificationSerializer
+    else
+      return
+    end
+
+    serializable_resource = ActiveModelSerializers::SerializableResource.new(@object, serializer: serializer, scope: current_user, scope_name: :current_user)
+    serializable_resource.as_json
+  end
+
+  def self.render(object, current_account, template)
+    new(object, current_account, template).render
+  end
+
+  private
+
+  def current_user
+    @current_account&.user
   end
 end
diff --git a/app/lib/user_settings_decorator.rb b/app/lib/user_settings_decorator.rb
index af264bbd5..e0e92b19d 100644
--- a/app/lib/user_settings_decorator.rb
+++ b/app/lib/user_settings_decorator.rb
@@ -18,9 +18,11 @@ class UserSettingsDecorator
     user.settings['notification_emails'] = merged_notification_emails
     user.settings['interactions'] = merged_interactions
     user.settings['default_privacy'] = default_privacy_preference
+    user.settings['default_sensitive'] = default_sensitive_preference
     user.settings['boost_modal'] = boost_modal_preference
     user.settings['delete_modal'] = delete_modal_preference
     user.settings['auto_play_gif'] = auto_play_gif_preference
+    user.settings['system_font_ui'] = system_font_ui_preference
   end
 
   def merged_notification_emails
@@ -35,6 +37,10 @@ class UserSettingsDecorator
     settings['setting_default_privacy']
   end
 
+  def default_sensitive_preference
+    boolean_cast_setting 'setting_default_sensitive'
+  end
+
   def boost_modal_preference
     boolean_cast_setting 'setting_boost_modal'
   end
@@ -43,6 +49,10 @@ class UserSettingsDecorator
     boolean_cast_setting 'setting_delete_modal'
   end
 
+  def system_font_ui_preference
+    boolean_cast_setting 'setting_system_font_ui'
+  end
+
   def auto_play_gif_preference
     boolean_cast_setting 'setting_auto_play_gif'
   end