pinky 0.1.0-java → 0.1.1-java

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
@@ -5,7 +5,11 @@ module Pinky
5
5
  find_by = opts[:lookup_by] || "#{klass_name}_id"
6
6
  association_name = opts[:as] || klass_name
7
7
  define_method association_name do
8
- klass.find send(find_by)
8
+ begin
9
+ klass.find send(find_by)
10
+ rescue NotFoundException
11
+ raise unless opts[:allow_nil]
12
+ end
9
13
  end
10
14
  end
11
15
  end
@@ -0,0 +1,7 @@
1
+ module Pinky
2
+ class NotFoundException < Exception
3
+ end
4
+
5
+ class TooManyFoundException < Exception
6
+ end
7
+ end
@@ -23,7 +23,8 @@ module Pinky
23
23
  raise Exception.new "Error fetching from #{url}#{$/}#{response['errors'].join ','}" unless response['success']
24
24
  response = response['response']
25
25
  response = response.fetch @response_key if @response_key
26
- raise Exception.new "More than one model was returned" if response.size != 1
26
+ raise NotFoundException.new "No model found for natural_key #{natural_key}" if response.empty?
27
+ raise TooManyFoundException.new "More than one model was returned" if response.size > 1
27
28
  response.first
28
29
  end
29
30
 
data/pinky.gemspec CHANGED
@@ -5,12 +5,12 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "pinky"
8
- s.version = "0.1.0"
8
+ s.version = "0.1.1"
9
9
  s.platform = "java"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.authors = ["Joel Friedman"]
13
- s.date = "2012-11-07"
13
+ s.date = "2012-11-26"
14
14
  s.description = "Cache your api objects in member easier, with associations."
15
15
  s.email = "asher.friedman@gmail.com"
