gauges-rails 0.0.1 → 0.2.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/.gitignore +20 -0
- data/.rspec +1 -0
- data/Gemfile +2 -1
- data/{MIT-LICENSE → LICENSE} +3 -1
- data/README.md +35 -17
- data/Rakefile +2 -33
- data/gauges-rails.gemspec +20 -0
- data/lib/gauges/rails.rb +1 -1
- data/lib/gauges/rails/engine.rb +10 -0
- data/lib/gauges/rails/version.rb +1 -1
- data/spec/gauges-rails_spec.rb +35 -0
- data/spec/spec_helper.rb +20 -0
- data/vendor/assets/javascripts/gauges.js.erb +11 -0
- metadata +30 -62
- data/lib/gauges/rails/helper.rb +0 -15
- data/lib/gauges/rails/railtie.rb +0 -19
data/.gitignore
ADDED
data/.rspec
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--color
|
data/Gemfile
CHANGED
data/{MIT-LICENSE → LICENSE}
RENAMED
data/README.md
CHANGED
@@ -1,36 +1,54 @@
|
|
1
|
-
# Gauges
|
1
|
+
# Gauges::Rails
|
2
|
+
|
3
|
+
A Rails engine to add [Gauges][] tracking code to Rails apps.
|
4
|
+
|
5
|
+
[gauges]: http://gaug.es/
|
2
6
|
|
3
|
-
Easily (and neatly) add Gaug.es to your Rails 3 application!
|
4
7
|
|
5
8
|
## Installation
|
6
9
|
|
7
|
-
|
10
|
+
Add this line to your application's Gemfile:
|
8
11
|
|
9
12
|
gem 'gauges-rails'
|
10
13
|
|
11
|
-
|
14
|
+
And then execute:
|
15
|
+
|
16
|
+
$ bundle
|
17
|
+
|
18
|
+
Or install it yourself as:
|
19
|
+
|
20
|
+
$ gem install gauges-rails
|
21
|
+
|
22
|
+
|
23
|
+
## Configuration
|
24
|
+
|
25
|
+
Set your Gauges site ID in the `config/application.rb` file:
|
26
|
+
|
27
|
+
config.gauges.site_id = GAUGES_SITE_ID
|
28
|
+
|
29
|
+
Your site ID can be found on the Gauges dashboard under "Tracking Code".
|
12
30
|
|
13
|
-
# Set our Gaug.es site id
|
14
|
-
config.gauges.site_id = 'YOUR_SITE_ID_HERE'
|
15
31
|
|
16
|
-
|
32
|
+
## Usage
|
17
33
|
|
18
|
-
|
34
|
+
Include the JavaScript tracking code at the bottom of your layout template:
|
19
35
|
|
20
|
-
|
36
|
+
<%= javascript_include_tag('gauges') %>
|
21
37
|
|
22
|
-
|
38
|
+
Or, if your template is using Haml:
|
23
39
|
|
24
|
-
|
40
|
+
= javascript_include_tag('gauges')
|
25
41
|
|
26
|
-
= gauges_tracking_code
|
27
42
|
|
28
|
-
##
|
43
|
+
## Contributing
|
29
44
|
|
30
|
-
|
45
|
+
1. Fork it.
|
46
|
+
2. Create your feature branch (`git checkout -b my-new-feature`).
|
47
|
+
3. Commit your changes (`git commit -am 'Added some feature'`).
|
48
|
+
4. Push to the branch (`git push origin my-new-feature`).
|
49
|
+
5. Create a new Pull Request.
|
31
50
|
|
32
|
-
You can pass a hash of arguments to the *gauges_tracking_code* helper method. Example:
|
33
51
|
|
34
|
-
|
52
|
+
## Copyright
|
35
53
|
|
36
|
-
|
54
|
+
Copyright © 2012 Tyler Hunt. See LICENSE for details.
|
data/Rakefile
CHANGED
@@ -1,34 +1,3 @@
|
|
1
|
-
|
2
|
-
require 'rubygems'
|
3
|
-
begin
|
4
|
-
require 'bundler/setup'
|
5
|
-
rescue LoadError
|
6
|
-
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
7
|
-
end
|
1
|
+
#!/usr/bin/env rake
|
8
2
|
|
9
|
-
|
10
|
-
require 'gauges/rails/version'
|
11
|
-
|
12
|
-
require 'rake'
|
13
|
-
|
14
|
-
require 'rspec/core'
|
15
|
-
require 'rspec/core/rake_task'
|
16
|
-
|
17
|
-
RSpec::Core::RakeTask.new(:spec)
|
18
|
-
|
19
|
-
task :build do
|
20
|
-
system "gem build gauges-rails.gemspec"
|
21
|
-
end
|
22
|
-
|
23
|
-
task :install => :build do
|
24
|
-
system "gem install gauges-rails-#{Gauges::Rails::VERSION}.gem"
|
25
|
-
end
|
26
|
-
|
27
|
-
task :release => :build do
|
28
|
-
system "git tag -a #{Gauges::Rails::VERSION} -m 'Tagging #{Gauges::Rails::VERSION}'"
|
29
|
-
system "git push --tags"
|
30
|
-
system "gem push gauges-rails-#{Gauges::Rails::VERSION}.gem"
|
31
|
-
system "rm gauges-rails-#{Gauges::Rails::VERSION}.gem"
|
32
|
-
end
|
33
|
-
|
34
|
-
task :default => :spec
|
3
|
+
require 'bundler/gem_tasks'
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
require File.expand_path('../lib/gauges/rails/version', __FILE__)
|
3
|
+
|
4
|
+
Gem::Specification.new do |gem|
|
5
|
+
gem.authors = ['Tyler Hunt']
|
6
|
+
gem.email = ['tyler@tylerhunt.com']
|
7
|
+
gem.description = %q{An engine to add Gauges tracking code to Rails apps.}
|
8
|
+
gem.summary = %q{An engine to add Gauges tracking code to Rails apps.}
|
9
|
+
gem.homepage = 'http://github.com/tylerhunt/gauges-rails'
|
10
|
+
|
11
|
+
gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
12
|
+
gem.files = `git ls-files`.split("\n")
|
13
|
+
gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
14
|
+
gem.name = 'gauges-rails'
|
15
|
+
gem.require_paths = ['lib']
|
16
|
+
gem.version = Gauges::Rails::VERSION
|
17
|
+
|
18
|
+
gem.add_dependency 'rails', '~> 3.1'
|
19
|
+
gem.add_development_dependency 'rspec', '~> 2.0'
|
20
|
+
end
|
data/lib/gauges/rails.rb
CHANGED
@@ -1 +1 @@
|
|
1
|
-
require 'gauges/rails/
|
1
|
+
require 'gauges/rails/engine'
|
data/lib/gauges/rails/version.rb
CHANGED
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Gauges::Rails::Engine do
|
4
|
+
let(:site_id) { SecureRandom.hex(12) }
|
5
|
+
|
6
|
+
subject { described_class }
|
7
|
+
|
8
|
+
context 'configuration' do
|
9
|
+
subject { GaugesRailsTestApp.config.gauges }
|
10
|
+
|
11
|
+
it { should be_a(ActiveSupport::OrderedOptions) }
|
12
|
+
|
13
|
+
its(:site_id) { should be_nil }
|
14
|
+
|
15
|
+
context 'site_id=' do
|
16
|
+
specify do
|
17
|
+
subject.site_id = site_id
|
18
|
+
expect { subject.site_id = nil }.to change(subject, :site_id).to(nil)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
describe 'assets' do
|
24
|
+
include Rack::Test::Methods
|
25
|
+
|
26
|
+
let(:app) { GaugesRailsTestApp }
|
27
|
+
|
28
|
+
before { GaugesRailsTestApp.config.gauges.site_id = site_id }
|
29
|
+
|
30
|
+
it 'interpolates the site_id' do
|
31
|
+
get '/assets/gauges.js'
|
32
|
+
last_response.body.should include(site_id)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'rails'
|
2
|
+
require 'active_support/core_ext/numeric'
|
3
|
+
require 'action_controller/railtie'
|
4
|
+
require 'sprockets/railtie'
|
5
|
+
|
6
|
+
require 'gauges/rails'
|
7
|
+
|
8
|
+
GaugesRailsTestApp = Class.new(Rails::Application) do
|
9
|
+
config.active_support.deprecation = :stderr
|
10
|
+
config.secret_token = SecureRandom.uuid
|
11
|
+
config.logger = Logger.new('/dev/null')
|
12
|
+
|
13
|
+
config.assets.enabled = true
|
14
|
+
config.assets.cache_store = [:memory_store, :size => 1.megabyte]
|
15
|
+
end
|
16
|
+
|
17
|
+
GaugesRailsTestApp.initialize!
|
18
|
+
GaugesRailsTestApp.routes.clear!
|
19
|
+
|
20
|
+
Rails.application = GaugesRailsTestApp
|
@@ -0,0 +1,11 @@
|
|
1
|
+
var _gauges = _gauges || [];
|
2
|
+
(function() {
|
3
|
+
var t = document.createElement('script');
|
4
|
+
t.type = 'text/javascript';
|
5
|
+
t.async = true;
|
6
|
+
t.id = 'gauges-tracker';
|
7
|
+
t.setAttribute('data-site-id', '<%= Rails.application.config.gauges.site_id %>');
|
8
|
+
t.src = '//secure.gaug.es/track.js';
|
9
|
+
var s = document.getElementsByTagName('script')[0];
|
10
|
+
s.parentNode.insertBefore(t, s);
|
11
|
+
})();
|
metadata
CHANGED
@@ -1,88 +1,60 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gauges-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
|
-
-
|
8
|
+
- Tyler Hunt
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2012-03-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
16
|
-
requirement: &
|
16
|
+
requirement: &70200658128380 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 3.1
|
22
|
-
type: :
|
23
|
-
prerelease: false
|
24
|
-
version_requirements: *70180790271600
|
25
|
-
- !ruby/object:Gem::Dependency
|
26
|
-
name: rspec-rails
|
27
|
-
requirement: &70180790269660 !ruby/object:Gem::Requirement
|
28
|
-
none: false
|
29
|
-
requirements:
|
30
|
-
- - ~>
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: 2.6.1
|
33
|
-
type: :development
|
34
|
-
prerelease: false
|
35
|
-
version_requirements: *70180790269660
|
36
|
-
- !ruby/object:Gem::Dependency
|
37
|
-
name: capybara
|
38
|
-
requirement: &70180790267680 !ruby/object:Gem::Requirement
|
39
|
-
none: false
|
40
|
-
requirements:
|
41
|
-
- - ~>
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
version: 1.0.1
|
44
|
-
type: :development
|
21
|
+
version: '3.1'
|
22
|
+
type: :runtime
|
45
23
|
prerelease: false
|
46
|
-
version_requirements: *
|
24
|
+
version_requirements: *70200658128380
|
47
25
|
- !ruby/object:Gem::Dependency
|
48
|
-
name:
|
49
|
-
requirement: &
|
26
|
+
name: rspec
|
27
|
+
requirement: &70200658127860 !ruby/object:Gem::Requirement
|
50
28
|
none: false
|
51
29
|
requirements:
|
52
30
|
- - ~>
|
53
31
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
32
|
+
version: '2.0'
|
55
33
|
type: :development
|
56
34
|
prerelease: false
|
57
|
-
version_requirements: *
|
58
|
-
|
59
|
-
name: launchy
|
60
|
-
requirement: &70180790255000 !ruby/object:Gem::Requirement
|
61
|
-
none: false
|
62
|
-
requirements:
|
63
|
-
- - ~>
|
64
|
-
- !ruby/object:Gem::Version
|
65
|
-
version: 2.0.5
|
66
|
-
type: :development
|
67
|
-
prerelease: false
|
68
|
-
version_requirements: *70180790255000
|
69
|
-
description: Simple helper to add Gaug.es support to your Rails application.
|
35
|
+
version_requirements: *70200658127860
|
36
|
+
description: An engine to add Gauges tracking code to Rails apps.
|
70
37
|
email:
|
71
|
-
-
|
38
|
+
- tyler@tylerhunt.com
|
72
39
|
executables: []
|
73
40
|
extensions: []
|
74
41
|
extra_rdoc_files: []
|
75
42
|
files:
|
76
|
-
-
|
77
|
-
-
|
78
|
-
- lib/gauges/rails/version.rb
|
79
|
-
- lib/gauges/rails.rb
|
80
|
-
- lib/gauges-rails.rb
|
81
|
-
- MIT-LICENSE
|
82
|
-
- Rakefile
|
43
|
+
- .gitignore
|
44
|
+
- .rspec
|
83
45
|
- Gemfile
|
46
|
+
- LICENSE
|
84
47
|
- README.md
|
85
|
-
|
48
|
+
- Rakefile
|
49
|
+
- gauges-rails.gemspec
|
50
|
+
- lib/gauges-rails.rb
|
51
|
+
- lib/gauges/rails.rb
|
52
|
+
- lib/gauges/rails/engine.rb
|
53
|
+
- lib/gauges/rails/version.rb
|
54
|
+
- spec/gauges-rails_spec.rb
|
55
|
+
- spec/spec_helper.rb
|
56
|
+
- vendor/assets/javascripts/gauges.js.erb
|
57
|
+
homepage: http://github.com/tylerhunt/gauges-rails
|
86
58
|
licenses: []
|
87
59
|
post_install_message:
|
88
60
|
rdoc_options: []
|
@@ -94,22 +66,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
94
66
|
- - ! '>='
|
95
67
|
- !ruby/object:Gem::Version
|
96
68
|
version: '0'
|
97
|
-
segments:
|
98
|
-
- 0
|
99
|
-
hash: -3602843286404034390
|
100
69
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
101
70
|
none: false
|
102
71
|
requirements:
|
103
72
|
- - ! '>='
|
104
73
|
- !ruby/object:Gem::Version
|
105
74
|
version: '0'
|
106
|
-
segments:
|
107
|
-
- 0
|
108
|
-
hash: -3602843286404034390
|
109
75
|
requirements: []
|
110
76
|
rubyforge_project:
|
111
77
|
rubygems_version: 1.8.6
|
112
78
|
signing_key:
|
113
79
|
specification_version: 3
|
114
|
-
summary:
|
115
|
-
test_files:
|
80
|
+
summary: An engine to add Gauges tracking code to Rails apps.
|
81
|
+
test_files:
|
82
|
+
- spec/gauges-rails_spec.rb
|
83
|
+
- spec/spec_helper.rb
|
data/lib/gauges/rails/helper.rb
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
module Gauges
|
2
|
-
module Rails
|
3
|
-
module Helper
|
4
|
-
def gauges_tracking_code(options={})
|
5
|
-
options[:site_id] = ::Rails.application.config.gauges.site_id unless options.key?(:site_id)
|
6
|
-
if options[:site_id].nil?
|
7
|
-
raise "Please set a Gaug.es site ID in your application configuration or as an argument to gauges_tracking_code, example: gauges_tracking_code(:site_id => '12345')"
|
8
|
-
else
|
9
|
-
"<script type=\"text/javascript\"> var _gauges = _gauges || []; (function() { var t = document.createElement('script'); t.type = 'text/javascript'; t.async = true; t.id = 'gauges-tracker'; t.setAttribute('data-site-id', '#{options[:site_id]}'); t.src = '//secure.gaug.es/track.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(t, s); })(); </script>".html_safe
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
data/lib/gauges/rails/railtie.rb
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
require 'rails/railtie'
|
2
|
-
require 'gauges/rails/helper'
|
3
|
-
|
4
|
-
module Gauges
|
5
|
-
module Rails
|
6
|
-
class Railtie < ::Rails::Railtie
|
7
|
-
|
8
|
-
config.gauges = ActiveSupport::OrderedOptions.new
|
9
|
-
config.gauges.site_id = nil
|
10
|
-
|
11
|
-
initializer :setup_gauges_rails do |app|
|
12
|
-
ActiveSupport.on_load(:action_view) do
|
13
|
-
include Gauges::Rails::Helper
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|