wdw_sources 0.1.3 → 0.2.0

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: ffcfd493de0ddaff4efd017fb5600e29496d55407b7f84e7154be689f0600afc
4
- data.tar.gz: f67879da13edeb772b77676c96a2fb1d9a45e0d697b1211e0cacffdabd6b85fb
3
+ metadata.gz: 5e8259f351928fa508c0c94707966067a4540bec91dbb68a08156aec34568a16
4
+ data.tar.gz: 30ec2127ad8cc0f30b711a84bf7044bcfbca7cd839a3ecf00952fa42472fd1a6
5
5
  SHA512:
6
- metadata.gz: 68c66acfe5dc2ea4a25136b473f7e20105cec50f675ceb6ea7fec50f92e45b73c420722d6333ca68b0d970c1ca4ba18527ac010f6c4907253abe1f793bff287c
7
- data.tar.gz: b410ecf498b341743636aaef0c3bfbc885751ddcdda4b62d17185867458caedd680714a2328d0b13c8e1b2573ff7f549fa8ff7d9b939ab1f2f743e063aec9526
6
+ metadata.gz: 3ca24acd279437a79e6a9516b9450df754cdbd0279aec4a37df8958b5c3685308045a117a167ddd3c103c12fc9444c25fb64b615d77cabc2c83701d038ac7526
7
+ data.tar.gz: 323a3f327c5083ec78af628f3244812276142a142fe2354b1edf61b0651f480fc383a095579f3a3d5d291482799da016150ef029b1ce6032dd5b2cd1c5f8ffc6
@@ -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,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')
@@ -7,15 +7,11 @@ require 'rails/generators/base'
7
7
  module WdwSources
8
8
  module Generators
9
9
  class InstallGenerator < Rails::Generators::Base
10
+ def install
11
+ run "bundle install"
12
+ rake "wdw_sources:install:migrations"
13
+ rake "db:migrate"
14
+ end
10
15
  end
11
16
  end
12
- class InstallGenerator < Rails::Generator::Base
13
- def install
14
- run "bundle install"
15
- rake "wdw_sources:install:migrations"
16
- rake "db:migrate"
17
- end
18
-
19
- end
20
-
21
17
  end
@@ -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.3'
2
+ VERSION = '0.2.0'
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.3
4
+ version: 0.2.0
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-25 00:00:00.000000000 Z
11
+ date: 2021-10-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -113,6 +113,8 @@ 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/seeds.rb
117
+ - db/seeds/touringplans_hotels.rb
116
118
  - lib/generators/wdw_sources/install/install_generator.rb
117
119
  - lib/tasks/wdw_sources_tasks.rake
118
120
  - lib/wdw_sources.rb