woopra_rails 1.1.10 → 1.2

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