sarah 2.2.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,10 @@
1
+ 2014-04-26 Version 3.0.0
2
+
3
+ #concat is now an alias for #append!. It was mistakenly an alias
4
+ for #+ in 2.x.x.
5
+
6
+ Fixed indexing for #push to sparse array.
7
+
1
8
  2014-04-11 Version 2.2.0
2
9
 
3
10
  Also allow :nsq selector for #each and #empty?.
@@ -60,11 +60,11 @@
60
60
  # @author Brian Katzung (briank@kappacs.com), Kappa Computer Solutions, LLC
61
61
  # @copyright 2013-2014 Brian Katzung and Kappa Computer Solutions, LLC
62
62
  # @license MIT License
63
- # @version 2.2.0
63
+ # @version 3.0.0
64
64
 
65
65
  class Sarah
66
66
 
67
- VERSION = "2.2.0"
67
+ VERSION = "3.0.0"
68
68
 
69
69
  # Private attributes:
70
70
  # seq [Array] An array of (zero-origin) sequential values.
@@ -203,13 +203,14 @@ class Sarah
203
203
  # Return a new Sarah that is the concatenation of this one and
204
204
  # another object.
205
205
  #
206
- # (#+ alias since 2.0.0)
206
+ # Note: #concat was incorrectly aliased to #+ in 2.x.x. #concat is
207
+ # actually an alias for #append!.
208
+ #
209
+ # @since 2.0.0
207
210
  def + (other)
208
211
  new_similar(:from => self).append!(other)
209
212
  end
210
213
 
211
- alias_method :concat, :+
212
-
213
214
  # Compute the array difference with another object.
214
215
  #
215
216
  # Random-access hash values are only removed when both keys and values
@@ -236,10 +237,7 @@ class Sarah
236
237
  def << (*vlist)
237
238
  if !@spr.empty?
238
239
  # Sparse push
239
- vlist.each do |value|
240
- self[@ary_next] = value
241
- @ary_next += 1
242
- end
240
+ vlist.each { |value| self[@ary_next] = value }
243
241
  else
244
242
  # Sequential push
245
243
  @seq.push *vlist
@@ -335,6 +333,8 @@ class Sarah
335
333
 
336
334
  # Append arrays or Sarahs and merge hashes.
337
335
  #
336
+ # (#concat alias since 3.0.0)
337
+ #
338
338
  # @param ahlist [Array<Array, Hash, Sarah>] The structures to append.
339
339
  # @return [Sarah]
340
340
  def append! (*ahlist)
@@ -351,6 +351,8 @@ class Sarah
351
351
  self
352
352
  end
353
353
 
354
+ alias_method :concat, :append!
355
+
354
356
  # Return the first associated array. See Array#assoc and Hash#assoc.
355
357
  # The result is always in Array#assoc format.
356
358
  #
@@ -386,8 +388,6 @@ class Sarah
386
388
  self
387
389
  end
388
390
 
389
- # #collect and #collect! are not implemented, but see #ary_collect!.
390
-
391
391
  # Collect (map) in-place. The block (required) is passed the current
392
392
  # value and the index/key (in that order). The return value of the
393
393
  # block becomes the new value.
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "sarah"
3
- s.version = "2.2.0"
4
- s.date = "2014-04-11"
3
+ s.version = "3.0.0"
4
+ s.date = "2014-04-26"
5
5
  s.authors = ["Brian Katzung"]
6
6
  s.email = ["briank@kappacs.com"]
7
7
  s.homepage = "http://rubygems.org/gems/sarah"
@@ -0,0 +1,40 @@
1
+ require 'minitest/autorun'
2
+ require 'sarah'
3
+
4
+ class TestSarah_17 < MiniTest::Unit::TestCase
5
+
6
+ def test_append
7
+ s1 = Sarah[1, 'two' => 2]
8
+ s2 = Sarah[2, 'three' => 3]
9
+ s1.append! s2
10
+ assert_equal({ 0=>1, 1=>2, 'two'=>2, 'three'=>3 }, s1.to_h,
11
+ 's1.append! s2')
12
+ end
13
+
14
+ def test_concat
15
+ s1 = Sarah[1, 'two' => 2]
16
+ s2 = Sarah[2, 'three' => 3]
17
+ s1.concat s2
18
+ assert_equal({ 0=>1, 1=>2, 'two'=>2, 'three'=>3 }, s1.to_h,
19
+ 's1.concat s2')
20
+ end
21
+
22
+ def test_plus
23
+ s1 = Sarah[1, 'two' => 2]
24
+ s2 = Sarah[2, 'three' => 3]
25
+ s3 = s1 + s2
26
+ assert_equal({ 0=>1, 1=>2, 'two'=>2, 'three'=>3 }, s3.to_h, 's1+s2')
27
+ assert_equal({ 0=>1, 'two'=>2 }, s1.to_h, 's1 unchanged')
28
+ end
29
+
30
+ def test_sparse
31
+ s1 = Sarah[1, 5 => 'five']
32
+ s2 = Sarah[2, 6 => 'six']
33
+ s1.concat s2
34
+ assert_equal({ 0=>1, 5=>'five', 6=>2, 7=>'six' }, s1.to_h,
35
+ 'sparse s1.concat s2')
36
+ end
37
+
38
+ end
39
+
40
+ # END
metadata CHANGED
@@ -3,10 +3,10 @@ name: sarah
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
- - 2
7
- - 2
6
+ - 3
8
7
  - 0
