woopra_rails 1.1.10 → 1.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,20 +1,7 @@
1
1
  module WoopraRails
2
2
  class << self
3
- def identify(name="", email="")
4
- name = begin
5
- URI::encode name
6
- rescue
7
- ""
8
- end
9
-
10
- email = begin
11
- URI::encode email
12
- rescue
13
- ""
14
- end
15
-
16
- action = "&ce_name=identified&cv_name=#{name}&cv_email=#{email}"
17
- ::Rails.logger.debug("User info: #{name.inspect}, #{email.inspect}")
3
+ def identify(name, email, ip)
4
+ action = "&ip=#{URI::encode ip}&ce_name=identified&cv_name=#{URI::encode name}&cv_email=#{URI::encode email}"
18
5
  issue_request(action)
19
6
  end
20
7
 
@@ -41,6 +28,7 @@ module WoopraRails
41
28
  ""
42
29
  end
43
30
  action = "&cv_name=#{name}&cv_email=#{email}&ce_name=#{event_name}"
31
+ action += "&ip=#{URI::encode args.delete(:ip)}"
44
32
 
45
33
  args.each do |k,v|
46
34
  action += "&ce_#{k}=#{URI::encode v.to_s}"
@@ -50,11 +38,10 @@ module WoopraRails
50
38
  end
51
39
 
52
40
  def issue_request(action=nil)
53
- action = action.nil? ? @base_params : @base_params + action
41
+ action = action.nil? ? base_params : base_params + action
54
42
  uri = URI.parse(action)
55
- resp = WoopraRails::Response.new(dryrun ? nil : Net::HTTP.get(uri))
56
- return resp if resp.success?
57
- raise WoopraError
43
+ resp = dryrun ? nil : Net::HTTP.get(uri)
44
+ WoopraRails::Response.new.parse(resp)
58
45
  end
59
46
  end
60
47
  end
@@ -2,8 +2,11 @@ module WoopraRails
2
2
  module Rails
3
3
  class Engine < ::Rails::Engine
4
4
  initializer "woopra_rails.load_config" do |app|
5
- WoopraRails.config = YAML.load_file(app.root.join("config","woopra.yml"))[::Rails.env]
6
- WoopraRails.init
5
+ if File.exists? "#{app.root}/config/woopra.yml"
6
+ WoopraRails.config = YAML.load_file(app.root.join("config","woopra.yml"))[::Rails.env]
7
+ else
8
+ raise WoopraError, "Missing woopra.yml in Rails root config directory."
9
+ end
7
10
  end
8
11
  end
9
12
  end
@@ -1,2 +1,19 @@
1
1
  class WoopraError < StandardError
2
- end
2
+ class << self
3
+ def json_exception?(e)
4
+ e.class == JSON::ParserError
5
+ end
6
+
7
+ def account_exception?(json)
8
+ ["host", "not registered!"].all?{|w| json.downcase.include? w }
9
+ end
10
+
11
+ def get_error(e, json)
12
+ if json_exception?(e) && account_exception?(json)
13
+ raise WoopraError, "Your account is incorrect. Woopra responded that '#{WoopraRails.account}'' was not registered."
14
+ elsif json_exception?(e)
15
+ ::Rails.logger.debug("JSON::ParserError in WoopraRails. Not raising, but you should check.")
16
+ end
17
+ end
18
+ end
19
+ end
@@ -1,16 +1,18 @@
1
- module WoopraRails::Response
2
- class << self
1
+ module WoopraRails
2
+ class Response
3
3
  attr_accessor :success
4
- def new(json=nil)
5
- if json
6
- begin
7
- JSON.parse(json).each do |k,v|
8
- self.send("#{k}=".to_sym, v)
9
- end
10
- rescue Exception => e
11
- self.send("success=", 1)
12
- end
13
-
4
+ def new()
5
+ success = false
6
+ end
7
+
8
+ def parse(json=nil)
9
+ begin
10
+ JSON.parse(json).each do |k,v|
11
+ self.send("#{k}=".to_sym, v)
12
+ end
13
+ rescue Exception => e
14
+ WoopraError.get_error(e, json)
15
+ send("success=", false)
14
16
  end
