charted 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a42efb242a29b6a2634fce409c83332faec2bb9f
4
- data.tar.gz: 9107198182f58f9f07c10fe72d27b44f5fefca70
3
+ metadata.gz: 3b3722ae50640b979a76a4c63e96ac99301f837d
4
+ data.tar.gz: d89bdd5a8e34062b7ed6924cbed41ad509343399
5
5
  SHA512:
6
- metadata.gz: 9fc09e83cc5c4bfb4cc34c9c13b461a40d6d8d07bdca7f582dd8a706452245deefb2ced18e8aebfaa38114333ae7c8df7f258169fd8fe93e396f069806636225
7
- data.tar.gz: 8ad15e63db5b8576d3955088f292ea92b77f48b0e5f55771ab3c58bc92dde8f3aca49480bcf6cb6ac3f6eb877fd8ff06f2162896c074b133d8ac013407502563
6
+ metadata.gz: f20ed2703edf9b882c9c907efde422941da146926c6a698d839870307cf51df919163761a31b8f91b497e03599e81e03b2c3ab9dad0b15b78d4f1558f75256a0
7
+ data.tar.gz: 1a04f82b9337934b3309aab892dade88c978a4353d0a180bcc1fd7f5a481628586cd4d2ce751d727650b0d0976b1bc54d91d3bd7cd21f1bbca330062e4005713
@@ -1,4 +1,3 @@
1
- require 'bundler/setup'
2
1
  require 'dashes'
3
2
  require 'date'
4
3
  require 'geoip'
@@ -5,7 +5,7 @@ module Charted
5
5
  set :show_exceptions, false
6
6
 
7
7
  before do
8
- @site = Site.first(domain: request.host)
8
+ @site = Site.first(domain: params[:domain] || request.host)
9
9
  halt(404) if @site.nil?
10
10
  @visitor = @site.visitor_with_cookie(request.cookies['charted'])
11
11
  end
@@ -64,7 +64,7 @@ module Charted
64
64
  total = query.count
65
65
  query.group_and_count(field).each do |row|
66
66
  count = row[:count]
67
- label = row[:label].to_s.strip
67
+ label = row[field].to_s.strip
68
68
  next if label == ""
69
69
  label = "#{label[0..37]}..." if label.length > 40
70
70
  rows << [format(count), "#{((count / total.to_f) * 100).round}%", label]
@@ -1,3 +1,3 @@
1
1
  module Charted
2
- VERSION = '0.1.0'
2
+ VERSION = '0.1.1'
3
3
  end
@@ -9,12 +9,15 @@ var Charted = {
9
9
  script.async = true;
10
10
  script.src = url + "?" + queryString;
11
11
  document.getElementsByTagName("head")[0].appendChild(script);
12
- } else if (url.match(/^https?:\/\//)) {
12
+ } else if (this.external()) {
13
13
  jQuery.getScript(url + "?" + queryString);
14
14
  } else {
15
15
  jQuery.get(url, queryString);
16
16
  }
17
17
  },
18
+ external: function() {
19
+ return !!this.URL.match(/^https?:\/\//);
20
+ },
18
21
  cookie: function(name) {
19
22
  var obj = {};
20
23
  var val = document.cookie.match(new RegExp("(?:^|;) *"+name+"=([^;]*)"));
@@ -61,6 +64,10 @@ var Charted = {
61
64
  var bucketNum = cookie ?
62
65
  parseInt(cookie.split("-")[1]) :
63
66
  Math.floor(Math.random() * 10);
67
+ var domainQuery = "";
68
+ if (this.external()) {
69
+ domainQuery = "&domain=" + encodeURIComponent(window.location.hostname);
70
+ }
64
71
  var convQuery = "";
65
72
  var conversions = document.body.getAttribute("data-conversions");
66
73
  if (conversions) {
@@ -90,7 +97,7 @@ var Charted = {
90
97
  "&referrer=" + encodeURIComponent(document.referrer) +
91
98
  "&resolution=" + encodeURIComponent(screen.width+"x"+screen.height) +
92
99
  "&bucket=" + bucketNum +
93
- convQuery + expQuery);
100
+ domainQuery + convQuery + expQuery);
94
101
  }
95
102
  };
96
103
  Charted.init();
@@ -32,6 +32,14 @@ class AppTest < ChartedTest
32
32
  assert_equal(0, Charted::Visit.count)
33
33
  end
34
34
 
35
+ def test_override_domain
36
+ site = Charted::Site.create(domain: 'chartedrb.com')
37
+ get '/charted', @params.merge(domain: 'chartedrb.com'), @env
38
+ assert(last_response.ok?)
39
+ assert_equal(1, Charted::Visitor.count)
40
+ assert_equal('chartedrb.com', Charted::Visitor.first.site.domain)
41
+ end
42
+
35
43
  def test_error
36
44
  raises_error = lambda { |*args| raise('Stubbed Error') }
37
45
  Charted::Site.stub(:first, raises_error) do
@@ -1,5 +1,6 @@
1
1
  ENV['RACK_ENV'] = 'test'
2
2
 
3
+ require 'bundler/setup'
3
4
  require_relative '../lib/charted'
4
5
  require 'minitest/autorun'
5
6
  require 'rack'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: charted
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hugh Bien