wdw_sources 0.1.4 → 0.2.1

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.
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