analytical 1.8.0 → 1.9.0

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/VERSION CHANGED
@@ -1 +1 @@
1
- 1.8.0
1
+ 1.9.0
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{analytical}
8
- s.version = "1.8.0"
8
+ s.version = "1.9.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Joshua Krall", "Nathan Phelps", "Adam Anderson"]
12
- s.date = %q{2010-09-11}
12
+ s.date = %q{2010-09-29}
13
13
  s.description = %q{Gem for managing multiple analytics services in your rails app.}
14
14
  s.email = %q{josh@transfs.com}
15
15
  s.extra_rdoc_files = [
@@ -75,29 +75,29 @@ Gem::Specification.new do |s|
75
75
  "example/test/unit/helpers/page_helper_test.rb",
76
76
  "example/vendor/plugins/.gitkeep",
77
77
  "lib/analytical.rb",
78
- "lib/analytical/adwords.rb",
79
78
  "lib/analytical/api.rb",
80
- "lib/analytical/base.rb",
81
79
  "lib/analytical/bot_detector.rb",
82
- "lib/analytical/chartbeat.rb",
83
- "lib/analytical/clicky.rb",
84
- "lib/analytical/comscore.rb",
85
- "lib/analytical/console.rb",
86
- "lib/analytical/crazy_egg.rb",
87
- "lib/analytical/google.rb",
88
- "lib/analytical/hubspot.rb",
89
- "lib/analytical/kiss_metrics.rb",
90
- "lib/analytical/optimizely.rb",
80
+ "lib/analytical/modules/adwords.rb",
81
+ "lib/analytical/modules/base.rb",
82
+ "lib/analytical/modules/chartbeat.rb",
83
+ "lib/analytical/modules/clicky.rb",
84
+ "lib/analytical/modules/comscore.rb",
85
+ "lib/analytical/modules/console.rb",
86
+ "lib/analytical/modules/crazy_egg.rb",
87
+ "lib/analytical/modules/google.rb",
88
+ "lib/analytical/modules/hubspot.rb",
89
+ "lib/analytical/modules/kiss_metrics.rb",
90
+ "lib/analytical/modules/optimizely.rb",
91
91
  "rails/init.rb",
92
92
  "spec/analytical/api_spec.rb",
93
- "spec/analytical/base_spec.rb",
94
93
  "spec/analytical/bot_detector_spec.rb",
95
- "spec/analytical/chartbeat_spec.rb",
96
- "spec/analytical/clicky_spec.rb",
97
- "spec/analytical/comscore_spec.rb",
98
- "spec/analytical/google_spec.rb",
99
- "spec/analytical/kiss_metrics_spec.rb",
100
- "spec/analytical/optimizely_spec.rb",
94
+ "spec/analytical/modules/base_spec.rb",
95
+ "spec/analytical/modules/chartbeat_spec.rb",
96
+ "spec/analytical/modules/clicky_spec.rb",
97
+ "spec/analytical/modules/comscore_spec.rb",
98
+ "spec/analytical/modules/google_spec.rb",
99
+ "spec/analytical/modules/kiss_metrics_spec.rb",
100
+ "spec/analytical/modules/optimizely_spec.rb",
101
101
  "spec/analytical_spec.rb",
102
102
  "spec/config/analytical.yml",
103
103
  "spec/spec.opts",
@@ -106,18 +106,18 @@ Gem::Specification.new do |s|
106
106
  s.homepage = %q{http://github.com/jkrall/analytical}
107
107
  s.rdoc_options = ["--charset=UTF-8"]
108
108
  s.require_paths = ["lib"]
109
- s.rubygems_version = %q{1.3.7}
109
+ s.rubygems_version = %q{1.3.6}
110
110
  s.summary = %q{Gem for managing multiple analytics services in your rails app.}
111
111
  s.test_files = [
112
112
  "spec/analytical/api_spec.rb",
113
- "spec/analytical/base_spec.rb",
114
113
  "spec/analytical/bot_detector_spec.rb",
115
- "spec/analytical/chartbeat_spec.rb",
116
- "spec/analytical/clicky_spec.rb",
117
- "spec/analytical/comscore_spec.rb",
118
- "spec/analytical/google_spec.rb",
119
- "spec/analytical/kiss_metrics_spec.rb",
120
- "spec/analytical/optimizely_spec.rb",
114
+ "spec/analytical/modules/base_spec.rb",
115
+ "spec/analytical/modules/chartbeat_spec.rb",
116
+ "spec/analytical/modules/clicky_spec.rb",
117
+ "spec/analytical/modules/comscore_spec.rb",
118
+ "spec/analytical/modules/google_spec.rb",
119
+ "spec/analytical/modules/kiss_metrics_spec.rb",
120
+ "spec/analytical/modules/optimizely_spec.rb",
121
121
  "spec/analytical_spec.rb",
122
122
  "spec/spec_helper.rb"
123
123
  ]
@@ -126,7 +126,7 @@ Gem::Specification.new do |s|
126
126
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
127
127
  s.specification_version = 3
128
128
 
129
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
129
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
130
130
  s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
131
131
  s.add_runtime_dependency(%q<activesupport>, [">= 0"])
132
132
  else
@@ -1,5 +1,5 @@
1
- require File.dirname(__FILE__)+'/analytical/base'
2
- Dir.glob(File.dirname(__FILE__)+'/analytical/*.rb').each do |f|
1
+ require File.dirname(__FILE__)+'/analytical/modules/base'
2
+ Dir.glob(File.dirname(__FILE__)+'/analytical/**/*.rb').each do |f|
3
3
  require f
4
4
  end
5
5
 
@@ -6,8 +6,8 @@ module Analytical
6
6
  def initialize(options={})
7
7
  @options = options
8
8
  @modules = @options[:modules].inject(ActiveSupport::OrderedHash.new) do |h, m|
9
- module_options = @options.merge(@options[m] || {}).merge(:parent => self)
10
- h[m] = "Analytical::#{m.to_s.camelize}::Api".constantize.new(module_options)
9
+ module_options = @options.merge(@options[m] || {})
10
+ h[m] = "Analytical::Modules::#{m.to_s.camelize}".constantize.new(module_options)
11
11
  h
12
12
  end
13
13
  end
@@ -1,7 +1,7 @@
1
1
  module Analytical
2
- module Adwords
3
- class Api
4
- include Analytical::Base::Api
2
+ module Modules
3
+ class Adwords
4
+ include Analytical::Modules::Base
5
5
 
6
6
  def initialize(options={})
7
7
  super
@@ -62,10 +62,10 @@ module Analytical
62
62
  var google_conversion_value = #{data[:value] || conversion[:value]};
63
63
  /* ]]> */
64
64
  </script>
65
- <script type="text/javascript" src="http://www.googleadservices.com/pagead/conversion.js"></script>
65
+ <script type="text/javascript" src="#{procotol}://www.googleadservices.com/pagead/conversion.js"></script>
66
66
  <noscript>
67
67
  <div style="display:inline;">
68
- <img height="1" width="1" style="border-style:none;" alt="" src="http://www.googleadservices.com/pagead/conversion/#{conversion[:id]}/?label=#{conversion[:label]}&amp;guid=ON&amp;script=0"/>
68
+ <img height="1" width="1" style="border-style:none;" alt="" src="#{procotol}://www.googleadservices.com/pagead/conversion/#{conversion[:id]}/?label=#{conversion[:label]}&amp;guid=ON&amp;script=0"/>
69
69
  </div>
70
70
  </noscript>
71
71
  HTML
@@ -1,17 +1,20 @@
1
1
  module Analytical
2
- module Base
3
- module Api
4
- attr_reader :tracking_command_location, :parent, :options, :initialized
2
+ module Modules
3
+ module Base
4
+ attr_reader :tracking_command_location, :options, :initialized
5
5
  attr_accessor :commands
6
6
 
7
7
  def initialize(_options={})
8
8
  @options = _options
9
- @parent = @options[:parent]
10
9
  @tracking_command_location = :body_prepend
11
10
  @initialized = false
12
11
  @commands = []
13
12
  end
14
13
 
14
+ def protocol
15
+ @options[:ssl] ? 'https' : 'http'
16
+ end
17
+
15
18
  #
16
19
  # The core methods that most analytics services implement are listed below.
17
20
  # Modules will ignore any calls that they don't respond to, allowing them to
@@ -1,7 +1,7 @@
1
1
  module Analytical
2
- module Chartbeat
3
- class Api
4
- include Analytical::Base::Api
2
+ module Modules
3
+ class Chartbeat
4
+ include Analytical::Modules::Base
5
5
 
6
6
  def initialize(options={})
7
7
  super
@@ -1,7 +1,7 @@
1
1
  module Analytical
2
- module Clicky
3
- class Api
4
- include Analytical::Base::Api
2
+ module Modules
3
+ class Clicky
4
+ include Analytical::Modules::Base
5
5
 
6
6
  def initialize(options={})
7
7
  super
@@ -10,8 +10,6 @@ module Analytical
10
10
 
11
11
  def init_javascript(location)
12
12
  init_location(location) do
13
- protocol = options[:ssl] ? 'https' : 'http'
14
-
15
13
  js = <<-HTML
16
14
  <!-- Analytical Init: Clicky -->
17
15
  <script src="#{protocol}://static.getclicky.com/js" type="text/javascript"></script>
@@ -1,7 +1,7 @@
1
1
  module Analytical
2
- module Comscore
3
- class Api
4
- include Analytical::Base::Api
2
+ module Modules
3
+ class Comscore
4
+ include Analytical::Modules::Base
5
5
 
6
6
  def initialize(options={})
7
7
  super
@@ -1,7 +1,7 @@
1
1
  module Analytical
2
- module Console
3
- class Api
4
- include Analytical::Base::Api
2
+ module Modules
3
+ class Console
4
+ include Analytical::Modules::Base
5
5
 
6
6
  def initialize(options={})
7
7
  super
@@ -1,7 +1,7 @@
1
1
  module Analytical
2
- module CrazyEgg
3
- class Api
4
- include Analytical::Base::Api
2
+ module Modules
3
+ class CrazyEgg
4
+ include Analytical::Modules::Base
5
5
 
6
6
  def initialize(options={})
7
7
  super
@@ -11,7 +11,6 @@ module Analytical
11
11
  def init_javascript(location)
12
12
  init_location(location) do
13
13
  code_url = "#{options[:key][0,4]}/#{options[:key][4,4]}"
14
- protocol = options[:ssl] ? 'https' : 'http'
15
14
  js = <<-HTML
16
15
  <!-- Analytical Init: CrazyEgg -->
17
16
  <script type="text/javascript" src="#{protocol}://s3.amazonaws.com/new.cetrk.com/pages/scripts/#{code_url}.js"> </script>
@@ -1,7 +1,7 @@
1
1
  module Analytical
2
- module Google
3
- class Api
4
- include Analytical::Base::Api
2
+ module Modules
3
+ class Google
4
+ include Analytical::Modules::Base
5
5
 
6
6
  def initialize(options={})
7
7
  super
@@ -1,7 +1,7 @@
1
1
  module Analytical
2
- module Hubspot
3
- class Api
4
- include Analytical::Base::Api
2
+ module Modules
3
+ class Hubspot
4
+ include Analytical::Modules::Base
5
5
 
6
6
  def initialize(options={})
7
7
  super
@@ -1,7 +1,7 @@
1
1
  module Analytical
2
- module KissMetrics
3
- class Api
4
- include Analytical::Base::Api
2
+ module Modules
3
+ class KissMetrics
4
+ include Analytical::Modules::Base
5
5
 
6
6
  def initialize(options={})
7
7
  super
@@ -1,7 +1,7 @@
1
1
  module Analytical
2
- module Optimizely
3
- class Api
4
- include Analytical::Base::Api
2
+ module Modules
3
+ class Optimizely
4
+ include Analytical::Modules::Base
5
5
 
6
6
  def initialize(options={})
7
7
  super
@@ -4,8 +4,8 @@ describe "Analytical::Api" do
4
4
 
5
5
  describe 'on initialization' do
6
6
  it 'should construct an api class for each module' do
7
- Analytical::Console::Api.should_receive(:new).and_return(@console = mock('console'))
8
- Analytical::Google::Api.should_receive(:new).and_return(@google = mock('google'))
7
+ Analytical::Modules::Console.should_receive(:new).and_return(@console = mock('console'))
8
+ Analytical::Modules::Google.should_receive(:new).and_return(@google = mock('google'))
9
9
  a = Analytical::Api.new :modules=>[:console, :google]
10
10
  a.modules.should == {
11
11
  :console=>@console,
@@ -13,17 +13,17 @@ describe "Analytical::Api" do
13
13
  }
14
14
  end
15
15
  it 'should pass the ssl option on to the module constructor' do
16
- Analytical::Console::Api.should_receive(:new).with(hash_including(:ssl=>true)).and_return(@console = mock('console'))
16
+ Analytical::Modules::Console.should_receive(:new).with(hash_including(:ssl=>true)).and_return(@console = mock('console'))
17
17
  Analytical::Api.new :modules=>[:console], :ssl=>true
18
18
  end
19
19
  end
20
20
 
21
21
  describe 'with modules' do
22
22
  before(:each) do
23
- Analytical::Console::Api.stub!(:new).and_return(@console = mock('console'))
24
- Analytical::Google::Api.stub!(:new).and_return(@google = mock('google'))
25
- Analytical::Clicky::Api.stub!(:new).and_return(@clicky = mock('clicky'))
26
- Analytical::Chartbeat::Api.stub!(:new).and_return(@chartbeat = mock('chartbeat'))
23
+ Analytical::Modules::Console.stub!(:new).and_return(@console = mock('console'))
24
+ Analytical::Modules::Google.stub!(:new).and_return(@google = mock('google'))
25
+ Analytical::Modules::Clicky.stub!(:new).and_return(@clicky = mock('clicky'))
26
+ Analytical::Modules::Chartbeat.stub!(:new).and_return(@chartbeat = mock('chartbeat'))
27
27
 
28
28
  @api = Analytical::Api.new :modules=>[:console, :google]
29
29
  end
@@ -1,9 +1,24 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
2
 
3
- describe Analytical::Base::Api do
3
+ describe Analytical::Modules::Base do
4
4
 
5
5
  class BaseApiDummy
6
- include Analytical::Base::Api
6
+ include Analytical::Modules::Base
7
+ end
8
+
9
+ describe '#protocol' do
10
+ before(:each) do
11
+ @api = BaseApiDummy.new(:parent=>mock('parent'))
12
+ end
13
+ describe 'with :ssl=>true option' do
14
+ it 'should return https' do
15
+ @api = BaseApiDummy.new(:parent=>mock('parent'), :ssl=>true)
16
+ @api.protocol.should == 'https'
17
+ end
18
+ end
19
+ it 'should return http' do
20
+ @api.protocol.should == 'http'
21
+ end
7
22
  end
8
23
 
9
24
  describe '#queue' do
@@ -1,22 +1,22 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
2
 
3
- describe "Analytical::Chartbeat::Api" do
3
+ describe "Analytical::Modules::Chartbeat" do
4
4
  before(:each) do
5
5
  @parent = mock('api', :options=>{:chartbeat=>{:key=>1234, :domain =>'test.com'}})
6
6
  end
7
7
  describe 'on initialize' do
8
8
  it 'should set the command_location' do
9
- a = Analytical::Chartbeat::Api.new :parent=>@parent, :key=>1234
9
+ a = Analytical::Modules::Chartbeat.new :parent=>@parent, :key=>1234
10
10
  a.tracking_command_location.should == [:head_prepend, :body_append]
11
11
  end
12
12
  it 'should set the options' do
13
- a = Analytical::Chartbeat::Api.new :parent=>@parent, :key=>12345, :domain =>'abcdef.com'
13
+ a = Analytical::Modules::Chartbeat.new :parent=>@parent, :key=>12345, :domain =>'abcdef.com'
14
14
  a.options.should == {:key=>12345, :domain => 'abcdef.com', :parent=>@parent}
15
15
  end
16
16
  end
17
17
  describe '#init_javascript' do
18
18
  it 'should return the init javascript' do
19
- @api = Analytical::Chartbeat::Api.new :parent=>@parent, :key=>12345, :domain =>'abcdef.com'
19
+ @api = Analytical::Modules::Chartbeat.new :parent=>@parent, :key=>12345, :domain =>'abcdef.com'
20
20
  @api.init_javascript(:head_prepend).should =~ /_sf_startpt=\(new.Date\(\)\)\.getTime\(\);/
21
21
  @api.init_javascript(:head_append).should == ''
22
22
  @api.init_javascript(:body_prepend).should == ''
@@ -1,34 +1,34 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
2
 
3
- describe "Analytical::Clicky::Api" do
3
+ describe "Analytical::Modules::Clicky" do
4
4
  before(:each) do
5
5
  @parent = mock('api', :options=>{:google=>{:key=>'abc'}})
6
6
  end
7
7
  describe 'on initialize' do
8
8
  it 'should set the command_location' do
9
- a = Analytical::Clicky::Api.new :parent=>@parent, :key=>'abc'
9
+ a = Analytical::Modules::Clicky.new :parent=>@parent, :key=>'abc'
10
10
  a.tracking_command_location.should == :body_append
11
11
  end
12
12
  it 'should set the options' do
13
- a = Analytical::Clicky::Api.new :parent=>@parent, :key=>'abc'
13
+ a = Analytical::Modules::Clicky.new :parent=>@parent, :key=>'abc'
14
14
  a.options.should == {:key=>'abc', :parent=>@parent}
15
15
  end
16
16
  end
17
17
  describe '#track' do
18
18
  it 'should return the tracking javascript' do
19
- @api = Analytical::Clicky::Api.new :parent=>@parent, :key=>'abcdef'
19
+ @api = Analytical::Modules::Clicky.new :parent=>@parent, :key=>'abcdef'
20
20
  @api.track('pagename', {:some=>'data'}).should == "clicky.log(\"pagename\");"
21
21
  end
22
22
  end
23
23
  describe '#identify' do
24
24
  it 'should return the init code string' do
25
- @api = Analytical::Clicky::Api.new :parent=>@parent, :key=>'abcdef'
25
+ @api = Analytical::Modules::Clicky.new :parent=>@parent, :key=>'abcdef'
26
26
  @api.identify('user id', {:a=>'b'}).should =~ /#{Regexp.escape({:id=>'user id', :a=>'b'}.to_json)}/
27
27
  end
28
28
  end
29
29
  describe '#init_javascript' do
30
30
  it 'should return the init javascript' do
31
- @api = Analytical::Clicky::Api.new :parent=>@parent, :key=>'abcdef'
31
+ @api = Analytical::Modules::Clicky.new :parent=>@parent, :key=>'abcdef'
32
32
  @api.init_javascript(:head_prepend).should == ''
33
33
  @api.init_javascript(:head_append).should == ''
34
34
  @api.init_javascript(:body_prepend).should == ''
@@ -37,12 +37,12 @@ describe "Analytical::Clicky::Api" do
37
37
  end
38
38
  describe 'for an ssl connection' do
39
39
  it 'should return the ssl init code' do
40
- @api = Analytical::Clicky::Api.new :parent=>@parent, :key=>'abcdef', :ssl=>true
40
+ @api = Analytical::Modules::Clicky.new :parent=>@parent, :key=>'abcdef', :ssl=>true
41
41
  @api.init_javascript(:body_append).should =~ /https/
42
42
  end
43
43
  end
44
44
  describe 'with an identify command queued' do
45
- @api = Analytical::Clicky::Api.new :parent=>@parent, :key=>'abcdef'
45
+ @api = Analytical::Modules::Clicky.new :parent=>@parent, :key=>'abcdef'
46
46
  @api.queue :identify, 'user id', {:email=>'someone@test.com'}
47
47
  @api.init_javascript(:body_append).should =~ /"email":\w*"someone@test\.com"/
48
48
  end
@@ -1,22 +1,22 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
2
 
3
- describe "Analytical::Comscore::Api" do
3
+ describe "Analytical::Modules::Comscore" do
4
4
  before(:each) do
5
5
  @parent = mock('api', :options=>{:comscore=>{:key=>123}})
6
6
  end
7
7
  describe 'on initialize' do
8
8
  it 'should set the command_location' do
9
- a = Analytical::Comscore::Api.new :parent=>@parent, :key=>123
9
+ a = Analytical::Modules::Comscore.new :parent=>@parent, :key=>123
10
10
  a.tracking_command_location.should == :head_append
11
11
  end
12
12
  it 'should set the options' do
13
- a = Analytical::Comscore::Api.new :parent=>@parent, :key=>1234
13
+ a = Analytical::Modules::Comscore.new :parent=>@parent, :key=>1234
14
14
  a.options.should == {:key=>1234, :parent=>@parent}
15
15
  end
16
16
  end
17
17
  describe '#init_javascript' do
18
18
  it 'should return the init javascript' do
19
- @api = Analytical::Comscore::Api.new :parent=>@parent, :key=>1234
19
+ @api = Analytical::Modules::Comscore.new :parent=>@parent, :key=>1234
20
20
  @api.init_javascript(:head_prepend).should == ''
21
21
  @api.init_javascript(:head_append).should =~ /scorecardresearch.com\/beacon.js/
22
22
  @api.init_javascript(:head_append).should =~ /1234/
@@ -1,29 +1,29 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
2
 
3
- describe "Analytical::Google::Api" do
3
+ describe "Analytical::Modules::Google" do
4
4
  before(:each) do
5
5
  @parent = mock('api', :options=>{:google=>{:key=>'abc'}})
6
6
  end
7
7
  describe 'on initialize' do
8
8
  it 'should set the command_location' do
9
- a = Analytical::Google::Api.new :parent=>@parent, :key=>'abc'
9
+ a = Analytical::Modules::Google.new :parent=>@parent, :key=>'abc'
10
10
  a.tracking_command_location.should == :head_append
11
11
  end
12
12
  it 'should set the options' do
13
- a = Analytical::Google::Api.new :parent=>@parent, :key=>'abc'
13
+ a = Analytical::Modules::Google.new :parent=>@parent, :key=>'abc'
14
14
  a.options.should == {:key=>'abc', :parent=>@parent}
15
15
  end
16
16
  end
17
17
  describe '#track' do
18
18
  it 'should return the tracking javascript' do
19
- @api = Analytical::Google::Api.new :parent=>@parent, :key=>'abcdef'
19
+ @api = Analytical::Modules::Google.new :parent=>@parent, :key=>'abcdef'
20
20
  @api.track.should == "_gaq.push(['_trackPageview']);"
21
21
  @api.track('pagename', {:some=>'data'}).should == "_gaq.push(['_trackPageview', \"pagename\"]);"
22
22
  end
23
23
  end
24
24
  describe '#init_javascript' do
25
25
  it 'should return the init javascript' do
26
- @api = Analytical::Google::Api.new :parent=>@parent, :key=>'abcdef'
26
+ @api = Analytical::Modules::Google.new :parent=>@parent, :key=>'abcdef'
27
27
  @api.init_javascript(:head_prepend).should == ''
28
28
  @api.init_javascript(:head_append).should =~ /abcdef/
29
29
  @api.init_javascript(:head_append).should =~ /google-analytics.com\/ga.js/
@@ -1,46 +1,46 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
2
 
3
- describe "Analytical::KissMetrics::Api" do
3
+ describe "Analytical::Modules::KissMetrics" do
4
4
  before(:each) do
5
5
  @parent = mock('api', :options=>{:google=>{:js_url_key=>'abc'}})
6
6
  end
7
7
  describe 'on initialize' do
8
8
  it 'should set the command_location' do
9
- a = Analytical::KissMetrics::Api.new :parent=>@parent, :js_url_key=>'abc'
9
+ a = Analytical::Modules::KissMetrics.new :parent=>@parent, :js_url_key=>'abc'
10
10
  a.tracking_command_location.should == :body_prepend
11
11
  end
12
12
  it 'should set the options' do
13
- a = Analytical::KissMetrics::Api.new :parent=>@parent, :js_url_key=>'abc'
13
+ a = Analytical::Modules::KissMetrics.new :parent=>@parent, :js_url_key=>'abc'
14
14
  a.options.should == {:js_url_key=>'abc', :parent=>@parent}
15
15
  end
16
16
  end
17
17
  describe '#identify' do
18
18
  it 'should return a js string' do
19
- @api = Analytical::KissMetrics::Api.new :parent=>@parent, :js_url_key=>'abcdef'
19
+ @api = Analytical::Modules::KissMetrics.new :parent=>@parent, :js_url_key=>'abcdef'
20
20
  @api.identify('id', {:email=>'test@test.com'}).should == "_kmq.push([\"identify\", \"test@test.com\"]);"
21
21
  end
22
22
  end
23
23
  describe '#event' do
24
24
  it 'should return a js string' do
25
- @api = Analytical::KissMetrics::Api.new :parent=>@parent, :js_url_key=>'abcdef'
25
+ @api = Analytical::Modules::KissMetrics.new :parent=>@parent, :js_url_key=>'abcdef'
26
26
  @api.event('Big Deal', {:something=>'good'}).should == "_kmq.push([\"record\", \"Big Deal\", #{{:something=>'good'}.to_json}]);"
27
27
  end
28
28
  end
29
29
  describe '#set' do
30
30
  it 'should return a js string' do
31
- @api = Analytical::KissMetrics::Api.new :parent=>@parent, :js_url_key=>'abcdef'
31
+ @api = Analytical::Modules::KissMetrics.new :parent=>@parent, :js_url_key=>'abcdef'
32
32
  @api.set({:something=>'good', :b=>2}).should == "_kmq.push([\"set\", #{{:something=>'good', :b=>2}.to_json}]);"
33
33
  end
34
34
  end
35
35
  describe '#alias_identity' do
36
36
  it 'should return a js string' do
37
- @api = Analytical::KissMetrics::Api.new :parent=>@parent, :js_url_key=>'abcdef'
37
+ @api = Analytical::Modules::KissMetrics.new :parent=>@parent, :js_url_key=>'abcdef'
38
38
  @api.alias_identity('foo', 'bar').should == "_kmq.push([\"alias\", \"foo\", \"bar\"]);"
39
39
  end
40
40
  end
41
41
  describe '#init_javascript' do
42
42
  it 'should return the init javascript' do
43
- @api = Analytical::KissMetrics::Api.new :parent=>@parent, :js_url_key=>'abcdef'
43
+ @api = Analytical::Modules::KissMetrics.new :parent=>@parent, :js_url_key=>'abcdef'
44
44
  @api.init_javascript(:head_prepend).should == ''
45
45
  @api.init_javascript(:head_append).should == ''
46
46
  @api.init_javascript(:body_prepend).should =~ /i\.kissmetrics\.com/
@@ -1,22 +1,22 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
2
 
3
- describe "Analytical::Optimizely::Api" do
3
+ describe "Analytical::Modules::Optimizely" do
4
4
  before(:each) do
5
5
  @parent = mock('api', :options=>{:optimizely=>{:key=>'abc'}})
6
6
  end
7
7
  describe 'on initialize' do
8
8
  it 'should set the command_location' do
9
- a = Analytical::Optimizely::Api.new :parent=>@parent, :key=>'abc'
9
+ a = Analytical::Modules::Optimizely.new :parent=>@parent, :key=>'abc'
10
10
  a.tracking_command_location.should == :head_prepend
11
11
  end
12
12
  it 'should set the options' do
13
- a = Analytical::Optimizely::Api.new :parent=>@parent, :key=>'abc'
13
+ a = Analytical::Modules::Optimizely.new :parent=>@parent, :key=>'abc'
14
14
  a.options.should == {:key=>'abc', :parent=>@parent}
15
15
  end
16
16
  end
17
17
  describe '#init_javascript' do
18
18
  it 'should return the init javascript' do
19
- @api = Analytical::Optimizely::Api.new :parent=>@parent, :key=>'abcdef'
19
+ @api = Analytical::Modules::Optimizely.new :parent=>@parent, :key=>'abcdef'
20
20
  @api.init_javascript(:head_prepend).should =~ /cdn\.optimizely.com\/js\/abcdef\.js/
21
21
  @api.init_javascript(:head_append).should == ''
22
22
  @api.init_javascript(:body_prepend).should == ''
metadata CHANGED
@@ -1,13 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: analytical
3
3
  version: !ruby/object:Gem::Version
4
- hash: 55
5
4
  prerelease: false
6
5
  segments:
7
6
  - 1
8
- - 8
7
+ - 9
9
8
  - 0
10
- version: 1.8.0
9
+ version: 1.9.0
11
10
  platform: ruby
12
11
  authors:
13
12
  - Joshua Krall
@@ -17,18 +16,16 @@ autorequire:
17
16
  bindir: bin
18
17
  cert_chain: []
19
18
 
20
- date: 2010-09-11 00:00:00 -05:00
19
+ date: 2010-09-29 00:00:00 -05:00
21
20
  default_executable:
22
21
  dependencies:
23
22
  - !ruby/object:Gem::Dependency
24
23
  name: rspec
25
24
  prerelease: false
26
25
  requirement: &id001 !ruby/object:Gem::Requirement
27
- none: false
28
26
  requirements:
29
27
  - - ">="
30
28
  - !ruby/object:Gem::Version
31
- hash: 13
32
29
  segments:
33
30
  - 1
34
31
  - 2
@@ -40,11 +37,9 @@ dependencies:
40
37
  name: activesupport
41
38
  prerelease: false
42
39
  requirement: &id002 !ruby/object:Gem::Requirement
43
- none: false
44
40
  requirements:
45
41
  - - ">="
46
42
  - !ruby/object:Gem::Version
47
- hash: 3
48
43
  segments:
49
44
  - 0
50
45
  version: "0"
@@ -118,29 +113,29 @@ files:
118
113
  - example/test/unit/helpers/page_helper_test.rb
119
114
  - example/vendor/plugins/.gitkeep
120
115
  - lib/analytical.rb
121
- - lib/analytical/adwords.rb
122
116
  - lib/analytical/api.rb
123
- - lib/analytical/base.rb
124
117
  - lib/analytical/bot_detector.rb
125
- - lib/analytical/chartbeat.rb
126
- - lib/analytical/clicky.rb
127
- - lib/analytical/comscore.rb
128
- - lib/analytical/console.rb
129
- - lib/analytical/crazy_egg.rb
130
- - lib/analytical/google.rb
131
- - lib/analytical/hubspot.rb
132
- - lib/analytical/kiss_metrics.rb
133
- - lib/analytical/optimizely.rb
118
+ - lib/analytical/modules/adwords.rb
119
+ - lib/analytical/modules/base.rb
120
+ - lib/analytical/modules/chartbeat.rb
121
+ - lib/analytical/modules/clicky.rb
122
+ - lib/analytical/modules/comscore.rb
123
+ - lib/analytical/modules/console.rb
124
+ - lib/analytical/modules/crazy_egg.rb
125
+ - lib/analytical/modules/google.rb
126
+ - lib/analytical/modules/hubspot.rb
127
+ - lib/analytical/modules/kiss_metrics.rb
128
+ - lib/analytical/modules/optimizely.rb
134
129
  - rails/init.rb
135
130
  - spec/analytical/api_spec.rb
136
- - spec/analytical/base_spec.rb
137
131
  - spec/analytical/bot_detector_spec.rb
138
- - spec/analytical/chartbeat_spec.rb
139
- - spec/analytical/clicky_spec.rb
140
- - spec/analytical/comscore_spec.rb
141
- - spec/analytical/google_spec.rb
142
- - spec/analytical/kiss_metrics_spec.rb
143
- - spec/analytical/optimizely_spec.rb
132
+ - spec/analytical/modules/base_spec.rb
133
+ - spec/analytical/modules/chartbeat_spec.rb
134
+ - spec/analytical/modules/clicky_spec.rb
135
+ - spec/analytical/modules/comscore_spec.rb
136
+ - spec/analytical/modules/google_spec.rb
137
+ - spec/analytical/modules/kiss_metrics_spec.rb
138
+ - spec/analytical/modules/optimizely_spec.rb
144
139
  - spec/analytical_spec.rb
145
140
  - spec/config/analytical.yml
146
141
  - spec/spec.opts
@@ -155,39 +150,35 @@ rdoc_options:
155
150
  require_paths:
156
151
  - lib
157
152
  required_ruby_version: !ruby/object:Gem::Requirement
158
- none: false
159
153
  requirements:
160
154
  - - ">="
161
155
  - !ruby/object:Gem::Version
162
- hash: 3
163
156
  segments:
164
157
  - 0
165
158
  version: "0"
166
159
  required_rubygems_version: !ruby/object:Gem::Requirement
167
- none: false
168
160
  requirements:
169
161
  - - ">="
170
162
  - !ruby/object:Gem::Version
171
- hash: 3
172
163
  segments:
173
164
  - 0
174
165
  version: "0"
175
166
  requirements: []
176
167
 
177
168
  rubyforge_project:
178
- rubygems_version: 1.3.7
169
+ rubygems_version: 1.3.6
179
170
  signing_key:
180
171
  specification_version: 3
181
172
  summary: Gem for managing multiple analytics services in your rails app.
182
173
  test_files:
183
174
  - spec/analytical/api_spec.rb
184
- - spec/analytical/base_spec.rb
185
175
  - spec/analytical/bot_detector_spec.rb
186
- - spec/analytical/chartbeat_spec.rb
187
- - spec/analytical/clicky_spec.rb
188
- - spec/analytical/comscore_spec.rb
189
- - spec/analytical/google_spec.rb
190
- - spec/analytical/kiss_metrics_spec.rb
191
- - spec/analytical/optimizely_spec.rb
176
+ - spec/analytical/modules/base_spec.rb
177
+ - spec/analytical/modules/chartbeat_spec.rb
178
+ - spec/analytical/modules/clicky_spec.rb
179
+ - spec/analytical/modules/comscore_spec.rb
180
+ - spec/analytical/modules/google_spec.rb
181
+ - spec/analytical/modules/kiss_metrics_spec.rb
182
+ - spec/analytical/modules/optimizely_spec.rb
192
183
  - spec/analytical_spec.rb
193
184
  - spec/spec_helper.rb