16
16
  s.extra_rdoc_files = [
@@ -31,6 +31,7 @@ Gem::Specification.new do |s|
31
31
  "lib/pinky/cachable_model.rb",
32
32
  "lib/pinky/energizer_bunny/connection.rb",
33
33
  "lib/pinky/energizer_bunny/subscription.rb",
34
+ "lib/pinky/exceptions.rb",
34
35
  "lib/pinky/model.rb",
35
36
  "lib/pinky/model_fetch_methods.rb",
36
37
  "lib/pinky/model_natural_key_methods.rb",
metadata CHANGED
@@ -1,160 +1,172 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pinky
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
5
- prerelease:
4
+ prerelease:
5
+ version: 0.1.1
6
6
  platform: java
7
7
  authors:
8
8
  - Joel Friedman
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-07 00:00:00.000000000 Z
12
+ date: 2012-11-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: httparty
16
- requirement: !ruby/object:Gem::Requirement
17
- none: false
16
+ version_requirements: !ruby/object:Gem::Requirement
18
17
  requirements:
19
18
  - - ! '>='
20
19
  - !ruby/object:Gem::Version
21
- version: '0'
22
- type: :runtime
23
- prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
20
+ version: !binary |-
21
+ MA==
25
22
  none: false
23
+ requirement: !ruby/object:Gem::Requirement
26
24
  requirements:
27
25
  - - ! '>='
28
26
  - !ruby/object:Gem::Version
29
- version: '0'
27
+ version: !binary |-
28
+ MA==
29
+ none: false
30
+ prerelease: false
31
+ type: :runtime
30
32
  - !ruby/object:Gem::Dependency
31
33
  name: json
32
- requirement: !ruby/object:Gem::Requirement
33
- none: false
34
+ version_requirements: !ruby/object:Gem::Requirement
34
35
  requirements:
35
36
  - - ! '>='
36
37
  - !ruby/object:Gem::Version
37
- version: '0'
38
- type: :runtime
39
- prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
38
+ version: !binary |-
39
+ MA==
41
40
  none: false
41
+ requirement: !ruby/object:Gem::Requirement
42
42
  requirements:
43
43
  - - ! '>='
44
44
  - !ruby/object:Gem::Version
45
- version: '0'
45
+ version: !binary |-
46
+ MA==
47
+ none: false
48
+ prerelease: false
49
+ type: :runtime
46
50
  - !ruby/object:Gem::Dependency
47
51
  name: hot_bunnies
48
- requirement: !ruby/object:Gem::Requirement
49
- none: false
52
+ version_requirements: !ruby/object:Gem::Requirement
50
53
  requirements:
51
54
  - - ! '>='
52
55
  - !ruby/object:Gem::Version
53
- version: '0'
54
- type: :runtime
55
- prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
56
+ version: !binary |-
57
+ MA==
57
58
  none: false
59
+ requirement: !ruby/object:Gem::Requirement
58
60
  requirements:
59
61
  - - ! '>='
60
62
  - !ruby/object:Gem::Version
61
- version: '0'
63
+ version: !binary |-
64
+ MA==
65
+ none: false
66
+ prerelease: false
67
+ type: :runtime
62
68
  - !ruby/object:Gem::Dependency
63
69
  name: mailbox
64
- requirement: !ruby/object:Gem::Requirement
65
- none: false
70
+ version_requirements: !ruby/object:Gem::Requirement
66
71
  requirements:
67
72
  - - ! '>='
68
73
  - !ruby/object:Gem::Version
69
- version: '0'
70
- type: :runtime
71
- prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
74
+ version: !binary |-
75
+ MA==
73
76
  none: false
77
+ requirement: !ruby/object:Gem::Requirement
74
78
  requirements:
75
79
  - - ! '>='
76
80
  - !ruby/object:Gem::Version
77
- version: '0'
81
+ version: !binary |-
82
+ MA==
83
+ none: false
84
+ prerelease: false
85
+ type: :runtime
78
86
  - !ruby/object:Gem::Dependency
79
87
  name: timecop
80
- requirement: !ruby/object:Gem::Requirement
81
- none: false
88
+ version_requirements: !ruby/object:Gem::Requirement
82
89
  requirements:
83
90
  - - ! '>='
84
91
  - !ruby/object:Gem::Version
85
- version: '0'
86
- type: :development
87
- prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
92
+ version: !binary |-
93
+ MA==
89
94
  none: false
95
+ requirement: !ruby/object:Gem::Requirement
90
96
  requirements:
91
97
  - - ! '>='
92
98
  - !ruby/object:Gem::Version
93
- version: '0'
99
+ version: !binary |-
100
+ MA==
101
+ none: false
102
+ prerelease: false
103
+ type: :development
94
104
  - !ruby/object:Gem::Dependency
95
105
  name: rspec
96
- requirement: !ruby/object:Gem::Requirement
97
- none: false
106
+ version_requirements: !ruby/object:Gem::Requirement
98
107
  requirements:
99
108
  - - ! '>='
100
109
  - !ruby/object:Gem::Version
101
110
  version: 2.11.0
102
- type: :development
103
- prerelease: false
104
- version_requirements: !ruby/object:Gem::Requirement
105
111
  none: false
112
+ requirement: !ruby/object:Gem::Requirement
106
113
  requirements:
107
114
  - - ! '>='
108
115
  - !ruby/object:Gem::Version
109
116
  version: 2.11.0
117
+ none: false
118
+ prerelease: false
119
+ type: :development
110
120
  - !ruby/object:Gem::Dependency
111
121
  name: rdoc
112
- requirement: !ruby/object:Gem::Requirement
113
- none: false
122
+ version_requirements: !ruby/object:Gem::Requirement
114
123
  requirements:
115
124
  - - ~>
116
125
  - !ruby/object:Gem::Version
117
126
  version: '3.12'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
127
  none: false
128
+ requirement: !ruby/object:Gem::Requirement
122
129
  requirements:
123
130
  - - ~>
124
131
  - !ruby/object:Gem::Version
125
132
  version: '3.12'
133
+ none: false
134
+ prerelease: false
135
+ type: :development
126
136
  - !ruby/object:Gem::Dependency
127
137
  name: bundler
128
- requirement: !ruby/object:Gem::Requirement
129
- none: false
138
+ version_requirements: !ruby/object:Gem::Requirement
130
139
  requirements:
131
- - - ! '>'
140
+ - - !binary |-
141
+ Pg==
132
142
  - !ruby/object:Gem::Version
133
143
  version: 1.0.0
134
- type: :development
135
- prerelease: false
136
- version_requirements: !ruby/object:Gem::Requirement
137
144
  none: false
145
+ requirement: !ruby/object:Gem::Requirement
138
146
  requirements:
139
- - - ! '>'
147
+ - - !binary |-
148
+ Pg==
140
149
  - !ruby/object:Gem::Version
141
150
  version: 1.0.0
151
+ none: false
152
+ prerelease: false
153
+ type: :development
142
154
  - !ruby/object:Gem::Dependency
143
155
  name: jeweler
144
- requirement: !ruby/object:Gem::Requirement
145
- none: false
156
+ version_requirements: !ruby/object:Gem::Requirement
146
157
  requirements:
147
158
  - - ~>
148
159
  - !ruby/object:Gem::Version
149
160
  version: 1.8.4
150
- type: :development
151
- prerelease: false
152
- version_requirements: !ruby/object:Gem::Requirement
153
161
  none: false
162
+ requirement: !ruby/object:Gem::Requirement
154
163
  requirements:
155
164
  - - ~>
156
165
  - !ruby/object:Gem::Version
157
166
  version: 1.8.4
167
+ none: false
168
+ prerelease: false
169
+ type: :development
158
170
  description: Cache your api objects in member easier, with associations.
159
171
  email: asher.friedman@gmail.com
160
172
  executables: []
@@ -176,6 +188,7 @@ files:
176
188
  - lib/pinky/cachable_model.rb
177
189
  - lib/pinky/energizer_bunny/connection.rb
178
190
  - lib/pinky/energizer_bunny/subscription.rb
191
+ - lib/pinky/exceptions.rb
179
192
  - lib/pinky/model.rb
180
193
  - lib/pinky/model_fetch_methods.rb
181
194
  - lib/pinky/model_natural_key_methods.rb
@@ -189,29 +202,31 @@ files:
189
202
  homepage: http://github.com/trunkclub/pinky
190
203
  licenses:
191
204
  - MIT
192
- post_install_message:
205
+ post_install_message:
193
206
  rdoc_options: []
194
207
  require_paths:
195
208
  - lib
196
209
  required_ruby_version: !ruby/object:Gem::Requirement
197
- none: false
198
210
  requirements:
199
211
  - - ! '>='
200
212
  - !ruby/object:Gem::Version
201
- version: '0'
213
+ version: !binary |-
214
+ MA==
202
215
  segments:
203
216
  - 0
204
- hash: 2326550898121456815
205
- required_rubygems_version: !ruby/object:Gem::Requirement
217
+ hash: 2
206
218
  none: false
219
+ required_rubygems_version: !ruby/object:Gem::Requirement
207
220
  requirements:
208
221
  - - ! '>='
209
222
  - !ruby/object:Gem::Version
210
- version: '0'
223
+ version: !binary |-
224
+ MA==
225
+ none: false
211
226
  requirements: []
212
- rubyforge_project:
227
+ rubyforge_project:
213
228
  rubygems_version: 1.8.24
214
- signing_key:
229
+ signing_key:
215
230
  specification_version: 3
216
231
  summary: in memory API caching made easy
217
232
  test_files: []