15
17
  self
16
18
  end
@@ -1,3 +1,3 @@
1
1
  module WoopraRails
2
- VERSION = "1.1.10"
2
+ VERSION = "1.2"
3
3
  end
data/lib/woopra_rails.rb CHANGED
@@ -12,32 +12,36 @@ require 'fileutils'
12
12
  ].each{ |f| require "woopra_rails/#{f}" }
13
13
 
14
14
  module WoopraRails
15
- @endpoint = 'http://www.woopra.com/track/ce/'
16
- @dryrun = false
17
- @config = {}
18
- @env = "development"
19
- @base_params = ""
15
+ @config = {}
20
16
 
21
17
  class << self
22
18
  def config=(config)
23
19
  @config = config
24
20
  end
25
21
 
26
- def init
27
- begin
28
- @env = ::Rails.env if defined? Rails
29
- @base_params = "#{@endpoint}?host=#{account}&response=json&timeout=300000"
30
- rescue Exception => e
31
- puts("Error on init: #{e.message}")
32
- end
22
+ def config
23
+ @config
33
24
  end
34
25
 
35
26
  def dryrun
36
- return @config["dryrun"] == true
27
+ @config["dryrun"]
37
28
  end
38
29
 
39
30
  def account
40
31
  @config["account"]
41
32
  end
33
+
34
+ def env
35
+ return ::Rails.env if defined? Rails
36
+ ""
37
+ end
38
+
39
+ def endpoint
40
+ 'http://www.woopra.com/track/ce/'
41
+ end
42
+
43
+ def base_params
44
+ "#{endpoint}?host=#{account}&response=json&timeout=300000"
45
+ end
42
46
  end
43
47
  end
@@ -0,0 +1 @@
1
+ --color
data/spec/TestApp/Gemfile CHANGED
@@ -1,7 +1,6 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gem 'rails', '3.2.12'
4
- gem 'woopra_rails', path: "../../", require: 'woopra_rails'
5
4
  gem 'sqlite3'
6
5
  gem 'jquery-rails'
7
6
 
@@ -25,7 +24,8 @@ group :test do
25
24
  gem 'simplecov', :require => false, :group => :test
26
25
  end
27
26
 
28
- group :test, :dp, :development do
27
+ group :test, :development do
28
+ gem 'woopra_rails', path: "../../", require: 'woopra_rails'
29
29
  gem 'rspec-rails', '~> 2.13.0'
30
30
  gem 'factory_girl_rails'
31
31
  gem 'debugger'
@@ -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
+
@@ -1,6 +1,5 @@
1
1
  class ApplicationController < ActionController::Base
2
2
  protect_from_forgery
3
- include WoopraRails::Session
4
3
 
5
4
  def index
6
5
 
