gravaty 9.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (138) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG +835 -0
  3. data/COPYING.md +675 -0
  4. data/Gemfile +21 -0
  5. data/ISSUES.md +62 -0
  6. data/README.md +287 -0
  7. data/Rakefile +52 -0
  8. data/acknowledgements.md +66 -0
  9. data/authors.md +63 -0
  10. data/copyright.md +468 -0
  11. data/examples/avatar.rb +159 -0
  12. data/examples/basics.rb +75 -0
  13. data/examples/cacert.pem +3401 -0
  14. data/examples/profile.rb +187 -0
  15. data/examples/xmlrpc.rb +41 -0
  16. data/gravaty.gemspec +78 -0
  17. data/gravaty.odp +0 -0
  18. data/gravaty.pdf +0 -0
  19. data/html/CHANGELOG.html +1117 -0
  20. data/html/COPYING_md.html +393 -0
  21. data/html/Gemfile.html +108 -0
  22. data/html/Gravaty/Gravaty.html +1002 -0
  23. data/html/Gravaty/ParsableDuckType.html +162 -0
  24. data/html/Gravaty/Parser.html +239 -0
  25. data/html/Gravaty/Parsers/Avatar.html +169 -0
  26. data/html/Gravaty/Parsers/Callback.html +170 -0
  27. data/html/Gravaty/Parsers/Default.html +178 -0
  28. data/html/Gravaty/Parsers/Force.html +170 -0
  29. data/html/Gravaty/Parsers/Format.html +181 -0
  30. data/html/Gravaty/Parsers/Pixelsize.html +181 -0
  31. data/html/Gravaty/Parsers/Rating.html +181 -0
  32. data/html/Gravaty/Parsers/Secure.html +169 -0
  33. data/html/Gravaty/Parsers/Type.html +181 -0
  34. data/html/Gravaty/Parsers.html +96 -0
  35. data/html/Gravaty/Utils/Downloader/Downloader.html +227 -0
  36. data/html/Gravaty/Utils/Downloader.html +108 -0
  37. data/html/Gravaty/Utils/Raisers.html +203 -0
  38. data/html/Gravaty/Utils/Rfc5322.html +139 -0
  39. data/html/Gravaty/Utils/RpcConnector/RpcConnector.html +248 -0
  40. data/html/Gravaty/Utils/RpcConnector.html +111 -0
  41. data/html/Gravaty/Utils.html +111 -0
  42. data/html/Gravaty.html +320 -0
  43. data/html/ISSUES_md.html +165 -0
  44. data/html/Object.html +187 -0
  45. data/html/README_md.html +276 -0
  46. data/html/Rakefile.html +141 -0
  47. data/html/acknowledgements_md.html +160 -0
  48. data/html/authors_md.html +173 -0
  49. data/html/copyright_md.html +481 -0
  50. data/html/created.rid +59 -0
  51. data/html/css/fonts.css +167 -0
  52. data/html/css/rdoc.css +590 -0
  53. data/html/examples/cacert_pem.html +1056 -0
  54. data/html/fonts/Lato-Light.ttf +0 -0
  55. data/html/fonts/Lato-LightItalic.ttf +0 -0
  56. data/html/fonts/Lato-Regular.ttf +0 -0
  57. data/html/fonts/Lato-RegularItalic.ttf +0 -0
  58. data/html/fonts/SourceCodePro-Bold.ttf +0 -0
  59. data/html/fonts/SourceCodePro-Regular.ttf +0 -0
  60. data/html/gravaty_gemspec.html +169 -0
  61. data/html/images/add.png +0 -0
  62. data/html/images/arrow_up.png +0 -0
  63. data/html/images/brick.png +0 -0
  64. data/html/images/brick_link.png +0 -0
  65. data/html/images/bug.png +0 -0
  66. data/html/images/bullet_black.png +0 -0
  67. data/html/images/bullet_toggle_minus.png +0 -0
  68. data/html/images/bullet_toggle_plus.png +0 -0
  69. data/html/images/date.png +0 -0
  70. data/html/images/delete.png +0 -0
  71. data/html/images/find.png +0 -0
  72. data/html/images/loadingAnimation.gif +0 -0
  73. data/html/images/macFFBgHack.png +0 -0
  74. data/html/images/package.png +0 -0
  75. data/html/images/page_green.png +0 -0
  76. data/html/images/page_white_text.png +0 -0
  77. data/html/images/page_white_width.png +0 -0
  78. data/html/images/plugin.png +0 -0
  79. data/html/images/ruby.png +0 -0
  80. data/html/images/tag_blue.png +0 -0
  81. data/html/images/tag_green.png +0 -0
  82. data/html/images/transparent.png +0 -0
  83. data/html/images/wrench.png +0 -0
  84. data/html/images/wrench_orange.png +0 -0
  85. data/html/images/zoom.png +0 -0
  86. data/html/index.html +308 -0
  87. data/html/js/darkfish.js +161 -0
  88. data/html/js/jquery.js +4 -0
  89. data/html/js/navigation.js +141 -0
  90. data/html/js/navigation.js.gz +0 -0
  91. data/html/js/search.js +109 -0
  92. data/html/js/search_index.js +1 -0
  93. data/html/js/search_index.js.gz +0 -0
  94. data/html/js/searcher.js +229 -0
  95. data/html/js/searcher.js.gz +0 -0
  96. data/html/table_of_contents.html +995 -0
  97. data/lib/gravaty/application.rb +354 -0
  98. data/lib/gravaty/constants.rb +65 -0
  99. data/lib/gravaty/locales/en.yml +38 -0
  100. data/lib/gravaty/locales/it.yml +38 -0
  101. data/lib/gravaty/locales/ja.yml +39 -0
  102. data/lib/gravaty/parser.rb +50 -0
  103. data/lib/gravaty/parsers/avatar.rb +40 -0
  104. data/lib/gravaty/parsers/callback.rb +41 -0
  105. data/lib/gravaty/parsers/default.rb +92 -0
  106. data/lib/gravaty/parsers/force.rb +40 -0
  107. data/lib/gravaty/parsers/format.rb +45 -0
  108. data/lib/gravaty/parsers/pixelsize.rb +45 -0
  109. data/lib/gravaty/parsers/rating.rb +45 -0
  110. data/lib/gravaty/parsers/secure.rb +39 -0
  111. data/lib/gravaty/parsers/type.rb +45 -0
  112. data/lib/gravaty/utils/downloader.rb +156 -0
  113. data/lib/gravaty/utils/raisers.rb +63 -0
  114. data/lib/gravaty/utils/rfc5322.rb +110 -0
  115. data/lib/gravaty/utils/rpc_connector.rb +86 -0
  116. data/lib/gravaty/version.rb +24 -0
  117. data/lib/gravaty.rb +75 -0
  118. data/test/gravaty/locales/test_locales.rb +69 -0
  119. data/test/gravaty/parsers/test_avatar.rb +39 -0
  120. data/test/gravaty/parsers/test_callback.rb +42 -0
  121. data/test/gravaty/parsers/test_default.rb +79 -0
  122. data/test/gravaty/parsers/test_force.rb +39 -0
  123. data/test/gravaty/parsers/test_format.rb +54 -0
  124. data/test/gravaty/parsers/test_pixelsize.rb +56 -0
  125. data/test/gravaty/parsers/test_rating.rb +54 -0
  126. data/test/gravaty/parsers/test_secure.rb +39 -0
  127. data/test/gravaty/parsers/test_type.rb +44 -0
  128. data/test/gravaty/test_application.rb +126 -0
  129. data/test/gravaty/test_avatar.rb +122 -0
  130. data/test/gravaty/test_parser.rb +59 -0
  131. data/test/gravaty/test_profile.rb +70 -0
  132. data/test/gravaty/utils/test_downloader.rb +51 -0
  133. data/test/gravaty/utils/test_raisers.rb +62 -0
  134. data/test/gravaty/utils/test_rfc5322.rb +82 -0
  135. data/test/gravaty/utils/test_rpc_connector.rb +82 -0
  136. data/test/test_gravaty.rb +48 -0
  137. data/test/test_helper.rb +105 -0
  138. metadata +348 -0
