schneiderlein 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 20c6f68046204b95dee35b2fabf1414dd7941318
4
- data.tar.gz: c9944fd48128f918e30fab816297c6c2af5ac13b
3
+ metadata.gz: 485f339546ece6ac2be7153b123a9ad5d0def2c2
4
+ data.tar.gz: 64fb1c8788ce099c5987cf545e4f7de4c42997b2
5
5
  SHA512:
6
- metadata.gz: 944d61cbeb56ff25b778e02a255e154061b7b5cd191569acf36d28af55dd0f17ebe648c3901f69eabd3d6edab3a1b39d0a984dac669baa68d56fd370e2659b51
7
- data.tar.gz: 66a3f38f45bd26a88b81469f23d47cc458890ae72b6a6abf588b133ab5bb6a8eff8ec03caf39fda4331dfa5c33a19359b089b1cf0438a0f4036baa0228892c22
6
+ metadata.gz: f523951ceee8dfae428eedd226b67339d74966fb441d4f2b8dd066cd16b1147e61ca5d063887ca534c065c19f56990ada7da6dc98f7361baa656f01b21b2716d
7
+ data.tar.gz: d5f8703c6bd12b187ece58c4c810189b688b49cfa5037c529675b1ecde19b266a91c859da5c195af8c7b81e52fc10ae7126f266c80b9741c5579688b472f4f1a
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Schneiderlein [![Build Status](https://travis-ci.org/Absolventa/schneiderlein.svg?branch=master)](https://travis-ci.org/Absolventa/schneiderlein)
1
+ # Schneiderlein [![Build Status](https://travis-ci.org/Absolventa/schneiderlein.svg?branch=master)](https://travis-ci.org/Absolventa/schneiderlein)[![Gem Version](https://badge.fury.io/rb/schneiderlein.svg)](http://badge.fury.io/rb/schneiderlein)
2
2
 
3
3
  **Schneiderlein** is a Rack middleware to catch parse errors coming from [ActionDispatch::ParamsParser](https://github.com/rails/rails/blob/master/actionpack/lib/action_dispatch/middleware/params_parser.rb). Malformed XML presents a 500 Internal Server Error to your API consumer. It's hardly meaningful, should instead be in the 4xx range and most importantly: it's not helping.
4
4
 
@@ -30,5 +30,8 @@ The name **Schneiderlein** is derived from the fairytale »Das Tapfere Schneider
30
30
 
31
31
  ## Changelog
32
32
 
33
+ ### 1.1.0
34
+ * compactified error message presentation
35
+
33
36
  ### 1.0.0
34
37
  * Initial release
@@ -3,4 +3,5 @@ require "schneiderlein/engine"
3
3
  module Schneiderlein
4
4
  autoload :FlyCatcher, 'schneiderlein/fly_catcher'
5
5
  autoload :Catch, 'schneiderlein/catch'
6
+ autoload :ExtractREXMLErrorMessage, 'schneiderlein/extract_rexml_error_message'
6
7
  end
@@ -15,7 +15,10 @@ module Schneiderlein
15
15
  alias errors to_a
16
16
 
17
17
  def to_s
18
- to_a.map(&:message).join ' '
18
+ to_a.map do |exc|
19
+ ExtractREXMLErrorMessage.new(exc).to_s
20
+ end.join(' ')
19
21
  end
22
+
20
23
  end
21
24
  end
@@ -0,0 +1,15 @@
1
+ module Schneiderlein
2
+ class ExtractREXMLErrorMessage < Struct.new(:exception)
3
+
4
+ def to_s
5
+ sanitizer(exception.message)
6
+ end
7
+
8
+ private
9
+
10
+ def sanitizer(str)
11
+ str.to_s.gsub!('#<REXML::ParseException: ', '').to_s[0..str.to_s.index('Last').to_i-2]
12
+ end
13
+
14
+ end
15
+ end
@@ -1,3 +1,3 @@
1
1
  module Schneiderlein
2
- VERSION = '1.0.0'
2
+ VERSION = '1.1.0'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: schneiderlein
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carsten Zimmermann
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-11-25 00:00:00.000000000 Z
12
+ date: 2014-11-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -93,6 +93,7 @@ files:
93
93
  - lib/schneiderlein.rb
94
94
  - lib/schneiderlein/catch.rb
95
95
  - lib/schneiderlein/engine.rb
96
+ - lib/schneiderlein/extract_rexml_error_message.rb
96
97
  - lib/schneiderlein/fly_catcher.rb
97
98
  - lib/schneiderlein/version.rb
98
99
  - lib/tasks/schneiderlein_tasks.rake