cyrax 0.5.1.beta4 → 0.5.1.beta5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZjZiMTcyNTZiNGQwMTlmOTVjZjc3YjkxZTU4YzRkN2NkMGEyMTA2Ng==
4
+ ZDVkZDFkMDI4MWM3YWUwNjUzMDcwNGYxOTQ4ZjAxNjIyNjIyMDkxNA==
5
5
  data.tar.gz: !binary |-
6
- OGVkZmYzZmFjOTY4YjgyMjMwM2Y5MzhkNDkxZWVhYTA2MjVhM2ViNw==
6
+ MmY0YzA2YWNkMWYxN2NhMzZmOTA1OWRhYzY5ZWEzNGQ3NGMxZmRlYQ==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- OWJjNzJlODk1Y2FlOWViN2E5ZGM5NmU3N2UzZTlhMjc0MzVhODc5NDZlZDA0
10
- NDUwNmFjMWU1ODJlN2M1ZDg3OTQxZDY1Y2UzNTZjOWJlNmQzNTU2YmE5YWMx
11
- MzIwYmEzMjRiZTcxZWFlODBjYTIyMTk5ZmRiOTY2MzA2ZWZjN2Q=
9
+ YTI3ZTkwOWFlYWNhYTdkMTMyMWRlNDlmNGE5N2RmNmE3NjNmYzc1NmZmYWVi
10
+ NThlNjU1NWFkOGZkYzZlYjEyOTE0YjkyZDVkNDFhYzlkNWRhZTU2ZDFhNzVl
11
+ NzU2MTI5ZjIxNjA3M2ViNTYxNzBjZGQyODQyZTY5MTA3NGI0MTA=
12
12
  data.tar.gz: !binary |-
13
- YmQ4YjJjNzU2ODY3Yzg1ZjNkN2ViMDg4M2MyY2RhODkxMjkxMWM3N2RiMzA2
14
- NDNiODQzMGU0MmU5NmMzYTJhOTcyMTFmMDhhMDUzMmNhNzc5YjcyNTgzZGI5
15
- MTU2YzQxM2RlMWE0YTViNDYwZDdkMGI1OTBlNTBlN2UzODlmZGY=
13
+ ZThlOTFiNDQyZjM0YTVkYTc2MzIzYmI3ZjI1NzU4MDJmZGZiZmE1MGQyOWM5
14
+ Y2QxNDBhNjdkOTc5MzYxYzMwMjE3MzFkOGZkYTMzODQ0MTk3ZWM1OThkZDI5
15
+ ZWQyN2ZiZjJmYjBkMmEwZWJlMzNhMTk5MTEwN2MxYmRkNTQ5MWU=
@@ -8,14 +8,6 @@ module Cyrax::Extensions
8
8
  not_allowed: 403
9
9
  }
10
10
 
11
- def add_error(key, value = nil)
12
- if value.blank?
13
- raise "Use key-value syntax for adding errors"
14
- end
15
- @_errors ||= {}
16
- @_errors[key.to_sym] = value
17
- end
18
-
19
11
  def assign_resource(resource_name, resource, options = {})
20
12
  if options[:decorator]
21
13
  resource = Cyrax::Presenter.present(resource, options)
@@ -29,19 +21,31 @@ module Cyrax::Extensions
29
21
  @_assignments[resource_name]
30
22
  end
31
23
 
24
+ def add_error(key, value = nil)
25
+ if value.blank?
26
+ raise "Use key-value syntax for adding errors"
27
+ end
28
+ @_errors ||= {}
29
+ @_errors[key.to_sym] = value
30
+ end
31
+
32
32
  def add_error_unless(key, value, condition)
33
33
  add_error(key, value) unless condition
34
34
  end
35
35
 
36
- def add_errors_from(model)
36
+ def sync_errors_with(model)
37
+ model = model.to_model if model.respond_to?(:to_model)
37
38
  if model && model.errors.messages.present?
39
+ (@_errors || {}).each do |key, value|
40
+ model.errors.add key, value unless model.errors.include?(key)
41
+ end
38
42
  model.errors.messages.each do |key, value|
39
43
  add_error key, value
40
44
  end
41
45
  end
42
46
  end
43
47
 
44
- def add_errors_from?(model)
48
+ def sync_errors_with?(model)
45
49
  model = model.to_model if model.respond_to?(:to_model)
46
50
  model && model.respond_to?(:errors) &&