9
- version: 2.2.0
8
+ - 0
9
+ version: 3.0.0
10
10
  platform: ruby
11
11
  authors:
12
12
  - Brian Katzung
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2014-04-11 00:00:00 -05:00
17
+ date: 2014-04-26 00:00:00 -05:00
18
18
  default_executable:
19
19
  dependencies: []
20
20
 
@@ -29,19 +29,6 @@ extra_rdoc_files: []
29
29
 
30
30
  files:
31
31
  - lib/sarah.rb
32
- - lib/doc/js/full_list.js
33
- - lib/doc/js/app.js
34
- - lib/doc/js/jquery.js
35
- - lib/doc/file_list.html
36
- - lib/doc/css/full_list.css
37
- - lib/doc/css/style.css
38
- - lib/doc/css/common.css
39
- - lib/doc/class_list.html
40
- - lib/doc/_index.html
41
- - lib/doc/top-level-namespace.html
42
- - lib/doc/method_list.html
43
- - lib/doc/index.html
44
- - lib/doc/frames.html
45
32
  - sarah.gemspec
46
33
  - HISTORY.txt
47
34
  - .yardopts
@@ -49,6 +36,7 @@ files:
49
36
  - test/02new.rb
50
37
  - test/00class.rb
51
38
  - test/08set_ops.rb
39
+ - test/17concat.rb
52
40
  - test/10count_size.rb
53
41
  - test/15v210.rb
54
42
  - test/13misc.rb
@@ -99,6 +87,7 @@ test_files:
99
87
  - test/02new.rb
100
88
  - test/00class.rb
101
89
  - test/08set_ops.rb
90
+ - test/17concat.rb
102
91
  - test/10count_size.rb
103
92
  - test/15v210.rb
104
93
  - test/13misc.rb
