absorb_api 0.2.0 → 0.9.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (84) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +866 -0
  3. data/.ruby-version +1 -0
  4. data/CODE_OF_CONDUCT.md +46 -0
  5. data/Gemfile +3 -10
  6. data/README.md +0 -2
  7. data/Rakefile +3 -1
  8. data/absorb_api.gemspec +30 -16
  9. data/bin/console +11 -5
  10. data/doc/AbsorbApi.html +33 -64
  11. data/doc/AbsorbApi/Api.html +358 -0
  12. data/doc/AbsorbApi/Authorize.html +263 -0
  13. data/doc/AbsorbApi/Category.html +3 -2
  14. data/doc/AbsorbApi/Certificate.html +3 -2
  15. data/doc/AbsorbApi/Chapter.html +3 -2
  16. data/doc/AbsorbApi/Collection.html +3 -2
  17. data/doc/AbsorbApi/Configuration.html +3 -28
  18. data/doc/AbsorbApi/Course.html +3 -71
  19. data/doc/AbsorbApi/CourseEnrollment.html +6 -58
  20. data/doc/AbsorbApi/Create.html +164 -0
  21. data/doc/AbsorbApi/Curriculum.html +3 -2
  22. data/doc/AbsorbApi/Department.html +4 -14
  23. data/doc/AbsorbApi/Lesson.html +3 -2
  24. data/doc/AbsorbApi/LessonEnrollment.html +3 -2
  25. data/doc/AbsorbApi/Prerequisite.html +3 -2
  26. data/doc/AbsorbApi/Record.html +360 -0
  27. data/doc/AbsorbApi/Relations.html +2 -196
  28. data/doc/AbsorbApi/Relations/ClassMethods.html +197 -0
  29. data/doc/AbsorbApi/Resource.html +3 -2
  30. data/doc/AbsorbApi/ResourceNotFound.html +2 -1
  31. data/doc/AbsorbApi/Role.html +3 -2
  32. data/doc/AbsorbApi/RouteNotFound.html +2 -1
  33. data/doc/AbsorbApi/SessionSchedule.html +3 -2
  34. data/doc/AbsorbApi/Tag.html +4 -14
  35. data/doc/AbsorbApi/User.html +85 -35
  36. data/doc/AbsorbApi/ValidationError.html +2 -1
  37. data/doc/AbsorbApi/Where.html +162 -0
  38. data/doc/CODE_OF_CONDUCT_md.html +196 -0
  39. data/doc/Gemfile.html +8 -8
  40. data/doc/Gemfile_lock.html +57 -29
  41. data/doc/Icon/r.html +96 -0
  42. data/doc/LICENSE_txt.html +6 -1
  43. data/doc/Object.html +159 -0
  44. data/doc/README_md.html +6 -3
  45. data/doc/Rakefile.html +7 -2
  46. data/doc/absorb_api_gemspec.html +24 -7
  47. data/doc/bin/setup.html +6 -1
  48. data/doc/created.rid +34 -30
  49. data/doc/css/fonts.css +6 -6
  50. data/doc/index.html +19 -4
  51. data/doc/js/darkfish.js +7 -7
  52. data/doc/js/search_index.js +1 -1
  53. data/doc/js/search_index.js.gz +0 -0
  54. data/doc/js/searcher.js +1 -0
  55. data/doc/js/searcher.js.gz +0 -0
  56. data/doc/table_of_contents.html +118 -31
  57. data/lib/absorb_api.rb +43 -29
  58. data/lib/absorb_api/api.rb +69 -5
  59. data/lib/absorb_api/authorize.rb +37 -7
  60. data/lib/absorb_api/category.rb +3 -1
  61. data/lib/absorb_api/certificate.rb +5 -2
  62. data/lib/absorb_api/chapter.rb +3 -1
  63. data/lib/absorb_api/collection.rb +2 -19
  64. data/lib/absorb_api/configuration.rb +14 -12
  65. data/lib/absorb_api/course.rb +11 -25
  66. data/lib/absorb_api/course_enrollment.rb +13 -26
  67. data/lib/absorb_api/create.rb +19 -0
  68. data/lib/absorb_api/curriculum.rb +11 -2
  69. data/lib/absorb_api/department.rb +10 -4
  70. data/lib/absorb_api/lesson.rb +5 -2
  71. data/lib/absorb_api/lesson_enrollment.rb +8 -2
  72. data/lib/absorb_api/prerequisite.rb +5 -2
  73. data/lib/absorb_api/record.rb +58 -0
  74. data/lib/absorb_api/relations.rb +42 -40
  75. data/lib/absorb_api/resource.rb +3 -1
  76. data/lib/absorb_api/role.rb +3 -1
  77. data/lib/absorb_api/session_schedule.rb +6 -2
  78. data/lib/absorb_api/tag.rb +6 -3
  79. data/lib/absorb_api/user.rb +13 -29
  80. data/lib/absorb_api/version.rb +3 -1
  81. data/lib/absorb_api/where.rb +17 -0
  82. metadata +133 -8
  83. data/lib/absorb_api/base.rb +0 -12
  84. data/lib/absorb_api/orm.rb +0 -36
