sleeper_rb 0.2.0

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.
Files changed (140) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +15 -0
  3. data/.rspec +3 -0
  4. data/.rubocop.yml +18 -0
  5. data/.travis.yml +8 -0
  6. data/CHANGELOG.md +9 -0
  7. data/CODE_OF_CONDUCT.md +84 -0
  8. data/Gemfile +14 -0
  9. data/Gemfile.lock +91 -0
  10. data/LICENSE.txt +21 -0
  11. data/README.md +92 -0
  12. data/Rakefile +24 -0
  13. data/bin/console +15 -0
  14. data/bin/setup +8 -0
  15. data/docs/SleeperRb/BadRequest.html +106 -0
  16. data/docs/SleeperRb/Client.html +354 -0
  17. data/docs/SleeperRb/NotFound.html +106 -0
  18. data/docs/SleeperRb/RateLimitExceeded.html +106 -0
  19. data/docs/SleeperRb/Resources/Avatar.html +231 -0
  20. data/docs/SleeperRb/Resources/Draft/Metadata.html +419 -0
  21. data/docs/SleeperRb/Resources/Draft/Pick/Metadata.html +346 -0
  22. data/docs/SleeperRb/Resources/Draft/Pick.html +430 -0
  23. data/docs/SleeperRb/Resources/Draft/PickArray.html +108 -0
  24. data/docs/SleeperRb/Resources/Draft/Settings.html +361 -0
  25. data/docs/SleeperRb/Resources/Draft.html +560 -0
  26. data/docs/SleeperRb/Resources/DraftArray.html +198 -0
  27. data/docs/SleeperRb/Resources/League/Matchup.html +349 -0
  28. data/docs/SleeperRb/Resources/League/MatchupArray.html +108 -0
  29. data/docs/SleeperRb/Resources/League/Roster/Settings.html +415 -0
  30. data/docs/SleeperRb/Resources/League/Roster.html +409 -0
  31. data/docs/SleeperRb/Resources/League/RosterArray.html +108 -0
  32. data/docs/SleeperRb/Resources/League/ScoringSettings.html +808 -0
  33. data/docs/SleeperRb/Resources/League/Settings.html +648 -0
  34. data/docs/SleeperRb/Resources/League/Transaction/Metadata.html +119 -0
  35. data/docs/SleeperRb/Resources/League/Transaction/Settings.html +140 -0
  36. data/docs/SleeperRb/Resources/League/Transaction/WaiverBudget.html +292 -0
  37. data/docs/SleeperRb/Resources/League/Transaction.html +679 -0
  38. data/docs/SleeperRb/Resources/League/TransactionArray.html +272 -0
  39. data/docs/SleeperRb/Resources/League.html +688 -0
  40. data/docs/SleeperRb/Resources/LeagueArray.html +272 -0
  41. data/docs/SleeperRb/Resources/NflState.html +252 -0
  42. data/docs/SleeperRb/Resources/Player.html +860 -0
  43. data/docs/SleeperRb/Resources/PlayerArray.html +108 -0
  44. data/docs/SleeperRb/Resources/TradedPick.html +345 -0
  45. data/docs/SleeperRb/Resources/TradedPickArray.html +108 -0
  46. data/docs/SleeperRb/Resources/User/Metadata.html +140 -0
  47. data/docs/SleeperRb/Resources/User.html +406 -0
  48. data/docs/SleeperRb/Resources/UserArray.html +108 -0
  49. data/docs/SleeperRb/Resources.html +99 -0
  50. data/docs/SleeperRb/ServerError.html +106 -0
  51. data/docs/SleeperRb/Utilities/ArrayProxy.html +184 -0
  52. data/docs/SleeperRb/Utilities/Cache/ClassMethods.html +326 -0
  53. data/docs/SleeperRb/Utilities/Cache.html +253 -0
  54. data/docs/SleeperRb/Utilities/Request.html +120 -0
  55. data/docs/SleeperRb/Utilities/RosterPosition.html +239 -0
  56. data/docs/SleeperRb/Utilities.html +99 -0
  57. data/docs/SleeperRb.html +113 -0
  58. data/docs/created.rid +38 -0
  59. data/docs/css/fonts.css +167 -0
  60. data/docs/css/rdoc.css +619 -0
  61. data/docs/fonts/Lato-Light.ttf +0 -0
  62. data/docs/fonts/Lato-LightItalic.ttf +0 -0
  63. data/docs/fonts/Lato-Regular.ttf +0 -0
  64. data/docs/fonts/Lato-RegularItalic.ttf +0 -0
  65. data/docs/fonts/SourceCodePro-Bold.ttf +0 -0
  66. data/docs/fonts/SourceCodePro-Regular.ttf +0 -0
  67. data/docs/images/add.png +0 -0
  68. data/docs/images/arrow_up.png +0 -0
  69. data/docs/images/brick.png +0 -0
  70. data/docs/images/brick_link.png +0 -0
  71. data/docs/images/bug.png +0 -0
  72. data/docs/images/bullet_black.png +0 -0
  73. data/docs/images/bullet_toggle_minus.png +0 -0
  74. data/docs/images/bullet_toggle_plus.png +0 -0
  75. data/docs/images/date.png +0 -0
  76. data/docs/images/delete.png +0 -0
  77. data/docs/images/find.png +0 -0
  78. data/docs/images/loadingAnimation.gif +0 -0
  79. data/docs/images/macFFBgHack.png +0 -0
  80. data/docs/images/package.png +0 -0
  81. data/docs/images/page_green.png +0 -0
  82. data/docs/images/page_white_text.png +0 -0
  83. data/docs/images/page_white_width.png +0 -0
  84. data/docs/images/plugin.png +0 -0
  85. data/docs/images/ruby.png +0 -0
  86. data/docs/images/tag_blue.png +0 -0
  87. data/docs/images/tag_green.png +0 -0
  88. data/docs/images/transparent.png +0 -0
  89. data/docs/images/wrench.png +0 -0
  90. data/docs/images/wrench_orange.png +0 -0
  91. data/docs/images/zoom.png +0 -0
  92. data/docs/index.html +171 -0
  93. data/docs/js/darkfish.js +84 -0
  94. data/docs/js/navigation.js +105 -0
  95. data/docs/js/navigation.js.gz +0 -0
  96. data/docs/js/search.js +110 -0
  97. data/docs/js/search_index.js +1 -0
  98. data/docs/js/search_index.js.gz +0 -0
  99. data/docs/js/searcher.js +229 -0
  100. data/docs/js/searcher.js.gz +0 -0
  101. data/docs/table_of_contents.html +770 -0
  102. data/lib/sleeper_rb/client.rb +80 -0
  103. data/lib/sleeper_rb/resources/avatar.rb +43 -0
  104. data/lib/sleeper_rb/resources/draft/metadata.rb +83 -0
  105. data/lib/sleeper_rb/resources/draft/pick/metadata.rb +64 -0
  106. data/lib/sleeper_rb/resources/draft/pick.rb +85 -0
  107. data/lib/sleeper_rb/resources/draft/pick_array.rb +11 -0
  108. data/lib/sleeper_rb/resources/draft/settings.rb +73 -0
  109. data/lib/sleeper_rb/resources/draft.rb +129 -0
  110. data/lib/sleeper_rb/resources/draft_array.rb +25 -0
  111. data/lib/sleeper_rb/resources/league/matchup.rb +66 -0
  112. data/lib/sleeper_rb/resources/league/matchup_array.rb +11 -0
  113. data/lib/sleeper_rb/resources/league/roster/settings.rb +76 -0
  114. data/lib/sleeper_rb/resources/league/roster.rb +73 -0
  115. data/lib/sleeper_rb/resources/league/roster_array.rb +11 -0
  116. data/lib/sleeper_rb/resources/league/scoring_settings.rb +172 -0
  117. data/lib/sleeper_rb/resources/league/settings.rb +148 -0
  118. data/lib/sleeper_rb/resources/league/transaction/metadata.rb +22 -0
  119. data/lib/sleeper_rb/resources/league/transaction/settings.rb +22 -0
  120. data/lib/sleeper_rb/resources/league/transaction/waiver_budget.rb +52 -0
  121. data/lib/sleeper_rb/resources/league/transaction.rb +153 -0
  122. data/lib/sleeper_rb/resources/league/transaction_array.rb +43 -0
  123. data/lib/sleeper_rb/resources/league.rb +197 -0
  124. data/lib/sleeper_rb/resources/league_array.rb +41 -0
  125. data/lib/sleeper_rb/resources/nfl_state.rb +51 -0
  126. data/lib/sleeper_rb/resources/player.rb +189 -0
  127. data/lib/sleeper_rb/resources/player_array.rb +16 -0
  128. data/lib/sleeper_rb/resources/traded_pick.rb +63 -0
  129. data/lib/sleeper_rb/resources/traded_pick_array.rb +9 -0
  130. data/lib/sleeper_rb/resources/user/metadata.rb +20 -0
  131. data/lib/sleeper_rb/resources/user.rb +104 -0
  132. data/lib/sleeper_rb/resources/user_array.rb +9 -0
  133. data/lib/sleeper_rb/utilities/array_proxy.rb +47 -0
  134. data/lib/sleeper_rb/utilities/cache.rb +132 -0
  135. data/lib/sleeper_rb/utilities/request.rb +42 -0
  136. data/lib/sleeper_rb/utilities/roster_position.rb +30 -0
  137. data/lib/sleeper_rb/version.rb +5 -0
  138. data/lib/sleeper_rb.rb +15 -0
  139. data/sleeper_rb.gemspec +35 -0
  140. metadata +185 -0