@@ -0,0 +1,69 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://www.woopra.com/track/ce/?ce_name=identified&cv_email=me@wooprauser&cv_name=woopra%20user&host=topgun.dp.generalassemb.ly.test&response=json&timeout=300000
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - ! '*/*'
12
+ User-Agent:
13
+ - Ruby
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Content-Length:
20
+ - '58'
21
+ Connection:
22
+ - close
23
+ Server:
24
+ - Jetty(8.1.8.v20121106)
25
+ body:
26
+ encoding: US-ASCII
27
+ string: ! '/*
28
+
29
+ Host topgun.dp.generalassemb.ly.test not registered!
30
+
31
+ */'
32
+ http_version:
33
+ recorded_at: Tue, 07 May 2013 21:26:57 GMT
34
+ - request:
35
+ method: get
36
+ uri: http://www.woopra.com/track/ce/?ce_name=identified&cv_email=me@wooprauser&cv_name=woopra%20user&host=topgun.dp.generalassemb.ly&response=json&timeout=300000
37
+ body:
38
+ encoding: US-ASCII
39
+ string: ''
40
+ headers:
41
+ Accept:
42
+ - ! '*/*'
43
+ User-Agent:
44
+ - Ruby
45
+ response:
46
+ status:
47
+ code: 200
48
+ message: OK
49
+ headers:
50
+ Expires:
51
+ - Thu, 19 Nov 1981 08:52:00 GMT
52
+ Content-Type:
53
+ - text/javascript; charset=utf-8
54
+ Server:
55
+ - woopra-d-7.1b
56
+ Pragma:
57
+ - no-cache
58
+ Cache-Control:
59
+ - no-store, no-cache, must-revalidate, post-check=0, pre-check=0
60
+ Content-Length:
61
+ - '13'
62
+ Connection:
63
+ - close
64
+ body:
65
+ encoding: US-ASCII
66
+ string: ! '{"success":1}'
67
+ http_version:
68
+ recorded_at: Tue, 07 May 2013 21:58:50 GMT
69
+ recorded_with: VCR 2.4.0
@@ -0,0 +1,38 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://www.woopra.com/track/ce/?ce_name=identified&cv_email=me@wooprauser&cv_name=woopra%20user&host=topgun.dp.generalassemb.ly&response=json&timeout=300000
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - ! '*/*'
12
+ User-Agent:
13
+ - Ruby
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Expires:
20
+ - Thu, 19 Nov 1981 08:52:00 GMT
21
+ Content-Type:
22
+ - text/javascript; charset=utf-8
23
+ Server:
24
+ - woopra-d-7.1b
25
+ Pragma:
26
+ - no-cache
27
+ Cache-Control:
28
+ - no-store, no-cache, must-revalidate, post-check=0, pre-check=0
29
+ Content-Length:
30
+ - '13'
31
+ Connection:
32
+ - close
33
+ body:
34
+ encoding: US-ASCII
35
+ string: ! '{"success":1}'
36
+ http_version:
37
+ recorded_at: Tue, 07 May 2013 22:01:47 GMT
38
+ recorded_with: VCR 2.4.0
@@ -0,0 +1,38 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://www.woopra.com/track/ce/?ce_name=identified&cv_email=me@wooprauser.com&cv_name=woopra%20user&host=topgun.dp.generalassemb.ly&response=json&timeout=300000
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - ! '*/*'
12
+ User-Agent:
13
+ - Ruby
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Expires:
20
+ - Thu, 19 Nov 1981 08:52:00 GMT
21
+ Content-Type:
22
+ - text/javascript; charset=utf-8
23
+ Server:
24
+ - woopra-d-7.1b
25
+ Pragma:
26
+ - no-cache
27
+ Cache-Control:
28
+ - no-store, no-cache, must-revalidate, post-check=0, pre-check=0
29
+ Content-Length:
30
+ - '13'
31
+ Connection:
32
+ - close
33
+ body:
34
+ encoding: US-ASCII
35
+ string: ! '{"success":1}'
36
+ http_version:
37
+ recorded_at: Tue, 07 May 2013 22:01:47 GMT
38
+ recorded_with: VCR 2.4.0
@@ -0,0 +1,69 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://www.woopra.com/track/ce/?ce_name=identified&cv_email=me@wooprauser.com&cv_name=woopra%20user&host=topgun.dp.generalassemb.ly.test&response=json&timeout=300000
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - ! '*/*'
12
+ User-Agent:
13
+ - Ruby
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Content-Length:
20
+ - '58'
21
+ Connection:
22
+ - close
23
+ Server:
24
+ - Jetty(8.1.8.v20121106)
25
+ body:
26
+ encoding: US-ASCII
27
+ string: ! '/*
28
+
29
+ Host topgun.dp.generalassemb.ly.test not registered!
30
+
31
+ */'
32
+ http_version:
33
+ recorded_at: Tue, 07 May 2013 21:25:24 GMT
34
+ - request:
35
+ method: get
36
+ uri: http://www.woopra.com/track/ce/?ce_name=identified&cv_email=me@wooprauser.com&cv_name=woopra%20user&host=topgun.dp.generalassemb.ly&response=json&timeout=300000
37
+ body:
38
+ encoding: US-ASCII
39
+ string: ''
40
+ headers:
41
+ Accept:
42
+ - ! '*/*'
43
+ User-Agent:
44
+ - Ruby
45
+ response:
46
+ status:
47
+ code: 200
48
+ message: OK
49
+ headers:
50
+ Expires:
51
+ - Thu, 19 Nov 1981 08:52:00 GMT
52
+ Content-Type:
53
+ - text/javascript; charset=utf-8
54
+ Server:
55
+ - woopra-d-7.1b
56
+ Pragma:
57
+ - no-cache
58
+ Cache-Control:
59
+ - no-store, no-cache, must-revalidate, post-check=0, pre-check=0
60
+ Content-Length:
61
+ - '13'
62
+ Connection:
63
+ - close
64
+ body:
65
+ encoding: US-ASCII
66
+ string: ! '{"success":1}'
67
+ http_version:
68
+ recorded_at: Tue, 07 May 2013 21:58:50 GMT
69
+ recorded_with: VCR 2.4.0
@@ -0,0 +1,55 @@
1
+ require 'spec_helper'
2
+
3
+ describe WoopraRails do
4
+ context "expected current api methods" do
5
+ it "should have respond to 'identify'" do
6
+ WoopraRails.respond_to?(:identify).should be_true
7
+ end
8
+
9
+ it "should respond to 'log_pageview'" do
10
+ WoopraRails.respond_to?(:log_pageview).should be_true
11
+ end
12
+
13
+ it "should respond to 'record'" do
14
+ WoopraRails.respond_to?(:record).should be_true
15
+ end
16
+ end
17
+
18
+ context "#identify" do
19
+ it "should raise an argument error when nothing is passed" do
20
+ expect {
21
+ WoopraRails.identify
22
+ }.to raise_error(ArgumentError)
23
+ end
24
+
25
+ it "should raise an argument error with a message when not passing a name" do
26
+ expect {
27
+ WoopraRails.identify
28
+ }.to raise_error(ArgumentError, "You must identify with a name")
29
+ end
30
+
31
+ it "should raise an argument error with a message when not passing an email" do
32
+ expect {
33
+ WoopraRails.identify("woopra user")
34
+ }.to raise_error(ArgumentError, "You must identify with an email")
35
+ end
36
+
37
+ it "should return a WoopraRails::Response object" do
38
+ vcr "success" do
39
+ WoopraRails.identify("woopra user", "me@wooprauser.com").class.should == WoopraRails::Response
40
+ end
41
+ end
42
+
43
+ it "should return a successful response with valid arguments" do
44
+ vcr "success-good-arguments" do
45
+ WoopraRails.identify("woopra user", "me@wooprauser.com").success?.should be_true
46
+ end
47
+ end
48
+
49
+ it "should return a successful response and not check validity of email" do
50
+ vcr "success-bad-email" do
51
+ WoopraRails.identify("woopra user", "me@wooprauser").success?.should be_true
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,42 @@
1
+ # This file is copied to spec/ when you run 'rails generate rspec:install'
2
+ ENV["RAILS_ENV"] ||= 'test'
3
+ require File.expand_path("../../config/environment", __FILE__)
4
+ require 'rspec/rails'
5
+ require 'rspec/autorun'
6
+ require 'webmock/rspec'
7
+ require 'vcr'
8
+
9
+ # Requires supporting ruby files with custom matchers and macros, etc,
10
+ # in spec/support/ and its subdirectories.
11
+ Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f }
12
+
13
+ RSpec.configure do |config|
14
+ # ## Mock Framework
15
+ #
16
+ # If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
17
+ #
18
+ # config.mock_with :mocha
19
+ # config.mock_with :flexmock
20
+ # config.mock_with :rr
21
+
22
+ # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
23
+ config.fixture_path = "#{::Rails.root}/spec/fixtures"
24
+
25
+ # If you're not using ActiveRecord, or you'd prefer not to run each of your
26
+ # examples within a transaction, remove the following line or assign false
27
+ # instead of true.
28
+ config.use_transactional_fixtures = true
29
+
30
+ # If true, the base class of anonymous controllers will be inferred
31
+ # automatically. This will be the default behavior in future versions of
32
+ # rspec-rails.
33
+ config.infer_base_class_for_anonymous_controllers = false
34
+
35
+ # Run specs in random order to surface order dependencies. If you find an
36
+ # order dependency and want to debug it, you can fix the order by providing
37
+ # the seed, which is printed after each run.
38
+ # --seed 1234
39
+ config.order = "random"
40
+ end
41
+
42
+ CONFIG_YML = YAML::load_file(File.join(File.dirname(File.expand_path(__FILE__)), '../config/woopra.yml'))
@@ -0,0 +1,8 @@
1
+ require 'vcr'
2
+
3
+ VCR.configure do |c|
4
+ c.cassette_library_dir = "fixtures/cassettes"
5
+ c.hook_into :webmock
6
+ c.ignore_localhost = true
7
+ c.default_cassette_options = { record: :new_episodes }
8
+ end
@@ -0,0 +1,7 @@
1
+ require 'vcr'
2
+
3
+ def vcr(cassette, record=:none)
4
+ VCR.use_cassette(cassette, record: record) do
5
+ yield
6
+ end
7
+ end
@@ -0,0 +1,33 @@
1
+ require 'spec_helper'
2
+
3
+ describe WoopraRails do
4
+ it "should define module instance var for @config" do
5
+ WoopraRails.instance_variables.include?(:@config).should be_true
6
+ end
7
+
8
+ it "should have a valid environment" do
9
+ WoopraRails.env.should == Rails.env
10
+ end
11
+
12
+ it "should have an endpoint" do
13
+ WoopraRails.endpoint.should == "http://www.woopra.com/track/ce/"
14
+ end
15
+
16
+ it "should have dryrun set to the value in the config file" do
17
+ WoopraRails.dryrun.should == CONFIG_YML[::Rails.env.to_s]["dryrun"]
18
+ end
19
+
20
+ it "should have account set to the value in the config file" do
21
+ WoopraRails.account.should == CONFIG_YML[::Rails.env.to_s]["account"]
22
+ end
23
+
24
+ it "should respond with a valid URI for base params" do
25
+ WoopraRails.base_params.should == URI.encode(WoopraRails.base_params)
26
+ end
27
+
28
+ it "should include always necesary params in base params" do
29
+ ["host","response","timeout"].each do |p|
30
+ WoopraRails.base_params.include?(p).should be_true
31
+ end
32
+ end
33
+ end
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.1.10
4
+ version: '1.2'
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-07 00:00:00.000000000 Z
12
+ date: 2013-05-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -63,7 +63,9 @@ files:
63
63
  - lib/woopra_rails/response.rb
