Skip to content

Instantly share code, notes, and snippets.

@pmarreck
Created July 23, 2012 19:13
Show Gist options
  • Save pmarreck/3165567 to your computer and use it in GitHub Desktop.
Save pmarreck/3165567 to your computer and use it in GitHub Desktop.
diff
- facebook_post = FacebookPost.new({:site_id => feed.site_id,
- :facebook_feed_id => feed.id,
- :facebook_user_id => facebook_user.id,
- :facebook_id => post.post_id,
- :sender_user_id => nil,
- :from_id => facebook_user.uid,
- :from_name => fb_actor.name,
- :message => (message ? CGI.unescapeHTML(message) : ""),
- :sent_at => Time.at(post.created_time),
- :data => (post.attachment ? post.attachment.to_json : nil),
- :interaction_direction => :in})
-
- ticket = Ticket.new(:site_id => feed.site_id,
- :customer => facebook_user.customer,
- :subject => (subject ? CGI.unescapeHTML(subject) : ""),
- :group_id => feed.default_group_id,
- :interaction_type => :facebook,
- :display_id => Site.increment_display_id(feed.site_id),
- :site_language_type_id => feed.get_language_id_from_graph_for_ticket(facebook_user.customer.site_language_type_id)) if ticket.nil? #only create if not from an existing ticket
-
- interaction = Interaction.new(:site_id => feed.site_id,
- :interactionable => facebook_post,
- :interaction_type => :facebook,
- :interaction_basis => :original,
- :ticket => ticket)
-
-
-
- facebook_post.ticket = interaction.ticket #denormalized for search purposes
-
- interaction.save!
+ facebook_post = new(
+ site_id: feed.site_id,
+ facebook_feed_id: feed.id,
+ facebook_user_id: facebook_user.id,
+ facebook_id: post.post_id,
+ sender_user_id: nil,
+ from_id: facebook_user.uid,
+ from_name: fb_actor.name,
+ message: (message ? CGI.unescapeHTML(message) : ""),
+ sent_at: Time.at(post.created_time),
+ data: (post.attachment ? post.attachment.to_json : nil),
+ interaction_direction: :in
+ )
+
+ facebook_post.build_ticket(
+ site_id: feed.site_id,
+ customer: facebook_user.customer,
+ subject: (subject ? CGI.unescapeHTML(subject) : ""),
+ group_id: feed.default_group_id,
+ interaction_type: :facebook,
+ display_id: Site.increment_display_id(feed.site_id),
+ site_language_type_id: feed.get_language_id_from_graph_for_ticket(facebook_user.customer.site_language_type_id)
+ )
+
+ facebook_post.build_interaction(
+ site_id: feed.site_id,
+ interactionable: facebook_post,
+ interaction_type: :facebook,
+ interaction_basis: :original,
+ ticket: facebook_post.ticket
+ )
+
+ facebook_post.save!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment