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 +7 -0
- data/lib/buzz_feed/client.rb +6 -6
- data/lib/buzz_feed/version.rb +1 -1
- data/lib/buzz_feed.rb +1 -1
- data/lib/generators/templates/initializer.rb +5 -4
- data/lib/tasks/buzz_feed.rake +13 -0
- metadata +4 -3
data/README.rdoc
CHANGED
data/lib/buzz_feed/client.rb
CHANGED
@@ -10,19 +10,19 @@ module BuzzFeed
|
|
10
10
|
end
|
11
11
|
|
12
12
|
# Returns data of a service.
|
13
|
-
def self.read(
|
14
|
-
read_blogspot(BuzzFeed.config['service'][
|
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(
|
19
|
-
fresh_data = self.read(
|
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=?',
|
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 =>
|
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
|
data/lib/buzz_feed/version.rb
CHANGED
data/lib/buzz_feed.rb
CHANGED
@@ -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
|
-
|
13
|
-
BuzzFeed::Client.
|
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:
|
4
|
+
hash: 31
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.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
|