64
64
  - lib/woopra_rails/version.rb
65
65
  - spec/TestApp/.gitignore
66
+ - spec/TestApp/.rspec
66
67
  - spec/TestApp/Gemfile
68
+ - spec/TestApp/Guardfile
67
69
  - spec/TestApp/README.rdoc
68
70
  - spec/TestApp/Rakefile
69
71
  - spec/TestApp/app/assets/images/rails.png
@@ -93,6 +95,10 @@ files:
93
95
  - spec/TestApp/config/routes.rb
94
96
  - spec/TestApp/config/woopra.yml.example
95
97
  - spec/TestApp/db/seeds.rb
98
+ - spec/TestApp/fixtures/cassettes/failed.yml
99
+ - spec/TestApp/fixtures/cassettes/success-bad-email.yml
100
+ - spec/TestApp/fixtures/cassettes/success-good-arguments.yml
101
+ - spec/TestApp/fixtures/cassettes/success.yml
96
102
  - spec/TestApp/lib/assets/.gitkeep
97
103
  - spec/TestApp/lib/tasks/.gitkeep
98
104
  - spec/TestApp/log/.gitkeep
@@ -102,6 +108,11 @@ files:
102
108
  - spec/TestApp/public/favicon.ico
103
109
  - spec/TestApp/public/robots.txt
