pincerna 1.1.3

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 (102) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +7 -0
  3. data/.rubocop.yml +77 -0
  4. data/.travis-gemfile +17 -0
  5. data/.travis.yml +7 -0
  6. data/.yardopts +1 -0
  7. data/CHANGELOG.md +3 -0
  8. data/Gemfile +23 -0
  9. data/LICENSE.md +21 -0
  10. data/README.md +211 -0
  11. data/Rakefile +45 -0
  12. data/bin/pincernad +56 -0
  13. data/docs/Pincerna.html +130 -0
  14. data/docs/Pincerna/Base.html +3051 -0
  15. data/docs/Pincerna/Bookmark.html +523 -0
  16. data/docs/Pincerna/Cache.html +767 -0
  17. data/docs/Pincerna/ChromeBookmark.html +308 -0
  18. data/docs/Pincerna/CurrencyConversion.html +589 -0
  19. data/docs/Pincerna/FirefoxBookmark.html +328 -0
  20. data/docs/Pincerna/Ip.html +1017 -0
  21. data/docs/Pincerna/Map.html +399 -0
  22. data/docs/Pincerna/SafariBookmark.html +308 -0
  23. data/docs/Pincerna/Server.html +673 -0
  24. data/docs/Pincerna/Translation.html +517 -0
  25. data/docs/Pincerna/UnitConversion.html +1042 -0
  26. data/docs/Pincerna/Version.html +189 -0
  27. data/docs/Pincerna/Vpn.html +561 -0
  28. data/docs/Pincerna/Weather.html +837 -0
  29. data/docs/_index.html +298 -0
  30. data/docs/class_list.html +54 -0
  31. data/docs/css/common.css +1 -0
  32. data/docs/css/full_list.css +57 -0
  33. data/docs/css/style.css +338 -0
  34. data/docs/file.README.html +327 -0
  35. data/docs/file_list.html +56 -0
  36. data/docs/frames.html +28 -0
  37. data/docs/index.html +327 -0
  38. data/docs/js/app.js +214 -0
  39. data/docs/js/full_list.js +178 -0
  40. data/docs/js/jquery.js +4 -0
  41. data/docs/method_list.html +389 -0
  42. data/docs/top-level-namespace.html +112 -0
  43. data/icon.png +0 -0
  44. data/images/chrome.png +0 -0
  45. data/images/currency.png +0 -0
  46. data/images/firefox.png +0 -0
  47. data/images/map.png +0 -0
  48. data/images/network.png +0 -0
  49. data/images/safari.png +0 -0
  50. data/images/translate.png +0 -0
  51. data/images/unit.png +0 -0
  52. data/images/vpn.png +0 -0
  53. data/images/weather.png +0 -0
  54. data/info.plist +961 -0
  55. data/it.cowtech.pincernad.plist +19 -0
  56. data/lib/pincerna.rb +30 -0
  57. data/lib/pincerna/base.rb +258 -0
  58. data/lib/pincerna/bookmark.rb +80 -0
  59. data/lib/pincerna/cache.rb +61 -0
  60. data/lib/pincerna/chrome_bookmark.rb +40 -0
  61. data/lib/pincerna/currency_conversion.rb +134 -0
  62. data/lib/pincerna/firefox_bookmark.rb +92 -0
  63. data/lib/pincerna/ip.rb +135 -0
  64. data/lib/pincerna/map.rb +30 -0
  65. data/lib/pincerna/safari_bookmark.rb +40 -0
  66. data/lib/pincerna/server.rb +85 -0
  67. data/lib/pincerna/translation.rb +67 -0
  68. data/lib/pincerna/unit_conversion.rb +120 -0
  69. data/lib/pincerna/version.rb +24 -0
  70. data/lib/pincerna/vpn.rb +74 -0
  71. data/lib/pincerna/weather.rb +188 -0
  72. data/pincerna.alfredworkflow +0 -0
  73. data/pincerna.gemspec +36 -0
  74. data/pincerna.sh +9 -0
  75. data/spec/cassettes/Pincerna_CurrencyConversion/_perform_filtering/should_return_valid_values.yml +38 -0
  76. data/spec/cassettes/Pincerna_Ip/_get_local_addresses/should_return_a_list_of_addresses.yml +47 -0
  77. data/spec/cassettes/Pincerna_Ip/_get_public_address/should_return_public_IP_address.yml +44 -0
  78. data/spec/cassettes/Pincerna_Translation/_perform_filtering/should_default_from_English_to_the_given_language_when_only_one_is_present.yml +124 -0
  79. data/spec/cassettes/Pincerna_Translation/_perform_filtering/should_query_Google_Translate_for_sentences_returning_no_alternatives.yml +51 -0
  80. data/spec/cassettes/Pincerna_Translation/_perform_filtering/should_query_Google_Translate_for_single_words.yml +71 -0
  81. data/spec/cassettes/Pincerna_Weather/_get_forecast/should_append_name.yml +177 -0
  82. data/spec/cassettes/Pincerna_Weather/_get_forecast/should_get_correct_forecasts.yml +339 -0
  83. data/spec/cassettes/Pincerna_Weather/_lookup_places/should_return_an_existing_WOEID_without_making_any_request.yml +56 -0
  84. data/spec/cassettes/Pincerna_Weather/_lookup_places/should_search_for_places.yml +189 -0
  85. data/spec/cassettes/Pincerna_Weather/_perform_filtering/should_get_forecast.yml +56 -0
  86. data/spec/coverage_helper.rb +44 -0
  87. data/spec/pincerna/base_spec.rb +166 -0
  88. data/spec/pincerna/bookmark_spec.rb +65 -0
  89. data/spec/pincerna/cache_spec.rb +88 -0
  90. data/spec/pincerna/chrome_bookmark_spec.rb +114 -0
  91. data/spec/pincerna/currency_conversion_spec.rb +46 -0
  92. data/spec/pincerna/firefox_bookmark_spec.rb +46 -0
  93. data/spec/pincerna/ip_spec.rb +194 -0
  94. data/spec/pincerna/map_spec.rb +24 -0
  95. data/spec/pincerna/safari_bookmark_spec.rb +237 -0
  96. data/spec/pincerna/server_spec.rb +108 -0
  97. data/spec/pincerna/translation_spec.rb +55 -0
  98. data/spec/pincerna/unit_conversion_spec.rb +98 -0
  99. data/spec/pincerna/vpn_spec.rb +68 -0
  100. data/spec/pincerna/weather_spec.rb +131 -0
  101. data/spec/spec_helper.rb +48 -0
  102. metadata +283 -0
