ananke 1.0.3 → 1.0.4

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.
@@ -78,7 +78,8 @@ module Ananke
78
78
  return Ananke.send("call_#{repository_name}_#{method_name}", params), 200
79
79
  rescue StandardError => error
80
80
  raise if !error.message.start_with?(method_name.to_s)
81
- return error.message, 400
81
+ message = error.message.split(method_name.to_s).last.split('-').last.split(':').last.strip
82
+ return message, 400
82
83
  end
83
84
  end
84
85
  end
@@ -41,7 +41,7 @@ module Ananke
41
41
  def make_response(path, mod, link_list, link_to_list, obj, key)
42
42
  if obj.class == Array
43
43
  result_list = []
44
- obj.each{|i| result_list << make_response_item(path, mod, link_list, link_to_list, i, key)}
44
+ obj.each{|i| result_list << make_response_item(path, mod, link_list, link_to_list, i, key) if i}
45
45
 
46
46
  dic = result_list.empty? ? {} : {"#{path}_list".to_sym => result_list}
47
47
  link_self = build_link_self(path, '') if Ananke.settings[:links]
@@ -73,6 +73,7 @@ module Ananke
73
73
 
74
74
  obj, obj_status = repository_call(mod, :one, new_params)
75
75
  error obj_status, obj if obj_status >= 400
76
+ not_found if obj && obj.class == Array && obj.empty?
76
77
 
77
78
  status obj_status
78
79
  make_response(path, mod, link_list, link_to_list, obj, key)
@@ -83,6 +84,7 @@ module Ananke
83
84
 
84
85
  obj, obj_status = repository_call(mod, :all)
85
86
  error obj_status, obj if obj_status >= 400
87
+ not_found if obj && obj.class == Array && obj.empty?
86
88
 
87
89
  status obj_status
88
90
  make_response(path, mod, link_list, link_to_list, obj, key)
@@ -96,6 +98,7 @@ module Ananke
96
98
 
97
99
  obj, obj_status = repository_call(mod, :add, new_params)
98
100
  error obj_status, obj if obj_status >= 400
101
+ not_found if obj && obj.class == Array && obj.empty?
99
102
 
100
103
  status 201
101
104
  make_response(path, mod, link_list, link_to_list, obj, key)
@@ -110,6 +113,7 @@ module Ananke
110
113
 
111
114
  obj, obj_status = repository_call(mod, :edit, new_params)
112
115
  error obj_status, obj if obj_status >= 400
116
+ not_found if obj && obj.class == Array && obj.empty?
113
117
 
114
118
  status obj_status
115
119
  make_response(path, mod, link_list, link_to_list, obj, key)
@@ -126,6 +130,7 @@ module Ananke
126
130
 
127
131
  obj, obj_status = repository_call(mod, :delete, new_params)
128
132
  error obj_status, obj if obj_status >= 400
133
+ not_found if obj && obj.class == Array && obj.empty?
129
134
 
130
135
  status obj_status
131
136
  end
@@ -146,6 +151,7 @@ module Ananke
146
151
 
147
152
  obj, obj_status = repository_call(mod, r[:name], new_params)
148
153
  error obj_status, obj if obj_status >= 400
154
+ not_found if obj && obj.class == Array && obj.empty?
149
155
 
150
156
  obj_list = obj.class == Array ? obj : [obj]
151
157
 
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Ananke
2
- VERSION = "1.0.3"
2
+ VERSION = "1.0.4"
3
3
  end
@@ -25,7 +25,7 @@ describe 'Resource Route-For' do
25
25
 
26
26
  get "/errors/exception400/1"
27
27
  check_status(400)
28
- last_response.body.should == 'exception400 - Some Exception'
28
+ last_response.body.should == 'Some Exception'
29
29
  end
30
30
 
31
31
  it """
@@ -45,4 +45,29 @@ describe 'Resource Route-For' do
45
45
  get "/errors/exception500/1"
46
46
  check_status(500)
47
47
  end
48
+
49
+ it """
50
+ should return a code 404 for an empty Array object returned
51
+ """ do
52
+ module Repository
53
+ module Errors
54
+ def self.one(id)
55
+ []
56
+ end
57
+ def self.empty(id)
58
+ []
59
+ end
60
+ end
61
+ end
62
+ route :errors do
63
+ id :id
64
+ route_for :empty
65
+ end
66
+
67
+ get "/errors/empty/1"
68
+ check_status(404)
69
+
70
+ get "/errors/1"
71
+ check_status(404)
72
+ end
48
73
  end
@@ -70,7 +70,9 @@ describe 'Resource' do
70
70
  end
71
71
  module Repository
72
72
  module Added
73
- def self.add(data)end
73
+ def self.add(data)
74
+ nil
75
+ end
74
76
  end
75
77
  end
76
78
  route :added do
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: ananke
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 1.0.3
5
+ version: 1.0.4
6
6
  platform: ruby
7
7
  authors:
8
8
  - Andries Coetzee
@@ -130,7 +130,7 @@ licenses: []
130
130
  post_install_message: |
131
131
  **************************************************
132
132
 
133
- Thank you for installing ananke-1.0.3
133
+ Thank you for installing ananke-1.0.4
134
134
 
135
135
  Please be sure to look at README.rdoc to see what might have changed
136
136
  since the last release and how to use this GEM.
@@ -159,7 +159,7 @@ rubyforge_project:
159
159
  rubygems_version: 1.5.0
160
160
  signing_key:
161
161
  specification_version: 3
162
- summary: ananke-1.0.3
162
+ summary: ananke-1.0.4
163
163
  test_files:
164
164
  - spec/dumping.rb
165
165
  - spec/cov_adapter.rb