as_json_presentable 0.0.2 → 0.0.3

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: 0a53460c4a412f562e6ead0f005c93f9ccb98de5
4
- data.tar.gz: 5c756bc1271c8f4544917e35edd8375b872cd828
3
+ metadata.gz: 317096c0908e558bf1df60f27bf0d94a32a481f5
4
+ data.tar.gz: 6c3664ff520d250565fef917c28da5cd20cec403
5
5
  SHA512:
6
- metadata.gz: 0227587ca3563db3ff29576105bcc0dd577226a15709c397d3a751cbad506ecb62c42026f083f421bb9bb546b1fca1f84c0b0e6cc8d82d8c579ca621fbf915f4
7
- data.tar.gz: 22f312642c501764f78a1bc1c96d4b1855a2c6e9705d280153caaf71d419f95a71d867214a2430fcddec40ef0dab5b10fda57a0fcdb07e7bb079fdd1a0f711b5
6
+ metadata.gz: 4278f9bd2ca59e91de66eb7733bba9ed8f18810860e387567556d4f8468d08ec5486053de22aed44ee3a9707028b002301ee4f8d25964790143cd79d9bebb00f
7
+ data.tar.gz: 3de0ee3c072a37deef8d6837fadf947327426cca2048d7c3be5f4722c04c445465824b39d5760ebe294683396c0d01c97b1053649bda6f3a47597c4584c36991
@@ -2,6 +2,9 @@ require 'as_json_presentable/presenter'
2
2
 
3
3
  module AsJsonPresentable
4
4
 
5
+ class InvalidPresenterAction < Exception
6
+ end
7
+
5
8
  def self.included(klass)
6
9
  klass.extend ClassMethods
7
10
  end
@@ -24,17 +24,19 @@ module AsJsonPresentable
24
24
  def as_json(options=nil)
25
25
  presenter_action = (options || {}).delete(:presenter_action)
26
26
 
27
- if has_presenter_method?(presenter_action)
27
+ if presenter_action.nil?
28
+ resource.as_json(options)
29
+ elsif has_presenter_method?(presenter_action)
28
30
  send(presenter_method(presenter_action), options)
29
31
  else
30
- resource.as_json(options)
32
+ raise InvalidPresenterAction.new("Unable to present JSON using action '#{presenter_action}'")
31
33
  end
32
34
  end
33
35
 
34
- # return object errors
35
- def as_error_json(options=nil)
36
- { errors: resource.errors }
37
- end
36
+ # return object errors
37
+ def as_error_json(options=nil)
38
+ { errors: resource.errors }
39
+ end
38
40
 
39
41
  private
40
42
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: as_json_presentable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jason Rush