exception_resource 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,3 @@
1
1
  module ExceptionResource
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -12,9 +12,17 @@ module ExceptionResource
12
12
 
13
13
  module Base
14
14
  def save
15
- url = URI.parse(ExceptionResource.site).merge("/exceptions") rescue nil
15
+ url = URI.parse(ExceptionResource.site) rescue nil
16
+ return false unless url
17
+
18
+ url.path = "/" if url.path.empty?
19
+ url.path += "exceptions"
20
+
16
21
  if url
17
- response = Net::HTTP.post_form(url, to_hash)
22
+ response = nil
23
+ Net::HTTP.start(url.host, url.port) do |request|
24
+ response = request.post(url.request_uri, to_hash.map { |k, v| "#{k}=#{v}" }.join("&"))
25
+ end
18
26
  response.code == "201"
19
27
  else
20
28
  false
@@ -31,5 +31,15 @@ describe ExceptionResource do
31
31
  ex.save.should == false
32
32
  end
33
33
  end
34
+
35
+ it "should merge site url with pre-defined path" do
36
+ ExceptionResource.site = "http://localhost:3000?token=123456789"
37
+
38
+ with_exception do |ex|
39
+ Artifice.activate_with(SiteWithQueryStringApp.new) do
40
+ ex.save.should == true
41
+ end
42
+ end
43
+ end
34
44
  end
35
45
 
@@ -0,0 +1,11 @@
1
+ class SiteWithQueryStringApp < ExceptionApp
2
+
3
+ def call(env)
4
+ request = Rack::Request.new(env)
5
+ unless request.params["token"]
6
+ env = {}
7
+ end
8
+ super(env)
9
+ end
10
+ end
11
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: exception_resource
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -14,7 +14,7 @@ default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: exception-hashify
17
- requirement: &2156938880 !ruby/object:Gem::Requirement
17
+ requirement: &2153268440 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ~>
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: 0.0.1
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *2156938880
25
+ version_requirements: *2153268440
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: rspec
28
- requirement: &2156938380 !ruby/object:Gem::Requirement
28
+ requirement: &2153267940 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ~>
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: 2.6.0
34
34
  type: :development
35
35
  prerelease: false
36
- version_requirements: *2156938380
36
+ version_requirements: *2153267940
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: artifice
39
- requirement: &2156937920 !ruby/object:Gem::Requirement
39
+ requirement: &2153267480 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ~>
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: '0.6'
45
45
  type: :development
46
46
  prerelease: false
47
- version_requirements: *2156937920
47
+ version_requirements: *2153267480
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: rack
50
- requirement: &2156937460 !ruby/object:Gem::Requirement
50
+ requirement: &2153267020 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ! '>='
@@ -55,7 +55,7 @@ dependencies:
55
55
  version: '1.0'
56
56
  type: :development
57
57
  prerelease: false
58
- version_requirements: *2156937460
58
+ version_requirements: *2153267020
59
59
  description: Save your exceptions
60
60
  email:
61
61
  - me@rafaelss.com
@@ -74,6 +74,7 @@ files:
74
74
  - spec/spec_helper.rb
75
75
  - spec/support/exception_app.rb
76
76
  - spec/support/helpers.rb
77
+ - spec/support/site_with_query_string_app.rb
77
78
  has_rdoc: true
78
79
  homepage: http://github.com/rafaelss/exception_resource
79
80
  licenses: []
@@ -104,3 +105,4 @@ test_files:
104
105
  - spec/spec_helper.rb
105
106
  - spec/support/exception_app.rb
106
107
  - spec/support/helpers.rb
108
+ - spec/support/site_with_query_string_app.rb