google_analytics_mailer 0.1.1 → 0.1.2
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.
- data/Changelog.md +4 -0
 - data/lib/google_analytics_mailer/url_for.rb +2 -0
 - data/lib/google_analytics_mailer/version.rb +1 -1
 - data/spec/lib/url_for_spec.rb +40 -0
 - metadata +4 -2
 
    
        data/Changelog.md
    CHANGED
    
    
| 
         @@ -14,6 +14,8 @@ module GoogleAnalyticsMailer # :nodoc: 
     | 
|
| 
       14 
14 
     | 
    
         
             
                  params_to_add = controller.computed_analytics_params.with_indifferent_access
         
     | 
| 
       15 
15 
     | 
    
         
             
                  # temporary override coming from with_google_analytics_params method
         
     | 
| 
       16 
16 
     | 
    
         
             
                  params_to_add.merge!(@_override_ga_params) if @_override_ga_params.try(:any?)
         
     | 
| 
      
 17 
     | 
    
         
            +
                  # remove empty GA params
         
     | 
| 
      
 18 
     | 
    
         
            +
                  params_to_add.delete_if { |_, v| v.blank? }
         
     | 
| 
       17 
19 
     | 
    
         
             
                  # if there are no parameters return super value
         
     | 
| 
       18 
20 
     | 
    
         
             
                  if params_to_add.empty?
         
     | 
| 
       19 
21 
     | 
    
         
             
                    super(original_url)
         
     | 
| 
         @@ -0,0 +1,40 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'spec_helper'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            # Mock helper used to test module methods
         
     | 
| 
      
 4 
     | 
    
         
            +
            # @see http://stackoverflow.com/questions/5944278/overriding-method-by-another-defined-in-module
         
     | 
| 
      
 5 
     | 
    
         
            +
            class MockHelper
         
     | 
| 
      
 6 
     | 
    
         
            +
              # No op implementation of url_for
         
     | 
| 
      
 7 
     | 
    
         
            +
              def url_for(url)
         
     | 
| 
      
 8 
     | 
    
         
            +
                url
         
     | 
| 
      
 9 
     | 
    
         
            +
              end
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
              # Used by implementation
         
     | 
| 
      
 12 
     | 
    
         
            +
              def controller
         
     | 
| 
      
 13 
     | 
    
         
            +
                self
         
     | 
| 
      
 14 
     | 
    
         
            +
              end
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
              def computed_analytics_params
         
     | 
| 
      
 17 
     | 
    
         
            +
                {}.with_indifferent_access
         
     | 
| 
      
 18 
     | 
    
         
            +
              end
         
     | 
| 
      
 19 
     | 
    
         
            +
            end
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
            describe GoogleAnalyticsMailer::UrlFor do
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
              let(:dummy_class) { Class.new(MockHelper) { include GoogleAnalyticsMailer::UrlFor } }
         
     | 
| 
      
 24 
     | 
    
         
            +
              let(:subject) { dummy_class.new }
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
              describe '#url_for' do
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
                it 'should not include blank GA params' do
         
     | 
| 
      
 29 
     | 
    
         
            +
                  subject.stub(computed_analytics_params: {utm_campaign: nil})
         
     | 
| 
      
 30 
     | 
    
         
            +
                  subject.url_for('http://www.example.com').should_not include 'utm_campaign'
         
     | 
| 
      
 31 
     | 
    
         
            +
                end
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
                it 'should uri encode GA parameter values' do
         
     | 
| 
      
 34 
     | 
    
         
            +
                  subject.stub(computed_analytics_params: {utm_campaign: 'Foo Bar'})
         
     | 
| 
      
 35 
     | 
    
         
            +
                  subject.url_for('http://www.example.com').should include 'utm_campaign=Foo%20Bar'
         
     | 
| 
      
 36 
     | 
    
         
            +
                end
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
              end
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: google_analytics_mailer
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.1. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.1.2
         
     | 
| 
       5 
5 
     | 
    
         
             
              prerelease: 
         
     | 
| 
       6 
6 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       7 
7 
     | 
    
         
             
            authors:
         
     | 
| 
         @@ -9,7 +9,7 @@ authors: 
     | 
|
| 
       9 
9 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       10 
10 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       11 
11 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       12 
     | 
    
         
            -
            date: 2013- 
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2013-09-26 00:00:00.000000000 Z
         
     | 
| 
       13 
13 
     | 
    
         
             
            dependencies:
         
     | 
| 
       14 
14 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       15 
15 
     | 
    
         
             
              name: addressable
         
     | 
| 
         @@ -132,6 +132,7 @@ files: 
     | 
|
| 
       132 
132 
     | 
    
         
             
            - lib/google_analytics_mailer/url_for.rb
         
     | 
| 
       133 
133 
     | 
    
         
             
            - lib/google_analytics_mailer/version.rb
         
     | 
| 
       134 
134 
     | 
    
         
             
            - spec/lib/google_analytics_mailer_spec.rb
         
     | 
| 
      
 135 
     | 
    
         
            +
            - spec/lib/url_for_spec.rb
         
     | 
| 
       135 
136 
     | 
    
         
             
            - spec/spec_helper.rb
         
     | 
| 
       136 
137 
     | 
    
         
             
            - spec/support/views/user_mailer/welcome.html.erb
         
     | 
| 
       137 
138 
     | 
    
         
             
            - spec/support/views/user_mailer/welcome2.html.erb
         
     | 
| 
         @@ -164,6 +165,7 @@ summary: This gem provides automatic Google Analytics tagged links in ActionMail 
     | 
|
| 
       164 
165 
     | 
    
         
             
              generated emails
         
     | 
| 
       165 
166 
     | 
    
         
             
            test_files:
         
     | 
| 
       166 
167 
     | 
    
         
             
            - spec/lib/google_analytics_mailer_spec.rb
         
     | 
| 
      
 168 
     | 
    
         
            +
            - spec/lib/url_for_spec.rb
         
     | 
| 
       167 
169 
     | 
    
         
             
            - spec/spec_helper.rb
         
     | 
| 
       168 
170 
     | 
    
         
             
            - spec/support/views/user_mailer/welcome.html.erb
         
     | 
| 
       169 
171 
     | 
    
         
             
            - spec/support/views/user_mailer/welcome2.html.erb
         
     |