wdw_sources 0.1.4 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/models/wdw_sources/touringplans_update.rb +26 -10
- data/db/migrate/20211111214149_add_themeparks_id_to_wdw_sources_touringplans_attractions.rb +5 -0
- data/db/seeds/touringplans_hotels.rb +2 -0
- data/db/seeds.rb +15 -0
- data/lib/tasks/wdw_sources_tasks.rake +20 -0
- data/lib/wdw_sources/version.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ba4cadaa2099f0cc5a55214ef84d76676ad9782c6b36a41bcaee6f39c7845505
|
4
|
+
data.tar.gz: ee6855f524211c2a77f17b962b6344553b6d92d1910610f1b3c9fe92908be0ef
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: de05947095d5be0e9465eb2e3f540cb5a43a1dc88f023790454ae5857d267ab3529f9d0c9521ec4c1bc703e17ed12de0f7a3b97142504de3eccbc9c4129b5393
|
7
|
+
data.tar.gz: 7c2abb2080d9cf8535a539ab5412e190d9d19af42941c1fa85e48b65e75261ed647f1234249e057102af657463f0e741e3ceda74bd59fc62725e0112d415faa5
|
@@ -9,24 +9,40 @@ module WdwSources
|
|
9
9
|
def self.sync_all(interest)
|
10
10
|
|
11
11
|
tp_list = Touringplans.list_all(interest)
|
12
|
-
tp_list.
|
13
|
-
|
12
|
+
tp_list.each_with_index do |tp_list_item, index|
|
13
|
+
numerator = (index + 1).to_f
|
14
|
+
denominator = tp_list.length.to_f
|
15
|
+
percentage = (numerator / denominator * 100).round(2)
|
16
|
+
|
17
|
+
puts "#{tp_list_item.permalink} -- #{percentage}% of #{interest.to_s} synced"
|
18
|
+
|
19
|
+
tp_list_item_venue_permalink = tp_list_item.venue_permalink
|
20
|
+
tp_list_item_permalink = tp_list_item.permalink
|
21
|
+
|
22
|
+
_cache_tp_place(tp_list_item_venue_permalink, tp_list_item_permalink, interest)
|
14
23
|
end
|
15
24
|
end
|
16
25
|
|
17
|
-
def self._cache_tp_place(
|
18
|
-
|
26
|
+
def self._cache_tp_place(tp_list_item_venue_permalink, tp_list_item_permalink, interest)
|
27
|
+
return "Missing tp_list_item_venue_permalink" if tp_list_item_venue_permalink.to_s.length < 3
|
28
|
+
return "Missing tp_list_item_permalink" if tp_list_item_permalink.to_s.length < 3
|
29
|
+
return "Missing interest" if interest.to_s.length < 3
|
19
30
|
|
20
|
-
cache_resources = {attractions
|
21
|
-
dining
|
22
|
-
hotels
|
31
|
+
cache_resources = {"attractions" => WdwSources::TouringplansAttraction,
|
32
|
+
"dining" => WdwSources::TouringplansDiningVenue,
|
33
|
+
"hotels" => WdwSources::TouringplansHotel
|
23
34
|
}
|
24
35
|
|
25
36
|
cache_resource = cache_resources[interest]
|
26
|
-
cache_item = cache_resource.find_or_create_by(permalink:
|
37
|
+
cache_item = cache_resource.find_or_create_by(permalink: tp_list_item_permalink)
|
38
|
+
|
39
|
+
tp_item_full_record = Touringplans.show(tp_list_item_venue_permalink,interest, tp_list_item_permalink)
|
27
40
|
|
28
|
-
|
29
|
-
|
41
|
+
vp = {venue_permalink: tp_list_item_venue_permalink}
|
42
|
+
full_record_hash = vp.merge(tp_item_full_record.to_h)
|
43
|
+
cache_item.update!(full_record_hash)
|
44
|
+
# tp_item_full_record.to_h
|
45
|
+
cache_item
|
30
46
|
end
|
31
47
|
|
32
48
|
# def self.cache_all_hotels
|
data/db/seeds.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
# This file should contain all the record creation needed to seed the database with its default values.
|
2
|
+
# The data can then be loaded with the bin/rails db:seed command (or created alongside the database with db:setup).
|
3
|
+
#
|
4
|
+
# Examples:
|
5
|
+
#
|
6
|
+
# movies = Movie.create([{ name: 'Star Wars' }, { name: 'Lord of the Rings' }])
|
7
|
+
# Character.create(name: 'Luke', movie: movies.first)
|
8
|
+
require_relative "../app/models/wdw_sources/touringplans_update.rb"
|
9
|
+
# cache data from touringplans.com
|
10
|
+
puts "syncing attractions".upcase
|
11
|
+
WdwSources::TouringplansUpdate.sync_all('attractions')
|
12
|
+
puts "syncing dining".upcase
|
13
|
+
WdwSources::TouringplansUpdate.sync_all('dining')
|
14
|
+
puts "syncing hotels".upcase
|
15
|
+
WdwSources::TouringplansUpdate.sync_all('hotels')
|
@@ -2,3 +2,23 @@
|
|
2
2
|
# task :wdw_sources do
|
3
3
|
# # Task goes here
|
4
4
|
# end
|
5
|
+
namespace :db do
|
6
|
+
namespace :WdwSources do
|
7
|
+
desc "loads all seeds in db/seeds.rb"
|
8
|
+
task :seeds => :environment do
|
9
|
+
puts "Loading WdwSources db/seeds.rb"
|
10
|
+
WdwSources::Engine.load_seed
|
11
|
+
end
|
12
|
+
|
13
|
+
# namespace :seed do
|
14
|
+
# Dir[Rails.root.join('WdwSources', 'db', 'seeds', '*.rb')].each do |filename|
|
15
|
+
# task_name = File.basename(filename, '.rb')
|
16
|
+
# desc "Seed " task_name ", based on the file with the same name in `db/seeds/*.rb`"
|
17
|
+
# task task_name.to_sym => :environment do
|
18
|
+
# load(filename) if File.exist?(filename)
|
19
|
+
# end
|
20
|
+
# end
|
21
|
+
# end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
data/lib/wdw_sources/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wdw_sources
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- captproton
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-11-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -113,6 +113,9 @@ files:
|
|
113
113
|
- db/migrate/20211024225255_create_wdw_sources_touringplans_dining_venues.rb
|
114
114
|
- db/migrate/20211024225412_create_wdw_sources_touringplans_attractions.rb
|
115
115
|
- db/migrate/20211024225455_create_wdw_sources_touringplans_hotels.rb
|
116
|
+
- db/migrate/20211111214149_add_themeparks_id_to_wdw_sources_touringplans_attractions.rb
|
117
|
+
- db/seeds.rb
|
118
|
+
- db/seeds/touringplans_hotels.rb
|
116
119
|
- lib/generators/wdw_sources/install/install_generator.rb
|
117
120
|
- lib/tasks/wdw_sources_tasks.rake
|
118
121
|
- lib/wdw_sources.rb
|