This commit is contained in:
parent
e7641b87d6
commit
b23374e737
8 changed files with 29 additions and 53 deletions
|
|
@ -86,11 +86,11 @@ body {
|
|||
|
||||
.site-config__required {
|
||||
background: #dc3545;
|
||||
border-radius: 19px;
|
||||
padding: 5px 15px;
|
||||
color: white;
|
||||
text-align: right;
|
||||
margin-left: 10px;
|
||||
border-radius: 19px;
|
||||
padding: 5px 15px;
|
||||
color: white;
|
||||
text-align: right;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.site-config__label {
|
||||
|
|
|
|||
|
|
@ -38,9 +38,7 @@ export class SaveButton extends Component {
|
|||
<button
|
||||
type="button"
|
||||
className={`crayons-btn crayons-btn--s ${
|
||||
isBookmarked
|
||||
? 'crayons-btn--ghost-dimmed'
|
||||
: 'crayons-btn--secondary'
|
||||
isBookmarked ? 'crayons-btn--ghost-dimmed' : 'crayons-btn--secondary'
|
||||
}`}
|
||||
data-initial-feed
|
||||
data-reactable-id={article.id}
|
||||
|
|
|
|||
|
|
@ -32,7 +32,6 @@ class RssReader
|
|||
def create_articles_for_user(user)
|
||||
user.update_column(:feed_fetched_at, Time.current)
|
||||
feed = fetch_rss(user.feed_url.strip)
|
||||
return [] unless feed.url
|
||||
|
||||
articles = []
|
||||
|
||||
|
|
|
|||
|
|
@ -2,13 +2,14 @@
|
|||
<article class="crayons-card grid p-6 mb-6 gap-1">
|
||||
<%= form_for [:admin, ProfileField.new], html: { class: "inline-form" } do |form| %>
|
||||
<%= render "group_form",
|
||||
form: form,
|
||||
select_option_tags: options_for_select(ProfileField.distinct.pluck(:group)),
|
||||
select_options: {
|
||||
include_blank: "Choose an existing group",
|
||||
class: "form-control selectpicker profile__group-dropdown"
|
||||
},
|
||||
toggle_text: "or create a new group" %>
|
||||
form: form,
|
||||
select_option_tags: options_for_select(ProfileField.distinct.pluck(:group)),
|
||||
select_options: {
|
||||
include_blank: "Choose an existing group",
|
||||
class: "form-control selectpicker profile__group-dropdown"
|
||||
},
|
||||
toggle_text: "or create a new group"
|
||||
%>
|
||||
<div class="form-group">
|
||||
<%= render "form", form: form %>
|
||||
<%= form.submit "Create New Profile Field", class: "btn btn-primary" %>
|
||||
|
|
@ -42,13 +43,14 @@
|
|||
<div class="form-group grid p-6 mb-6 gap-1">
|
||||
<%= form_for [:admin, field] do |form| %>
|
||||
<%= render "group_form",
|
||||
form: form,
|
||||
select_option_tags: options_for_select(ProfileField.distinct.pluck(:group), selected: field[:group]),
|
||||
select_options: {
|
||||
class: "form-control selectpicker profile__group-dropdown"
|
||||
},
|
||||
toggle_text: "or create a new group" %>
|
||||
<%= render "form", form: form %>
|
||||
form: form,
|
||||
select_option_tags: options_for_select(ProfileField.distinct.pluck(:group), selected: field[:group]),
|
||||
select_options: {
|
||||
class: "form-control selectpicker profile__group-dropdown"
|
||||
},
|
||||
toggle_text: "or create a new group"
|
||||
%>
|
||||
<%= render "form", form: form %>
|
||||
<%= form.submit class: "btn btn-primary" %>
|
||||
<% end %>
|
||||
<%= button_to "Delete Profile Field", admin_profile_field_path(field), data: { confirm: "Are you sure?" }, method: :delete, class: "btn btn-secondary" %>
|
||||
|
|
|
|||
|
|
@ -1,12 +0,0 @@
|
|||
module Articles
|
||||
class RssReaderWorker
|
||||
include Sidekiq::Worker
|
||||
|
||||
sidekiq_options queue: :medium_priority, retry: 10
|
||||
|
||||
def perform
|
||||
# don't force fetch. Fetch "random" subset instead of all of them.
|
||||
RssReader.get_all_articles(force: false)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -1,6 +1,3 @@
|
|||
fetch_all_rss:
|
||||
cron: "20 * * * *" # every hour, 20 min after the hour
|
||||
class: "Articles::RssReaderWorker"
|
||||
log_worker_queue_stats:
|
||||
cron: "*/10 * * * *" # every 10 minutes
|
||||
class: "Metrics::RecordBackgroundQueueStatsWorker"
|
||||
|
|
|
|||
7
lib/tasks/fetch.rake
Normal file
7
lib/tasks/fetch.rake
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
desc "This task is called by the Heroku scheduler add-on"
|
||||
|
||||
task fetch_all_rss: :environment do
|
||||
Rails.application.eager_load!
|
||||
|
||||
RssReader.get_all_articles(force: false) # don't force fetch. Fetch "random" subset instead of all of them.
|
||||
end
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
require "rails_helper"
|
||||
|
||||
RSpec.describe Articles::RssReaderWorker, type: :worker do
|
||||
let(:worker) { subject }
|
||||
|
||||
include_examples "#enqueues_on_correct_queue", "medium_priority"
|
||||
|
||||
describe "#perform" do
|
||||
it "updates RssReader articles" do
|
||||
allow(RssReader).to receive(:get_all_articles)
|
||||
worker.perform
|
||||
expect(RssReader).to have_received(:get_all_articles).with(force: false)
|
||||
end
|
||||
end
|
||||
end
|
||||
Loading…
Add table
Reference in a new issue