* Add new UpdateMainImageBackgroundHexWorker worker class
This is a port of app/jobs/update_main_image_background_job.rb
that works with Sidekiq instead of DelayedJob.
* Update all references to UpdateMainImageBackgroundHexJob
This updates all references to UpdateMainImageBackgroundHexJob
so they now call UpdateMainImageBackgroundHexWorker, which works
with Sidekiq instead of DelayedJob.
* Move method call to after_commit callback
* Fix article specs with sidekiq helpers
Co-authored-by: Alex <alexandersmith223@gmail.com>
* Create Articles::ScoreCalcWorker
* Create Articles::ScoreCalcWorker spec
* Update references to the new ScoreCalcWorker
* Refactoring conditional callbacks and biz logic
- Move update_columns to a model method
- Move conditions on callback to guard clause in callback method
- Make article_destroy_spec more explicit
* Fix article description issues
* Move tag info to decorator
* Fix description edge cases
* Fix description creation logic
* Fix test and adjust naming
* Modify line in processed_description
* Create RemoveFromIndexWorker
* Create spec for RemoveFromIndexWorker
* Update RemoveFromIndexJob to RemoveFromIndexWorker
- Update references from the job to the new worker
- Update specs to use the new worker
- Fix spec in comment_spec that causes linter/RuboCop violation
* Remove unnecessary argument nil check
* Update spec for missing data
* Add test sampler
* Use let! and let_it_be for article_spec.rb
* Regroup and restructure expectations and tests
* Move private methods in private
* Decrease the needed objects in .seo_boostable test
* Re-use the user
* Newlined
* Run Inspecting 1050 files
....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C.....................................................................................................................................................................................................................................................................................................
Offenses:
spec/models/article_spec.rb:195:7: C: RSpec/NestedGroups: Maximum example group nesting exceeded [4/3]. (http://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/NestedGroups)
context "when description is empty" do
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1050 files inspected, 1 offense detected to fix autofixable errors
* Refactor to correct test
it was braking the rule RSpec/NestedGroups: Maximum example group nesting exceeded [4/3]. (http://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/NestedGroups)
* Run `rubocop --auto-gen-config` to regenrate `.rubocop_todo.yml`
* Add ProMembership model
* Implement ProMembershipsController#create
* Implement basic ProMembershipsController#show
* Add ProMembership to ledger
* Populate user history after pro subscription is created
* Add fields for expiration notifications
* Add ProMemberships::ExpirationNotifier to notify users of expiring memberships
* Add tasks for recurring jobs to notify users of expiration
* Add auto_recharge column to ProMembership
* Add ProMemberships::Biller (incomplete)
* Fix specs
* Add ProMembership to Administrate
* Fix spec
* Add has_enough_credits? to User and Organization
* Add Payments::Customer class
* Finish ProMembership::Biller functionality
* Fix ProMemberships::Creator check for credits
* Disable destroy actions for ProMembershipsController
* Correctly authenticate ProMembershipsController actions
* Make sure only pro user's history can be indexed
* Add ProMembershipsController#update action for auto recharge
* Use regular AR to save new credits and add touch to the purchaser
* Clarify Pro membership create policy
* Display information about an existing pro membership
* Add UI to show page
* Add system test for Pro membership creation
* Implement edit membership
* Make sure users with pro memberships can access history and dashboard pro
* Fix padding issue
* Show a different text for a user that has credits but not enough for Pro
* Move Pro Membership functionality inside settings
* Update Pro Membership link in email notifications
* Bust all relevant caches
* Add the Pro checkmark around the website
* Use Users::ResaveArticlesJob instead of delay
* Add/remove user from pro-members chat channel
* Use the appropriate Pro checkmark
* Remove unfinished pro elements
* Remove checkmark JS
This commit increases the tag length from 20 to 30 chars and also increases the cached_tag_list length to maintain the limit of 4 tags. Specs were adapted to respect the changes.
* Add MVP of notification subscriptions
* Add rate limiting for notification subscriptions
* Show modal for logged out users on subscribe click
* Add enter key functionality for checkbox
* Add relationships for notification subscriptions
* Add model test for notification subscription
* Deprecated article mutes in favor of notification subscriptions
* Deprecated comment mutes in favor of notification subscriptions
* Move comment muting tests and logic over
* Merge comment and article muting into subscriptions
* Remove redundant check
* Use database to check for rate limit instead of cache
* Test for subscriptions handling notifications properly
* Fix notification model spec for subscriptions
* Fix tests for subscriptions
* Remove rate limiting
* Properly handle logged out users getting subscription status
* Fix test for new pattern
* Update reserved words
* Add config column to notification subscriptions
* Add logic for top level config and move tests
* Test for top level subscribers getting notified
* Fix logic mistake oops
* Add index and refactor comment_user_ids
* Add article decorator published_timestamp
* Use time HTML5 element and refactor date in partial
* Add published_timestamp to Article
Adding `published_timestamp` to the homepage we can then use JS to render the full timestamp localized for the user.
We've also added the timestamp to the index and the API
* Display article published timestamp on hover
* Use time also in the article show page
* Add timestamp to bottom articles as well
* Remove published_timestamp from index because it is not used
* Fix broken specs
* Add more article dates specs
* Refactor date initializers
The char "-" in regexp defaults a a separator for a range of character, for example: "a-z", Ruby is smart enough to understand "-_" is no range but it does emit a warning, by properly escaping the char "-" we ensure that no warning or issues can arise in the future.
* Add delayed_job_web to dev environment for debugging
* Add specs for the current Follow callbacks implementation
* Move follower touching to ActiveJob
* Spec for the touch followers job
* Move Follow#create_chat_channel to ActiveJob and make the job safe
* Add ActiveJob to send email notifications about follows
* Enqueue SendEmailNotificationJob after the follow is created
* Specs to wnsure jobs are enqueued on Follow creation
* Make CreateChatChannelJob queue name more specific
* Reaction specs for Reaction after_save callbacks logic
* Touch user job
* Call Users::TouchJob on reaction create
* Move updating reactable to a separate job
* Move busting reactable cache to a separate job
* Bust homepage cache after reaction save in a separate job
* Spec for enqueueing Users::TouchJob on reaction create
* Refactor Reactions::UpdateReactable job
* Fix observer spec
* Remove harsh video restriction and add video duration
* Fix video meta data and tests
* Modify video tests
* Rescue video duration fetch error
* Change log to puts in test
* fixed `ActiveRecord::NotFound` issue for articles, on article destroy
* extracted ActiveJobs from article callbacks
* added specs for article and reaction deletions