module GitFeedsHandler

Constants

GITHUB_URL

Public Class Methods

fetch_and_create_feeds_enrties(links) click to toggle source
# File lib/feedshub/feeds/git_feeds_handler.rb, line 15
def self.fetch_and_create_feeds_enrties(links)
  parse_links = links.dup
  feeds = Feedjira::Feed.fetch_and_parse(parse_links)
  links.each do |link|
    GitFeedsHandler.add_entries(feeds[link].entries)
  end
end
update_github_feeds() click to toggle source
# File lib/feedshub/feeds/git_feeds_handler.rb, line 23
def self.update_github_feeds
  links = if ENV['org_name']
    GitFeedsHandler.retrieve_org_members_links
  elsif ENV['user_name']
    ["#{GITHUB_URL}/#{ENV['user_name']}.atom"]
  end
  GitFeedsHandler.fetch_and_create_feeds_enrties links
end

Private Class Methods

add_entries(entries) click to toggle source
# File lib/feedshub/feeds/git_feeds_handler.rb, line 38
def self.add_entries(entries)
  entries.each do |entry|
    unless Feedshub::GithubFeedEntry.where(entry_id: entry.entry_id).first
      feed_entry = Feedshub::GithubFeedEntry.new
      feed_entry.entry_id = entry.entry_id
      feed_entry.published = entry.published
      feed_entry.updated = entry.updated
      feed_entry.url = entry.url
      feed_entry.title = entry.title
      feed_entry.author = entry.author
      feed_entry.content = GitFeedsHandler.process_content(entry.content)
      feed_entry.save!
    end
  end
end
process_content(content) click to toggle source
# File lib/feedshub/feeds/git_feeds_handler.rb, line 34
def self.process_content(content)
  content.gsub(/href="\//, "href=\"#{GITHUB_URL}/")
end