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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 358dd1188f8fd6dee1e76a84629beb8f0b9239f89376d1c4fd2fa5149c6ae775
4
- data.tar.gz: 4471af331192b23ee21c61c81ffdd9de3845945cbd94abe1d54d17d9ec4501ba
3
+ metadata.gz: ba4cadaa2099f0cc5a55214ef84d76676ad9782c6b36a41bcaee6f39c7845505
4
+ data.tar.gz: ee6855f524211c2a77f17b962b6344553b6d92d1910610f1b3c9fe92908be0ef
5
5
  SHA512:
6
- metadata.gz: b1161172295e2bf596d4e24dce0dd6cf279ca5786f397706be2cd9f3f136dd8e9244e06614c6859ff2b5f6130bf71fbe84eeadbd8f63cc89abb03e6c46897a78
7
- data.tar.gz: 1fe64fadca2ace91a8489da9f5290638d97fdd5f70da1313cf23cd6199f50575d72e3203eb6b1c0733f96d5f6c6a7e2f586515d94b57cf49fb416ac12969d0de
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.each do |tp_list_item|
13
- _cache_tp_place(tp_list_item, interest)
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(tp_list_item, interest)
18
- interest = interest.to_sym
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: WdwSources::TouringplansAttraction,
21
- dining: WdwSources::TouringplansDiningVenue,
22
- hotels: WdwSources::TouringplansHotel
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: tp_list_item.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
- tp_item_full_record = Touringplans.show(tp_list_item.venue_permalink,interest, tp_list_item.permalink)
29
- cache_item.update!(tp_item_full_record.to_h)
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
@@ -0,0 +1,5 @@
1
+ class AddThemeparksIdToWdwSourcesTouringplansAttractions < ActiveRecord::Migration[6.1]
2
+ def change
3
+ add_column :wdw_sources_touringplans_attractions, :themeparks_id, :text
4
+ end
5
+ end
@@ -0,0 +1,2 @@
1
+ # caches all of the hotels from touringplans.com
2
+ WdwSources::TouringplansUpdate.sync_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
+
@@ -1,3 +1,3 @@
1
1
  module WdwSources
2
- VERSION = '0.1.4'
2
+ VERSION = '0.2.1'
3
3
  end
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
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-10-26 00:00:00.000000000 Z
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