analytical 1.8.0 → 1.9.0

Sign up to get free protection for your applications and to get access to all the features.
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