66 lines
2.5 KiB
Ruby
66 lines
2.5 KiB
Ruby
Rails.application.routes.draw do
|
|
|
|
locales = Site.first.in_use_locales rescue I18n.available_locales
|
|
Thread.new do
|
|
begin
|
|
if ENV['worker_num']=='0' && File.basename($0) != 'rake' && !Rails.const_defined?('Console')
|
|
trans = {}
|
|
locales.each do |locale|
|
|
locale = locale.to_s
|
|
trans[locale] = {}
|
|
I18n.with_locale(locale) do
|
|
trans[locale]['top'] = I18n.t(:top)
|
|
trans[locale]['hot'] = I18n.t(:hot)
|
|
trans[locale]['more_plus'] = I18n.t("feed.more")
|
|
end
|
|
end
|
|
SiteFeedAnnc.where(:feed_id.nin=>SiteFeed.all.pluck(:id)).destroy
|
|
SiteFeed.each do |site_feed|
|
|
count = SiteFeedAnnc.where(feed_id: site_feed.id).count
|
|
if count>1
|
|
SiteFeedAnnc.where(feed_id: site_feed.id).limit(count-1).destroy
|
|
end
|
|
tmp = SiteFeedAnnc.where(feed_id: site_feed.id).first
|
|
if site_feed.disabled != true
|
|
if tmp.nil?
|
|
tmp = SiteFeedAnnc.new(feed_id: site_feed.id)
|
|
end
|
|
tmp[:feed_name] = site_feed[:feed_name]
|
|
tmp.merge_with_category = site_feed.merge_with_category
|
|
tmp.channel_key = site_feed.channel_key
|
|
tmp.category_title = site_feed.category[:title] rescue {}
|
|
tmp.remote_site_url = site_feed.remote_site_url
|
|
tmp.channel_title = site_feed.channel_title_for_cache
|
|
tmp.all_contents_for_feed = tmp.cache_annc(false,locales,trans)
|
|
tmp.save
|
|
elsif !tmp.nil?
|
|
tmp.destroy
|
|
end
|
|
end
|
|
SiteFeedAnnc.create_indexes
|
|
end
|
|
rescue => e
|
|
puts ['feed_routes',e]
|
|
end
|
|
end
|
|
scope "(:locale)", locale: Regexp.new(locales.join("|")) do
|
|
namespace :admin do
|
|
get "/feeds/get_channel_list", to: 'feeds#get_channel_list'
|
|
get "/feeds/get_feed_list", to: 'feeds#get_feed_list'
|
|
get "/feeds/get_category_list", to: 'feeds#get_category_list'
|
|
post "/feeds/subscribe", to: 'feeds#subscribe'
|
|
post "/feeds/unsubscribe", to: 'feeds#unsubscribe'
|
|
post "/feeds/disable", to: 'feeds#disable'
|
|
post "/feeds/channel_title", to: 'feeds#channel_title'
|
|
resources :feeds,only: ['new','index']
|
|
get '/feeds/settings' => 'feeds#settings'
|
|
patch '/feeds/update_settings' => 'feeds#update_settings'
|
|
get '/feeds/announcements' => 'feeds#announcements'
|
|
post '/feeds/process_annc' => 'feeds#process_annc'
|
|
get '/feeds/annc_content' => 'feeds#annc_content'
|
|
post "/feeds/force_refresh", to: 'feeds#force_refresh'
|
|
end
|
|
end
|
|
|
|
end
|