Sha256: 24bdd5d85a8d3a6fe0c8f2b509629410786bf6e447d40b4d9bdcbd22ff9962f4

Contents?: true

Size: 946 Bytes

Versions: 4

Compression:

Stored size: 946 Bytes

Contents

module ActsAsIcontact
  module Rails
    module Callbacks
      
      protected
      # Called after a new record has been saved.  Creates a new contact in iContact.
      def icontact_after_create
        c = ActsAsIcontact::Contact.new
        self.class.icontact_mappings.each do |rails, iContact|
          if (value = self.send(rails))
            ic = (iContact.to_s + '=').to_sym   # Blah. This feels like it should be easier.
            c.send(ic, value)
          end
        end
        if c.save
          # Update with iContact fields returned
          @icontact_in_progress = true
          self.class.icontact_mappings.each do |rails, iContact|
            unless (value = c.send(iContact)).blank?
              r = (rails.to_s + '=').to_sym   # Blah. This feels like it should be easier.
              self.send(r, value)
            end
          end
          self.save
        end
        
      end
      
    end
  end
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
SFEley-acts_as_icontact-0.2.1 lib/acts_as_icontact/rails/callbacks.rb
SFEley-acts_as_icontact-0.2.3 lib/acts_as_icontact/rails/callbacks.rb
acts_as_icontact-0.2.1 lib/acts_as_icontact/rails/callbacks.rb
acts_as_icontact-0.2.3 lib/acts_as_icontact/rails/callbacks.rb