cyrax 0.5.1.beta4 → 0.5.1.beta5

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