buzz_feed 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.rdoc CHANGED
@@ -60,3 +60,10 @@ You can list all defined service names like this:
60
60
  data = BuzzFeed::Client.service_names.each do |name|
61
61
  puts name
62
62
  end
63
+
64
+ Rake tasks are also available:
65
+
66
+ rake buzz_feed:update_all
67
+ rake buzz_feed:update('smashingmagazine')
68
+
69
+
@@ -10,19 +10,19 @@ module BuzzFeed
10
10
  end
11
11
 
12
12
  # Returns data of a service.
13
- def self.read(name)
14
- read_blogspot(BuzzFeed.config['service'][name]['url'])
13
+ def self.read(service_name)
14
+ read_blogspot(BuzzFeed.config['service'][service_name]['url'])
15
15
  end
16
16
 
17
17
  # Updates the Buzz model with fresh links from the service.
18
- def self.update(name)
19
- fresh_data = self.read(name)
18
+ def self.update(service_name)
19
+ fresh_data = self.read(service_name)
20
20
  fresh_ids = fresh_data.map{|b| b[:id]}
21
- old_ids = Buzz.select('service_item_id').where('service_name=?', name).where('service_item_id in (?)', fresh_ids).all.map(&:service_item_id)
21
+ old_ids = Buzz.select('service_item_id').where('service_name=?', service_name).where('service_item_id in (?)', fresh_ids).all.map(&:service_item_id)
22
22
  new_ids = fresh_data.map{|b| b[:id]} - old_ids
23
23
 
24
24
  fresh_data.each do |buzz|
25
- Buzz.create(:title => buzz[:title], :service_name => name, :service_item_id => buzz[:id], :url => buzz[:url],
25
+ Buzz.create(:title => buzz[:title], :service_name => service_name, :service_item_id => buzz[:id], :url => buzz[:url],
26
26
  :created_at => buzz[:created_at]) unless new_ids.rindex(buzz[:id]).nil?
27
27
  end
28
28
  true
@@ -2,7 +2,7 @@ module BuzzFeed
2
2
  module Version
3
3
  MAJOR = 0
4
4
  MINOR = 1
5
- TINY = 1
5
+ TINY = 2
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
data/lib/buzz_feed.rb CHANGED
@@ -2,7 +2,7 @@ module BuzzFeed
2
2
 
3
3
  # Return the config yml
4
4
  def self.config
5
- @config ||= YAML.load_file(File.join(Rails.root, 'config', 'buzz_feed.yml'))[RAILS_ENV]
5
+ @config ||= YAML.load_file(File.join(Rails.root, 'config', 'buzz_feed.yml'))[Rails.env]
6
6
  end
7
7
 
8
8
  end
@@ -9,11 +9,12 @@ if !defined?(Rake) && !defined?(IRB) && Rails.env.to_s != 'development'
9
9
  Rufus::Scheduler.start_new.every '12h', :first_in => '60s', :blocking => true do |job|
10
10
  Rails.logger.info "[Rufus][#{Time.now}] BuzzFeed worker started."
11
11
 
12
- data = BuzzFeed::Client.service_names.each do |name|
13
- BuzzFeed::Client.update(name)
12
+ begin
13
+ BuzzFeed::Client.update_all
14
+ Rails.logger.info "[Rufus][#{Time.now}] BuzzFeed worker finished."
15
+ rescue
16
+ Rails.logger.info "[Rufus][#{Time.now}] BuzzFeed worker failed."
14
17
  end
15
-
16
- Rails.logger.info "[Rufus][#{Time.now}] BuzzFeed worker finished."
17
18
  end
18
19
 
19
20
  end
@@ -0,0 +1,13 @@
1
+ namespace :buzz_feed do
2
+
3
+ desc "Updates the Buzz model with fresh links from the service."
4
+ task :update, [:service_name] => :environment do |t, args|
5
+ BuzzFeed::Client.update(args.service_name)
6
+ end
7
+
8
+ desc "Updates the Buzz model with fresh links from all available services."
9
+ task :update_all => :environment do
10
+ BuzzFeed::Client.update_all
11
+ end
12
+
13
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: buzz_feed
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
4
+ hash: 31
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 1
10
- version: 0.1.1
9
+ - 2
10
+ version: 0.1.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Kristijan Sedlak
@@ -69,6 +69,7 @@ files:
69
69
  - lib/generators/templates/initializer.rb
70
70
  - lib/generators/templates/migration.rb
71
71
  - lib/initializers/worker.rb
72
+ - lib/tasks/buzz_feed.rake
72
73
  - test/buzz_feed_test.rb
73
74
  - test/test_helper.rb
74
75
  - README.rdoc