buzz_feed 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
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