@@ -0,0 +1,326 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta charset="UTF-8">
6
+
7
+ <title>module SleeperRb::Utilities::Cache::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/navigation.js" defer></script>
15
+ <script src="../../../js/search.js" defer></script>
16
+ <script src="../../../js/search_index.js" defer></script>
17
+ <script src="../../../js/searcher.js" defer></script>
18
+ <script src="../../../js/darkfish.js" defer></script>
19
+
20
+ <link href="../../../css/fonts.css" rel="stylesheet">
21
+ <link href="../../../css/rdoc.css" rel="stylesheet">
22
+
23
+
24
+
25
+
26
+ <body id="top" role="document" class="module">
27
+ <nav role="navigation">
28
+ <div id="project-navigation">
29
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
30
+ <h2>
31
+ <a href="../../../index.html" rel="home">Home</a>
32
+ </h2>
33
+
34
+ <div id="table-of-contents-navigation">
35
+ <a href="../../../table_of_contents.html#pages">Pages</a>
36
+ <a href="../../../table_of_contents.html#classes">Classes</a>
37
+ <a href="../../../table_of_contents.html#methods">Methods</a>
38
+ </div>
39
+ </div>
40
+
41
+ <div id="search-section" role="search" class="project-section initially-hidden">
42
+ <form action="#" method="get" accept-charset="utf-8">
43
+ <div id="search-field-wrapper">
44
+ <input id="search-field" role="combobox" aria-label="Search"
45
+ aria-autocomplete="list" aria-controls="search-results"
46
+ type="text" name="search" placeholder="Search" spellcheck="false"
47
+ title="Type to search, Up and Down to navigate, Enter to load">
48
+ </div>
49
+
50
+ <ul id="search-results" aria-label="Search Results"
51
+ aria-busy="false" aria-expanded="false"
52
+ aria-atomic="false" class="initially-hidden"></ul>
53
+ </form>
54
+ </div>
55
+
56
+ </div>
57
+
58
+
59
+
60
+ <div id="class-metadata">
61
+
62
+
63
+
64
+
65
+ <!-- Method Quickref -->
66
+ <div id="method-list-section" class="nav-section">
67
+ <h3>Methods</h3>
68
+
69
+ <ul class="link-list" role="directory">
70
+
71
+ <li ><a href="#method-i-cached_association">#cached_association</a>
72
+
73
+ <li ><a href="#method-i-cached_attr">#cached_attr</a>
74
+
75
+ <li ><a href="#method-i-cached_attrs">#cached_attrs</a>
76
+
77
+ <li ><a href="#method-i-skip_refresh">#skip_refresh</a>
78
+
79
+ <li ><a href="#method-i-skip_refresh_fields">#skip_refresh_fields</a>
80
+
81
+ </ul>
82
+ </div>
83
+
84
+ </div>
85
+ </nav>
86
+
87
+ <main role="main" aria-labelledby="module-SleeperRb::Utilities::Cache::ClassMethods">
88
+ <h1 id="module-SleeperRb::Utilities::Cache::ClassMethods" class="module">
89
+ module SleeperRb::Utilities::Cache::ClassMethods
90
+ </h1>
91
+
92
+ <section class="description">
93
+
94
+ <p>Methods to be extended into the class when included.</p>
95
+
96
+ </section>
97
+
98
+
99
+ <section id="5Buntitled-5D" class="documentation-section">
100
+
101
+
102
+
103
+
104
+
105
+ <section class="constants-list">
106
+ <header>
107
+ <h3>Constants</h3>
108
+ </header>
109
+ <dl>
110
+
111
+ <dt id="DEFAULT_TRANSLATORS">DEFAULT_TRANSLATORS
112
+
113
+ <dd>
114
+
115
+
116
+ </dl>
117
+ </section>
118
+
119
+
120
+
121
+
122
+
123
+ <section id="public-instance-5Buntitled-5D-method-details" class="method-section">
124
+ <header>
125
+ <h3>Public Instance Methods</h3>
126
+ </header>
127
+
128
+
129
+ <div id="method-i-cached_association" class="method-detail ">
130
+
131
+ <div class="method-heading">
132
+ <span class="method-name">cached_association</span><span
133
+ class="method-args">(name, &amp;block)</span>
134
+
135
+ <span class="method-click-advice">click to toggle source</span>
136
+
137
+ </div>
138
+
139
+
140
+ <div class="method-description">
141
+
142
+ <p>Creates a memoized association that returns another resource.</p>
143
+
144
+
145
+
146
+
147
+ <div class="method-source-code" id="cached_association-source">
148
+ <pre><span class="ruby-comment"># File lib/sleeper_rb/utilities/cache.rb, line 36</span>
149
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">cached_association</span>(<span class="ruby-identifier">name</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
150
+ <span class="ruby-identifier">define_method</span>(<span class="ruby-identifier">name</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span> = <span class="ruby-keyword">nil</span><span class="ruby-operator">|</span>
151
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">arg</span>
152
+ <span class="ruby-identifier">cached_associations</span>[<span class="ruby-identifier">name</span>] <span class="ruby-operator">||=</span> {}
153
+ <span class="ruby-identifier">cached_associations</span>[<span class="ruby-identifier">name</span>][<span class="ruby-identifier">arg</span>.<span class="ruby-identifier">to_s</span>] <span class="ruby-operator">||=</span> <span class="ruby-identifier">instance_exec</span>(<span class="ruby-identifier">arg</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
154
+ <span class="ruby-keyword">else</span>
155
+ <span class="ruby-identifier">cached_associations</span>[<span class="ruby-identifier">name</span>] <span class="ruby-operator">||=</span> <span class="ruby-identifier">instance_exec</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
156
+ <span class="ruby-keyword">end</span>
157
+ <span class="ruby-keyword">end</span>
158
+ <span class="ruby-keyword">end</span></pre>
159
+ </div>
160
+
161
+ </div>
162
+
163
+
164
+
165
+
166
+ </div>
167
+
168
+
169
+ <div id="method-i-cached_attr" class="method-detail ">
170
+
171
+ <div class="method-heading">
172
+ <span class="method-name">cached_attr</span><span
173
+ class="method-args">(*attrs)</span>
174
+
175
+ <span class="method-click-advice">click to toggle source</span>
176
+
177
+ </div>
178
+
179
+
180
+ <div class="method-description">
181
+
182
+ <p>Creates a memoized attribute reader for the named attributes.</p>
183
+
184
+ <h1 id="method-i-cached_attr-label-Example">Example<span><a href="#method-i-cached_attr-label-Example">&para;</a> <a href="#top">&uarr;</a></span></h1>
185
+
186
+ <p>+cached_attr :display_name, :username, foo: -&gt;(x) { x + 3 }+</p>
187
+
188
+
189
+
190
+
191
+ <div class="method-source-code" id="cached_attr-source">
192
+ <pre><span class="ruby-comment"># File lib/sleeper_rb/utilities/cache.rb, line 21</span>
193
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">cached_attr</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">attrs</span>)
194
+ <span class="ruby-identifier">attrs</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attr</span><span class="ruby-operator">|</span>
195
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Hash</span>)
196
+ <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">field_name</span>, <span class="ruby-identifier">translator</span><span class="ruby-operator">|</span>
197
+ <span class="ruby-identifier">translator</span> = <span class="ruby-constant">DEFAULT_TRANSLATORS</span>[<span class="ruby-identifier">translator</span>] <span class="ruby-keyword">if</span> <span class="ruby-identifier">translator</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Symbol</span>)
198
+ <span class="ruby-identifier">create_method</span>(<span class="ruby-identifier">field_name</span>, <span class="ruby-identifier">translator</span>)
199
+ <span class="ruby-keyword">end</span>
200
+ <span class="ruby-keyword">else</span>
201
+ <span class="ruby-identifier">create_method</span>(<span class="ruby-identifier">attr</span>, <span class="ruby-operator">-&gt;</span>(<span class="ruby-identifier">x</span>) { <span class="ruby-identifier">x</span> })
202
+ <span class="ruby-keyword">end</span>
203
+ <span class="ruby-keyword">end</span>
204
+ <span class="ruby-keyword">end</span></pre>
205
+ </div>
206
+
207
+ </div>
208
+
209
+
210
+
211
+
212
+ </div>
213
+
214
+
215
+ <div id="method-i-cached_attrs" class="method-detail ">
216
+
217
+ <div class="method-heading">
218
+ <span class="method-name">cached_attrs</span><span
219
+ class="method-args">()</span>
220
+
221
+ <span class="method-click-advice">click to toggle source</span>
222
+
223
+ </div>
224
+
225
+
226
+ <div class="method-description">
227
+
228
+ <p>The stored mapping of cached attribute names to their translator functions.</p>
229
+
230
+
231
+
232
+
233
+ <div class="method-source-code" id="cached_attrs-source">
234
+ <pre><span class="ruby-comment"># File lib/sleeper_rb/utilities/cache.rb, line 57</span>
235
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">cached_attrs</span>
236
+ <span class="ruby-ivar">@cached_attrs</span> <span class="ruby-operator">||=</span> {}
237
+ <span class="ruby-keyword">end</span></pre>
238
+ </div>
239
+
240
+ </div>
241
+
242
+
243
+
244
+
245
+ </div>
246
+
247
+
248
+ <div id="method-i-skip_refresh" class="method-detail ">
249
+
250
+ <div class="method-heading">
251
+ <span class="method-name">skip_refresh</span><span
252
+ class="method-args">(*fields)</span>
253
+
254
+ <span class="method-click-advice">click to toggle source</span>
255
+
256
+ </div>
257
+
258
+
259
+ <div class="method-description">
260
+
261
+ <p>Takes in a list of fields which should be excluded from refresh. Use :all for models which do not have any endpoint but only retrieve their data from another object. These models have no API source to refresh themselves, but they still have associations.</p>
262
+
263
+
264
+
265
+
266
+ <div class="method-source-code" id="skip_refresh-source">
267
+ <pre><span class="ruby-comment"># File lib/sleeper_rb/utilities/cache.rb, line 51</span>
268
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">skip_refresh</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">fields</span>)
269
+ <span class="ruby-identifier">fields</span>.<span class="ruby-identifier">any?</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">field</span><span class="ruby-operator">|</span> <span class="ruby-identifier">field</span> <span class="ruby-operator">==</span> <span class="ruby-value">:all</span> } <span class="ruby-operator">?</span> <span class="ruby-ivar">@skip_refresh_fields</span> = <span class="ruby-value">:all</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">skip_refresh_fields</span>.<span class="ruby-identifier">concat</span>(<span class="ruby-identifier">fields</span>)
270
+ <span class="ruby-keyword">end</span></pre>
271
+ </div>
272
+
273
+ </div>
274
+
275
+
276
+
277
+
278
+ </div>
279
+
280
+
281
+ <div id="method-i-skip_refresh_fields" class="method-detail ">
282
+
283
+ <div class="method-heading">
284
+ <span class="method-name">skip_refresh_fields</span><span
285
+ class="method-args">()</span>
286
+
287
+ <span class="method-click-advice">click to toggle source</span>
288
+
289
+ </div>
290
+
291
+
292
+ <div class="method-description">
293
+
294
+ <p>The stored list of fields which should be excluded from refresh.</p>
295
+
296
+
297
+
298
+
299
+ <div class="method-source-code" id="skip_refresh_fields-source">
300
+ <pre><span class="ruby-comment"># File lib/sleeper_rb/utilities/cache.rb, line 63</span>
301
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">skip_refresh_fields</span>
302
+ <span class="ruby-ivar">@skip_refresh_fields</span> <span class="ruby-operator">||=</span> []
303
+ <span class="ruby-keyword">end</span></pre>
304
+ </div>
305
+
306
+ </div>
307
+
308
+
309
+
310
+
311
+ </div>
312
+
313
+
314
+ </section>
315
+
316
+ </section>
317
+
318
+ </main>
319
+
320
+
321
+ <footer id="validator-badges" role="contentinfo">
322
+ <p><a href="https://validator.w3.org/check/referer">Validate</a>
323
+ <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.2.1.
324
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
325
+ </footer>
326
+
@@ -0,0 +1,253 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta charset="UTF-8">
6
+
7
+ <title>module SleeperRb::Utilities::Cache - 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/navigation.js" defer></script>
15
+ <script src="../../js/search.js" defer></script>
16
+ <script src="../../js/search_index.js" defer></script>
17
+ <script src="../../js/searcher.js" defer></script>
18
+ <script src="../../js/darkfish.js" defer></script>
19
+
20
+ <link href="../../css/fonts.css" rel="stylesheet">
21
+ <link href="../../css/rdoc.css" rel="stylesheet">
22
+
23
+
24
+
25
+
26
+ <body id="top" role="document" class="module">
27
+ <nav role="navigation">
28
+ <div id="project-navigation">
29
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
30
+ <h2>
31
+ <a href="../../index.html" rel="home">Home</a>
32
+ </h2>
33
+
34
+ <div id="table-of-contents-navigation">
35
+ <a href="../../table_of_contents.html#pages">Pages</a>
36
+ <a href="../../table_of_contents.html#classes">Classes</a>
37
+ <a href="../../table_of_contents.html#methods">Methods</a>
38
+ </div>
39
+ </div>
40
+
41
+ <div id="search-section" role="search" class="project-section initially-hidden">
42
+ <form action="#" method="get" accept-charset="utf-8">
43
+ <div id="search-field-wrapper">
44
+ <input id="search-field" role="combobox" aria-label="Search"
45
+ aria-autocomplete="list" aria-controls="search-results"
46
+ type="text" name="search" placeholder="Search" spellcheck="false"
47
+ title="Type to search, Up and Down to navigate, Enter to load">
48
+ </div>
49
+
50
+ <ul id="search-results" aria-label="Search Results"
51
+ aria-busy="false" aria-expanded="false"
52
+ aria-atomic="false" class="initially-hidden"></ul>
53
+ </form>
54
+ </div>
55
+
56
+ </div>
57
+
58
+
59
+
60
+ <div id="class-metadata">
61
+
62
+
63
+
64
+ <div id="extends-section" class="nav-section">
65
+ <h3>Extended With Modules</h3>
66
+
67
+ <ul class="link-list">
68
+
69
+
70
+ <li><a class="extend" href="Cache/ClassMethods.html">SleeperRb::Utilities::Cache::ClassMethods</a>
71
+
72
+
73
+ </ul>
74
+ </div>
75
+
76
+ <!-- Method Quickref -->
77
+ <div id="method-list-section" class="nav-section">
78
+ <h3>Methods</h3>
79
+
80
+ <ul class="link-list" role="directory">
81
+
82
+ <li ><a href="#method-c-included">::included</a>
83
+
84
+ <li ><a href="#method-c-new">::new</a>
85
+
86
+ <li ><a href="#method-i-refresh">#refresh</a>
87
+
88
+ </ul>
89
+ </div>
90
+
91
+ </div>
92
+ </nav>
93
+
94
+ <main role="main" aria-labelledby="module-SleeperRb::Utilities::Cache">
95
+ <h1 id="module-SleeperRb::Utilities::Cache" class="module">
96
+ module SleeperRb::Utilities::Cache
97
+ </h1>
98
+
99
+ <section class="description">
100
+
101
+ <p>This module encapsulates the logic for caching and refreshing values retrieved from the Sleeper API.</p>
102
+
103
+ </section>
104
+
105
+
106
+ <section id="5Buntitled-5D" class="documentation-section">
107
+
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+
116
+ <section id="public-class-5Buntitled-5D-method-details" class="method-section">
117
+ <header>
118
+ <h3>Public Class Methods</h3>
119
+ </header>
120
+
121
+
122
+ <div id="method-c-included" class="method-detail ">
123
+
124
+ <div class="method-heading">
125
+ <span class="method-name">included</span><span
126
+ class="method-args">(base)</span>
127
+
128
+ <span class="method-click-advice">click to toggle source</span>
129
+
130
+ </div>
131
+
132
+
133
+ <div class="method-description">
134
+
135
+ <p>Ensures that <a href="Cache/ClassMethods.html"><code>ClassMethods</code></a> are extended into the base class when including.</p>
136
+
137
+
138
+
139
+
140
+ <div class="method-source-code" id="included-source">
141
+ <pre><span class="ruby-comment"># File lib/sleeper_rb/utilities/cache.rb, line 81</span>
142
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier ruby-title">included</span>(<span class="ruby-identifier">base</span>)
143
+ <span class="ruby-identifier">base</span>.<span class="ruby-identifier">extend</span> <span class="ruby-constant">ClassMethods</span>
144
+ <span class="ruby-keyword">end</span></pre>
145
+ </div>
146
+
147
+ </div>
148
+
149
+
150
+
151
+
152
+ </div>
153
+
154
+
155
+ <div id="method-c-new" class="method-detail ">
156
+
157
+ <div class="method-heading">
158
+ <span class="method-name">new</span><span
159
+ class="method-args">(opts = {})</span>
160
+
161
+ <span class="method-click-advice">click to toggle source</span>
162
+
163
+ </div>
164
+
165
+
166
+ <div class="method-description">
167
+
168
+ <p>Sets up an object with values for any cached_attrs pre-initialized if provided.</p>
169
+
170
+ <p>@param opts [Hash] Key/value pairs that can match any cached_attr.</p>
171
+
172
+
173
+
174
+
175
+ <div class="method-source-code" id="new-source">
176
+ <pre><span class="ruby-comment"># File lib/sleeper_rb/utilities/cache.rb, line 89</span>
177
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">initialize</span>(<span class="ruby-identifier">opts</span> = {})
178
+ <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">slice</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">cached_attrs</span>.<span class="ruby-identifier">keys</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">val</span><span class="ruby-operator">|</span>
179
+ <span class="ruby-identifier">instance_variable_set</span>(<span class="ruby-value">:&quot;@#{key}&quot;</span>, <span class="ruby-identifier">cached_attrs</span>[<span class="ruby-identifier">key</span>].<span class="ruby-identifier">call</span>(<span class="ruby-identifier">val</span>))
180
+ <span class="ruby-keyword">end</span>
181
+ <span class="ruby-keyword">end</span></pre>
182
+ </div>
183
+
184
+ </div>
185
+
186
+
187
+
188
+
189
+ </div>
190
+
191
+
192
+ </section>
193
+
194
+ <section id="public-instance-5Buntitled-5D-method-details" class="method-section">
195
+ <header>
196
+ <h3>Public Instance Methods</h3>
197
+ </header>
198
+
199
+
200
+ <div id="method-i-refresh" class="method-detail ">
201
+
202
+ <div class="method-heading">
203
+ <span class="method-name">refresh</span><span
204
+ class="method-args">()</span>
205
+
206
+ <span class="method-click-advice">click to toggle source</span>
207
+
208
+ </div>
209
+
210
+
211
+ <div class="method-description">
212
+
213
+ <p>Refreshes all associations and memoized values set by cached_attr.</p>
214
+
215
+ <p>@return [self]</p>
216
+
217
+
218
+
219
+
220
+ <div class="method-source-code" id="refresh-source">
221
+ <pre><span class="ruby-comment"># File lib/sleeper_rb/utilities/cache.rb, line 99</span>
222
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">refresh</span>
223
+ <span class="ruby-identifier">cached_attrs</span>.<span class="ruby-identifier">keys</span>.<span class="ruby-identifier">reject</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span><span class="ruby-operator">|</span> <span class="ruby-identifier">skip_refresh_fields</span> <span class="ruby-operator">==</span> <span class="ruby-value">:all</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">skip_refresh_fields</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">k</span>) }.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attr</span><span class="ruby-operator">|</span>
224
+ <span class="ruby-identifier">ivar</span> = <span class="ruby-value">:&quot;@#{attr}&quot;</span>
225
+ <span class="ruby-identifier">instance_variable_set</span>(<span class="ruby-identifier">ivar</span>, <span class="ruby-keyword">nil</span>)
226
+ <span class="ruby-keyword">end</span>
227
+ <span class="ruby-ivar">@values</span> = <span class="ruby-keyword">nil</span>
228
+ <span class="ruby-ivar">@cached_associations</span> = {}
229
+ <span class="ruby-keyword">self</span>
230
+ <span class="ruby-keyword">end</span></pre>
231
+ </div>
232
+
233
+ </div>
234
+
235
+
236
+
237
+
238
+ </div>
239
+
240
+
241
+ </section>
242
+
243
+ </section>
244
+
245
+ </main>
246
+
247
+
248
+ <footer id="validator-badges" role="contentinfo">
249
+ <p><a href="https://validator.w3.org/check/referer">Validate</a>
250
+ <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.2.1.
251
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
252
+ </footer>
253
+