@@ -1,88 +0,0 @@
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
- Documentation by YARD 0.8.5.2
8
-
9
- </title>
10
-
11
- <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
12
-
13
- <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
14
-
15
- <script type="text/javascript" charset="utf-8">
16
- hasFrames = window.top.frames.main ? true : false;
17
- relpath = '';
18
- framesUrl = "frames.html#!" + escape(window.location.href);
19
- </script>
20
-
21
-
22
- <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
23
-
24
- <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
25
-
26
-
27
- </head>
28
- <body>
29
- <div id="header">
30
- <div id="menu">
31
-
32
-
33
- <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
34
- </div>
35
-
36
- <div id="search">
37
-
38
- <a class="full_list_link" id="class_list_link"
39
- href="class_list.html">
40
- Class List
41
- </a>
42
-
43
- <a class="full_list_link" id="method_list_link"
44
- href="method_list.html">
45
- Method List
46
- </a>
47
-
48
- <a class="full_list_link" id="file_list_link"
49
- href="file_list.html">
50
- File List
51
- </a>
52
-
53
- </div>
54
- <div class="clear"></div>
55
- </div>
56
-
57
- <iframe id="search_frame"></iframe>
58
-
59
- <div id="content"><h1 class="noborder title">Documentation by YARD 0.8.5.2</h1>
60
- <div id="listing">
61
- <h1 class="alphaindex">Alphabetic Index</h1>
62
-
63
- <div class="clear"></div>
64
- <h2>Namespace Listing A-Z</h2>
65
-
66
-
67
-
68
-
69
- <table>
70
- <tr>
71
- <td valign='top' width="33%">
72
-
73
- </td>
74
- </tr>
75
- </table>
76
-
77
- </div>
78
-
79
- </div>
80
-
81
- <div id="footer">
82
- Generated on Fri Mar 28 22:10:10 2014 by
83
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
84
- 0.8.5.2 (ruby-1.9.2).
85
- </div>
86
-
87
- </body>
88
- </html>
@@ -1,53 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
- <html>
4
- <head>
5
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
-
7
- <link rel="stylesheet" href="css/full_list.css" type="text/css" media="screen" charset="utf-8" />
8
-
9
- <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
10
-
11
-
12
-
13
- <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
14
-
15
- <script type="text/javascript" charset="utf-8" src="js/full_list.js"></script>
16
-
17
-
18
- <base id="base_target" target="_parent" />
19
- </head>
20
- <body>
21
- <script type="text/javascript" charset="utf-8">
22
- if (window.top.frames.main) {
23
- document.getElementById('base_target').target = 'main';
24
- document.body.className = 'frames';
25
- }
26
- </script>
27
- <div id="content">
28
- <h1 id="full_list_header">Class List</h1>
29
- <div id="nav">
30
-
31
- <span><a target="_self" href="class_list.html">
32
- Classes
33
- </a></span>
34
-
35
- <span><a target="_self" href="method_list.html">
36
- Methods
37
- </a></span>
38
-
39
- <span><a target="_self" href="file_list.html">
40
- Files
41
- </a></span>
42
-
43
- </div>
44
- <div id="search">Search: <input type="text" /></div>
45
-
46
- <ul id="full_list" class="class">
47
- <li><span class='object_link'><a href="top-level-namespace.html" title=" (root)">Top Level Namespace</a></span></li>
48
-
49
-
50
- </ul>
51
- </div>
52
- </body>
53
- </html>
@@ -1 +0,0 @@
1
- /* Override this file with custom rules */
@@ -1,57 +0,0 @@
1
- body {
2
- margin: 0;
3
- font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif;
4
- font-size: 13px;
5
- height: 101%;
6
- overflow-x: hidden;
7
- }
8
-
9
- h1 { padding: 12px 10px; padding-bottom: 0; margin: 0; font-size: 1.4em; }
10
- .clear { clear: both; }
11
- #search { position: absolute; right: 5px; top: 9px; padding-left: 24px; }
12
- #content.insearch #search, #content.insearch #noresults { background: url(data:image/gif;base64,R0lGODlhEAAQAPYAAP///wAAAPr6+pKSkoiIiO7u7sjIyNjY2J6engAAAI6OjsbGxjIyMlJSUuzs7KamppSUlPLy8oKCghwcHLKysqSkpJqamvT09Pj4+KioqM7OzkRERAwMDGBgYN7e3ujo6Ly8vCoqKjY2NkZGRtTU1MTExDw8PE5OTj4+PkhISNDQ0MrKylpaWrS0tOrq6nBwcKysrLi4uLq6ul5eXlxcXGJiYoaGhuDg4H5+fvz8/KKiohgYGCwsLFZWVgQEBFBQUMzMzDg4OFhYWBoaGvDw8NbW1pycnOLi4ubm5kBAQKqqqiQkJCAgIK6urnJyckpKSjQ0NGpqatLS0sDAwCYmJnx8fEJCQlRUVAoKCggICLCwsOTk5ExMTPb29ra2tmZmZmhoaNzc3KCgoBISEiIiIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCAAAACwAAAAAEAAQAAAHaIAAgoMgIiYlg4kACxIaACEJCSiKggYMCRselwkpghGJBJEcFgsjJyoAGBmfggcNEx0flBiKDhQFlIoCCA+5lAORFb4AJIihCRbDxQAFChAXw9HSqb60iREZ1omqrIPdJCTe0SWI09GBACH5BAkIAAAALAAAAAAQABAAAAdrgACCgwc0NTeDiYozCQkvOTo9GTmDKy8aFy+NOBA7CTswgywJDTIuEjYFIY0JNYMtKTEFiRU8Pjwygy4ws4owPyCKwsMAJSTEgiQlgsbIAMrO0dKDGMTViREZ14kYGRGK38nHguHEJcvTyIEAIfkECQgAAAAsAAAAABAAEAAAB2iAAIKDAggPg4iJAAMJCRUAJRIqiRGCBI0WQEEJJkWDERkYAAUKEBc4Po1GiKKJHkJDNEeKig4URLS0ICImJZAkuQAhjSi/wQyNKcGDCyMnk8u5rYrTgqDVghgZlYjcACTA1sslvtHRgQAh+QQJCAAAACwAAAAAEAAQAAAHZ4AAgoOEhYaCJSWHgxGDJCQARAtOUoQRGRiFD0kJUYWZhUhKT1OLhR8wBaaFBzQ1NwAlkIszCQkvsbOHL7Y4q4IuEjaqq0ZQD5+GEEsJTDCMmIUhtgk1lo6QFUwJVDKLiYJNUd6/hoEAIfkECQgAAAAsAAAAABAAEAAAB2iAAIKDhIWGgiUlh4MRgyQkjIURGRiGGBmNhJWHm4uen4ICCA+IkIsDCQkVACWmhwSpFqAABQoQF6ALTkWFnYMrVlhWvIKTlSAiJiVVPqlGhJkhqShHV1lCW4cMqSkAR1ofiwsjJyqGgQAh+QQJCAAAACwAAAAAEAAQAAAHZ4AAgoOEhYaCJSWHgxGDJCSMhREZGIYYGY2ElYebi56fhyWQniSKAKKfpaCLFlAPhl0gXYNGEwkhGYREUywag1wJwSkHNDU3D0kJYIMZQwk8MjPBLx9eXwuETVEyAC/BOKsuEjYFhoEAIfkECQgAAAAsAAAAABAAEAAAB2eAAIKDhIWGgiUlh4MRgyQkjIURGRiGGBmNhJWHm4ueICImip6CIQkJKJ4kigynKaqKCyMnKqSEK05StgAGQRxPYZaENqccFgIID4KXmQBhXFkzDgOnFYLNgltaSAAEpxa7BQoQF4aBACH5BAkIAAAALAAAAAAQABAAAAdogACCg4SFggJiPUqCJSWGgkZjCUwZACQkgxGEXAmdT4UYGZqCGWQ+IjKGGIUwPzGPhAc0NTewhDOdL7Ykji+dOLuOLhI2BbaFETICx4MlQitdqoUsCQ2vhKGjglNfU0SWmILaj43M5oEAOwAAAAAAAAAAAA==) no-repeat center left; }
13
- #full_list { padding: 0; list-style: none; margin-left: 0; }
14
- #full_list ul { padding: 0; }
15
- #full_list li { padding: 5px; padding-left: 12px; margin: 0; font-size: 1.1em; list-style: none; }
16
- #noresults { padding: 7px 12px; }
17
- #content.insearch #noresults { margin-left: 7px; }
18
- ul.collapsed ul, ul.collapsed li { display: none; }
19
- ul.collapsed.search_uncollapsed { display: block; }
20
- ul.collapsed.search_uncollapsed li { display: list-item; }
21
- li a.toggle { cursor: default; position: relative; left: -5px; top: 4px; text-indent: -999px; width: 10px; height: 9px; margin-left: -10px; display: block; float: left; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAASCAYAAABb0P4QAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAK8AAACvABQqw0mAAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTM5jWRgMAAAAVdEVYdENyZWF0aW9uIFRpbWUAMy8xNC8wOeNZPpQAAAE2SURBVDiNrZTBccIwEEXfelIAHUA6CZ24BGaWO+FuzZAK4k6gg5QAdGAq+Bxs2Yqx7BzyL7Llp/VfzZeQhCTc/ezuGzKKnKSzpCxXJM8fwNXda3df5RZETlIt6YUzSQDs93sl8w3wBZxCCE10GM1OcWbWjB2mWgEH4Mfdyxm3PSepBHibgQE2wLe7r4HjEidpnXMYdQPKEMJcsZ4zs2POYQOcaPfwMVOo58zsAdMt18BuoVDPxUJRacELbXv3hUIX2vYmOUvi8C8ydz/ThjXrqKqqLbDIAdsCKBd+Wo7GWa7o9qzOQHVVVXeAbs+yHHCH4aTsaCOQqunmUy1yBUAXkdMIfMlgF5EXLo2OpV/c/Up7jG4hhHcYLgWzAZXUc2b2ixsfvc/RmNNfOXD3Q/oeL9axJE1yT9IOoUu6MGUkAAAAAElFTkSuQmCC) no-repeat bottom left; }
22
- li.collapsed a.toggle { opacity: 0.5; cursor: default; background-position: top left; }
23
- li { color: #888; cursor: pointer; }
24
- li.deprecated { text-decoration: line-through; font-style: italic; }
25
- li.r1 { background: #f0f0f0; }
26
- li.r2 { background: #fafafa; }
27
- li:hover { background: #ddd; }
28
- li small:before { content: "("; }
29
- li small:after { content: ")"; }
30
- li small.search_info { display: none; }
31
- a:link, a:visited { text-decoration: none; color: #05a; }
32
- li.clicked { background: #05a; color: #ccc; }
33
- li.clicked a:link, li.clicked a:visited { color: #eee; }
34
- li.clicked a.toggle { opacity: 0.5; background-position: bottom right; }
35
- li.collapsed.clicked a.toggle { background-position: top right; }
36
- #search input { border: 1px solid #bbb; -moz-border-radius: 3px; -webkit-border-radius: 3px; }
37
- #nav { margin-left: 10px; font-size: 0.9em; display: none; color: #aaa; }
38
- #nav a:link, #nav a:visited { color: #358; }
39
- #nav a:hover { background: transparent; color: #5af; }
40
- .frames #nav span:after { content: ' | '; }
41
- .frames #nav span:last-child:after { content: ''; }
42
-
43
- .frames #content h1 { margin-top: 0; }
44
- .frames li { white-space: nowrap; cursor: normal; }
45
- .frames li small { display: block; font-size: 0.8em; }
46
- .frames li small:before { content: ""; }
47
- .frames li small:after { content: ""; }
48
- .frames li small.search_info { display: none; }
49
- .frames #search { width: 170px; position: static; margin: 3px; margin-left: 10px; font-size: 0.9em; color: #888; padding-left: 0; padding-right: 24px; }
50
- .frames #content.insearch #search { background-position: center right; }
51
- .frames #search input { width: 110px; }
52
- .frames #nav { display: block; }
53
-
54
- #full_list.insearch li { display: none; }
55
- #full_list.insearch li.found { display: list-item; padding-left: 10px; }
56
- #full_list.insearch li a.toggle { display: none; }
57
- #full_list.insearch li small.search_info { display: block; }
@@ -1,338 +0,0 @@
1
- body {
2
- padding: 0 20px;
3
- font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif;
4
- font-size: 13px;
5
- }
6
- body.frames { padding: 0 5px; }
7
- h1 { font-size: 25px; margin: 1em 0 0.5em; padding-top: 4px; border-top: 1px dotted #d5d5d5; }
8
- h1.noborder { border-top: 0px; margin-top: 0; padding-top: 4px; }
9
- h1.title { margin-bottom: 10px; }
10
- h1.alphaindex { margin-top: 0; font-size: 22px; }
11
- h2 {
12
- padding: 0;
13
- padding-bottom: 3px;
14
- border-bottom: 1px #aaa solid;
15
- font-size: 1.4em;
16
- margin: 1.8em 0 0.5em;
17
- }
18
- h2 small { font-weight: normal; font-size: 0.7em; display: block; float: right; }
19
- .clear { clear: both; }
20
- .inline { display: inline; }
21
- .inline p:first-child { display: inline; }
22
- .docstring h1, .docstring h2, .docstring h3, .docstring h4 { padding: 0; border: 0; border-bottom: 1px dotted #bbb; }
23
- .docstring h1 { font-size: 1.2em; }
24
- .docstring h2 { font-size: 1.1em; }
25
- .docstring h3, .docstring h4 { font-size: 1em; border-bottom: 0; padding-top: 10px; }
26
- .summary_desc .object_link, .docstring .object_link { font-family: monospace; }
27
- .rdoc-term { padding-right: 25px; font-weight: bold; }
28
- .rdoc-list p { margin: 0; padding: 0; margin-bottom: 4px; }
29
-
30
- /* style for <table> */
31
- #filecontents table, .docstring table { border-collapse: collapse; }
32
- #filecontents table th, #filecontents table td,
33
- .docstring table th, .docstring table td { border: 1px solid #ccc; padding: 8px; padding-right: 17px; }
34
- #filecontents table tr:nth-child(odd),
35
- .docstring table tr:nth-child(odd) { background: #eee; }
36
- #filecontents table tr:nth-child(even),
37
- .docstring table tr:nth-child(even) { background: #fff; }
38
- #filecontents table th, .docstring table th { background: #fff; }
39
-
40
- /* style for <ul> */
41
- #filecontents li > p, .docstring li > p { margin: 0px; }
42
- #filecontents ul, .docstring ul { padding-left: 20px; }
43
- /* style for <dl> */
44
- #filecontents dl, .docstring dl { border: 1px solid #ccc; }
45
- #filecontents dt, .docstring dt { background: #ddd; font-weight: bold; padding: 3px 5px; }
46
- #filecontents dd, .docstring dd { padding: 5px 0px; margin-left: 18px; }
47
- #filecontents dd > p, .docstring dd > p { margin: 0px; }
48
-
49
- .note {
50
- color: #222;
51
- -moz-border-radius: 3px; -webkit-border-radius: 3px;
52
- background: #e3e4e3; border: 1px solid #d5d5d5; padding: 7px 10px;
53
- display: block;
54
- }
55
- .note.todo { background: #ffffc5; border-color: #ececaa; }
56
- .note.returns_void { background: #efefef; }
57
- .note.deprecated { background: #ffe5e5; border-color: #e9dada; }
58
- .note.private { background: #ffffc5; border-color: #ececaa; }
59
- .note.title { padding: 1px 5px; font-size: 0.9em; font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif; display: inline; }
60
- .summary_signature + .note.title { margin-left: 7px; }
61
- h1 .note.title { font-size: 0.5em; font-weight: normal; padding: 3px 5px; position: relative; top: -3px; text-transform: capitalize; }
62
- .note.title.constructor { color: #fff; background: #6a98d6; border-color: #6689d6; }
63
- .note.title.writeonly { color: #fff; background: #45a638; border-color: #2da31d; }
64
- .note.title.readonly { color: #fff; background: #6a98d6; border-color: #6689d6; }
65
- .note.title.private { background: #d5d5d5; border-color: #c5c5c5; }
66
- .note.title.not_defined_here { background: transparent; border: none; font-style: italic; }
67
- .discussion .note { margin-top: 6px; }
68
- .discussion .note:first-child { margin-top: 0; }
69
-
70
- h3.inherited {
71
- font-style: italic;
72
- font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif;
73
- font-weight: normal;
74
- padding: 0;
75
- margin: 0;
76
- margin-top: 12px;
77
- margin-bottom: 3px;
78
- font-size: 13px;
79
- }
80
- p.inherited {
81
- padding: 0;
82
- margin: 0;
83
- margin-left: 25px;
84
- }
85
-
86
- #filecontents dl.box, dl.box {
87
- border: 0;
88
- width: 520px;
89
- font-size: 1em;
90
- }
91
- #filecontents dl.box dt, dl.box dt {
92
- float: left;
93
- display: block;
94
- width: 100px;
95
- margin: 0;
96
- text-align: right;
97
- font-weight: bold;
98
- background: transparent;
99
- border: 1px solid #aaa;
100
- border-width: 1px 0px 0px 1px;
101
- padding: 6px 0;
102
- padding-right: 10px;
103
- }
104
- #filecontents dl.box dd, dl.box dd {
105
- float: left;
106
- display: block;
107
- width: 380px;
108
- margin: 0;
109
- padding: 6px 0;
110
- padding-right: 20px;
111
- border: 1px solid #aaa;
112
- border-width: 1px 1px 0 0;
113
- }
114
- #filecontents dl.box .last, dl.box .last {
115
- border-bottom: 1px solid #aaa;
116
- }
117
- #filecontents dl.box .r1, dl.box .r1 { background: #eee; }
118
-
119
- ul.toplevel { list-style: none; padding-left: 0; font-size: 1.1em; }
120
- .index_inline_list { padding-left: 0; font-size: 1.1em; }
121
- .index_inline_list li { list-style: none; display: inline; padding: 7px 12px; line-height: 35px; }
122
-
123
- dl.constants { margin-left: 40px; }
124
- dl.constants dt { font-weight: bold; font-size: 1.1em; margin-bottom: 5px; }
125
- dl.constants dd { width: 75%; white-space: pre; font-family: monospace; margin-bottom: 18px; }
126
-
127
- .summary_desc { margin-left: 32px; display: block; font-family: sans-serif; }
128
- .summary_desc tt { font-size: 0.9em; }
129
- dl.constants .note { padding: 2px 6px; padding-right: 12px; margin-top: 6px; }
130
- dl.constants .docstring { margin-left: 32px; font-size: 0.9em; font-weight: normal; }
131
- dl.constants .tags { padding-left: 32px; font-size: 0.9em; line-height: 0.8em; }
132
- dl.constants .discussion *:first-child { margin-top: 0; }
133
- dl.constants .discussion *:last-child { margin-bottom: 0; }
134
-
135
- .method_details { border-top: 1px dotted #aaa; margin-top: 15px; padding-top: 0; }
136
- .method_details.first { border: 0; }
137
- p.signature, h3.signature {
138
- font-size: 1.1em; font-weight: normal; font-family: Monaco, Consolas, Courier, monospace;
139
- padding: 6px 10px; margin-top: 18px;
140
- background: #e5e8ff; border: 1px solid #d8d8e5; -moz-border-radius: 3px; -webkit-border-radius: 3px;
141
- }
142
- p.signature tt,
143
- h3.signature tt { font-family: Monaco, Consolas, Courier, monospace; }
144
- p.signature .overload,
145
- h3.signature .overload { display: block; }
146
- p.signature .extras,
147
- h3.signature .extras { font-weight: normal; font-family: sans-serif; color: #444; font-size: 1em; }
148
- p.signature .not_defined_here,
149
- h3.signature .not_defined_here,
150
- p.signature .aliases,
151
- h3.signature .aliases { display: block; font-weight: normal; font-size: 0.9em; font-family: sans-serif; margin-top: 0px; color: #555; }
152
- p.signature .aliases .names,
153
- h3.signature .aliases .names { font-family: Monaco, Consolas, Courier, monospace; font-weight: bold; color: #000; font-size: 1.2em; }
154
-
155
- .tags .tag_title { font-size: 1em; margin-bottom: 0; font-weight: bold; }
156
- .tags ul { margin-top: 5px; padding-left: 30px; list-style: square; }
157
- .tags ul li { margin-bottom: 3px; }
158
- .tags ul .name { font-family: monospace; font-weight: bold; }
159
- .tags ul .note { padding: 3px 6px; }
160
- .tags { margin-bottom: 12px; }
161
-
162
- .tags .examples .tag_title { margin-bottom: 10px; font-weight: bold; }
163
- .tags .examples .inline p { padding: 0; margin: 0; margin-left: 15px; font-weight: bold; font-size: 0.9em; }
164
-
165
- .tags .overload .overload_item { list-style: none; margin-bottom: 25px; }
166
- .tags .overload .overload_item .signature {
167
- padding: 2px 8px;
168
- background: #e5e8ff; border: 1px solid #d8d8e5; -moz-border-radius: 3px; -webkit-border-radius: 3px;
169
- }
170
- .tags .overload .signature { margin-left: -15px; font-family: monospace; display: block; font-size: 1.1em; }
171
- .tags .overload .docstring { margin-top: 15px; }
172
-
173
- .defines { display: none; }
174
-
175
- #method_missing_details .notice.this { position: relative; top: -8px; color: #888; padding: 0; margin: 0; }
176
-
177
- .showSource { font-size: 0.9em; }
178
- .showSource a:link, .showSource a:visited { text-decoration: none; color: #666; }
179
-
180
- #content a:link, #content a:visited { text-decoration: none; color: #05a; }
181
- #content a:hover { background: #ffffa5; }
182
- div.docstring, p.docstring { margin-right: 6em; }
183
-
184
- ul.summary {
185
- list-style: none;
186
- font-family: monospace;
187
- font-size: 1em;
188
- line-height: 1.5em;
189
- }
190
- ul.summary a:link, ul.summary a:visited {
191
- text-decoration: none; font-size: 1.1em;
192
- }
193
- ul.summary li { margin-bottom: 5px; }
194
- .summary .summary_signature {
195
- padding: 1px 10px;
196
- background: #eaeaff; border: 1px solid #dfdfe5;
197
- -moz-border-radius: 3px; -webkit-border-radius: 3px;
198
- }
199
- .summary_signature:hover { background: #eeeeff; cursor: pointer; }
200
- ul.summary.compact li { display: inline-block; margin: 0px 5px 0px 0px; line-height: 2.6em;}
201
- ul.summary.compact .summary_signature { padding: 5px 7px; padding-right: 4px; }
202
- #content .summary_signature:hover a:link,
203
- #content .summary_signature:hover a:visited {
204
- background: transparent;
205
- color: #48f;
206
- }
207
-
208
- p.inherited a { font-family: monospace; font-size: 0.9em; }
209
- p.inherited { word-spacing: 5px; font-size: 1.2em; }
210
-
211
- p.children { font-size: 1.2em; }
212
- p.children a { font-size: 0.9em; }
213
- p.children strong { font-size: 0.8em; }
214
- p.children strong.modules { padding-left: 5px; }
215
-
216
- ul.fullTree { display: none; padding-left: 0; list-style: none; margin-left: 0; margin-bottom: 10px; }
217
- ul.fullTree ul { margin-left: 0; padding-left: 0; list-style: none; }
218
- ul.fullTree li { text-align: center; padding-top: 18px; padding-bottom: 12px; background: url(data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAAHtJREFUeNqMzrEJAkEURdGzuhgZbSoYWcAWoBVsB4JgZAGmphsZCZYzTQgWNCYrDN9RvMmHx+X916SUBFbo8CzD1idXrLErw1mQttgXtyrOcQ/Ny5p4Qh+2XqLYYazsPWNTiuMkRxa4vcV+evuNAUOLIx5+c2hyzv7hNQC67Q+/HHmlEwAAAABJRU5ErkJggg==) no-repeat top center; }
219
- ul.fullTree li:first-child { padding-top: 0; background: transparent; }
220
- ul.fullTree li:last-child { padding-bottom: 0; }
221
- .showAll ul.fullTree { display: block; }
222
- .showAll .inheritName { display: none; }
223
-
224
- #search { position: absolute; right: 14px; top: 0px; }
225
- #search a:link, #search a:visited {
226
- display: block; float: left; margin-right: 4px;
227
- padding: 8px 10px; text-decoration: none; color: #05a;
228
- border: 1px solid #d8d8e5;
229
- -moz-border-radius-bottomleft: 3px; -moz-border-radius-bottomright: 3px;
230
- -webkit-border-bottom-left-radius: 3px; -webkit-border-bottom-right-radius: 3px;
231
- background: #eaf0ff;
232
- -webkit-box-shadow: -1px 1px 3px #ddd;
233
- }
234
- #search a:hover { background: #f5faff; color: #06b; }
235
- #search a.active {
236
- background: #568; padding-bottom: 20px; color: #fff; border: 1px solid #457;
237
- -moz-border-radius-topleft: 5px; -moz-border-radius-topright: 5px;
238
- -webkit-border-top-left-radius: 5px; -webkit-border-top-right-radius: 5px;
239
- }
240
- #search a.inactive { color: #999; }
241
- .frames #search { display: none; }
242
- .inheritanceTree, .toggleDefines { float: right; }
243
-
244
- #menu { font-size: 1.3em; color: #bbb; top: -5px; position: relative; }
245
- #menu .title, #menu a { font-size: 0.7em; }
246
- #menu .title a { font-size: 1em; }
247
- #menu .title { color: #555; }
248
- #menu a:link, #menu a:visited { color: #333; text-decoration: none; border-bottom: 1px dotted #bbd; }
249
- #menu a:hover { color: #05a; }
250
- #menu .noframes { display: inline; }
251
- .frames #menu .noframes { display: inline; float: right; }
252
-
253
- #footer { margin-top: 15px; border-top: 1px solid #ccc; text-align: center; padding: 7px 0; color: #999; }
254
- #footer a:link, #footer a:visited { color: #444; text-decoration: none; border-bottom: 1px dotted #bbd; }
255
- #footer a:hover { color: #05a; }
256
-
257
- #listing ul.alpha { font-size: 1.1em; }
258
- #listing ul.alpha { margin: 0; padding: 0; padding-bottom: 10px; list-style: none; }
259
- #listing ul.alpha li.letter { font-size: 1.4em; padding-bottom: 10px; }
260
- #listing ul.alpha ul { margin: 0; padding-left: 15px; }
261
- #listing ul small { color: #666; font-size: 0.7em; }
262
-
263
- li.r1 { background: #f0f0f0; }
264
- li.r2 { background: #fafafa; }
265
-
266
- #search_frame {
267
- z-index: 9999;
268
- background: #fff;
269
- display: none;
270
- position: absolute;
271
- top: 36px;
272
- right: 18px;
273
- width: 500px;
274
- height: 80%;
275
- overflow-y: scroll;
276
- border: 1px solid #999;
277
- border-collapse: collapse;
278
- -webkit-box-shadow: -7px 5px 25px #aaa;
279
- -moz-box-shadow: -7px 5px 25px #aaa;
280
- -moz-border-radius: 2px;
281
- -webkit-border-radius: 2px;
282
- }
283
-
284
- #content ul.summary li.deprecated .summary_signature a:link,
285
- #content ul.summary li.deprecated .summary_signature a:visited { text-decoration: line-through; font-style: italic; }
286
-
287
- #toc {
288
- padding: 20px; padding-right: 30px; border: 1px solid #ddd; float: right; background: #fff; margin-left: 20px; margin-bottom: 20px;
289
- max-width: 300px;
290
- -webkit-box-shadow: -2px 2px 6px #bbb;
291
- -moz-box-shadow: -2px 2px 6px #bbb;
292
- z-index: 5000;
293
- position: relative;
294
- }
295
- #toc.nofloat { float: none; max-width: none; border: none; padding: 0; margin: 20px 0; -webkit-box-shadow: none; -moz-box-shadow: none; }
296
- #toc.nofloat.hidden { padding: 0; background: 0; margin-bottom: 5px; }
297
- #toc .title { margin: 0; }
298
- #toc ol { padding-left: 1.8em; }
299
- #toc li { font-size: 1.1em; line-height: 1.7em; }
300
- #toc > ol > li { font-size: 1.1em; font-weight: bold; }
301
- #toc ol > ol { font-size: 0.9em; }
302
- #toc ol ol > ol { padding-left: 2.3em; }
303
- #toc ol + li { margin-top: 0.3em; }
304
- #toc.hidden { padding: 10px; background: #f6f6f6; -webkit-box-shadow: none; -moz-box-shadow: none; }
305
- #filecontents h1 + #toc.nofloat { margin-top: 0; }
306
-
307
- /* syntax highlighting */
308
- .source_code { display: none; padding: 3px 8px; border-left: 8px solid #ddd; margin-top: 5px; }
309
- #filecontents pre.code, .docstring pre.code, .source_code pre { font-family: monospace; }
310
- #filecontents pre.code, .docstring pre.code { display: block; }
311
- .source_code .lines { padding-right: 12px; color: #555; text-align: right; }
312
- #filecontents pre.code, .docstring pre.code,
313
- .tags pre.example { padding: 5px 12px; margin-top: 4px; border: 1px solid #eef; background: #f5f5ff; }
314
- pre.code { color: #000; }
315
- pre.code .info.file { color: #555; }
316
- pre.code .val { color: #036A07; }
317
- pre.code .tstring_content,
318
- pre.code .heredoc_beg, pre.code .heredoc_end,
319
- pre.code .qwords_beg, pre.code .qwords_end,
320
- pre.code .tstring, pre.code .dstring { color: #036A07; }
321
- pre.code .fid, pre.code .rubyid_new, pre.code .rubyid_to_s,
322
- pre.code .rubyid_to_sym, pre.code .rubyid_to_f,
323
- pre.code .dot + pre.code .id,
324
- pre.code .rubyid_to_i pre.code .rubyid_each { color: #0085FF; }
325
- pre.code .comment { color: #0066FF; }
326
- pre.code .const, pre.code .constant { color: #585CF6; }
327
- pre.code .symbol { color: #C5060B; }
328
- pre.code .kw,
329
- pre.code .label,
330
- pre.code .rubyid_require,
331
- pre.code .rubyid_extend,
332
- pre.code .rubyid_include { color: #0000FF; }
333
- pre.code .ivar { color: #318495; }
334
- pre.code .gvar,
335
- pre.code .rubyid_backref,
336
- pre.code .rubyid_nth_ref { color: #6D79DE; }
337
- pre.code .regexp, .dregexp { color: #036A07; }
338
- pre.code a { border-bottom: 1px dotted #bbf; }