Skip to content

Commit

Permalink
Sync venues with events
Browse files Browse the repository at this point in the history
  • Loading branch information
pdougall1 committed Sep 8, 2015
1 parent 098e107 commit 3f32da0
Show file tree
Hide file tree
Showing 4 changed files with 41 additions and 11 deletions.
1 change: 1 addition & 0 deletions app/models/event.rb
@@ -1,2 +1,3 @@
class Event < ActiveRecord::Base
belongs_to :venue
end
10 changes: 5 additions & 5 deletions app/models/events_syncer.rb
Expand Up @@ -6,11 +6,11 @@ def self.sync

def sync
parsed_events.each do |parsed_event|
find_by_params = meetup_id: parsed_event.meetup_id
Event.find_or_create_by(find_by_params) do |event|
event.update_attributes!(parsed_event.to_hash)
event.save
end
parsed_venue = parsed_event.venue
venue = Venue.find_or_create_by(uid: parsed_venue.uid)
event = Event.find_or_create_by(meetup_id: parsed_event.meetup_id)
venue.update_attributes!(parsed_venue.to_hash)
event.update_attributes!(parsed_event.to_hash.merge(venue_id: venue.id))
end
end

Expand Down
7 changes: 1 addition & 6 deletions app/models/parsers/event.rb
Expand Up @@ -2,7 +2,7 @@ module Parsers
class Event
include LazyDoc::DSL

access :venue
access :venue, as: Venue
access :yes_rsvp_count
access :id
access :name
Expand All @@ -16,10 +16,6 @@ def initialize(json)
lazily_embed(json)
end

def serialized_venue
JSON.dump(venue)
end

def meetup_id
id
end
Expand All @@ -38,7 +34,6 @@ def to_hash
meetup_id: meetup_id,
originally_created_at: originally_created_at,
starts_at: starts_at,
serialized_venue: serialized_venue,
yes_rsvp_count: yes_rsvp_count,
name: name,
event_url: event_url,
Expand Down
34 changes: 34 additions & 0 deletions app/models/parsers/venue.rb
@@ -0,0 +1,34 @@
module Parsers
class Venue
include LazyDoc::DSL

access :country
access :city
access :address_1
access :name
access :lon
access :lat
access :repinned

def initialize(json)
lazily_embed(json)
end

def uid
"#{country}_#{city}_#{address_1}_#{name}"
end

def to_hash
{
country: country,
city: city,
address_1: address_1,
name: name,
lon: lon,
lat: lat,
repinned: repinned,
uid: uid
}
end
end
end

0 comments on commit 3f32da0

Please sign in to comment.