monotony 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/.rdoc_options +17 -0
  4. data/Gemfile +4 -0
  5. data/LICENSE.txt +21 -0
  6. data/README.md +78 -0
  7. data/Rakefile +1 -0
  8. data/bin/console +14 -0
  9. data/bin/setup +7 -0
  10. data/lib/monotony.rb +22 -0
  11. data/lib/monotony/.yardoc/checksums +0 -0
  12. data/lib/monotony/.yardoc/object_types +0 -0
  13. data/lib/monotony/.yardoc/objects/root.dat +0 -0
  14. data/lib/monotony/.yardoc/proxy_types +0 -0
  15. data/lib/monotony/basicproperty.rb +174 -0
  16. data/lib/monotony/behaviour.rb +103 -0
  17. data/lib/monotony/chance.rb +53 -0
  18. data/lib/monotony/communitychest.rb +57 -0
  19. data/lib/monotony/doc/_index.html +88 -0
  20. data/lib/monotony/doc/class_list.html +58 -0
  21. data/lib/monotony/doc/css/common.css +1 -0
  22. data/lib/monotony/doc/css/full_list.css +57 -0
  23. data/lib/monotony/doc/css/style.css +339 -0
  24. data/lib/monotony/doc/file_list.html +57 -0
  25. data/lib/monotony/doc/frames.html +26 -0
  26. data/lib/monotony/doc/index.html +88 -0
  27. data/lib/monotony/doc/js/app.js +219 -0
  28. data/lib/monotony/doc/js/full_list.js +181 -0
  29. data/lib/monotony/doc/js/jquery.js +4 -0
  30. data/lib/monotony/doc/method_list.html +57 -0
  31. data/lib/monotony/doc/top-level-namespace.html +102 -0
  32. data/lib/monotony/game.rb +307 -0
  33. data/lib/monotony/player.rb +191 -0
  34. data/lib/monotony/purchasable.rb +131 -0
  35. data/lib/monotony/square.rb +23 -0
  36. data/lib/monotony/station.rb +24 -0
  37. data/lib/monotony/utility.rb +23 -0
  38. data/lib/monotony/variants.rb +405 -0
  39. data/lib/monotony/version.rb +4 -0
  40. data/monotony.gemspec +33 -0
  41. metadata +125 -0
