charted 0.1.0 → 0.1.1

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.
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