47
51
  model.errors.respond_to?(:messages)
@@ -78,8 +82,8 @@ module Cyrax::Extensions
78
82
  options[:as] ||= accessor
79
83
  name = options[:name] || response_name
80
84
  result = result.result.to_model if result.is_a?(Cyrax::Response)
81
- if add_errors_from?(result)
82
- add_errors_from(result)
85
+ if sync_errors_with?(result)
86
+ sync_errors_with(result)
83
87
  end
84
88
  if respond_to?(:decorable?) && decorable?
85
89
  options = {decorator: decorator_class}.merge(options)
@@ -39,7 +39,7 @@ module Cyrax::Extensions
39
39
  # Used for :show action in controller
40
40
  # @return [Cyrax::Response] response
41
41
  def read(&block)
42
- resource = find_resource(params[:id])
42
+ resource = find_resource(resource_params_id)
43
43
  block.call(resource) if block_given?
44
44
  respond_with resource
45
45
  end
@@ -51,7 +51,7 @@ module Cyrax::Extensions
51
51
  # Used for :update action in controller
52
52
  # @return [Cyrax::Response] response
53
53
  def update(custom_attributes = nil, &block)
54
- resource = build_resource(params[:id], custom_attributes||resource_attributes)
54
+ resource = build_resource(resource_params_id, custom_attributes||resource_attributes)
55
55
  transaction do
56
56
  if save_resource(resource)
57
57
  set_message(:updated)
@@ -66,7 +66,7 @@ module Cyrax::Extensions
66
66
  # Used for :destroy action in controller
67
67
  # @return [Cyrax::Response] response
68
68
  def destroy(&block)
69
- resource = find_resource(params[:id])
69
+ resource = find_resource(resource_params_id)
70
70
  transaction do
71
71
  delete_resource(resource)
72
72
  block.call(resource) if block_given?
@@ -128,5 +128,9 @@ module Cyrax::Extensions
128
128
  block.call
129
129
  end
130
130
  end
131
+
132
+ def resource_params_id
133
+ params[:id]
134
+ end
131
135
  end
132
136
  end
data/lib/cyrax/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Cyrax
2
- VERSION = "0.5.1.beta4"
2
+ VERSION = "0.5.1.beta5"
3
3
  end
@@ -38,13 +38,13 @@ module Cyrax
38
38
  end
39
39
  end
40
40
 
41
- describe '#add_errors_from' do
41
+ describe '#sync_errors_with' do
42
42
  let(:messages) { [[:foo, 'bar'], [:bar, 'bazz']]}
43
43
  let(:errors) { double(messages: messages)}
44
44
  let(:model) { double(errors: errors) }
45
45
 
46
46
  it 'should add errors from model error messages' do
47
- subject.add_errors_from(model)
47
+ subject.sync_errors_with(model)
48
48
  subject.instance_variable_get(:@_errors).should eq({foo: 'bar', bar: 'bazz'})
49
49
  end
50
50
  end
@@ -20,7 +20,7 @@ module Cyrax
20
20
  it{ should respond_to(:set_message) }
21
21
  it{ should respond_to(:add_error) }
22
22
  it{ should respond_to(:add_error_unless) }
23
- it{ should respond_to(:add_errors_from) }
23
+ it{ should respond_to(:sync_errors_with) }
24
24
  end
25
25
  end
26
26
 
@@ -99,8 +99,8 @@ module Cyrax
99
99
  context 'when resource could not be saved' do
100
100
  before { resource.stub(:save).and_return(false) }
101
101
 
102
- it 'sets error messages' do
103
- subject.should_receive(:add_errors_from).with(resource)
102
+ it 'does not set message' do
103
+ subject.should_not_receive(:set_message).with(:created)
104
104
  subject.create(params)
105
105
  end
106
106
  end
@@ -127,9 +127,9 @@ module Cyrax
127
127
  context 'when resource could not be saved' do
128
128
  before { resource.stub(:save).and_return(false) }
129
129
 
130
- it 'sets error messages' do
131
- subject.should_receive(:add_errors_from).with(resource)
132
- subject.update(params)
130
+ it 'does not set message' do
131
+ subject.should_not_receive(:set_message).with(:created)
132
+ subject.create(params)
133
133
  end
134
134
  end
135
135
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cyrax
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1.beta4
4
+ version: 0.5.1.beta5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Droidlabs