@@ -0,0 +1,53 @@
1
+ require 'monotony/square'
2
+
3
+ module Monotony
4
+
5
+ # A chance square.
6
+ class Chance < Square
7
+
8
+ # @param [Hash] opts
9
+ # @option opts [String] :name The name of the square. As chance squares are traditionally all called 'Chance', in the default layout we are calling these squares 'Chance 1', 'Chance 2', etc.
10
+ def initialize(opts)
11
+ @name = opts[:name]
12
+ @action = Proc.new do |game, owner, player, property|
13
+ this_chance = game.chance
14
+ puts '[%s] Drew a chance: %s' % [ player.name, this_chance ]
15
+
16
+ case this_chance
17
+ when /Go to jail/
18
+ when 'Go back three spaces'
19
+ moved_to = player.move(-3)
20
+ puts '[%s] Moved back to %s' % [ player.name, moved_to ]
21
+ when 'Take a trip to Marylebone Station'
22
+ player.move('Marylebone Station')
23
+ when 'Advance to Mayfair'
24
+ player.move('Mayfair')
25
+ when 'Advance to Trafalgar Square'
26
+ player.move('Trafalgar Square')
27
+ when 'Advance to GO'
28
+ player.move('GO')
29
+ when 'Advance to Pall Mall'
30
+ player.move('Pall Mall')
31
+ when /Your building loan matures/
32
+ game.pay_player(player, 100)
33
+ when /Speeding fine/
34
+ player.pay(:free_parking, 15, 'speeding fine')
35
+ when /school fees/
36
+ player.pay(:free_parking, 150, 'school fees')
37
+ when /Bank pays you/
38
+ game.pay_player(player, 50)
39
+ when /Drunk in charge/
40
+ player.pay(:free_parking, 50, 'being drunk in charge')
41
+ when /crossword/
42
+ game.pay_player(player, 100)
43
+ when /general repairs/
44
+ player.pay(:free_parking, (25 * player.num_houses) + (100 * player.num_hotels), 'general repairs')
45
+ when /street repairs/
46
+ player.pay(:free_parking, (40 * player.num_houses) + (115 * player.num_hotels), 'street repairs')
47
+ when /jail free/
48
+ player.jail_free_cards = player.jail_free_cards + 1
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,57 @@
1
+ require 'monotony/square'
2
+
3
+ module Monotony
4
+
5
+ # A community chest square.
6
+ class CommunityChest < Square
7
+
8
+ # @param [Hash] opts
9
+ # @option opts [String] :name the name of the square. As community chest squares are traditionally all called 'Community Chest', in the default layout we are calling these squares 'Community Chest 1', 'Community Chest 2', etc.
10
+ def initialize(opts)
11
+ @name = opts[:name]
12
+ @action = Proc.new do |game, owner, player, property|
13
+ this_cc = game.community_chest
14
+ puts '[%s] Drew a community chest: %s' % [ player.name, this_cc ]
15
+
16
+ case this_cc
17
+ when /It is your birthday/
18
+ game.players.reject { |p| p.name == player.name }.each do |other_player|
19
+ other_player.pay(player, 10)
20
+ end
21
+ when /Old Kent Road/
22
+ player.move('Old Kent Road', :backwards)
23
+ when /Go to jail/
24
+ player.in_jail = true
25
+ player.move('Jail')
26
+ puts '[%s] Got sent to jail!' % player.name
27
+ when /Annuity matures/
28
+ game.pay_player(player, 150)
29
+ when /sale of stock/
30
+ game.pay_player(player, 50)
31
+ when /preference shares/
32
+ game.pay_player(player, 25)
33
+ when /tax refund/
34
+ game.pay_player(player, 20)
35
+ when /insurance premium/
36
+ player.pay(:free_parking, 50, 'insurance')
37
+ when /Doctor/
38
+ player.pay(:free_parking, 50, "doctor's fees")
39
+ when /Bank error/
40
+ game.pay_player(player, 200)
41
+ when /hospital/
42
+ player.pay(:free_parking, 100, 'hospital fees')
43
+ when /beauty contest/
44
+ game.pay_player(player, 10)
45
+ when /inherit/
46
+ game.pay_player(player, 100)
47
+ when 'Advance to GO'
48
+ player.move('GO')
49
+ when /jail free/
50
+ player.jail_free_cards = player.jail_free_cards + 1
51
+ when /take a chance/
52
+ player.pay(:free_parking, 10, 'avoiding a chance')
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,88 @@
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.7.6
8
+
9
+ </title>
10
+
11
+ <link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
12
+
13
+ <link rel="stylesheet" href="css/common.css" type="text/css" 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#!_index.html";
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.7.6</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 Sat Dec 12 21:27:20 2015 by
83
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
84
+ 0.8.7.6 (ruby-2.0.0).
85
+ </div>
86
+
87
+ </body>
88
+ </html>
@@ -0,0 +1,58 @@
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
+ <title>Class List</title>
19
+ <base id="base_target" target="_parent" />
20
+ </head>
21
+ <body>
22
+ <script type="text/javascript" charset="utf-8">
23
+ var hasFrames = false;
24
+ try {
25
+ hasFrames = window.top.frames.main ? true : false;
26
+ } catch (e) { }
27
+ if (hasFrames) {
28
+ document.getElementById('base_target').target = 'main';
29
+ document.body.className = 'frames';
30
+ }
31
+ </script>
32
+ <div id="content">
33
+ <h1 id="full_list_header">Class List</h1>
34
+ <div id="nav">
35
+
36
+ <span><a target="_self" href="class_list.html">
37
+ Classes
38
+ </a></span>
39
+
40
+ <span><a target="_self" href="method_list.html">
41
+ Methods
42
+ </a></span>
43
+
44
+ <span><a target="_self" href="file_list.html">
45
+ Files
46
+ </a></span>
47
+
48
+ </div>
49
+ <div id="search">Search: <input type="text" /></div>
50
+
51
+ <ul id="full_list" class="class">
52
+ <li><span class='object_link'><a href="top-level-namespace.html" title="Top Level Namespace (root)">Top Level Namespace</a></span></li>
53
+
54
+
55
+ </ul>
56
+ </div>
57
+ </body>
58
+ </html>
@@ -0,0 +1 @@
1
+ /* Override this file with custom rules */
@@ -0,0 +1,57 @@
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; }
@@ -0,0 +1,339 @@
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,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) 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
+ overflow-x: auto;
295
+ }
296
+ #toc.nofloat { float: none; max-width: none; border: none; padding: 0; margin: 20px 0; -webkit-box-shadow: none; -moz-box-shadow: none; }
297
+ #toc.nofloat.hidden { padding: 0; background: 0; margin-bottom: 5px; }
298
+ #toc .title { margin: 0; }
299
+ #toc ol { padding-left: 1.8em; }
300
+ #toc li { font-size: 1.1em; line-height: 1.7em; }
301
+ #toc > ol > li { font-size: 1.1em; font-weight: bold; }
302
+ #toc ol > ol { font-size: 0.9em; }
303
+ #toc ol ol > ol { padding-left: 2.3em; }
304
+ #toc ol + li { margin-top: 0.3em; }
305
+ #toc.hidden { padding: 10px; background: #f6f6f6; -webkit-box-shadow: none; -moz-box-shadow: none; }
306
+ #filecontents h1 + #toc.nofloat { margin-top: 0; }
307
+
308
+ /* syntax highlighting */
309
+ .source_code { display: none; padding: 3px 8px; border-left: 8px solid #ddd; margin-top: 5px; }
310
+ #filecontents pre.code, .docstring pre.code, .source_code pre { font-family: monospace; }
311
+ #filecontents pre.code, .docstring pre.code { display: block; }
312
+ .source_code .lines { padding-right: 12px; color: #555; text-align: right; }
313
+ #filecontents pre.code, .docstring pre.code,
314
+ .tags pre.example { padding: 5px 12px; margin-top: 4px; border: 1px solid #eef; background: #f5f5ff; }
315
+ pre.code { color: #000; }
316
+ pre.code .info.file { color: #555; }
317
+ pre.code .val { color: #036A07; }
318
+ pre.code .tstring_content,
319
+ pre.code .heredoc_beg, pre.code .heredoc_end,
320
+ pre.code .qwords_beg, pre.code .qwords_end,
321
+ pre.code .tstring, pre.code .dstring { color: #036A07; }
322
+ pre.code .fid, pre.code .rubyid_new, pre.code .rubyid_to_s,
323
+ pre.code .rubyid_to_sym, pre.code .rubyid_to_f,
324
+ pre.code .dot + pre.code .id,
325
+ pre.code .rubyid_to_i pre.code .rubyid_each { color: #0085FF; }
326
+ pre.code .comment { color: #0066FF; }
327
+ pre.code .const, pre.code .constant { color: #585CF6; }
328
+ pre.code .label,
329
+ pre.code .symbol { color: #C5060B; }
330
+ pre.code .kw,
331
+ pre.code .rubyid_require,
332
+ pre.code .rubyid_extend,
333
+ pre.code .rubyid_include { color: #0000FF; }
334
+ pre.code .ivar { color: #318495; }
335
+ pre.code .gvar,
336
+ pre.code .rubyid_backref,
337
+ pre.code .rubyid_nth_ref { color: #6D79DE; }
338
+ pre.code .regexp, .dregexp { color: #036A07; }
339
+ pre.code a { border-bottom: 1px dotted #bbf; }