woopra_rails 1.0.10 → 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.
- 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
|