docbrown/app/models/page_view.rb
Ben Halpern 31b83a4511
Remove concept of "ongoing" field tests and clarify a/b test instructions/expectations. (#11734)
* Remove concept of 'ongoing' field tests

* Fix specs

* Feeds spec

* Fix spec

* Fix style issues

* More details on field tests
2020-12-07 13:52:54 -05:00

38 lines
910 B
Ruby

class PageView < ApplicationRecord
belongs_to :user, optional: true
belongs_to :article
before_create :extract_domain_and_path
after_create_commit :record_field_test_event
private
def extract_domain_and_path
return unless referrer
parsed_url = Addressable::URI.parse(referrer)
self.domain = parsed_url.domain
self.path = parsed_url.path
end
def article_searchable_tags
article.cached_tag_list
end
def article_searchable_text
article.body_text[0..350]
end
def article_tags
article.decorate.cached_tag_list_array
end
def record_field_test_event
return unless user_id
Users::RecordFieldTestEventWorker
.perform_async(user_id, :follow_implicit_points, "user_views_article_four_days_in_week")
Users::RecordFieldTestEventWorker
.perform_async(user_id, :follow_implicit_points, "user_views_article_four_hours_in_day")
end
end