pinky 0.1.0-java → 0.1.1-java

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.
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: []