woopra_rails 1.0.10 → 1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +18 -0
- data/Guardfile +24 -0
- data/lib/woopra_rails.rb +6 -14
- data/lib/woopra_rails/api.rb +9 -8
- data/lib/woopra_rails/version.rb +1 -1
- data/spec/TestApp/Gemfile +26 -1
- data/spec/lib/woopra_rails_spec.rb +11 -0
- data/spec/spec_helper.rb +11 -0
- metadata +7 -2
data/Gemfile
CHANGED
@@ -2,3 +2,21 @@ source 'https://rubygems.org'
|
|
2
2
|
|
3
3
|
# Specify your gem's dependencies in woopra_rails.gemspec
|
4
4
|
gemspec
|
5
|
+
|
6
|
+
gem 'rails'
|
7
|
+
|
8
|
+
group :development do
|
9
|
+
gem 'guard'
|
10
|
+
gem 'guard-rspec'
|
11
|
+
gem 'rb-fsevent'
|
12
|
+
end
|
13
|
+
|
14
|
+
group :test do
|
15
|
+
gem 'database_cleaner'
|
16
|
+
end
|
17
|
+
|
18
|
+
group :test, :development do
|
19
|
+
gem 'rspec-rails'
|
20
|
+
gem 'factory_girl_rails'
|
21
|
+
gem 'debugger'
|
22
|
+
end
|
data/Guardfile
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
# A sample Guardfile
|
2
|
+
# More info at https://github.com/guard/guard#readme
|
3
|
+
|
4
|
+
guard 'rspec' do
|
5
|
+
watch(%r{^spec/.+_spec\.rb$})
|
6
|
+
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
|
7
|
+
watch('spec/spec_helper.rb') { "spec" }
|
8
|
+
|
9
|
+
# Rails example
|
10
|
+
watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
|
11
|
+
watch(%r{^app/(.*)(\.erb|\.haml)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
|
12
|
+
watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
|
13
|
+
watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
|
14
|
+
watch('config/routes.rb') { "spec/routing" }
|
15
|
+
watch('app/controllers/application_controller.rb') { "spec/controllers" }
|
16
|
+
|
17
|
+
# Capybara features specs
|
18
|
+
watch(%r{^app/views/(.+)/.*\.(erb|haml)$}) { |m| "spec/features/#{m[1]}_spec.rb" }
|
19
|
+
|
20
|
+
# Turnip features and steps
|
21
|
+
watch(%r{^spec/acceptance/(.+)\.feature$})
|
22
|
+
watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance' }
|
23
|
+
end
|
24
|
+
|
data/lib/woopra_rails.rb
CHANGED
@@ -17,33 +17,25 @@ module WoopraRails
|
|
17
17
|
@config = {}
|
18
18
|
@env = "development"
|
19
19
|
@session = ""
|
20
|
+
@base_params = ""
|
20
21
|
|
21
22
|
class << self
|
22
23
|
def config=(config)
|
23
24
|
@config = config
|
24
25
|
end
|
25
26
|
|
26
|
-
def get_env_config
|
27
|
-
@env = ::Rails.env if defined? Rails
|
28
|
-
set_base
|
29
|
-
end
|
30
|
-
|
31
27
|
def init
|
32
28
|
begin
|
33
|
-
|
29
|
+
@env = ::Rails.env if defined? Rails
|
30
|
+
def dryrun
|
31
|
+
return @config["dryrun"] == true
|
32
|
+
end
|
33
|
+
@base_params = "#{@endpoint}?host=#{account}&response=json&timeout=300000"
|
34
34
|
rescue Exception => e
|
35
35
|
puts("Error on init: #{e.message}")
|
36
36
|
end
|
37
37
|
end
|
38
38
|
|
39
|
-
def set_base
|
40
|
-
@base_params = "#{@endpoint}?host=#{account}&response=json&cookie=#{@session}&timeout=300000"
|
41
|
-
end
|
42
|
-
|
43
|
-
def dryrun
|
44
|
-
return @config["dryrun"] == true
|
45
|
-
end
|
46
|
-
|
47
39
|
def account
|
48
40
|
@config["account"]
|
49
41
|
end
|
data/lib/woopra_rails/api.rb
CHANGED
@@ -1,21 +1,21 @@
|
|
1
1
|
module WoopraRails
|
2
2
|
class << self
|
3
|
-
def identify(name="", email=""
|
4
|
-
@session = Digest::MD5.hexdigest(
|
5
|
-
|
6
|
-
|
3
|
+
def identify(name="", email="")
|
4
|
+
@session = Digest::MD5.hexdigest(email) rescue ""
|
5
|
+
::Rails.logger.debug "Session: #{@session}"
|
6
|
+
@name = begin
|
7
7
|
URI::encode name
|
8
8
|
rescue
|
9
9
|
""
|
10
10
|
end
|
11
11
|
|
12
|
-
|
12
|
+
@email = begin
|
13
13
|
URI::encode email
|
14
14
|
rescue
|
15
15
|
""
|
16
16
|
end
|
17
17
|
|
18
|
-
@
|
18
|
+
@identifier = "&cookie=#{@session}&cv_name=#{@name}&cv_email=#{@email}"
|
19
19
|
issue_request
|
20
20
|
end
|
21
21
|
|
@@ -23,8 +23,9 @@ module WoopraRails
|
|
23
23
|
issue_request("&ce_name=pv&ce_title=#{URI::encode title}&ce_url=#{url}")
|
24
24
|
end
|
25
25
|
|
26
|
-
def
|
27
|
-
|
26
|
+
def record(event_name, args={})
|
27
|
+
::Rails.logger.debug "Session: #{@session}"
|
28
|
+
action = "&cookie=#{@session}&ce_name=#{URI::encode event_name.to_s}"
|
28
29
|
args.each do |k,v|
|
29
30
|
action += "&ce_#{k}=#{URI::encode v.to_s}"
|
30
31
|
end
|
data/lib/woopra_rails/version.rb
CHANGED
data/spec/TestApp/Gemfile
CHANGED
@@ -4,4 +4,29 @@ gem 'rails', '3.2.12'
|
|
4
4
|
gem 'woopra_rails', path: "../../", require: 'woopra_rails'
|
5
5
|
gem 'sqlite3'
|
6
6
|
gem 'jquery-rails'
|
7
|
-
|
7
|
+
|
8
|
+
group :development do
|
9
|
+
gem 'guard'
|
10
|
+
gem 'guard-rspec'
|
11
|
+
gem 'rb-fsevent'
|
12
|
+
gem 'pry-rails'
|
13
|
+
gem 'pry-coolline'
|
14
|
+
gem 'pry-doc'
|
15
|
+
gem 'awesome_print'
|
16
|
+
end
|
17
|
+
|
18
|
+
group :test do
|
19
|
+
gem 'timecop'
|
20
|
+
gem 'shoulda-matchers', '>= 2.0.0'
|
21
|
+
gem 'vcr'
|
22
|
+
# VCR is known to work with WebMock >= 1.8.0, < 1.10.
|
23
|
+
gem 'webmock', '= 1.9.3'
|
24
|
+
gem 'database_cleaner'
|
25
|
+
gem 'simplecov', :require => false, :group => :test
|
26
|
+
end
|
27
|
+
|
28
|
+
group :test, :dp, :development do
|
29
|
+
gem 'rspec-rails', '~> 2.13.0'
|
30
|
+
gem 'factory_girl_rails'
|
31
|
+
gem 'debugger'
|
32
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe WoopraRails do
|
4
|
+
context "post init" do
|
5
|
+
it "should define module instance vars" do
|
6
|
+
[:@endpoint, :@dryrun, :@config, :@env, :@session, :@base_params].each do |v|
|
7
|
+
WoopraRails.instance_variables.include?(v).should be_true
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
data/spec/spec_helper.rb
ADDED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: woopra_rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: '1.1'
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-05-
|
12
|
+
date: 2013-05-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -52,6 +52,7 @@ extra_rdoc_files: []
|
|
52
52
|
files:
|
53
53
|
- .gitignore
|
54
54
|
- Gemfile
|
55
|
+
- Guardfile
|
55
56
|
- LICENSE.txt
|
56
57
|
- README.md
|
57
58
|
- Rakefile
|
@@ -110,6 +111,8 @@ files:
|
|
110
111
|
- spec/TestApp/vendor/assets/javascripts/.gitkeep
|
111
112
|
- spec/TestApp/vendor/assets/stylesheets/.gitkeep
|
112
113
|
- spec/TestApp/vendor/plugins/.gitkeep
|
114
|
+
- spec/lib/woopra_rails_spec.rb
|
115
|
+
- spec/spec_helper.rb
|
113
116
|
- woopra_rails.gemspec
|
114
117
|
homepage: http://github.com/khopkins218/woopra_rails
|
115
118
|
licenses:
|
@@ -186,3 +189,5 @@ test_files:
|
|
186
189
|
- spec/TestApp/vendor/assets/javascripts/.gitkeep
|
187
190
|
- spec/TestApp/vendor/assets/stylesheets/.gitkeep
|
188
191
|
- spec/TestApp/vendor/plugins/.gitkeep
|
192
|
+
- spec/lib/woopra_rails_spec.rb
|
193
|
+
- spec/spec_helper.rb
|