@@ -8,6 +8,7 @@
8
8
 
9
9
  <script type="text/javascript">
10
10
  var rdoc_rel_prefix = "../";
11
+ var index_rel_prefix = "../";
11
12
  </script>
12
13
 
13
14
  <script src="../js/jquery.js"></script>
@@ -68,23 +69,7 @@
68
69
  </ul>
69
70
  </div>
70
71
 
71
- <!-- Method Quickref -->
72
- <div id="method-list-section" class="nav-section">
73
- <h3>Methods</h3>
74
-
75
- <ul class="link-list" role="directory">
76
-
77
- <li ><a href="#method-i-create">#create</a>
78
-
79
- <li ><a href="#method-i-has_many">#has_many</a>
80
-
81
- <li ><a href="#method-i-has_one">#has_one</a>
82
-
83
- <li ><a href="#method-i-where">#where</a>
84
72
 
85
- </ul>
86
- </div>
87
-
88
73
  </div>
89
74
  </nav>
90
75
 
@@ -110,192 +95,13 @@
110
95
 
111
96
 
112
97
 
113
- <section id="public-instance-5Buntitled-5D-method-details" class="method-section">
114
- <header>
115
- <h3>Public Instance Methods</h3>
116
- </header>
117
-
118
-
119
- <div id="method-i-create" class="method-detail ">
120
-
121
- <div class="method-heading">
122
- <span class="method-name">create</span><span
123
- class="method-args">(attributes = []) { |object| ... }</span>
124
-
125
- <span class="method-click-advice">click to toggle source</span>
126
-
127
- </div>
128
-
129
-
130
- <div class="method-description">
131
-
132
-
133
-
134
-
135
-
136
-
137
- <div class="method-source-code" id="create-source">
138
- <pre><span class="ruby-comment"># File lib/absorb_api/relations.rb, line 45</span>
139
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">create</span>(<span class="ruby-identifier">attributes</span> = [], <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
140
- <span class="ruby-identifier">object</span> = <span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">classify</span>.<span class="ruby-identifier">constantize</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">attributes</span>)
141
- <span class="ruby-keyword">yield</span> <span class="ruby-identifier">object</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
142
- <span class="ruby-identifier">attrs</span> = <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">object</span>.<span class="ruby-identifier">to_json</span>)
143
- <span class="ruby-identifier">attrs</span>.<span class="ruby-identifier">keys</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span><span class="ruby-operator">|</span> <span class="ruby-identifier">attrs</span>[ <span class="ruby-identifier">k</span>.<span class="ruby-identifier">camelize</span> ] = <span class="ruby-identifier">attrs</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">k</span>) }
144
- <span class="ruby-identifier">response</span> = <span class="ruby-constant">Base</span>.<span class="ruby-identifier">api</span>.<span class="ruby-identifier">post</span>(<span class="ruby-node">&quot;#{to_s.demodulize.pluralize}&quot;</span>, <span class="ruby-identifier">attrs</span>)
145
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">response</span>.<span class="ruby-identifier">status</span> <span class="ruby-operator">==</span> <span class="ruby-value">500</span>
146
- <span class="ruby-identifier">raise</span> <span class="ruby-constant">ValidationError</span>
147
- <span class="ruby-keyword">elsif</span> <span class="ruby-identifier">response</span>.<span class="ruby-identifier">status</span> <span class="ruby-operator">==</span> <span class="ruby-value">405</span>
148
- <span class="ruby-identifier">raise</span> <span class="ruby-constant">RouteNotFound</span>
149
- <span class="ruby-keyword">else</span>
150
- <span class="ruby-identifier">object</span>.<span class="ruby-identifier">id</span> = <span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>[<span class="ruby-string">&quot;Id&quot;</span>]
151
- <span class="ruby-identifier">object</span>
152
- <span class="ruby-keyword">end</span>
153
- <span class="ruby-keyword">end</span></pre>
154
- </div>
155
-
156
- </div>
157
-
158
-
159
-
160
-
161
- </div>
162
-
163
-
164
- <div id="method-i-has_many" class="method-detail ">
165
-
166
- <div class="method-heading">
167
- <span class="method-name">has_many</span><span
168
- class="method-args">(rel_name, klass = nil)</span>
169
-
170
- <span class="method-click-advice">click to toggle source</span>
171
-
172
- </div>
173
-
174
-
175
- <div class="method-description">
176
-
177
-
178
-
179
-
180
-
181
-
182
- <div class="method-source-code" id="has_many-source">
183
- <pre><span class="ruby-comment"># File lib/absorb_api/relations.rb, line 6</span>
184
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">has_many</span>(<span class="ruby-identifier">rel_name</span>, <span class="ruby-identifier">klass</span> = <span class="ruby-keyword">nil</span>)
185
- <span class="ruby-identifier">klass</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">rel_name</span>
186
-
187
- <span class="ruby-identifier">define_method</span> <span class="ruby-node">&quot;#{rel_name.to_s}&quot;</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-operator">**</span><span class="ruby-identifier">conditions</span><span class="ruby-operator">|</span>
188
- <span class="ruby-constant">AbsorbApi</span>.<span class="ruby-identifier">api</span>.<span class="ruby-identifier">get</span>(<span class="ruby-node">&quot;#{self.class.to_s.demodulize.pluralize}/#{id}/#{rel_name.to_s}&quot;</span>, <span class="ruby-identifier">conditions</span>).<span class="ruby-identifier">body</span>.<span class="ruby-identifier">map!</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attributes</span><span class="ruby-operator">|</span>
189
- <span class="ruby-node">&quot;AbsorbApi::#{klass.to_s.classify}&quot;</span>.<span class="ruby-identifier">constantize</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">attributes</span>)
190
- <span class="ruby-keyword">end</span>
191
- <span class="ruby-keyword">end</span>
192
-
193
- <span class="ruby-identifier">define_method</span> <span class="ruby-node">&quot;find_#{rel_name.to_s.singularize}&quot;</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">child_id</span><span class="ruby-operator">|</span>
194
- <span class="ruby-identifier">response</span> = <span class="ruby-constant">AbsorbApi</span>.<span class="ruby-identifier">api</span>.<span class="ruby-identifier">get</span>(<span class="ruby-node">&quot;#{self.class.to_s.demodulize.pluralize}/#{id}/#{rel_name.to_s}/#{child_id}&quot;</span>)
195
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">response</span>.<span class="ruby-identifier">status</span> <span class="ruby-operator">==</span> <span class="ruby-value">400</span>
196
- <span class="ruby-identifier">raise</span> <span class="ruby-constant">ResourceNotFound</span>
197
- <span class="ruby-keyword">else</span>
198
- <span class="ruby-node">&quot;AbsorbApi::#{klass.to_s.classify}&quot;</span>.<span class="ruby-identifier">constantize</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>)
199
- <span class="ruby-keyword">end</span>
200
- <span class="ruby-keyword">end</span>
201
-
202
- <span class="ruby-identifier">define_method</span> <span class="ruby-node">&quot;#{rel_name.to_s.singularize}_ids&quot;</span> <span class="ruby-keyword">do</span>
203
- <span class="ruby-constant">AbsorbApi</span>.<span class="ruby-identifier">api</span>.<span class="ruby-identifier">get</span>(<span class="ruby-node">&quot;#{self.class.to_s.demodulize.pluralize}/#{id}/#{rel_name.to_s}&quot;</span>).<span class="ruby-identifier">body</span>.<span class="ruby-identifier">map!</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attributes</span><span class="ruby-operator">|</span>
204
- <span class="ruby-node">&quot;AbsorbApi::#{klass.to_s.classify}&quot;</span>.<span class="ruby-identifier">constantize</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">attributes</span>)
205
- <span class="ruby-keyword">end</span>.<span class="ruby-identifier">map</span>(<span class="ruby-operator">&amp;</span><span class="ruby-value">:id</span>)
206
- <span class="ruby-keyword">end</span>
207
- <span class="ruby-keyword">end</span></pre>
208
- </div>
209
-
210
- </div>
211
-
212
-
213
-
214
-
215
- </div>
216
-
217
-
218
- <div id="method-i-has_one" class="method-detail ">
219
-
220
- <div class="method-heading">
221
- <span class="method-name">has_one</span><span
222
- class="method-args">(rel_name, klass = nil)</span>
223
-
224
- <span class="method-click-advice">click to toggle source</span>
225
-
226
- </div>
227
-
228
-
229
- <div class="method-description">
230
-
231
-
232
-
233
-
234
-
235
-
236
- <div class="method-source-code" id="has_one-source">
237
- <pre><span class="ruby-comment"># File lib/absorb_api/relations.rb, line 31</span>
238
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">has_one</span>(<span class="ruby-identifier">rel_name</span>, <span class="ruby-identifier">klass</span> = <span class="ruby-keyword">nil</span>)
239
- <span class="ruby-identifier">klass</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">rel_name</span>
240
-
241
- <span class="ruby-identifier">define_method</span> <span class="ruby-node">&quot;#{rel_name.to_s}&quot;</span> <span class="ruby-keyword">do</span>
242
- <span class="ruby-node">&quot;AbsorbApi::#{klass.to_s.classify}&quot;</span>.<span class="ruby-identifier">constantize</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">AbsorbApi</span>.<span class="ruby-identifier">api</span>.<span class="ruby-identifier">get</span>(<span class="ruby-node">&quot;#{klass.to_s.pluralize}/&quot;</span><span class="ruby-operator">+</span> <span class="ruby-identifier">send</span>(<span class="ruby-identifier">rel_name</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">+</span> <span class="ruby-string">&quot;_id&quot;</span>)).<span class="ruby-identifier">body</span>)
243
- <span class="ruby-keyword">end</span>
244
- <span class="ruby-keyword">end</span></pre>
245
- </div>
246
-
247
- </div>
248
-
249
-
250
-
251
-
252
- </div>
253
-
254
-
255
- <div id="method-i-where" class="method-detail ">
256
-
257
- <div class="method-heading">
258
- <span class="method-name">where</span><span
259
- class="method-args">(**conditions)</span>
260
-
261
- <span class="method-click-advice">click to toggle source</span>
262
-
263
- </div>
264
-
265
-
266
- <div class="method-description">
267
-
268
-
269
-
270
-
271
-
272
-
273
- <div class="method-source-code" id="where-source">
274
- <pre><span class="ruby-comment"># File lib/absorb_api/relations.rb, line 39</span>
275
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">where</span>(<span class="ruby-operator">**</span><span class="ruby-identifier">conditions</span>)
276
- <span class="ruby-constant">Collection</span>.<span class="ruby-identifier">new</span>( <span class="ruby-constant">AbsorbApi</span>.<span class="ruby-identifier">api</span>.<span class="ruby-identifier">get</span>(<span class="ruby-node">&quot;#{to_s.demodulize.pluralize}&quot;</span>, <span class="ruby-identifier">conditions</span>).<span class="ruby-identifier">body</span>.<span class="ruby-identifier">map!</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attributes</span><span class="ruby-operator">|</span>
277
- <span class="ruby-identifier">new</span>(<span class="ruby-identifier">attributes</span>)
278
- <span class="ruby-keyword">end</span>, {<span class="ruby-identifier">klass</span><span class="ruby-operator">:</span> <span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">demodulize</span> } )
279
- <span class="ruby-keyword">end</span></pre>
280
- </div>
281
-
282
- </div>
283
-
284
-
285
-
286
-
287
- </div>
288
-
289
-
290
- </section>
291
-
292
98
  </section>
293
99
  </main>
294
100
 
295
101
 
296
102
  <footer id="validator-badges" role="contentinfo">
297
103
  <p><a href="http://validator.w3.org/check/referer">Validate</a>
298
- <p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.1.
104
+ <p>Generated by <a href="https://rdoc.github.io/rdoc">RDoc</a> 5.1.0.
299
105
  <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
300
106
  </footer>
301
107
 
@@ -0,0 +1,197 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta charset="UTF-8">
6
+
7
+ <title>module AbsorbApi::Relations::ClassMethods - RDoc Documentation</title>
8
+
9
+ <script type="text/javascript">
10
+ var rdoc_rel_prefix = "../../";
11
+ var index_rel_prefix = "../../";
12
+ </script>
13
+
14
+ <script src="../../js/jquery.js"></script>
15
+ <script src="../../js/darkfish.js"></script>
16
+
17
+ <link href="../../css/fonts.css" rel="stylesheet">
18
+ <link href="../../css/rdoc.css" rel="stylesheet">
19
+
20
+
21
+
22
+ <body id="top" role="document" class="module">
23
+ <nav role="navigation">
24
+ <div id="project-navigation">
25
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
26
+ <h2>
27
+ <a href="../../index.html" rel="home">Home</a>
28
+ </h2>
29
+
30
+ <div id="table-of-contents-navigation">
31
+ <a href="../../table_of_contents.html#pages">Pages</a>
32
+ <a href="../../table_of_contents.html#classes">Classes</a>
33
+ <a href="../../table_of_contents.html#methods">Methods</a>
34
+ </div>
35
+ </div>
36
+
37
+ <div id="search-section" role="search" class="project-section initially-hidden">
38
+ <form action="#" method="get" accept-charset="utf-8">
39
+ <div id="search-field-wrapper">
40
+ <input id="search-field" role="combobox" aria-label="Search"
41
+ aria-autocomplete="list" aria-controls="search-results"
42
+ type="text" name="search" placeholder="Search" spellcheck="false"
43
+ title="Type to search, Up and Down to navigate, Enter to load">
44
+ </div>
45
+
46
+ <ul id="search-results" aria-label="Search Results"
47
+ aria-busy="false" aria-expanded="false"
48
+ aria-atomic="false" class="initially-hidden"></ul>
49
+ </form>
50
+ </div>
51
+
52
+ </div>
53
+
54
+
55
+
56
+ <div id="class-metadata">
57
+
58
+
59
+
60
+
61
+ <!-- Method Quickref -->
62
+ <div id="method-list-section" class="nav-section">
63
+ <h3>Methods</h3>
64
+
65
+ <ul class="link-list" role="directory">
66
+
67
+ <li ><a href="#method-i-with_many">#with_many</a>
68
+
69
+ <li ><a href="#method-i-with_one">#with_one</a>
70
+
71
+ </ul>
72
+ </div>
73
+
74
+ </div>
75
+ </nav>
76
+
77
+ <main role="main" aria-labelledby="module-AbsorbApi::Relations::ClassMethods">
78
+ <h1 id="module-AbsorbApi::Relations::ClassMethods" class="module">
79
+ module AbsorbApi::Relations::ClassMethods
80
+ </h1>
81
+
82
+ <section class="description">
83
+
84
+ </section>
85
+
86
+
87
+
88
+
89
+ <section id="5Buntitled-5D" class="documentation-section">
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+ <section id="public-instance-5Buntitled-5D-method-details" class="method-section">
100
+ <header>
101
+ <h3>Public Instance Methods</h3>
102
+ </header>
103
+
104
+
105
+ <div id="method-i-with_many" class="method-detail ">
106
+
107
+ <div class="method-heading">
108
+ <span class="method-name">with_many</span><span
109
+ class="method-args">(rel_name, klass = nil)</span>
110
+
111
+ <span class="method-click-advice">click to toggle source</span>
112
+
113
+ </div>
114
+
115
+
116
+ <div class="method-description">
117
+
118
+
119
+
120
+
121
+
122
+
123
+ <div class="method-source-code" id="with_many-source">
124
+ <pre><span class="ruby-comment"># File lib/absorb_api/relations.rb, line 7</span>
125
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">with_many</span>(<span class="ruby-identifier">rel_name</span>, <span class="ruby-identifier">klass</span> = <span class="ruby-keyword">nil</span>)
126
+ <span class="ruby-identifier">klass</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">rel_name</span>
127
+ <span class="ruby-identifier">klass</span> = <span class="ruby-identifier">klass</span>.<span class="ruby-identifier">to_s</span>
128
+
129
+ <span class="ruby-identifier">define_has_many_method</span>(<span class="ruby-identifier">rel_name</span>, <span class="ruby-identifier">klass</span>)
130
+ <span class="ruby-identifier">define_has_many_finder_method</span>(<span class="ruby-identifier">rel_name</span>, <span class="ruby-identifier">klass</span>)
131
+ <span class="ruby-identifier">define_has_many_ids_method</span>(<span class="ruby-identifier">rel_name</span>)
132
+ <span class="ruby-keyword">end</span></pre>
133
+ </div>
134
+
135
+ </div>
136
+
137
+
138
+
139
+
140
+ </div>
141
+
142
+
143
+ <div id="method-i-with_one" class="method-detail ">
144
+
145
+ <div class="method-heading">
146
+ <span class="method-name">with_one</span><span
147
+ class="method-args">(rel_name, klass = nil)</span>
148
+
149
+ <span class="method-click-advice">click to toggle source</span>
150
+
151
+ </div>
152
+
153
+
154
+ <div class="method-description">
155
+
156
+
157
+
158
+
159
+
160
+
161
+ <div class="method-source-code" id="with_one-source">
162
+ <pre><span class="ruby-comment"># File lib/absorb_api/relations.rb, line 16</span>
163
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">with_one</span>(<span class="ruby-identifier">rel_name</span>, <span class="ruby-identifier">klass</span> = <span class="ruby-keyword">nil</span>)
164
+ <span class="ruby-identifier">klass</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">rel_name</span>
165
+ <span class="ruby-identifier">klass</span> = <span class="ruby-identifier">klass</span>.<span class="ruby-identifier">to_s</span>
166
+
167
+ <span class="ruby-identifier">define_method</span> <span class="ruby-identifier">rel_name</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-keyword">do</span>
168
+ <span class="ruby-identifier">path</span> = <span class="ruby-node">&quot;#{klass.pluralize}/&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">send</span>(<span class="ruby-identifier">rel_name</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">+</span> <span class="ruby-string">&quot;_id&quot;</span>)
169
+
170
+ <span class="ruby-identifier">response</span> = <span class="ruby-identifier">get</span>(<span class="ruby-identifier">path</span>, <span class="ruby-identifier">ignore_resource_not_found</span><span class="ruby-operator">:</span> <span class="ruby-keyword">true</span>)
171
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">response</span>.<span class="ruby-identifier">blank?</span>
172
+
173
+ <span class="ruby-node">&quot;AbsorbApi::#{klass.classify}&quot;</span>.<span class="ruby-identifier">constantize</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">response</span>)
174
+ <span class="ruby-keyword">end</span>
175
+ <span class="ruby-keyword">end</span></pre>
176
+ </div>
177
+
178
+ </div>
179
+
180
+
181
+
182
+
183
+ </div>
184
+
185
+
186
+ </section>
187
+
188
+ </section>
189
+ </main>
190
+
191
+
192
+ <footer id="validator-badges" role="contentinfo">
193
+ <p><a href="http://validator.w3.org/check/referer">Validate</a>
194
+ <p>Generated by <a href="https://rdoc.github.io/rdoc">RDoc</a> 5.1.0.
195
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
196
+ </footer>
197
+
@@ -8,6 +8,7 @@
8
8
 
9
9
  <script type="text/javascript">
10
10
  var rdoc_rel_prefix = "../";
11
+ var index_rel_prefix = "../";
11
12
  </script>
12
13
 
13
14
  <script src="../js/jquery.js"></script>
@@ -58,7 +59,7 @@
58
59
  <h3>Parent</h3>
59
60
 
60
61
 
61
- <p class="link"><a href="Base.html">AbsorbApi::Base</a>
62
+ <p class="link"><a href="Record.html">AbsorbApi::Record</a>
62
63
 
63
64
  </div>
64
65
 
@@ -156,7 +157,7 @@
156
157
 
157
158
  <footer id="validator-badges" role="contentinfo">
158
159
  <p><a href="http://validator.w3.org/check/referer">Validate</a>
159
- <p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.1.
160
+ <p>Generated by <a href="https://rdoc.github.io/rdoc">RDoc</a> 5.1.0.
160
161
  <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
161
162
  </footer>
162
163
 
@@ -8,6 +8,7 @@
8
8
 
9
9
  <script type="text/javascript">
10
10
  var rdoc_rel_prefix = "../";
11
+ var index_rel_prefix = "../";
11
12
  </script>
12
13
 
13
14
  <script src="../js/jquery.js"></script>
@@ -96,7 +97,7 @@
96
97
 
97
98
  <footer id="validator-badges" role="contentinfo">
98
99
  <p><a href="http://validator.w3.org/check/referer">Validate</a>
99
- <p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.1.
100
+ <p>Generated by <a href="https://rdoc.github.io/rdoc">RDoc</a> 5.1.0.
100
101
  <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
101
102
  </footer>
102
103