@@ -0,0 +1,328 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>
7
+ Class: Pincerna::FirefoxBookmark
8
+
9
+ &mdash; Documentation by YARD 0.8.7
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../css/style.css" type="text/css" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ hasFrames = window.top.frames.main ? true : false;
19
+ relpath = '../';
20
+ framesUrl = "../frames.html#!" + escape(window.location.href);
21
+ </script>
22
+
23
+
24
+ <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
25
+
26
+ <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
27
+
28
+
29
+ </head>
30
+ <body>
31
+ <div id="header">
32
+ <div id="menu">
33
+
34
+ <a href="../_index.html">Index (F)</a> &raquo;
35
+ <span class='title'><span class='object_link'><a href="../Pincerna.html" title="Pincerna (module)">Pincerna</a></span></span>
36
+ &raquo;
37
+ <span class="title">FirefoxBookmark</span>
38
+
39
+
40
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
41
+ </div>
42
+
43
+ <div id="search">
44
+
45
+ <a class="full_list_link" id="class_list_link"
46
+ href="../class_list.html">
47
+ Class List
48
+ </a>
49
+
50
+ <a class="full_list_link" id="method_list_link"
51
+ href="../method_list.html">
52
+ Method List
53
+ </a>
54
+
55
+ <a class="full_list_link" id="file_list_link"
56
+ href="../file_list.html">
57
+ File List
58
+ </a>
59
+
60
+ </div>
61
+ <div class="clear"></div>
62
+ </div>
63
+
64
+ <iframe id="search_frame"></iframe>
65
+
66
+ <div id="content"><h1>Class: Pincerna::FirefoxBookmark
67
+
68
+
69
+
70
+ </h1>
71
+
72
+ <dl class="box">
73
+
74
+ <dt class="r1">Inherits:</dt>
75
+ <dd class="r1">
76
+ <span class="inheritName"><span class='object_link'><a href="Bookmark.html" title="Pincerna::Bookmark (class)">Bookmark</a></span></span>
77
+
78
+ <ul class="fullTree">
79
+ <li>Object</li>
80
+
81
+ <li class="next"><span class='object_link'><a href="Base.html" title="Pincerna::Base (class)">Base</a></span></li>
82
+
83
+ <li class="next"><span class='object_link'><a href="Bookmark.html" title="Pincerna::Bookmark (class)">Bookmark</a></span></li>
84
+
85
+ <li class="next">Pincerna::FirefoxBookmark</li>
86
+
87
+ </ul>
88
+ <a href="#" class="inheritanceTree">show all</a>
89
+
90
+ </dd>
91
+
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+
100
+ <dt class="r2 last">Defined in:</dt>
101
+ <dd class="r2 last">lib/pincerna/firefox_bookmark.rb</dd>
102
+
103
+ </dl>
104
+ <div class="clear"></div>
105
+
106
+ <h2>Overview</h2><div class="docstring">
107
+ <div class="discussion">
108
+ <p>Show the list of Firefox bookmarks.</p>
109
+
110
+
111
+ </div>
112
+ </div>
113
+ <div class="tags">
114
+
115
+
116
+ </div>
117
+ <h2>Constant Summary</h2>
118
+
119
+ <dl class="constants">
120
+
121
+ <dt id="ICON-constant" class="">ICON =
122
+ <div class="docstring">
123
+ <div class="discussion">
124
+ <p>The icon to show for each feedback item.</p>
125
+
126
+
127
+ </div>
128
+ </div>
129
+ <div class="tags">
130
+
131
+
132
+ </div>
133
+ </dt>
134
+ <dd><pre class="code"><span class='const'>Pincerna</span><span class='op'>::</span><span class='const'>Base</span><span class='op'>::</span><span class='const'>ROOT</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/images/firefox.png</span><span class='tstring_end'>&quot;</span></span></pre></dd>
135
+
136
+ <dt id="PROFILES_SEARCH-constant" class="">PROFILES_SEARCH =
137
+ <div class="docstring">
138
+ <div class="discussion">
139
+ <p>A wildcard to searc the default profile</p>
140
+
141
+
142
+ </div>
143
+ </div>
144
+ <div class="tags">
145
+
146
+
147
+ </div>
148
+ </dt>
149
+ <dd><pre class="code"><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_expand_path'>expand_path</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>~/Library/Application Support/Firefox/Profiles/*.default</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span></pre></dd>
150
+
151
+ <dt id="QUERIES-constant" class="">QUERIES =
152
+ <div class="docstring">
153
+ <div class="discussion">
154
+ <p>The queries to obtain the bookmarks</p>
155
+
156
+
157
+ </div>
158
+ </div>
159
+ <div class="tags">
160
+
161
+
162
+ </div>
163
+ </dt>
164
+ <dd><pre class="code"><span class='lbracket'>[</span>
165
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>SELECT b.title, p.url, b.parent FROM moz_bookmarks b, moz_places p WHERE b.type=1 AND b.fk=p.id</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
166
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>SELECT b.title, b.id, b.parent FROM moz_bookmarks b WHERE b.type=2</span><span class='tstring_end'>&quot;</span></span>
167
+ <span class='rbracket'>]</span></pre></dd>
168
+
169
+ </dl>
170
+
171
+
172
+
173
+
174
+
175
+
176
+ <h3 class="inherited">Constants inherited
177
+ from <span class='object_link'><a href="Bookmark.html" title="Pincerna::Bookmark (class)">Bookmark</a></span></h3>
178
+ <p class="inherited"><span class='object_link'><a href="Bookmark.html#MATCHER-constant" title="Pincerna::Bookmark::MATCHER (constant)">Bookmark::MATCHER</a></span>, <span class='object_link'><a href="Bookmark.html#SEPARATOR-constant" title="Pincerna::Bookmark::SEPARATOR (constant)">Bookmark::SEPARATOR</a></span></p>
179
+
180
+
181
+
182
+ <h3 class="inherited">Constants inherited
183
+ from <span class='object_link'><a href="Base.html" title="Pincerna::Base (class)">Base</a></span></h3>
184
+ <p class="inherited"><span class='object_link'><a href="Base.html#CACHE_ROOT-constant" title="Pincerna::Base::CACHE_ROOT (constant)">Base::CACHE_ROOT</a></span>, <span class='object_link'><a href="Base.html#FULL_NAME-constant" title="Pincerna::Base::FULL_NAME (constant)">Base::FULL_NAME</a></span>, <span class='object_link'><a href="Base.html#MATCHER-constant" title="Pincerna::Base::MATCHER (constant)">Base::MATCHER</a></span>, <span class='object_link'><a href="Base.html#RELEVANT_MATCHES-constant" title="Pincerna::Base::RELEVANT_MATCHES (constant)">Base::RELEVANT_MATCHES</a></span>, <span class='object_link'><a href="Base.html#ROOT-constant" title="Pincerna::Base::ROOT (constant)">Base::ROOT</a></span>, <span class='object_link'><a href="Base.html#TYPES-constant" title="Pincerna::Base::TYPES (constant)">Base::TYPES</a></span>, <span class='object_link'><a href="Base.html#WORKFLOW_ROOT-constant" title="Pincerna::Base::WORKFLOW_ROOT (constant)">Base::WORKFLOW_ROOT</a></span></p>
185
+
186
+
187
+
188
+
189
+ <h2>Instance Attribute Summary</h2>
190
+
191
+ <h3 class="inherited">Attributes inherited from <span class='object_link'><a href="Base.html" title="Pincerna::Base (class)">Base</a></span></h3>
192
+ <p class="inherited"><span class='object_link'><a href="Base.html#format-instance_method" title="Pincerna::Base#format (method)">#format</a></span>, <span class='object_link'><a href="Base.html#format_content_type-instance_method" title="Pincerna::Base#format_content_type (method)">#format_content_type</a></span>, <span class='object_link'><a href="Base.html#output-instance_method" title="Pincerna::Base#output (method)">#output</a></span></p>
193
+
194
+
195
+
196
+ <h2>
197
+ Instance Method Summary
198
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
199
+ </h2>
200
+
201
+ <ul class="summary">
202
+
203
+ <li class="public ">
204
+ <span class="summary_signature">
205
+
206
+ <a href="#read_bookmarks-instance_method" title="#read_bookmarks (instance method)">- (Object) <strong>read_bookmarks</strong> </a>
207
+
208
+
209
+
210
+ </span>
211
+
212
+
213
+
214
+
215
+
216
+
217
+
218
+
219
+
220
+ <span class="summary_desc"><div class='inline'><p>Reads the list of Firefox Bookmarks.</p>
221
+ </div></span>
222
+
223
+ </li>
224
+
225
+
226
+ </ul>
227
+
228
+
229
+
230
+
231
+
232
+
233
+
234
+
235
+
236
+
237
+
238
+ <h3 class="inherited">Methods inherited from <span class='object_link'><a href="Bookmark.html" title="Pincerna::Bookmark (class)">Bookmark</a></span></h3>
239
+ <p class="inherited"><span class='object_link'><a href="Bookmark.html#perform_filtering-instance_method" title="Pincerna::Bookmark#perform_filtering (method)">#perform_filtering</a></span>, <span class='object_link'><a href="Bookmark.html#process_results-instance_method" title="Pincerna::Bookmark#process_results (method)">#process_results</a></span></p>
240
+
241
+
242
+
243
+
244
+
245
+
246
+
247
+
248
+
249
+ <h3 class="inherited">Methods inherited from <span class='object_link'><a href="Base.html" title="Pincerna::Base (class)">Base</a></span></h3>
250
+ <p class="inherited"><span class='object_link'><a href="Base.html#add_feedback_item-instance_method" title="Pincerna::Base#add_feedback_item (method)">#add_feedback_item</a></span>, <span class='object_link'><a href="Base.html#execute%21-class_method" title="Pincerna::Base.execute! (method)">execute!</a></span>, <span class='object_link'><a href="Base.html#filter-instance_method" title="Pincerna::Base#filter (method)">#filter</a></span>, <span class='object_link'><a href="Base.html#format_float-instance_method" title="Pincerna::Base#format_float (method)">#format_float</a></span>, <span class='object_link'><a href="Base.html#initialize-instance_method" title="Pincerna::Base#initialize (method)">#initialize</a></span>, <span class='object_link'><a href="Base.html#output_feedback-instance_method" title="Pincerna::Base#output_feedback (method)">#output_feedback</a></span>, <span class='object_link'><a href="Base.html#perform_filtering-instance_method" title="Pincerna::Base#perform_filtering (method)">#perform_filtering</a></span>, <span class='object_link'><a href="Base.html#process_results-instance_method" title="Pincerna::Base#process_results (method)">#process_results</a></span>, <span class='object_link'><a href="Base.html#round_float-instance_method" title="Pincerna::Base#round_float (method)">#round_float</a></span></p>
251
+ <div id="constructor_details" class="method_details_list">
252
+ <h2>Constructor Details</h2>
253
+
254
+ <p class="notice">This class inherits a constructor from <span class='object_link'><a href="Base.html#initialize-instance_method" title="Pincerna::Base#initialize (method)">Pincerna::Base</a></span></p>
255
+
256
+ </div>
257
+
258
+
259
+ <div id="instance_method_details" class="method_details_list">
260
+ <h2>Instance Method Details</h2>
261
+
262
+
263
+ <div class="method_details first">
264
+ <h3 class="signature first" id="read_bookmarks-instance_method">
265
+
266
+ - (<tt>Object</tt>) <strong>read_bookmarks</strong>
267
+
268
+
269
+
270
+
271
+
272
+ </h3><div class="docstring">
273
+ <div class="discussion">
274
+ <p>Reads the list of Firefox Bookmarks.</p>
275
+
276
+
277
+ </div>
278
+ </div>
279
+ <div class="tags">
280
+
281
+
282
+ </div><table class="source_code">
283
+ <tr>
284
+ <td>
285
+ <pre class="lines">
286
+
287
+
288
+ 23
289
+ 24
290
+ 25
291
+ 26
292
+ 27
293
+ 28
294
+ 29
295
+ 30
296
+ 31
297
+ 32</pre>
298
+ </td>
299
+ <td>
300
+ <pre class="code"><span class="info file"># File 'lib/pincerna/firefox_bookmark.rb', line 23</span>
301
+
302
+ <span class='kw'>def</span> <span class='id identifier rubyid_read_bookmarks'>read_bookmarks</span>
303
+ <span class='id identifier rubyid_path'>path</span> <span class='op'>=</span> <span class='const'>Dir</span><span class='period'>.</span><span class='id identifier rubyid_glob'>glob</span><span class='lparen'>(</span><span class='const'>PROFILES_SEARCH</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
304
+ <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='id identifier rubyid_execute_command'>execute_command</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/usr/bin/sqlite3</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>-echo</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_path'>path</span><span class='embexpr_end'>}</span><span class='tstring_content'>/places.sqlite</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='const'>QUERIES</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>; </span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
305
+
306
+ <span class='kw'>if</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span> <span class='kw'>then</span>
307
+ <span class='ivar'>@folders</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
308
+ <span class='id identifier rubyid_parse_bookmarks_data'>parse_bookmarks_data</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
309
+ <span class='id identifier rubyid_build_paths'>build_paths</span>
310
+ <span class='kw'>end</span>
311
+ <span class='kw'>end</span></pre>
312
+ </td>
313
+ </tr>
314
+ </table>
315
+ </div>
316
+
317
+ </div>
318
+
319
+ </div>
320
+
321
+ <div id="footer">
322
+ Generated on Thu Aug 18 15:50:05 2016 by
323
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
324
+ 0.8.7 (ruby-2.3.0).
325
+ </div>
326
+
327
+ </body>
328
+ </html>
@@ -0,0 +1,1017 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>
7
+ Class: Pincerna::Ip
8
+
9
+ &mdash; Documentation by YARD 0.8.7
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../css/style.css" type="text/css" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ hasFrames = window.top.frames.main ? true : false;
19
+ relpath = '../';
20
+ framesUrl = "../frames.html#!" + escape(window.location.href);
21
+ </script>
22
+
23
+
24
+ <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
25
+
26
+ <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
27
+
28
+
29
+ </head>
30
+ <body>
31
+ <div id="header">
32
+ <div id="menu">
33
+
34
+ <a href="../_index.html">Index (I)</a> &raquo;
35
+ <span class='title'><span class='object_link'><a href="../Pincerna.html" title="Pincerna (module)">Pincerna</a></span></span>
36
+ &raquo;
37
+ <span class="title">Ip</span>
38
+
39
+
40
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
41
+ </div>
42
+
43
+ <div id="search">
44
+
45
+ <a class="full_list_link" id="class_list_link"
46
+ href="../class_list.html">
47
+ Class List
48
+ </a>
49
+
50
+ <a class="full_list_link" id="method_list_link"
51
+ href="../method_list.html">
52
+ Method List
53
+ </a>
54
+
55
+ <a class="full_list_link" id="file_list_link"
56
+ href="../file_list.html">
57
+ File List
58
+ </a>
59
+
60
+ </div>
61
+ <div class="clear"></div>
62
+ </div>
63
+
64
+ <iframe id="search_frame"></iframe>
65
+
66
+ <div id="content"><h1>Class: Pincerna::Ip
67
+
68
+
69
+
70
+ </h1>
71
+
72
+ <dl class="box">
73
+
74
+ <dt class="r1">Inherits:</dt>
75
+ <dd class="r1">
76
+ <span class="inheritName"><span class='object_link'><a href="Base.html" title="Pincerna::Base (class)">Base</a></span></span>
77
+
78
+ <ul class="fullTree">
79
+ <li>Object</li>
80
+
81
+ <li class="next"><span class='object_link'><a href="Base.html" title="Pincerna::Base (class)">Base</a></span></li>
82
+
83
+ <li class="next">Pincerna::Ip</li>
84
+
85
+ </ul>
86
+ <a href="#" class="inheritanceTree">show all</a>
87
+
88
+ </dd>
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+
98
+ <dt class="r2 last">Defined in:</dt>
99
+ <dd class="r2 last">lib/pincerna/ip.rb</dd>
100
+
101
+ </dl>
102
+ <div class="clear"></div>
103
+
104
+ <h2>Overview</h2><div class="docstring">
105
+ <div class="discussion">
106
+ <p>Shows the IP addresses of all network interfaces.</p>
107
+
108
+
109
+ </div>
110
+ </div>
111
+ <div class="tags">
112
+
113
+
114
+ </div>
115
+ <h2>Constant Summary</h2>
116
+
117
+ <dl class="constants">
118
+
119
+ <dt id="MATCHER-constant" class="">MATCHER =
120
+ <div class="docstring">
121
+ <div class="discussion">
122
+ <p>The expression to match.</p>
123
+
124
+
125
+ </div>
126
+ </div>
127
+ <div class="tags">
128
+
129
+
130
+ </div>
131
+ </dt>
132
+ <dd><pre class="code"><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^(?&lt;all&gt;.*)$</span><span class='regexp_end'>/i</span></span></pre></dd>
133
+
134
+ <dt id="ICON-constant" class="">ICON =
135
+ <div class="docstring">
136
+ <div class="discussion">
137
+ <p>The icon to show for each feedback item.</p>
138
+
139
+
140
+ </div>
141
+ </div>
142
+ <div class="tags">
143
+
144
+
145
+ </div>
146
+ </dt>
147
+ <dd><pre class="code"><span class='const'>Pincerna</span><span class='op'>::</span><span class='const'>Base</span><span class='op'>::</span><span class='const'>ROOT</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/images/network.png</span><span class='tstring_end'>&quot;</span></span></pre></dd>
148
+
149
+ <dt id="URL-constant" class="">URL =
150
+ <div class="docstring">
151
+ <div class="discussion">
152
+ <p>The URL of the webservice.</p>
153
+
154
+
155
+ </div>
156
+ </div>
157
+ <div class="tags">
158
+
159
+
160
+ </div>
161
+ </dt>
162
+ <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>http://api.externalip.net/ip</span><span class='tstring_end'>&quot;</span></span></pre></dd>
163
+
164
+ </dl>
165
+
166
+
167
+
168
+
169
+
170
+
171
+ <h3 class="inherited">Constants inherited
172
+ from <span class='object_link'><a href="Base.html" title="Pincerna::Base (class)">Base</a></span></h3>
173
+ <p class="inherited"><span class='object_link'><a href="Base.html#CACHE_ROOT-constant" title="Pincerna::Base::CACHE_ROOT (constant)">Base::CACHE_ROOT</a></span>, <span class='object_link'><a href="Base.html#FULL_NAME-constant" title="Pincerna::Base::FULL_NAME (constant)">Base::FULL_NAME</a></span>, <span class='object_link'><a href="Base.html#RELEVANT_MATCHES-constant" title="Pincerna::Base::RELEVANT_MATCHES (constant)">Base::RELEVANT_MATCHES</a></span>, <span class='object_link'><a href="Base.html#ROOT-constant" title="Pincerna::Base::ROOT (constant)">Base::ROOT</a></span>, <span class='object_link'><a href="Base.html#TYPES-constant" title="Pincerna::Base::TYPES (constant)">Base::TYPES</a></span>, <span class='object_link'><a href="Base.html#WORKFLOW_ROOT-constant" title="Pincerna::Base::WORKFLOW_ROOT (constant)">Base::WORKFLOW_ROOT</a></span></p>
174
+
175
+
176
+
177
+
178
+ <h2>Instance Attribute Summary</h2>
179
+
180
+ <h3 class="inherited">Attributes inherited from <span class='object_link'><a href="Base.html" title="Pincerna::Base (class)">Base</a></span></h3>
181
+ <p class="inherited"><span class='object_link'><a href="Base.html#format-instance_method" title="Pincerna::Base#format (method)">#format</a></span>, <span class='object_link'><a href="Base.html#format_content_type-instance_method" title="Pincerna::Base#format_content_type (method)">#format_content_type</a></span>, <span class='object_link'><a href="Base.html#output-instance_method" title="Pincerna::Base#output (method)">#output</a></span></p>
182
+
183
+
184
+
185
+ <h2>
186
+ Instance Method Summary
187
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
188
+ </h2>
189
+
190
+ <ul class="summary">
191
+
192
+ <li class="public ">
193
+ <span class="summary_signature">
194
+
195
+ <a href="#compare_ip_addresses-instance_method" title="#compare_ip_addresses (instance method)">- (Fixnum) <strong>compare_ip_addresses</strong>(left, right) </a>
196
+
197
+
198
+
199
+ </span>
200
+
201
+
202
+
203
+
204
+
205
+
206
+
207
+
208
+
209
+ <span class="summary_desc"><div class='inline'><p>Compares to IP addresses, giving higher priority to local address such as 127.0.0.1.</p>
210
+ </div></span>
211
+
212
+ </li>
213
+
214
+
215
+ <li class="public ">
216
+ <span class="summary_signature">
217
+
218
+ <a href="#compare_ip_classes-instance_method" title="#compare_ip_classes (instance method)">- (Fixnum) <strong>compare_ip_classes</strong>(left, right) </a>
219
+
220
+
221
+
222
+ </span>
223
+
224
+
225
+
226
+
227
+
228
+
229
+
230
+
231
+
232
+ <span class="summary_desc"><div class='inline'><p>Compares two IP classes, giving higher priority to IPv4.</p>
233
+ </div></span>
234
+
235
+ </li>
236
+
237
+
238
+ <li class="public ">
239
+ <span class="summary_signature">
240
+
241
+ <a href="#get_interfaces_names-instance_method" title="#get_interfaces_names (instance method)">- (Hash) <strong>get_interfaces_names</strong> </a>
242
+
243
+
244
+
245
+ </span>
246
+
247
+
248
+
249
+
250
+
251
+
252
+
253
+
254
+
255
+ <span class="summary_desc"><div class='inline'><p>Gets a hash with pair of interfaces and their human names.</p>
256
+ </div></span>
257
+
258
+ </li>
259
+
260
+
261
+ <li class="public ">
262
+ <span class="summary_signature">
263
+
264
+ <a href="#get_local_addresses-instance_method" title="#get_local_addresses (instance method)">- (Array) <strong>get_local_addresses</strong> </a>
265
+
266
+
267
+
268
+ </span>
269
+
270
+
271
+
272
+
273
+
274
+
275
+
276
+
277
+
278
+ <span class="summary_desc"><div class='inline'><p>Gets a list of local IP addresses.</p>
279
+ </div></span>
280
+
281
+ </li>
282
+
283
+
284
+ <li class="public ">
285
+ <span class="summary_signature">
286
+
287
+ <a href="#get_public_address-instance_method" title="#get_public_address (instance method)">- (Hash) <strong>get_public_address</strong> </a>
288
+
289
+
290
+
291
+ </span>
292
+
293
+
294
+
295
+
296
+
297
+
298
+
299
+
300
+
301
+ <span class="summary_desc"><div class='inline'><p>Gets the public IP address for this machine.</p>
302
+ </div></span>
303
+
304
+ </li>
305
+
306
+
307
+ <li class="public ">
308
+ <span class="summary_signature">
309
+
310
+ <a href="#perform_filtering-instance_method" title="#perform_filtering (instance method)">- (Array) <strong>perform_filtering</strong>(query) </a>
311
+
312
+
313
+
314
+ </span>
315
+
316
+
317
+
318
+
319
+
320
+
321
+
322
+
323
+
324
+ <span class="summary_desc"><div class='inline'><p>Shows the IP addresses of all network interfaces.</p>
325
+ </div></span>
326
+
327
+ </li>
328
+
329
+
330
+ <li class="public ">
331
+ <span class="summary_signature">
332
+
333
+ <a href="#process_results-instance_method" title="#process_results (instance method)">- (Array) <strong>process_results</strong>(results) </a>
334
+
335
+
336
+
337
+ </span>
338
+
339
+
340
+
341
+
342
+
343
+
344
+
345
+
346
+
347
+ <span class="summary_desc"><div class='inline'><p>Processes items to obtain feedback items.</p>
348
+ </div></span>
349
+
350
+ </li>
351
+
352
+
353
+ </ul>
354
+
355
+
356
+
357
+
358
+
359
+
360
+
361
+
362
+
363
+
364
+
365
+ <h3 class="inherited">Methods inherited from <span class='object_link'><a href="Base.html" title="Pincerna::Base (class)">Base</a></span></h3>
366
+ <p class="inherited"><span class='object_link'><a href="Base.html#add_feedback_item-instance_method" title="Pincerna::Base#add_feedback_item (method)">#add_feedback_item</a></span>, <span class='object_link'><a href="Base.html#execute%21-class_method" title="Pincerna::Base.execute! (method)">execute!</a></span>, <span class='object_link'><a href="Base.html#filter-instance_method" title="Pincerna::Base#filter (method)">#filter</a></span>, <span class='object_link'><a href="Base.html#format_float-instance_method" title="Pincerna::Base#format_float (method)">#format_float</a></span>, <span class='object_link'><a href="Base.html#initialize-instance_method" title="Pincerna::Base#initialize (method)">#initialize</a></span>, <span class='object_link'><a href="Base.html#output_feedback-instance_method" title="Pincerna::Base#output_feedback (method)">#output_feedback</a></span>, <span class='object_link'><a href="Base.html#round_float-instance_method" title="Pincerna::Base#round_float (method)">#round_float</a></span></p>
367
+ <div id="constructor_details" class="method_details_list">
368
+ <h2>Constructor Details</h2>
369
+
370
+ <p class="notice">This class inherits a constructor from <span class='object_link'><a href="Base.html#initialize-instance_method" title="Pincerna::Base#initialize (method)">Pincerna::Base</a></span></p>
371
+
372
+ </div>
373
+
374
+
375
+ <div id="instance_method_details" class="method_details_list">
376
+ <h2>Instance Method Details</h2>
377
+
378
+
379
+ <div class="method_details first">
380
+ <h3 class="signature first" id="compare_ip_addresses-instance_method">
381
+
382
+ - (<tt>Fixnum</tt>) <strong>compare_ip_addresses</strong>(left, right)
383
+
384
+
385
+
386
+
387
+
388
+ </h3><div class="docstring">
389
+ <div class="discussion">
390
+ <p>Compares to IP addresses, giving higher priority to local address such as 127.0.0.1.</p>
391
+
392
+
393
+ </div>
394
+ </div>
395
+ <div class="tags">
396
+ <p class="tag_title">Parameters:</p>
397
+ <ul class="param">
398
+
399
+ <li>
400
+
401
+ <span class='name'>left</span>
402
+
403
+
404
+ <span class='type'>(<tt>String</tt>)</span>
405
+
406
+
407
+
408
+ &mdash;
409
+ <div class='inline'><p>The first IP to compare.</p>
410
+ </div>
411
+
412
+ </li>
413
+
414
+ <li>
415
+
416
+ <span class='name'>right</span>
417
+
418
+
419
+ <span class='type'>(<tt>String</tt>)</span>
420
+
421
+
422
+
423
+ &mdash;
424
+ <div class='inline'><p>The second IP to compare.</p>
425
+ </div>
426
+
427
+ </li>
428
+
429
+ </ul>
430
+
431
+ <p class="tag_title">Returns:</p>
432
+ <ul class="return">
433
+
434
+ <li>
435
+
436
+
437
+ <span class='type'>(<tt>Fixnum</tt>)</span>
438
+
439
+
440
+
441
+ &mdash;
442
+ <div class='inline'><p>The result of the comparison.</p>
443
+ </div>
444
+
445
+ </li>
446
+
447
+ </ul>
448
+
449
+ </div><table class="source_code">
450
+ <tr>
451
+ <td>
452
+ <pre class="lines">
453
+
454
+
455
+ 103
456
+ 104
457
+ 105
458
+ 106
459
+ 107
460
+ 108</pre>
461
+ </td>
462
+ <td>
463
+ <pre class="code"><span class="info file"># File 'lib/pincerna/ip.rb', line 103</span>
464
+
465
+ <span class='kw'>def</span> <span class='id identifier rubyid_compare_ip_addresses'>compare_ip_addresses</span><span class='lparen'>(</span><span class='id identifier rubyid_left'>left</span><span class='comma'>,</span> <span class='id identifier rubyid_right'>right</span><span class='rparen'>)</span>
466
+ <span class='id identifier rubyid_higher_priority'>higher_priority</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>::1</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>127.0.0.1</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>10.0.0.1</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span>
467
+ <span class='id identifier rubyid_cmp'>cmp</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_higher_priority'>higher_priority</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_left'>left</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='int'>0</span> <span class='op'>:</span> <span class='int'>1</span><span class='rparen'>)</span> <span class='op'>&lt;=&gt;</span> <span class='lparen'>(</span><span class='id identifier rubyid_higher_priority'>higher_priority</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_right'>right</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='int'>0</span> <span class='op'>:</span> <span class='int'>1</span><span class='rparen'>)</span>
468
+ <span class='id identifier rubyid_cmp'>cmp</span> <span class='op'>=</span> <span class='id identifier rubyid_left'>left</span> <span class='op'>&lt;=&gt;</span> <span class='id identifier rubyid_right'>right</span> <span class='kw'>if</span> <span class='id identifier rubyid_cmp'>cmp</span> <span class='op'>==</span> <span class='int'>0</span>
469
+ <span class='id identifier rubyid_cmp'>cmp</span>
470
+ <span class='kw'>end</span></pre>
471
+ </td>
472
+ </tr>
473
+ </table>
474
+ </div>
475
+
476
+ <div class="method_details ">
477
+ <h3 class="signature " id="compare_ip_classes-instance_method">
478
+
479
+ - (<tt>Fixnum</tt>) <strong>compare_ip_classes</strong>(left, right)
480
+
481
+
482
+
483
+
484
+
485
+ </h3><div class="docstring">
486
+ <div class="discussion">
487
+ <p>Compares two IP classes, giving higher priority to IPv4.</p>
488
+
489
+
490
+ </div>
491
+ </div>
492
+ <div class="tags">
493
+ <p class="tag_title">Parameters:</p>
494
+ <ul class="param">
495
+
496
+ <li>
497
+
498
+ <span class='name'>left</span>
499
+
500
+
501
+ <span class='type'>(<tt>String</tt>)</span>
502
+
503
+
504
+
505
+ &mdash;
506
+ <div class='inline'><p>The first IP to compare.</p>
507
+ </div>
508
+
509
+ </li>
510
+
511
+ <li>
512
+
513
+ <span class='name'>right</span>
514
+
515
+
516
+ <span class='type'>(<tt>String</tt>)</span>
517
+
518
+
519
+
520
+ &mdash;
521
+ <div class='inline'><p>The second IP to compare.</p>
522
+ </div>
523
+
524
+ </li>
525
+
526
+ </ul>
527
+
528
+ <p class="tag_title">Returns:</p>
529
+ <ul class="return">
530
+
531
+ <li>
532
+
533
+
534
+ <span class='type'>(<tt>Fixnum</tt>)</span>
535
+
536
+
537
+
538
+ &mdash;
539
+ <div class='inline'><p>The result of the comparison.</p>
540
+ </div>
541
+
542
+ </li>
543
+
544
+ </ul>
545
+
546
+ </div><table class="source_code">
547
+ <tr>
548
+ <td>
549
+ <pre class="lines">
550
+
551
+
552
+ 94
553
+ 95
554
+ 96</pre>
555
+ </td>
556
+ <td>
557
+ <pre class="code"><span class="info file"># File 'lib/pincerna/ip.rb', line 94</span>
558
+
559
+ <span class='kw'>def</span> <span class='id identifier rubyid_compare_ip_classes'>compare_ip_classes</span><span class='lparen'>(</span><span class='id identifier rubyid_left'>left</span><span class='comma'>,</span> <span class='id identifier rubyid_right'>right</span><span class='rparen'>)</span>
560
+ <span class='lparen'>(</span><span class='id identifier rubyid_left'>left</span><span class='period'>.</span><span class='id identifier rubyid_index'>index</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>:</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='op'>?</span> <span class='int'>1</span> <span class='op'>:</span> <span class='int'>0</span><span class='rparen'>)</span> <span class='op'>&lt;=&gt;</span> <span class='lparen'>(</span><span class='id identifier rubyid_right'>right</span><span class='period'>.</span><span class='id identifier rubyid_index'>index</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>:</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='op'>?</span> <span class='int'>1</span> <span class='op'>:</span> <span class='int'>0</span><span class='rparen'>)</span>
561
+ <span class='kw'>end</span></pre>
562
+ </td>
563
+ </tr>
564
+ </table>
565
+ </div>
566
+
567
+ <div class="method_details ">
568
+ <h3 class="signature " id="get_interfaces_names-instance_method">
569
+
570
+ - (<tt>Hash</tt>) <strong>get_interfaces_names</strong>
571
+
572
+
573
+
574
+
575
+
576
+ </h3><div class="docstring">
577
+ <div class="discussion">
578
+ <p>Gets a hash with pair of interfaces and their human names.</p>
579
+
580
+
581
+ </div>
582
+ </div>
583
+ <div class="tags">
584
+
585
+ <p class="tag_title">Returns:</p>
586
+ <ul class="return">
587
+
588
+ <li>
589
+
590
+
591
+ <span class='type'>(<tt>Hash</tt>)</span>
592
+
593
+
594
+
595
+ &mdash;
596
+ <div class='inline'><p>The hash with interfaces’ name.</p>
597
+ </div>
598
+
599
+ </li>
600
+
601
+ </ul>
602
+
603
+ </div><table class="source_code">
604
+ <tr>
605
+ <td>
606
+ <pre class="lines">
607
+
608
+
609
+ 113
610
+ 114
611
+ 115
612
+ 116
613
+ 117
614
+ 118
615
+ 119
616
+ 120
617
+ 121
618
+ 122
619
+ 123
620
+ 124
621
+ 125
622
+ 126
623
+ 127
624
+ 128
625
+ 129
626
+ 130
627
+ 131
628
+ 132
629
+ 133</pre>
630
+ </td>
631
+ <td>
632
+ <pre class="code"><span class="info file"># File 'lib/pincerna/ip.rb', line 113</span>
633
+
634
+ <span class='kw'>def</span> <span class='id identifier rubyid_get_interfaces_names'>get_interfaces_names</span>
635
+ <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>lo0</span><span class='tstring_end'>&quot;</span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Loopback</span><span class='tstring_end'>&quot;</span></span><span class='rbrace'>}</span>
636
+
637
+ <span class='id identifier rubyid_names'>names</span> <span class='op'>=</span> <span class='id identifier rubyid_execute_command'>execute_command</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/usr/sbin/networksetup</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>-listallhardwareports</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\n\n</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span>
638
+ <span class='id identifier rubyid_names'>names</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span> <span class='comment'># Discard first whitespace
639
+ </span>
640
+ <span class='id identifier rubyid_names'>names</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_port'>port</span><span class='op'>|</span>
641
+ <span class='id identifier rubyid_port'>port</span> <span class='op'>=</span> <span class='const'>StringScanner</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_port'>port</span><span class='rparen'>)</span>
642
+ <span class='id identifier rubyid_name'>name</span> <span class='op'>=</span> <span class='kw'>nil</span>
643
+ <span class='id identifier rubyid_interface'>interface</span> <span class='op'>=</span> <span class='kw'>nil</span>
644
+
645
+ <span class='kw'>if</span> <span class='id identifier rubyid_port'>port</span><span class='period'>.</span><span class='id identifier rubyid_scan_until'>scan_until</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>Hardware Port: </span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='kw'>then</span>
646
+ <span class='id identifier rubyid_name'>name</span> <span class='op'>=</span> <span class='id identifier rubyid_port'>port</span><span class='period'>.</span><span class='id identifier rubyid_scan_until'>scan_until</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\n</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_strip'>strip</span>
647
+ <span class='id identifier rubyid_interface'>interface</span> <span class='op'>=</span> <span class='id identifier rubyid_port'>port</span><span class='period'>.</span><span class='id identifier rubyid_scan_until'>scan_until</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\n</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_strip'>strip</span> <span class='kw'>if</span> <span class='id identifier rubyid_port'>port</span><span class='period'>.</span><span class='id identifier rubyid_scan_until'>scan_until</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>Device: </span><span class='regexp_end'>/</span></span><span class='rparen'>)</span>
648
+ <span class='kw'>end</span>
649
+
650
+ <span class='id identifier rubyid_rv'>rv</span><span class='lbracket'>[</span><span class='id identifier rubyid_interface'>interface</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_name'>name</span> <span class='kw'>if</span> <span class='id identifier rubyid_name'>name</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_interface'>interface</span>
651
+ <span class='kw'>end</span>
652
+
653
+ <span class='id identifier rubyid_rv'>rv</span>
654
+ <span class='kw'>end</span></pre>
655
+ </td>
656
+ </tr>
657
+ </table>
658
+ </div>
659
+
660
+ <div class="method_details ">
661
+ <h3 class="signature " id="get_local_addresses-instance_method">
662
+
663
+ - (<tt>Array</tt>) <strong>get_local_addresses</strong>
664
+
665
+
666
+
667
+
668
+
669
+ </h3><div class="docstring">
670
+ <div class="discussion">
671
+ <p>Gets a list of local IP addresses.</p>
672
+
673
+
674
+ </div>
675
+ </div>
676
+ <div class="tags">
677
+
678
+ <p class="tag_title">Returns:</p>
679
+ <ul class="return">
680
+
681
+ <li>
682
+
683
+
684
+ <span class='type'>(<tt>Array</tt>)</span>
685
+
686
+
687
+
688
+ &mdash;
689
+ <div class='inline'><p>A list of IPs data.</p>
690
+ </div>
691
+
692
+ </li>
693
+
694
+ </ul>
695
+
696
+ </div><table class="source_code">
697
+ <tr>
698
+ <td>
699
+ <pre class="lines">
700
+
701
+
702
+ 57
703
+ 58
704
+ 59
705
+ 60
706
+ 61
707
+ 62
708
+ 63
709
+ 64
710
+ 65
711
+ 66
712
+ 67
713
+ 68
714
+ 69
715
+ 70
716
+ 71
717
+ 72
718
+ 73
719
+ 74
720
+ 75
721
+ 76
722
+ 77
723
+ 78
724
+ 79
725
+ 80</pre>
726
+ </td>
727
+ <td>
728
+ <pre class="code"><span class="info file"># File 'lib/pincerna/ip.rb', line 57</span>
729
+
730
+ <span class='kw'>def</span> <span class='id identifier rubyid_get_local_addresses'>get_local_addresses</span>
731
+ <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
732
+ <span class='id identifier rubyid_names'>names</span> <span class='op'>=</span> <span class='id identifier rubyid_get_interfaces_names'>get_interfaces_names</span>
733
+
734
+ <span class='comment'># Split by interfaces
735
+ </span> <span class='id identifier rubyid_interfaces'>interfaces</span> <span class='op'>=</span> <span class='id identifier rubyid_execute_command'>execute_command</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/sbin/ifconfig</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>(^\S+:\s+)</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span>
736
+ <span class='id identifier rubyid_interfaces'>interfaces</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span> <span class='comment'># Discard first whitespace
737
+ </span>
738
+ <span class='comment'># For each interface
739
+ </span> <span class='id identifier rubyid_interfaces'>interfaces</span><span class='period'>.</span><span class='id identifier rubyid_each_slice'>each_slice</span><span class='lparen'>(</span><span class='int'>2</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_interface'>interface</span><span class='comma'>,</span> <span class='id identifier rubyid_configuration'>configuration</span><span class='op'>|</span>
740
+ <span class='comment'># See if matches the query and then replace public name
741
+ </span> <span class='id identifier rubyid_interface'>interface</span> <span class='op'>=</span> <span class='id identifier rubyid_interface'>interface</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\s*(.+):\s*</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\\1</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
742
+ <span class='id identifier rubyid_name'>name</span> <span class='op'>=</span> <span class='id identifier rubyid_names'>names</span><span class='lbracket'>[</span><span class='id identifier rubyid_interface'>interface</span><span class='rbracket'>]</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_names'>names</span><span class='lbracket'>[</span><span class='id identifier rubyid_interface'>interface</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'> (</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_interface'>interface</span><span class='embexpr_end'>}</span><span class='tstring_content'>)</span><span class='tstring_end'>&quot;</span></span> <span class='op'>:</span> <span class='id identifier rubyid_interface'>interface</span>
743
+ <span class='kw'>next</span> <span class='kw'>if</span> <span class='op'>!</span><span class='ivar'>@interface_filter</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span>
744
+
745
+ <span class='comment'># Get addresses
746
+ </span> <span class='id identifier rubyid_addresses'>addresses</span> <span class='op'>=</span> <span class='const'>StringScanner</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_configuration'>configuration</span><span class='rparen'>)</span>
747
+ <span class='kw'>while</span> <span class='id identifier rubyid_addresses'>addresses</span><span class='period'>.</span><span class='id identifier rubyid_scan_until'>scan_until</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>inet(6?)\s</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='kw'>do</span>
748
+ <span class='id identifier rubyid_rv'>rv</span> <span class='op'>&lt;&lt;</span> <span class='lbrace'>{</span><span class='label'>interface:</span> <span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='label'>address:</span> <span class='id identifier rubyid_addresses'>addresses</span><span class='period'>.</span><span class='id identifier rubyid_scan'>scan</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\S+</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='rbrace'>}</span>
749
+ <span class='kw'>end</span>
750
+ <span class='kw'>end</span>
751
+
752
+ <span class='id identifier rubyid_rv'>rv</span>
753
+ <span class='kw'>end</span></pre>
754
+ </td>
755
+ </tr>
756
+ </table>
757
+ </div>
758
+
759
+ <div class="method_details ">
760
+ <h3 class="signature " id="get_public_address-instance_method">
761
+
762
+ - (<tt>Hash</tt>) <strong>get_public_address</strong>
763
+
764
+
765
+
766
+
767
+
768
+ </h3><div class="docstring">
769
+ <div class="discussion">
770
+ <p>Gets the public IP address for this machine.</p>
771
+
772
+
773
+ </div>
774
+ </div>
775
+ <div class="tags">
776
+
777
+ <p class="tag_title">Returns:</p>
778
+ <ul class="return">
779
+
780
+ <li>
781
+
782
+
783
+ <span class='type'>(<tt>Hash</tt>)</span>
784
+
785
+
786
+
787
+ &mdash;
788
+ <div class='inline'><p>The public IP address data.</p>
789
+ </div>
790
+
791
+ </li>
792
+
793
+ </ul>
794
+
795
+ </div><table class="source_code">
796
+ <tr>
797
+ <td>
798
+ <pre class="lines">
799
+
800
+
801
+ 85
802
+ 86
803
+ 87</pre>
804
+ </td>
805
+ <td>
806
+ <pre class="code"><span class="info file"># File 'lib/pincerna/ip.rb', line 85</span>
807
+
808
+ <span class='kw'>def</span> <span class='id identifier rubyid_get_public_address'>get_public_address</span>
809
+ <span class='lbrace'>{</span><span class='label'>interface:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>address:</span> <span class='id identifier rubyid_fetch_remote_resource'>fetch_remote_resource</span><span class='lparen'>(</span><span class='const'>URL</span><span class='comma'>,</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='kw'>false</span><span class='rparen'>)</span><span class='rbrace'>}</span>
810
+ <span class='kw'>end</span></pre>
811
+ </td>
812
+ </tr>
813
+ </table>
814
+ </div>
815
+
816
+ <div class="method_details ">
817
+ <h3 class="signature " id="perform_filtering-instance_method">
818
+
819
+ - (<tt>Array</tt>) <strong>perform_filtering</strong>(query)
820
+
821
+
822
+
823
+
824
+
825
+ </h3><div class="docstring">
826
+ <div class="discussion">
827
+ <p>Shows the IP addresses of all network interfaces.</p>
828
+
829
+
830
+ </div>
831
+ </div>
832
+ <div class="tags">
833
+ <p class="tag_title">Parameters:</p>
834
+ <ul class="param">
835
+
836
+ <li>
837
+
838
+ <span class='name'>query</span>
839
+
840
+
841
+ <span class='type'>(<tt>Array</tt>)</span>
842
+
843
+
844
+
845
+ &mdash;
846
+ <div class='inline'><p>A query to match against interfaces names.</p>
847
+ </div>
848
+
849
+ </li>
850
+
851
+ </ul>
852
+
853
+ <p class="tag_title">Returns:</p>
854
+ <ul class="return">
855
+
856
+ <li>
857
+
858
+
859
+ <span class='type'>(<tt>Array</tt>)</span>
860
+
861
+
862
+
863
+ &mdash;
864
+ <div class='inline'><p>A list of items to process.</p>
865
+ </div>
866
+
867
+ </li>
868
+
869
+ </ul>
870
+
871
+ </div><table class="source_code">
872
+ <tr>
873
+ <td>
874
+ <pre class="lines">
875
+
876
+
877
+ 23
878
+ 24
879
+ 25
880
+ 26
881
+ 27
882
+ 28
883
+ 29
884
+ 30
885
+ 31
886
+ 32
887
+ 33
888
+ 34
889
+ 35
890
+ 36
891
+ 37
892
+ 38
893
+ 39
894
+ 40
895
+ 41</pre>
896
+ </td>
897
+ <td>
898
+ <pre class="code"><span class="info file"># File 'lib/pincerna/ip.rb', line 23</span>
899
+
900
+ <span class='kw'>def</span> <span class='id identifier rubyid_perform_filtering'>perform_filtering</span><span class='lparen'>(</span><span class='id identifier rubyid_query'>query</span><span class='rparen'>)</span>
901
+ <span class='ivar'>@interface_filter</span> <span class='op'>||=</span> <span class='id identifier rubyid_query'>query</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span> <span class='op'>?</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>.*</span><span class='regexp_end'>/</span></span> <span class='op'>:</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_query'>query</span><span class='embexpr_end'>}</span><span class='regexp_end'>/i</span></span>
902
+
903
+ <span class='comment'># Get local addresses
904
+ </span> <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_get_local_addresses'>get_local_addresses</span>
905
+
906
+ <span class='comment'># Sort interfaces and address, IPv4 first then IPv6
907
+ </span> <span class='id identifier rubyid_rv'>rv</span><span class='period'>.</span><span class='id identifier rubyid_sort!'>sort!</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_left'>left</span><span class='comma'>,</span> <span class='id identifier rubyid_right'>right</span><span class='op'>|</span>
908
+ <span class='id identifier rubyid_cmp'>cmp</span> <span class='op'>=</span> <span class='id identifier rubyid_left'>left</span><span class='lbracket'>[</span><span class='symbol'>:interface</span><span class='rbracket'>]</span> <span class='op'>&lt;=&gt;</span> <span class='id identifier rubyid_right'>right</span><span class='lbracket'>[</span><span class='symbol'>:interface</span><span class='rbracket'>]</span> <span class='comment'># Interface name first
909
+ </span> <span class='id identifier rubyid_cmp'>cmp</span> <span class='op'>=</span> <span class='id identifier rubyid_compare_ip_classes'>compare_ip_classes</span><span class='lparen'>(</span><span class='id identifier rubyid_left'>left</span><span class='lbracket'>[</span><span class='symbol'>:address</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_right'>right</span><span class='lbracket'>[</span><span class='symbol'>:address</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_cmp'>cmp</span> <span class='op'>==</span> <span class='int'>0</span> <span class='comment'># Now IPv4 first then IPv6
910
+ </span> <span class='id identifier rubyid_cmp'>cmp</span> <span class='op'>=</span> <span class='id identifier rubyid_compare_ip_addresses'>compare_ip_addresses</span><span class='lparen'>(</span><span class='id identifier rubyid_left'>left</span><span class='lbracket'>[</span><span class='symbol'>:address</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_right'>right</span><span class='lbracket'>[</span><span class='symbol'>:address</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_cmp'>cmp</span> <span class='op'>==</span> <span class='int'>0</span> <span class='comment'># Finally addresses
911
+ </span> <span class='id identifier rubyid_cmp'>cmp</span>
912
+ <span class='rbrace'>}</span>
913
+
914
+ <span class='comment'># Add public address
915
+ </span> <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_rv'>rv</span><span class='period'>.</span><span class='id identifier rubyid_insert'>insert</span><span class='lparen'>(</span><span class='int'>0</span><span class='comma'>,</span> <span class='id identifier rubyid_get_public_address'>get_public_address</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='ivar'>@interface_filter</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>public</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
916
+
917
+ <span class='id identifier rubyid_rv'>rv</span>
918
+ <span class='kw'>end</span></pre>
919
+ </td>
920
+ </tr>
921
+ </table>
922
+ </div>
923
+
924
+ <div class="method_details ">
925
+ <h3 class="signature " id="process_results-instance_method">
926
+
927
+ - (<tt>Array</tt>) <strong>process_results</strong>(results)
928
+
929
+
930
+
931
+
932
+
933
+ </h3><div class="docstring">
934
+ <div class="discussion">
935
+ <p>Processes items to obtain feedback items.</p>
936
+
937
+
938
+ </div>
939
+ </div>
940
+ <div class="tags">
941
+ <p class="tag_title">Parameters:</p>
942
+ <ul class="param">
943
+
944
+ <li>
945
+
946
+ <span class='name'>results</span>
947
+
948
+
949
+ <span class='type'>(<tt>Array</tt>)</span>
950
+
951
+
952
+
953
+ &mdash;
954
+ <div class='inline'><p>The items to process.</p>
955
+ </div>
956
+
957
+ </li>
958
+
959
+ </ul>
960
+
961
+ <p class="tag_title">Returns:</p>
962
+ <ul class="return">
963
+
964
+ <li>
965
+
966
+
967
+ <span class='type'>(<tt>Array</tt>)</span>
968
+
969
+
970
+
971
+ &mdash;
972
+ <div class='inline'><p>The feedback items.</p>
973
+ </div>
974
+
975
+ </li>
976
+
977
+ </ul>
978
+
979
+ </div><table class="source_code">
980
+ <tr>
981
+ <td>
982
+ <pre class="lines">
983
+
984
+
985
+ 47
986
+ 48
987
+ 49
988
+ 50
989
+ 51
990
+ 52</pre>
991
+ </td>
992
+ <td>
993
+ <pre class="code"><span class="info file"># File 'lib/pincerna/ip.rb', line 47</span>
994
+
995
+ <span class='kw'>def</span> <span class='id identifier rubyid_process_results'>process_results</span><span class='lparen'>(</span><span class='id identifier rubyid_results'>results</span><span class='rparen'>)</span>
996
+ <span class='id identifier rubyid_results'>results</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_result'>result</span><span class='op'>|</span>
997
+ <span class='id identifier rubyid_title'>title</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_result'>result</span><span class='lbracket'>[</span><span class='symbol'>:interface</span><span class='rbracket'>]</span> <span class='op'>?</span> <span class='id identifier rubyid_result'>result</span><span class='lbracket'>[</span><span class='symbol'>:interface</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Public</span><span class='tstring_end'>&quot;</span></span><span class='embexpr_end'>}</span><span class='tstring_content'> IP: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_result'>result</span><span class='lbracket'>[</span><span class='symbol'>:address</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
998
+ <span class='lbrace'>{</span><span class='label'>title:</span> <span class='id identifier rubyid_title'>title</span><span class='comma'>,</span> <span class='label'>arg:</span> <span class='id identifier rubyid_result'>result</span><span class='lbracket'>[</span><span class='symbol'>:address</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='label'>subtitle:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Action this item to copy the IP on the clipboard.</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='label'>icon:</span> <span class='const'>ICON</span><span class='rbrace'>}</span>
999
+ <span class='kw'>end</span>
1000
+ <span class='kw'>end</span></pre>
1001
+ </td>
1002
+ </tr>
1003
+ </table>
1004
+ </div>
1005
+
1006
+ </div>
1007
+
1008
+ </div>
1009
+
1010
+ <div id="footer">
1011
+ Generated on Thu Aug 18 15:50:04 2016 by
1012
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1013
+ 0.8.7 (ruby-2.3.0).
1014
+ </div>
1015
+
1016
+ </body>
1017
+ </html>