@@ -0,0 +1,1002 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta charset="UTF-8">
6
+
7
+ <title>class Gravaty::Gravaty - gravaty 9.0.0</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
+
23
+ <body id="top" role="document" class="class">
24
+ <nav role="navigation">
25
+ <div id="project-navigation">
26
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
27
+ <h2>
28
+ <a href="../index.html" rel="home">Home</a>
29
+ </h2>
30
+
31
+ <div id="table-of-contents-navigation">
32
+ <a href="../table_of_contents.html#pages">Pages</a>
33
+ <a href="../table_of_contents.html#classes">Classes</a>
34
+ <a href="../table_of_contents.html#methods">Methods</a>
35
+ </div>
36
+ </div>
37
+
38
+ <div id="search-section" role="search" class="project-section initially-hidden">
39
+ <form action="#" method="get" accept-charset="utf-8">
40
+ <div id="search-field-wrapper">
41
+ <input id="search-field" role="combobox" aria-label="Search"
42
+ aria-autocomplete="list" aria-controls="search-results"
43
+ type="text" name="search" placeholder="Search" spellcheck="false"
44
+ title="Type to search, Up and Down to navigate, Enter to load">
45
+ </div>
46
+
47
+ <ul id="search-results" aria-label="Search Results"
48
+ aria-busy="false" aria-expanded="false"
49
+ aria-atomic="false" class="initially-hidden"></ul>
50
+ </form>
51
+ </div>
52
+
53
+ </div>
54
+
55
+
56
+
57
+ <div id="class-metadata">
58
+
59
+ <div id="parent-class-section" class="nav-section">
60
+ <h3>Parent</h3>
61
+
62
+
63
+ <p class="link"><a href="../Object.html">Object</a>
64
+
65
+ </div>
66
+
67
+ <div id="includes-section" class="nav-section">
68
+ <h3>Included Modules</h3>
69
+
70
+ <ul class="link-list">
71
+
72
+
73
+ <li><span class="include">Comparable</span>
74
+
75
+
76
+ </ul>
77
+ </div>
78
+
79
+
80
+ <!-- Method Quickref -->
81
+ <div id="method-list-section" class="nav-section">
82
+ <h3>Methods</h3>
83
+
84
+ <ul class="link-list" role="directory">
85
+
86
+ <li ><a href="#method-c-new">::new</a>
87
+
88
+ <li ><a href="#method-i-3C-3D-3E">#&lt;=&gt;</a>
89
+
90
+ <li ><a href="#method-i-avatar">#avatar</a>
91
+
92
+ <li ><a href="#method-i-avatar-21">#avatar!</a>
93
+
94
+ <li ><a href="#method-i-download">#download</a>
95
+
96
+ <li ><a href="#method-i-json">#json</a>
97
+
98
+ <li ><a href="#method-i-json-21">#json!</a>
99
+
100
+ <li ><a href="#method-i-profile">#profile</a>
101
+
102
+ <li ><a href="#method-i-profile-21">#profile!</a>
103
+
104
+ <li ><a href="#method-i-qrcode">#qrcode</a>
105
+
106
+ <li ><a href="#method-i-qrcode-21">#qrcode!</a>
107
+
108
+ <li ><a href="#method-i-reset">#reset</a>
109
+
110
+ <li ><a href="#method-i-to_json">#to_json</a>
111
+
112
+ <li ><a href="#method-i-to_s">#to_s</a>
113
+
114
+ <li ><a href="#method-i-xmlrpc">#xmlrpc</a>
115
+
116
+ </ul>
117
+ </div>
118
+
119
+ </div>
120
+ </nav>
121
+
122
+ <main role="main" aria-labelledby="class-Gravaty::Gravaty">
123
+ <h1 id="class-Gravaty::Gravaty" class="class">
124
+ class Gravaty::Gravaty
125
+ </h1>
126
+
127
+ <section class="description">
128
+
129
+ <p>This class is a simple API to retrieve an URL with specified options from Gravatar site. It can be used to read data for avatars, profiles or for XML-RPC APi calls. The only needed parameter to create a <a href="Gravaty.html"><code>Gravaty</code></a> object is the reference <code>email</code> address.</p>
130
+ <dl class="rdoc-list note-list"><dt>Author
131
+ <dd>
132
+ <p><a href="mailto:marcobresciani_1974@libero.it">Marco Bresciani</a></p>
133
+ </dd><dt>Copyright
134
+ <dd>
135
+ <p>Copyright © 2013, 2014, 2015, 2016, 2017, 2018,</p>
136
+ </dd></dl>
137
+
138
+ <p>2019 Marco Bresciani</p>
139
+ <dl class="rdoc-list note-list"><dt>License
140
+ <dd>
141
+ <p>GNU General Public License version 3</p>
142
+ </dd></dl>
143
+
144
+ </section>
145
+
146
+
147
+ <section id="5Buntitled-5D" class="documentation-section">
148
+
149
+
150
+
151
+
152
+
153
+
154
+
155
+ <section class="attribute-method-details" class="method-section">
156
+ <header>
157
+ <h3>Attributes</h3>
158
+ </header>
159
+
160
+
161
+ <div id="attribute-i-digest" class="method-detail">
162
+ <div class="method-heading attribute-method-heading">
163
+ <span class="method-name">digest</span><span
164
+ class="attribute-access-type">[R]</span>
165
+ </div>
166
+
167
+ <div class="method-description">
168
+
169
+ <p>Provides the MD5 signature (of the small caps version) of the <code>email</code> address used to build the object.</p>
170
+
171
+ </div>
172
+ </div>
173
+
174
+ <div id="attribute-i-email" class="method-detail">
175
+ <div class="method-heading attribute-method-heading">
176
+ <span class="method-name">email</span><span
177
+ class="attribute-access-type">[R]</span>
178
+ </div>
179
+
180
+ <div class="method-description">
181
+
182
+ <p>Provides the (small caps version of) <code>email</code> address used to build the object.</p>
183
+
184
+ </div>
185
+ </div>
186
+
187
+ </section>
188
+
189
+
190
+
191
+ <section id="public-class-5Buntitled-5D-method-details" class="method-section">
192
+ <header>
193
+ <h3>Public Class Methods</h3>
194
+ </header>
195
+
196
+
197
+ <div id="method-c-new" class="method-detail ">
198
+
199
+ <div class="method-heading">
200
+ <span class="method-name">new</span><span
201
+ class="method-args">(email_address, parser)</span>
202
+
203
+ <span class="method-click-advice">click to toggle source</span>
204
+
205
+ </div>
206
+
207
+
208
+ <div class="method-description">
209
+
210
+ <p>Creates a <code>Gravaty</code> object described by the user&#39;s <code>email</code>. Throws an <code>ArgumentError</code> exception if the supplied <code>email</code> address is <code>nil</code> or not valid according to RFC5322.</p>
211
+ <dl class="rdoc-list note-list"><dt>Usage
212
+ <dd>
213
+ <p><code>new_gravaty = Gravaty.new email, parser</code></p>
214
+ </dd><dt>Params
215
+ <dd><ul><li>
216
+ <p><code>email_address</code>, the user&#39;s <a href="Gravaty.html#attribute-i-email"><code>email</code></a> address (a syntactically</p>
217
+ </li></ul>
218
+ </dd></dl>
219
+
220
+ <p>valid one).</p>
221
+
222
+ <pre>- +parser+, a parser duck-responding to the +parse+ method with</pre>
223
+
224
+ <p>two parameters, <code>method</code> name and <code>value</code> string</p>
225
+ <dl class="rdoc-list note-list"><dt>Returns
226
+ <dd>
227
+ <p>a <code>Gravaty</code> object for the specified <code>email</code> address.</p>
228
+ </dd><dt>Raises
229
+ <dd>
230
+ <p><code>ArgumentError</code>, if the supplied <code>email</code> address is <code>nil</code></p>
231
+ </dd></dl>
232
+
233
+ <p>or not valid according to RFC 5322.</p>
234
+
235
+
236
+
237
+
238
+ <div class="method-source-code" id="new-source">
239
+ <pre> <span class="ruby-comment"># File lib/gravaty/application.rb</span>
240
+ <span class="line-num">65</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">initialize</span>(<span class="ruby-identifier">email_address</span>, <span class="ruby-identifier">parser</span>)
241
+ <span class="line-num">66</span> <span class="ruby-constant">I18n</span>.<span class="ruby-identifier">load_path</span> = <span class="ruby-constant">Dir</span>[<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-keyword">__FILE__</span>),
242
+ <span class="line-num">67</span> <span class="ruby-string">&#39;/locales/&#39;</span>, <span class="ruby-string">&#39;*.yml&#39;</span>)]
243
+ <span class="line-num">68</span>
244
+ <span class="line-num">69</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-constant">I18n</span>.<span class="ruby-identifier">t</span>(<span class="ruby-string">&#39;error.nil&#39;</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">email_address</span>.<span class="ruby-identifier">nil?</span>
245
+ <span class="line-num">70</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-constant">I18n</span>.<span class="ruby-identifier">t</span>(<span class="ruby-string">&#39;error.invalid&#39;</span>, <span class="ruby-value">value:</span> <span class="ruby-identifier">email_address</span>) <span class="ruby-keyword">unless</span> <span class="ruby-constant">Utils</span><span class="ruby-operator">::</span><span class="ruby-constant">Rfc5322</span><span class="ruby-operator">::</span><span class="ruby-constant">EMAIL</span>.<span class="ruby-identifier">match</span> <span class="ruby-identifier">email_address</span> <span class="ruby-comment"># thanks Peter!</span>
246
+ <span class="line-num">71</span>
247
+ <span class="line-num">72</span> <span class="ruby-ivar">@email</span> = <span class="ruby-identifier">email_address</span>.<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">downcase</span>
248
+ <span class="line-num">73</span> <span class="ruby-ivar">@digest</span> = <span class="ruby-constant">Digest</span><span class="ruby-operator">::</span><span class="ruby-constant">MD5</span>.<span class="ruby-identifier">hexdigest</span> <span class="ruby-identifier">email</span>
249
+ <span class="line-num">74</span> <span class="ruby-ivar">@gravaty</span> = <span class="ruby-identifier">email</span>
250
+ <span class="line-num">75</span> <span class="ruby-ivar">@parser</span> = <span class="ruby-identifier">parser</span>
251
+ <span class="line-num">76</span> <span class="ruby-keyword">end</span></pre>
252
+ </div>
253
+
254
+ </div>
255
+
256
+
257
+
258
+
259
+ </div>
260
+
261
+
262
+ </section>
263
+
264
+ <section id="public-instance-5Buntitled-5D-method-details" class="method-section">
265
+ <header>
266
+ <h3>Public Instance Methods</h3>
267
+ </header>
268
+
269
+
270
+ <div id="method-i-3C-3D-3E" class="method-detail ">
271
+
272
+ <div class="method-heading">
273
+ <span class="method-name">&lt;=&gt;</span><span
274
+ class="method-args">(other_gravaty)</span>
275
+
276
+ <span class="method-click-advice">click to toggle source</span>
277
+
278
+ </div>
279
+
280
+
281
+ <div class="method-description">
282
+
283
+
284
+
285
+
286
+
287
+
288
+ <div class="method-source-code" id="3C-3D-3E-source">
289
+ <pre> <span class="ruby-comment"># File lib/gravaty/application.rb</span>
290
+ <span class="line-num">326</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">&lt;=&gt;</span>(<span class="ruby-identifier">other_gravaty</span>)
291
+ <span class="line-num">327</span> <span class="ruby-ivar">@email</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">other_gravaty</span>.<span class="ruby-identifier">email</span>
292
+ <span class="line-num">328</span> <span class="ruby-keyword">end</span></pre>
293
+ </div>
294
+
295
+ </div>
296
+
297
+
298
+
299
+
300
+ </div>
301
+
302
+
303
+ <div id="method-i-avatar" class="method-detail ">
304
+
305
+ <div class="method-heading">
306
+ <span class="method-name">avatar</span><span
307
+ class="method-args">(args = {})</span>
308
+
309
+ <span class="method-click-advice">click to toggle source</span>
310
+
311
+ </div>
312
+
313
+
314
+ <div class="method-description">
315
+
316
+ <p>Returns a string containing the URI of the gravatar associated to internal (provided) <a href="Gravaty.html#attribute-i-email"><code>email</code></a> address. Valid keys for the <code>args</code> hash are: :type, :pixel_size, :force, :secure, :rating, :default.</p>
317
+ <dl class="rdoc-list note-list"><dt>Usage
318
+ <dd><ul><li>
319
+ <p><code>a_string = new_gravaty.avatar</code></p>
320
+ </li><li>
321
+ <p><code>a_string = new_gravaty.avatar</code></p>
322
+ </li><li>
323
+ <p><code>a_string = new_gravaty.avatar pixel_size: 42</code></p>
324
+ </li><li>
325
+ <p>&lt;tt&gt;a_string = new_gravaty.avatar pixel_size: 42, type:</p>
326
+ </li></ul>
327
+ </dd></dl>
328
+
329
+ <p>png&#39;&lt;/tt&gt;</p>
330
+
331
+ <pre>- &lt;tt&gt;a_string = new_gravaty.avatar secure: false&lt;/tt&gt;
332
+ - &lt;tt&gt;a_string = new_gravaty.avatar type: &#39;jpg&#39;, force:</pre>
333
+
334
+ <p>true&lt;/tt&gt;</p>
335
+
336
+ <pre>- &lt;tt&gt;a_string = new_gravaty.avatar secure: true, pixel_size:</pre>
337
+
338
+ <p>42, type: &#39;png&#39;&lt;/tt&gt;</p>
339
+
340
+ <pre>- &lt;tt&gt;a_string = new_gravaty.avatar rating: pg, type: &#39;gif&#39;&lt;/tt&gt;
341
+ - &lt;tt&gt;a_string = new_gravaty.avatar default: monsterid,</pre>
342
+
343
+ <p>pixel_size: 42&lt;/tt&gt;</p>
344
+ <dl class="rdoc-list note-list"><dt>Params
345
+ <dd><ul><li>
346
+ <p><code>type</code>: [String] is the possibly desired specific image</p>
347
+ </li></ul>
348
+ </dd></dl>
349
+
350
+ <p>format. Valid formats are jp(e)g, png or gif. Default to no extension. Will be downcased. Raises <code>ArgumentError</code> for invalid formats.</p>
351
+
352
+ <pre>- +pixel_size+: [Integer] is the size in pixel of the image.</pre>
353
+
354
+ <p>From 1 to 2048. Default to no value. Raises <code>ArgumentError</code> for invalid sizes.</p>
355
+
356
+ <pre>- +force+: [TrueClass || FalseClass] is a boolean to specify if</pre>
357
+
358
+ <p>the default has to be forced when no image is found. Default to false.</p>
359
+
360
+ <pre>- +secure+: [TrueClass || FalseClass] is a boolean to specify</pre>
361
+
362
+ <p>whether the resulting URL shall be HTTPS or HTTP type. Default to true (HTTPS).</p>
363
+
364
+ <pre>- +rating+: [String] is the rating type of the image. Valid</pre>
365
+
366
+ <p>values are &#39;g&#39;, &#39;pg&#39;, &#39;r&#39; and &#39;x&#39;.</p>
367
+
368
+ <pre>- +default+: [String] is the default type of the image (valid</pre>
369
+
370
+ <p>values are &#39;404&#39;, &#39;mm&#39;, &#39;identicon&#39;, &#39;monsterid&#39;, &#39;wavatar&#39;, &#39;retro&#39; and &#39;blank&#39;), or the URI for an own default image. For the URI validation see: <a href="http://it.gravatar.com/site/implement/images/#default-image">it.gravatar.com/site/implement/images/#default-image</a> .</p>
371
+ <dl class="rdoc-list note-list"><dt>Returns
372
+ <dd>
373
+ <p>a <code>String</code> containing the Gravatar site URI with</p>
374
+ </dd></dl>
375
+
376
+ <p>specified options and configuration parameters.</p>
377
+
378
+
379
+
380
+
381
+ <div class="method-source-code" id="avatar-source">
382
+ <pre> <span class="ruby-comment"># File lib/gravaty/application.rb</span>
383
+ <span class="line-num">119</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">avatar</span>(<span class="ruby-identifier">args</span> = {})
384
+ <span class="line-num">120</span> <span class="ruby-identifier">secure</span> = <span class="ruby-keyword">true</span>
385
+ <span class="line-num">121</span> <span class="ruby-identifier">type</span> = <span class="ruby-keyword">nil</span>
386
+ <span class="line-num">122</span>
387
+ <span class="line-num">123</span> <span class="ruby-identifier">array</span> = []
388
+ <span class="line-num">124</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">nil?</span>
389
+ <span class="line-num">125</span> <span class="ruby-identifier">type</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">fetch</span>(<span class="ruby-value">:type</span>, <span class="ruby-keyword">nil</span>)
390
+ <span class="line-num">126</span> <span class="ruby-identifier">secure</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">fetch</span>(<span class="ruby-value">:secure</span>, <span class="ruby-identifier">secure</span>)
391
+ <span class="line-num">127</span>
392
+ <span class="line-num">128</span> [<span class="ruby-value">:pixelsize</span>, <span class="ruby-value">:force</span>, <span class="ruby-value">:default</span>, <span class="ruby-value">:rating</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">param</span><span class="ruby-operator">|</span>
393
+ <span class="line-num">129</span> <span class="ruby-identifier">array</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@parser</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">param</span>.<span class="ruby-identifier">to_s</span>, <span class="ruby-identifier">args</span>[<span class="ruby-identifier">param</span>]) <span class="ruby-keyword">unless</span> <span class="ruby-identifier">args</span>[<span class="ruby-identifier">param</span>].<span class="ruby-identifier">nil?</span>
394
+ <span class="line-num">130</span> <span class="ruby-keyword">end</span>
395
+ <span class="line-num">131</span> <span class="ruby-keyword">end</span>
396
+ <span class="line-num">132</span>
397
+ <span class="line-num">133</span> <span class="ruby-identifier">build_uri</span>(<span class="ruby-identifier">secure</span>, <span class="ruby-keyword">true</span>) <span class="ruby-operator">+</span> <span class="ruby-identifier">digest</span> <span class="ruby-operator">+</span>
398
+ <span class="line-num">134</span> <span class="ruby-ivar">@parser</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-string">&#39;type&#39;</span>, <span class="ruby-identifier">type</span>) <span class="ruby-operator">+</span> <span class="ruby-identifier">build_query_string</span>(<span class="ruby-identifier">array</span>)
399
+ <span class="line-num">135</span> <span class="ruby-keyword">end</span></pre>
400
+ </div>
401
+
402
+ </div>
403
+
404
+
405
+
406
+
407
+ </div>
408
+
409
+
410
+ <div id="method-i-avatar-21" class="method-detail ">
411
+
412
+ <div class="method-heading">
413
+ <span class="method-name">avatar!</span><span
414
+ class="method-args">(args = {})</span>
415
+
416
+ <span class="method-click-advice">click to toggle source</span>
417
+
418
+ </div>
419
+
420
+
421
+ <div class="method-description">
422
+
423
+ <p>See <a href="Gravaty.html#method-i-avatar"><code>avatar</code></a> method. This banged version saves the resulting string as internal state.</p>
424
+
425
+
426
+
427
+
428
+ <div class="method-source-code" id="avatar-21-source">
429
+ <pre> <span class="ruby-comment"># File lib/gravaty/application.rb</span>
430
+ <span class="line-num">139</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">avatar!</span>(<span class="ruby-identifier">args</span> = {})
431
+ <span class="line-num">140</span> <span class="ruby-ivar">@gravaty</span> = <span class="ruby-identifier">avatar</span>(<span class="ruby-identifier">args</span>)
432
+ <span class="line-num">141</span> <span class="ruby-keyword">end</span></pre>
433
+ </div>
434
+
435
+ </div>
436
+
437
+
438
+
439
+
440
+ </div>
441
+
442
+
443
+ <div id="method-i-download" class="method-detail ">
444
+
445
+ <div class="method-heading">
446
+ <span class="method-name">download</span><span
447
+ class="method-args">(filename = nil)</span>
448
+
449
+ <span class="method-click-advice">click to toggle source</span>
450
+
451
+ </div>
452
+
453
+
454
+ <div class="method-description">
455
+
456
+ <p>Saves a file, with specified <code>filename</code>, that contains the current gravaty configuration. Uses the internal state to retrieve data from the URI. Defaults to &#39;gravaty&#39; with no specific extension.</p>
457
+ <dl class="rdoc-list note-list"><dt>Usage
458
+ <dd><ul><li>
459
+ <p><code>a_string = new_gravaty.download filename</code></p>
460
+ </li></ul>
461
+ </dd><dt>Params
462
+ <dd><ul><li>
463
+ <p><code>filename</code>: [String] is the filename to be saved.</p>
464
+ </li></ul>
465
+ </dd></dl>
466
+
467
+
468
+
469
+
470
+ <div class="method-source-code" id="download-source">
471
+ <pre> <span class="ruby-comment"># File lib/gravaty/application.rb</span>
472
+ <span class="line-num">196</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">download</span>(<span class="ruby-identifier">filename</span> = <span class="ruby-keyword">nil</span>)
473
+ <span class="line-num">197</span> <span class="ruby-identifier">filename</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-ivar">@gravaty</span>).<span class="ruby-identifier">path</span>.<span class="ruby-identifier">rpartition</span>(<span class="ruby-string">&#39;/&#39;</span>)
474
+ <span class="line-num">198</span> .<span class="ruby-identifier">last</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">filename</span>.<span class="ruby-identifier">nil?</span>
475
+ <span class="line-num">199</span> <span class="ruby-constant">Utils</span><span class="ruby-operator">::</span><span class="ruby-constant">Downloader</span><span class="ruby-operator">::</span><span class="ruby-constant">Downloader</span>
476
+ <span class="line-num">200</span> .<span class="ruby-identifier">download_file</span> <span class="ruby-ivar">@gravaty</span>, <span class="ruby-identifier">filename</span> <span class="ruby-comment"># thanks Jon!</span>
477
+ <span class="line-num">201</span> <span class="ruby-keyword">end</span></pre>
478
+ </div>
479
+
480
+ </div>
481
+
482
+
483
+
484
+
485
+ </div>
486
+
487
+
488
+ <div id="method-i-json" class="method-detail ">
489
+
490
+ <div class="method-heading">
491
+ <span class="method-name">json</span><span
492
+ class="method-args">(args = {})</span>
493
+
494
+ <span class="method-click-advice">click to toggle source</span>
495
+
496
+ </div>
497
+
498
+
499
+ <div class="method-description">
500
+
501
+ <p>See <a href="Gravaty.html#method-i-profile"><code>profile</code></a> method. Customized version for JSON-specific requests.</p>
502
+ <dl class="rdoc-list note-list"><dt>Usage
503
+ <dd><ul><li>
504
+ <p><code>a_string = new_gravaty.json</code></p>
505
+ </li><li>
506
+ <p><code>a_string = new_gravaty.json callback: &#39;alert&#39;</code></p>
507
+ </li><li>
508
+ <p>&lt;tt&gt;a_string = new_gravaty.qrcode secure: false, callback:</p>
509
+ </li></ul>
510
+ </dd></dl>
511
+
512
+ <p>&#39;alert&#39;&lt;/tt&gt;</p>
513
+ <dl class="rdoc-list note-list"><dt>Params
514
+ <dd><ul><li>
515
+ <p><code>secure</code>: [TrueClass || FalseClass] is a boolean to specify</p>
516
+ </li></ul>
517
+ </dd></dl>
518
+
519
+ <p>whether the resulting URL shall be HTTPS or HTTP type. Default to true (HTTPS).</p>
520
+
521
+ <pre>- +callback+: [String] See</pre>
522
+
523
+ <p><a href="https://secure.gravatar.com/site/implement/profiles/json/#request-options">secure.gravatar.com/site/implement/profiles/json/#request-options</a>. No check on parameter meaning or validity, except for <code>nil</code>.</p>
524
+ <dl class="rdoc-list note-list"><dt>Returns
525
+ <dd>
526
+ <p>a <code>String</code> containing the Gravatar site URI with</p>
527
+ </dd></dl>
528
+
529
+ <p>specified options and configuration parameters, in JSON format.</p>
530
+
531
+
532
+
533
+
534
+ <div class="method-source-code" id="json-source">
535
+ <pre> <span class="ruby-comment"># File lib/gravaty/application.rb</span>
536
+ <span class="line-num">254</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">json</span>(<span class="ruby-identifier">args</span> = {})
537
+ <span class="line-num">255</span> <span class="ruby-identifier">secure</span> = <span class="ruby-keyword">true</span>
538
+ <span class="line-num">256</span> <span class="ruby-identifier">callback</span> = <span class="ruby-keyword">nil</span>
539
+ <span class="line-num">257</span>
540
+ <span class="line-num">258</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">nil?</span>
541
+ <span class="line-num">259</span> <span class="ruby-identifier">callback</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">fetch</span>(<span class="ruby-value">:callback</span>, <span class="ruby-keyword">nil</span>)
542
+ <span class="line-num">260</span> <span class="ruby-identifier">secure</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">fetch</span>(<span class="ruby-value">:secure</span>, <span class="ruby-identifier">secure</span>)
543
+ <span class="line-num">261</span> <span class="ruby-keyword">end</span>
544
+ <span class="line-num">262</span>
545
+ <span class="line-num">263</span> <span class="ruby-identifier">profile</span> <span class="ruby-value">format:</span> <span class="ruby-string">&#39;json&#39;</span>, <span class="ruby-value">secure:</span> <span class="ruby-identifier">secure</span>, <span class="ruby-value">callback:</span> <span class="ruby-identifier">callback</span>
546
+ <span class="line-num">264</span> <span class="ruby-keyword">end</span></pre>
547
+ </div>
548
+
549
+ </div>
550
+
551
+
552
+
553
+
554
+ </div>
555
+
556
+
557
+ <div id="method-i-json-21" class="method-detail ">
558
+
559
+ <div class="method-heading">
560
+ <span class="method-name">json!</span><span
561
+ class="method-args">(args = {})</span>
562
+
563
+ <span class="method-click-advice">click to toggle source</span>
564
+
565
+ </div>
566
+
567
+
568
+ <div class="method-description">
569
+
570
+ <p>See <a href="Gravaty.html#method-i-json"><code>json</code></a> method. This banged version saves the resulting string as internal state.</p>
571
+
572
+
573
+
574
+
575
+ <div class="method-source-code" id="json-21-source">
576
+ <pre> <span class="ruby-comment"># File lib/gravaty/application.rb</span>
577
+ <span class="line-num">268</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">json!</span>(<span class="ruby-identifier">args</span> = {})
578
+ <span class="line-num">269</span> <span class="ruby-ivar">@gravaty</span> = <span class="ruby-identifier">json</span>(<span class="ruby-identifier">args</span>)
579
+ <span class="line-num">270</span> <span class="ruby-keyword">end</span></pre>
580
+ </div>
581
+
582
+ </div>
583
+
584
+
585
+
586
+
587
+ </div>
588
+
589
+
590
+ <div id="method-i-profile" class="method-detail ">
591
+
592
+ <div class="method-heading">
593
+ <span class="method-name">profile</span><span
594
+ class="method-args">(args = {})</span>
595
+
596
+ <span class="method-click-advice">click to toggle source</span>
597
+
598
+ </div>
599
+
600
+
601
+ <div class="method-description">
602
+
603
+ <p>Returns a string containing the URI of the gravatar <a href="Gravaty.html#method-i-profile"><code>profile</code></a> associated to internal (provided) <a href="Gravaty.html#attribute-i-email"><code>email</code></a> address. Valid keys for the <code>args</code> hash are: :secure, :format.</p>
604
+ <dl class="rdoc-list note-list"><dt>Usage
605
+ <dd><ul><li>
606
+ <p><code>a_string = new_gravaty.profile</code></p>
607
+ </li><li>
608
+ <p><code>a_string = new_gravaty.profile secure: false</code></p>
609
+ </li><li>
610
+ <p>&lt;tt&gt;a_string = new_gravaty.profile format: &#39;php&#39;, secure:</p>
611
+ </li></ul>
612
+ </dd></dl>
613
+
614
+ <p>true&lt;/tt&gt;</p>
615
+ <dl class="rdoc-list note-list"><dt>Params
616
+ <dd><ul><li>
617
+ <p><code>format</code>: [String] is the possibly desired specific <a href="Gravaty.html#method-i-profile"><code>profile</code></a></p>
618
+ </li></ul>
619
+ </dd></dl>
620
+
621
+ <p>format. Valid formats are &#39;json&#39;, &#39;xml&#39;, &#39;php&#39;, &#39;vcf&#39; and &#39;qr&#39;. Default to no extension. Will be downcased. Defaults to no extension for invalid formats.</p>
622
+
623
+ <pre>- +secure+: [TrueClass || FalseClass] is a boolean to specify</pre>
624
+
625
+ <p>whether the resulting URL shall be HTTPS or HTTP type. Default to true (HTTPS).</p>
626
+ <dl class="rdoc-list note-list"><dt>Returns
627
+ <dd>
628
+ <p>a <code>String</code> containing the Gravatar site URI with</p>
629
+ </dd></dl>
630
+
631
+ <p>specified options and configuration parameters.</p>
632
+
633
+
634
+
635
+
636
+ <div class="method-source-code" id="profile-source">
637
+ <pre> <span class="ruby-comment"># File lib/gravaty/application.rb</span>
638
+ <span class="line-num">162</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">profile</span>(<span class="ruby-identifier">args</span> = {})
639
+ <span class="line-num">163</span> <span class="ruby-identifier">secure</span> = <span class="ruby-keyword">true</span>
640
+ <span class="line-num">164</span> <span class="ruby-identifier">format</span> = <span class="ruby-keyword">nil</span>
641
+ <span class="line-num">165</span>
642
+ <span class="line-num">166</span> <span class="ruby-identifier">array</span> = []
643
+ <span class="line-num">167</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">nil?</span>
644
+ <span class="line-num">168</span> <span class="ruby-identifier">format</span> = <span class="ruby-identifier">args</span>[<span class="ruby-value">:format</span>].<span class="ruby-identifier">downcase</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:format</span>].<span class="ruby-identifier">nil?</span>
645
+ <span class="line-num">169</span> <span class="ruby-identifier">secure</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">fetch</span>(<span class="ruby-value">:secure</span>, <span class="ruby-identifier">secure</span>)
646
+ <span class="line-num">170</span>
647
+ <span class="line-num">171</span> <span class="ruby-keyword">unless</span> (<span class="ruby-identifier">format</span>.<span class="ruby-identifier">nil?</span>) <span class="ruby-keyword">and</span> (<span class="ruby-constant">PROFILES</span>.<span class="ruby-identifier">include?</span> <span class="ruby-identifier">format</span>)
648
+ <span class="line-num">172</span> <span class="ruby-identifier">selected</span> = (<span class="ruby-identifier">format</span> <span class="ruby-operator">==</span> <span class="ruby-string">&#39;json&#39;</span> <span class="ruby-operator">?</span> <span class="ruby-string">&#39;callback&#39;</span> <span class="ruby-operator">:</span> <span class="ruby-string">&#39;pixelsize&#39;</span>)
649
+ <span class="line-num">173</span>
650
+ <span class="line-num">174</span> <span class="ruby-identifier">array</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@parser</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">selected</span>, <span class="ruby-identifier">args</span>[<span class="ruby-identifier">selected</span>.<span class="ruby-identifier">to_sym</span>]) <span class="ruby-keyword">unless</span> <span class="ruby-identifier">args</span>[<span class="ruby-identifier">selected</span>.<span class="ruby-identifier">to_sym</span>].<span class="ruby-identifier">nil?</span>
651
+ <span class="line-num">175</span> <span class="ruby-keyword">end</span>
652
+ <span class="line-num">176</span> <span class="ruby-keyword">end</span>
653
+ <span class="line-num">177</span>
654
+ <span class="line-num">178</span> <span class="ruby-identifier">build_uri</span>(<span class="ruby-identifier">secure</span>, <span class="ruby-keyword">false</span>) <span class="ruby-operator">+</span> <span class="ruby-identifier">digest</span> <span class="ruby-operator">+</span>
655
+ <span class="line-num">179</span> <span class="ruby-ivar">@parser</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-string">&#39;format&#39;</span>, <span class="ruby-identifier">format</span>) <span class="ruby-operator">+</span> <span class="ruby-identifier">build_query_string</span>(<span class="ruby-identifier">array</span>)
656
+ <span class="line-num">180</span> <span class="ruby-keyword">end</span></pre>
657
+ </div>
658
+
659
+ </div>
660
+
661
+
662
+
663
+
664
+ </div>
665
+
666
+
667
+ <div id="method-i-profile-21" class="method-detail ">
668
+
669
+ <div class="method-heading">
670
+ <span class="method-name">profile!</span><span
671
+ class="method-args">(args = {})</span>
672
+
673
+ <span class="method-click-advice">click to toggle source</span>
674
+
675
+ </div>
676
+
677
+
678
+ <div class="method-description">
679
+
680
+ <p>See <a href="Gravaty.html#method-i-profile"><code>profile</code></a> method. This banged version saves the resulting strin as internal state.</p>
681
+
682
+
683
+
684
+
685
+ <div class="method-source-code" id="profile-21-source">
686
+ <pre> <span class="ruby-comment"># File lib/gravaty/application.rb</span>
687
+ <span class="line-num">184</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">profile!</span>(<span class="ruby-identifier">args</span> = {})
688
+ <span class="line-num">185</span> <span class="ruby-ivar">@gravaty</span> = <span class="ruby-identifier">profile</span>(<span class="ruby-identifier">args</span>)
689
+ <span class="line-num">186</span> <span class="ruby-keyword">end</span></pre>
690
+ </div>
691
+
692
+ </div>
693
+
694
+
695
+
696
+
697
+ </div>
698
+
699
+
700
+ <div id="method-i-qrcode" class="method-detail ">
701
+
702
+ <div class="method-heading">
703
+ <span class="method-name">qrcode</span><span
704
+ class="method-args">(args = {})</span>
705
+
706
+ <span class="method-click-advice">click to toggle source</span>
707
+
708
+ </div>
709
+
710
+
711
+ <div class="method-description">
712
+
713
+ <p>See <a href="Gravaty.html#method-i-profile"><code>profile</code></a> method. Customized version for QRCode-specific requests.</p>
714
+ <dl class="rdoc-list note-list"><dt>Usage
715
+ <dd><ul><li>
716
+ <p><code>a_string = new_gravaty.qrcode</code></p>
717
+ </li><li>
718
+ <p><code>a_string = new_gravaty.qrcode pixel_size: 42</code></p>
719
+ </li><li>
720
+ <p>&lt;tt&gt;a_string = new_gravaty.qrcode secure: false, pixel_size:</p>
721
+ </li></ul>
722
+ </dd></dl>
723
+
724
+ <p>42&lt;/tt&gt;</p>
725
+ <dl class="rdoc-list note-list"><dt>Params
726
+ <dd><ul><li>
727
+ <p><code>secure</code>: [TrueClass || FalseClass] is a boolean to specify</p>
728
+ </li></ul>
729
+ </dd></dl>
730
+
731
+ <p>whether the resulting URL shall be HTTPS or HTTP type. Default to true (HTTPS).</p>
732
+
733
+ <pre>- +pixel_size+: [Integer] is the size in pixel of the image.</pre>
734
+
735
+ <p>From 1 to 2048. Default to no value. Raises <code>ArgumentError</code> for invalid sizes.</p>
736
+ <dl class="rdoc-list note-list"><dt>Returns
737
+ <dd>
738
+ <p>a <code>String</code> containing the Gravatar site URI with</p>
739
+ </dd></dl>
740
+
741
+ <p>specified options and configuration parameters, in QRCode format.</p>
742
+
743
+
744
+
745
+
746
+ <div class="method-source-code" id="qrcode-source">
747
+ <pre> <span class="ruby-comment"># File lib/gravaty/application.rb</span>
748
+ <span class="line-num">220</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">qrcode</span>(<span class="ruby-identifier">args</span> = {})
749
+ <span class="line-num">221</span> <span class="ruby-identifier">secure</span> = <span class="ruby-keyword">true</span>
750
+ <span class="line-num">222</span> <span class="ruby-identifier">size</span> = <span class="ruby-keyword">nil</span>
751
+ <span class="line-num">223</span>
752
+ <span class="line-num">224</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">nil?</span>
753
+ <span class="line-num">225</span> <span class="ruby-identifier">size</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">fetch</span>(<span class="ruby-value">:pixelsize</span>, <span class="ruby-keyword">nil</span>)
754
+ <span class="line-num">226</span> <span class="ruby-identifier">secure</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">fetch</span>(<span class="ruby-value">:secure</span>, <span class="ruby-identifier">secure</span>)
755
+ <span class="line-num">227</span> <span class="ruby-keyword">end</span>
756
+ <span class="line-num">228</span>
757
+ <span class="line-num">229</span> <span class="ruby-identifier">profile</span> <span class="ruby-value">format:</span> <span class="ruby-string">&#39;qr&#39;</span>, <span class="ruby-value">secure:</span> <span class="ruby-identifier">secure</span>, <span class="ruby-value">pixelsize:</span> <span class="ruby-identifier">size</span>
758
+ <span class="line-num">230</span> <span class="ruby-keyword">end</span></pre>
759
+ </div>
760
+
761
+ </div>
762
+
763
+
764
+
765
+
766
+ </div>
767
+
768
+
769
+ <div id="method-i-qrcode-21" class="method-detail ">
770
+
771
+ <div class="method-heading">
772
+ <span class="method-name">qrcode!</span><span
773
+ class="method-args">(args = {})</span>
774
+
775
+ <span class="method-click-advice">click to toggle source</span>
776
+
777
+ </div>
778
+
779
+
780
+ <div class="method-description">
781
+
782
+ <p>See <a href="Gravaty.html#method-i-qrcode"><code>qrcode</code></a> method. This banged version saves the resulting string as internal state.</p>
783
+
784
+
785
+
786
+
787
+ <div class="method-source-code" id="qrcode-21-source">
788
+ <pre> <span class="ruby-comment"># File lib/gravaty/application.rb</span>
789
+ <span class="line-num">234</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">qrcode!</span>(<span class="ruby-identifier">args</span> = {})
790
+ <span class="line-num">235</span> <span class="ruby-ivar">@gravaty</span> = <span class="ruby-identifier">qrcode</span>(<span class="ruby-identifier">args</span>)
791
+ <span class="line-num">236</span> <span class="ruby-keyword">end</span></pre>
792
+ </div>
793
+
794
+ </div>
795
+
796
+
797
+
798
+
799
+ </div>
800
+
801
+
802
+ <div id="method-i-reset" class="method-detail ">
803
+
804
+ <div class="method-heading">
805
+ <span class="method-name">reset</span><span
806
+ class="method-args">()</span>
807
+
808
+ <span class="method-click-advice">click to toggle source</span>
809
+
810
+ </div>
811
+
812
+
813
+ <div class="method-description">
814
+
815
+ <p>Restores the original status cleaning up the (possibly) previously saved URIs restoring the default <code>to_s</code>.</p>
816
+
817
+
818
+
819
+
820
+ <div class="method-source-code" id="reset-source">
821
+ <pre> <span class="ruby-comment"># File lib/gravaty/application.rb</span>
822
+ <span class="line-num">274</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">reset</span>
823
+ <span class="line-num">275</span> <span class="ruby-ivar">@gravaty</span> = <span class="ruby-identifier">email</span>
824
+ <span class="line-num">276</span> <span class="ruby-keyword">end</span></pre>
825
+ </div>
826
+
827
+ </div>
828
+
829
+
830
+
831
+
832
+ </div>
833
+
834
+
835
+ <div id="method-i-to_json" class="method-detail ">
836
+
837
+ <div class="method-heading">
838
+ <span class="method-name">to_json</span><span
839
+ class="method-args">()</span>
840
+
841
+ <span class="method-click-advice">click to toggle source</span>
842
+
843
+ </div>
844
+
845
+
846
+ <div class="method-description">
847
+
848
+ <p>Returns a JSon object representing the <a href="Gravaty.html"><code>Gravaty</code></a> object.</p>
849
+ <dl class="rdoc-list note-list"><dt>Usage
850
+ <dd><ul><li>
851
+ <p><code>a_json = new_gravaty.to_json</code></p>
852
+ </li></ul>
853
+ </dd><dt>Returns
854
+ <dd>
855
+ <p>a <code>JSON</code> containing the <a href="Gravaty.html"><code>Gravaty</code></a> object representation</p>
856
+ </dd></dl>
857
+
858
+ <p>with currently saved options and configuration parameters.</p>
859
+
860
+
861
+
862
+
863
+ <div class="method-source-code" id="to_json-source">
864
+ <pre> <span class="ruby-comment"># File lib/gravaty/application.rb</span>
865
+ <span class="line-num">308</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">to_json</span>
866
+ <span class="line-num">309</span> <span class="ruby-identifier">result</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>
867
+ <span class="line-num">310</span> <span class="ruby-identifier">result</span>[<span class="ruby-identifier">email</span>] = <span class="ruby-identifier">digest</span>
868
+ <span class="line-num">311</span>
869
+ <span class="line-num">312</span> <span class="ruby-identifier">result</span>.<span class="ruby-identifier">to_json</span>
870
+ <span class="line-num">313</span> <span class="ruby-keyword">end</span></pre>
871
+ </div>
872
+
873
+ </div>
874
+
875
+
876
+
877
+
878
+ </div>
879
+
880
+
881
+ <div id="method-i-to_s" class="method-detail ">
882
+
883
+ <div class="method-heading">
884
+ <span class="method-name">to_s</span><span
885
+ class="method-args">()</span>
886
+
887
+ <span class="method-click-advice">click to toggle source</span>
888
+
889
+ </div>
890
+
891
+
892
+ <div class="method-description">
893
+
894
+ <p>Returns a string representing the <a href="Gravaty.html"><code>Gravaty</code></a> object.</p>
895
+ <dl class="rdoc-list note-list"><dt>Usage
896
+ <dd><ul><li>
897
+ <p><code>a_string = new_gravaty.to_s</code></p>
898
+ </li></ul>
899
+ </dd><dt>Returns
900
+ <dd>
901
+ <p>a <code>String</code> containing the <a href="Gravaty.html"><code>Gravaty</code></a> object representation</p>
902
+ </dd></dl>
903
+
904
+ <p>with currently saved options and configuration parameters.</p>
905
+
906
+
907
+
908
+
909
+ <div class="method-source-code" id="to_s-source">
910
+ <pre> <span class="ruby-comment"># File lib/gravaty/application.rb</span>
911
+ <span class="line-num">322</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">to_s</span>
912
+ <span class="line-num">323</span> <span class="ruby-ivar">@gravaty</span>.<span class="ruby-identifier">to_s</span>
913
+ <span class="line-num">324</span> <span class="ruby-keyword">end</span></pre>
914
+ </div>
915
+
916
+ </div>
917
+
918
+
919
+
920
+
921
+ </div>
922
+
923
+
924
+ <div id="method-i-xmlrpc" class="method-detail ">
925
+
926
+ <div class="method-heading">
927
+ <span class="method-name">xmlrpc</span><span
928
+ class="method-args">(a_method = RPC_TEST_METHOD, password = nil, args = {})</span>
929
+
930
+ <span class="method-click-advice">click to toggle source</span>
931
+
932
+ </div>
933
+
934
+
935
+ <div class="method-description">
936
+
937
+ <p>Interfaces with the Gravatar XML-RPC API.</p>
938
+ <dl class="rdoc-list note-list"><dt>Usage
939
+ <dd><ul><li>
940
+ <p>&lt;tt&gt;response = new_gravaty.xmlrpc &#39;grav.test&#39;,</p>
941
+ </li></ul>
942
+ </dd></dl>
943
+
944
+ <p>my_password&lt;/tt&gt;</p>
945
+ <dl class="rdoc-list note-list"><dt>Params
946
+ <dd><ul><li>
947
+ <p><code>a_method</code>: [String] is a valid method supported by Gravatar</p>
948
+ </li></ul>
949
+ </dd></dl>
950
+
951
+ <p>XML-RPC API. See <a href="https://en.gravatar.com/site/implement/xmlrpc">en.gravatar.com/site/implement/xmlrpc</a>/ .</p>
952
+
953
+ <pre>- +password+: [String] is a valid password associated to user&#39;s</pre>
954
+
955
+ <p><code>email_address</code> specified to build the <a href="Gravaty.html"><code>Gravaty</code></a> object.</p>
956
+
957
+ <pre>- +args+: See https://en.gravatar.com/site/implement/xmlrpc/ for</pre>
958
+
959
+ <p>possible parameters, depending on called method.</p>
960
+ <dl class="rdoc-list note-list"><dt>Returns
961
+ <dd>
962
+ <p>See <a href="https://en.gravatar.com/site/implement/xmlrpc">en.gravatar.com/site/implement/xmlrpc</a>/ for</p>
963
+ </dd></dl>
964
+
965
+ <p>possible return values, depending on called method.</p>
966
+
967
+
968
+
969
+
970
+ <div class="method-source-code" id="xmlrpc-source">
971
+ <pre> <span class="ruby-comment"># File lib/gravaty/application.rb</span>
972
+ <span class="line-num">292</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">xmlrpc</span>(<span class="ruby-identifier">a_method</span> = <span class="ruby-constant">RPC_TEST_METHOD</span>, <span class="ruby-identifier">password</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">args</span> = {})
973
+ <span class="line-num">293</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-constant">I18n</span>.<span class="ruby-identifier">t</span>(<span class="ruby-string">&#39;error.nil&#39;</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">password</span>.<span class="ruby-identifier">nil?</span>
974
+ <span class="line-num">294</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-constant">I18n</span>.<span class="ruby-identifier">t</span>(<span class="ruby-string">&#39;error.invalid&#39;</span>, <span class="ruby-value">value:</span> <span class="ruby-identifier">a_method</span>) <span class="ruby-keyword">unless</span> <span class="ruby-constant">RPC_METHODS</span>.<span class="ruby-identifier">include?</span> <span class="ruby-identifier">a_method</span>
975
+ <span class="line-num">295</span>
976
+ <span class="line-num">296</span> <span class="ruby-ivar">@rpc_connector</span> = <span class="ruby-constant">Utils</span><span class="ruby-operator">::</span><span class="ruby-constant">RpcConnector</span><span class="ruby-operator">::</span><span class="ruby-constant">RpcConnector</span>
977
+ <span class="line-num">297</span> .<span class="ruby-identifier">new</span>(<span class="ruby-identifier">digest</span>, <span class="ruby-identifier">password</span>) <span class="ruby-keyword">if</span> <span class="ruby-ivar">@rpc_connector</span>.<span class="ruby-identifier">nil?</span>
978
+ <span class="line-num">298</span> <span class="ruby-ivar">@rpc_connector</span>.<span class="ruby-identifier">call</span> <span class="ruby-identifier">a_method</span>, <span class="ruby-identifier">args</span> <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@rpc_connector</span>.<span class="ruby-identifier">nil?</span>
979
+ <span class="line-num">299</span> <span class="ruby-keyword">end</span></pre>
980
+ </div>
981
+
982
+ </div>
983
+
984
+
985
+
986
+
987
+ </div>
988
+
989
+
990
+ </section>
991
+
992
+ </section>
993
+
994
+ </main>
995
+
996
+
997
+ <footer id="validator-badges" role="contentinfo">
998
+ <p><a href="https://validator.w3.org/check/referer">Validate</a>
999
+ <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.1.
1000
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
1001
+ </footer>
1002
+