104
110
  - spec/TestApp/script/rails
111
+ - spec/TestApp/spec/lib/api_spec.rb
112
+ - spec/TestApp/spec/spec_helper.rb
113
+ - spec/TestApp/spec/support/vcr.rb
114
+ - spec/TestApp/spec/support/vcr_macros.rb
115
+ - spec/TestApp/spec/woopra_rails_spec.rb
105
116
  - spec/TestApp/test/fixtures/.gitkeep
106
117
  - spec/TestApp/test/functional/.gitkeep
107
118
  - spec/TestApp/test/integration/.gitkeep
@@ -111,8 +122,6 @@ files:
111
122
  - spec/TestApp/vendor/assets/javascripts/.gitkeep
112
123
  - spec/TestApp/vendor/assets/stylesheets/.gitkeep
113
124
  - spec/TestApp/vendor/plugins/.gitkeep
114
- - spec/lib/woopra_rails_spec.rb
115
- - spec/spec_helper.rb
116
125
  - woopra_rails.gemspec
117
126
  homepage: http://github.com/khopkins218/woopra_rails
118
127
  licenses:
@@ -141,7 +150,9 @@ specification_version: 3
141
150
  summary: Server side integration of Woopra HTTP API for Ruby on Rails applications
142
151
  test_files:
143
152
  - spec/TestApp/.gitignore
153
+ - spec/TestApp/.rspec
144
154
  - spec/TestApp/Gemfile
155
+ - spec/TestApp/Guardfile
145
156
  - spec/TestApp/README.rdoc
146
157
  - spec/TestApp/Rakefile
147
158
  - spec/TestApp/app/assets/images/rails.png
@@ -171,6 +182,10 @@ test_files:
171
182
  - spec/TestApp/config/routes.rb
172
183
  - spec/TestApp/config/woopra.yml.example
173
184
  - spec/TestApp/db/seeds.rb
185
+ - spec/TestApp/fixtures/cassettes/failed.yml
186
+ - spec/TestApp/fixtures/cassettes/success-bad-email.yml
187
+ - spec/TestApp/fixtures/cassettes/success-good-arguments.yml
188
+ - spec/TestApp/fixtures/cassettes/success.yml
174
189
  - spec/TestApp/lib/assets/.gitkeep
175
190
  - spec/TestApp/lib/tasks/.gitkeep
176
191
  - spec/TestApp/log/.gitkeep
@@ -180,6 +195,11 @@ test_files:
180
195
  - spec/TestApp/public/favicon.ico
181
196
  - spec/TestApp/public/robots.txt
182
197
  - spec/TestApp/script/rails
198
+ - spec/TestApp/spec/lib/api_spec.rb
199
+ - spec/TestApp/spec/spec_helper.rb
200
+ - spec/TestApp/spec/support/vcr.rb
201
+ - spec/TestApp/spec/support/vcr_macros.rb
202
+ - spec/TestApp/spec/woopra_rails_spec.rb
183
203
  - spec/TestApp/test/fixtures/.gitkeep
184
204
  - spec/TestApp/test/functional/.gitkeep
185
205
  - spec/TestApp/test/integration/.gitkeep
@@ -189,5 +209,3 @@ test_files:
189
209
  - spec/TestApp/vendor/assets/javascripts/.gitkeep
190
210
  - spec/TestApp/vendor/assets/stylesheets/.gitkeep
191
211
  - spec/TestApp/vendor/plugins/.gitkeep
192
- - spec/lib/woopra_rails_spec.rb
193
- - spec/spec_helper.rb
@@ -1,11 +0,0 @@
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, :@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 DELETED
@@ -1,11 +0,0 @@
1
- ENV["RAILS_ENV"] ||= 'test'
2
-
3
- require 'rubygems'
4
- require 'rspec/autorun'
5
- require 'bundler/setup'
6
- require 'factory_girl_rails'
7
- require 'woopra_rails'
8
-
9
- RSpec.configure do |config|
10
- config.include FactoryGirl::Syntax::Methods
11
- end