mcmire-shoulda-matchers 2.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (164) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +12 -0
  3. data/.travis.yml +32 -0
  4. data/.yardopts +7 -0
  5. data/Appraisals +45 -0
  6. data/CONTRIBUTING.md +41 -0
  7. data/Gemfile +31 -0
  8. data/Gemfile.lock +166 -0
  9. data/MIT-LICENSE +22 -0
  10. data/NEWS.md +299 -0
  11. data/README.md +163 -0
  12. data/Rakefile +116 -0
  13. data/doc_config/gh-pages/index.html.erb +9 -0
  14. data/doc_config/yard/setup.rb +22 -0
  15. data/doc_config/yard/templates/default/fulldoc/html/css/bootstrap.css +5967 -0
  16. data/doc_config/yard/templates/default/fulldoc/html/css/full_list.css +12 -0
  17. data/doc_config/yard/templates/default/fulldoc/html/css/global.css +45 -0
  18. data/doc_config/yard/templates/default/fulldoc/html/css/solarized.css +69 -0
  19. data/doc_config/yard/templates/default/fulldoc/html/css/style.css +283 -0
  20. data/doc_config/yard/templates/default/fulldoc/html/full_list.erb +32 -0
  21. data/doc_config/yard/templates/default/fulldoc/html/full_list_class.erb +1 -0
  22. data/doc_config/yard/templates/default/fulldoc/html/full_list_method.erb +8 -0
  23. data/doc_config/yard/templates/default/fulldoc/html/js/app.js +300 -0
  24. data/doc_config/yard/templates/default/fulldoc/html/js/full_list.js +1 -0
  25. data/doc_config/yard/templates/default/fulldoc/html/js/jquery.stickyheaders.js +289 -0
  26. data/doc_config/yard/templates/default/fulldoc/html/js/underscore.min.js +6 -0
  27. data/doc_config/yard/templates/default/fulldoc/html/setup.rb +8 -0
  28. data/doc_config/yard/templates/default/layout/html/breadcrumb.erb +14 -0
  29. data/doc_config/yard/templates/default/layout/html/fonts.erb +1 -0
  30. data/doc_config/yard/templates/default/layout/html/layout.erb +23 -0
  31. data/doc_config/yard/templates/default/layout/html/search.erb +13 -0
  32. data/doc_config/yard/templates/default/layout/html/setup.rb +8 -0
  33. data/doc_config/yard/templates/default/method_details/html/source.erb +10 -0
  34. data/doc_config/yard/templates/default/module/html/box_info.erb +31 -0
  35. data/features/rails_integration.feature +113 -0
  36. data/features/step_definitions/rails_steps.rb +162 -0
  37. data/features/support/env.rb +5 -0
  38. data/gemfiles/3.0.gemfile +24 -0
  39. data/gemfiles/3.0.gemfile.lock +150 -0
  40. data/gemfiles/3.1.gemfile +27 -0
  41. data/gemfiles/3.1.gemfile.lock +173 -0
  42. data/gemfiles/3.2.gemfile +27 -0
  43. data/gemfiles/3.2.gemfile.lock +171 -0
  44. data/gemfiles/4.0.0.gemfile +28 -0
  45. data/gemfiles/4.0.0.gemfile.lock +172 -0
  46. data/gemfiles/4.0.1.gemfile +28 -0
  47. data/gemfiles/4.0.1.gemfile.lock +172 -0
  48. data/lib/shoulda-matchers.rb +1 -0
  49. data/lib/shoulda/matchers.rb +11 -0
  50. data/lib/shoulda/matchers/action_controller.rb +17 -0
  51. data/lib/shoulda/matchers/action_controller/filter_param_matcher.rb +64 -0
  52. data/lib/shoulda/matchers/action_controller/redirect_to_matcher.rb +97 -0
  53. data/lib/shoulda/matchers/action_controller/render_template_matcher.rb +81 -0
  54. data/lib/shoulda/matchers/action_controller/render_with_layout_matcher.rb +117 -0
  55. data/lib/shoulda/matchers/action_controller/rescue_from_matcher.rb +114 -0
  56. data/lib/shoulda/matchers/action_controller/respond_with_matcher.rb +154 -0
  57. data/lib/shoulda/matchers/action_controller/route_matcher.rb +116 -0
  58. data/lib/shoulda/matchers/action_controller/route_params.rb +48 -0
  59. data/lib/shoulda/matchers/action_controller/set_session_matcher.rb +164 -0
  60. data/lib/shoulda/matchers/action_controller/set_the_flash_matcher.rb +296 -0
  61. data/lib/shoulda/matchers/active_model.rb +30 -0
  62. data/lib/shoulda/matchers/active_model/allow_mass_assignment_of_matcher.rb +167 -0
  63. data/lib/shoulda/matchers/active_model/allow_value_matcher.rb +314 -0
  64. data/lib/shoulda/matchers/active_model/disallow_value_matcher.rb +46 -0
  65. data/lib/shoulda/matchers/active_model/ensure_exclusion_of_matcher.rb +160 -0
  66. data/lib/shoulda/matchers/active_model/ensure_inclusion_of_matcher.rb +417 -0
  67. data/lib/shoulda/matchers/active_model/ensure_length_of_matcher.rb +337 -0
  68. data/lib/shoulda/matchers/active_model/errors.rb +10 -0
  69. data/lib/shoulda/matchers/active_model/exception_message_finder.rb +58 -0
  70. data/lib/shoulda/matchers/active_model/have_secure_password_matcher.rb +92 -0
  71. data/lib/shoulda/matchers/active_model/helpers.rb +46 -0
  72. data/lib/shoulda/matchers/active_model/numericality_matchers.rb +9 -0
  73. data/lib/shoulda/matchers/active_model/numericality_matchers/comparison_matcher.rb +75 -0
  74. data/lib/shoulda/matchers/active_model/numericality_matchers/even_number_matcher.rb +27 -0
  75. data/lib/shoulda/matchers/active_model/numericality_matchers/numeric_type_matcher.rb +41 -0
  76. data/lib/shoulda/matchers/active_model/numericality_matchers/odd_number_matcher.rb +27 -0
  77. data/lib/shoulda/matchers/active_model/numericality_matchers/only_integer_matcher.rb +26 -0
  78. data/lib/shoulda/matchers/active_model/validate_absence_of_matcher.rb +112 -0
  79. data/lib/shoulda/matchers/active_model/validate_acceptance_of_matcher.rb +77 -0
  80. data/lib/shoulda/matchers/active_model/validate_confirmation_of_matcher.rb +121 -0
  81. data/lib/shoulda/matchers/active_model/validate_numericality_of_matcher.rb +380 -0
  82. data/lib/shoulda/matchers/active_model/validate_presence_of_matcher.rb +89 -0
  83. data/lib/shoulda/matchers/active_model/validate_uniqueness_of_matcher.rb +372 -0
  84. data/lib/shoulda/matchers/active_model/validation_matcher.rb +97 -0
  85. data/lib/shoulda/matchers/active_model/validation_message_finder.rb +69 -0
  86. data/lib/shoulda/matchers/active_record.rb +22 -0
  87. data/lib/shoulda/matchers/active_record/accept_nested_attributes_for_matcher.rb +204 -0
  88. data/lib/shoulda/matchers/active_record/association_matcher.rb +901 -0
  89. data/lib/shoulda/matchers/active_record/association_matchers.rb +9 -0
  90. data/lib/shoulda/matchers/active_record/association_matchers/counter_cache_matcher.rb +41 -0
  91. data/lib/shoulda/matchers/active_record/association_matchers/dependent_matcher.rb +41 -0
  92. data/lib/shoulda/matchers/active_record/association_matchers/model_reflection.rb +81 -0
  93. data/lib/shoulda/matchers/active_record/association_matchers/model_reflector.rb +65 -0
  94. data/lib/shoulda/matchers/active_record/association_matchers/option_verifier.rb +94 -0
  95. data/lib/shoulda/matchers/active_record/association_matchers/order_matcher.rb +41 -0
  96. data/lib/shoulda/matchers/active_record/association_matchers/source_matcher.rb +41 -0
  97. data/lib/shoulda/matchers/active_record/association_matchers/through_matcher.rb +63 -0
  98. data/lib/shoulda/matchers/active_record/have_db_column_matcher.rb +261 -0
  99. data/lib/shoulda/matchers/active_record/have_db_index_matcher.rb +149 -0
  100. data/lib/shoulda/matchers/active_record/have_readonly_attribute_matcher.rb +72 -0
  101. data/lib/shoulda/matchers/active_record/serialize_matcher.rb +181 -0
  102. data/lib/shoulda/matchers/assertion_error.rb +19 -0
  103. data/lib/shoulda/matchers/error.rb +6 -0
  104. data/lib/shoulda/matchers/integrations/rspec.rb +20 -0
  105. data/lib/shoulda/matchers/integrations/test_unit.rb +30 -0
  106. data/lib/shoulda/matchers/rails_shim.rb +50 -0
  107. data/lib/shoulda/matchers/version.rb +6 -0
  108. data/lib/shoulda/matchers/warn.rb +8 -0
  109. data/shoulda-matchers.gemspec +23 -0
  110. data/spec/shoulda/matchers/action_controller/filter_param_matcher_spec.rb +22 -0
  111. data/spec/shoulda/matchers/action_controller/redirect_to_matcher_spec.rb +42 -0
  112. data/spec/shoulda/matchers/action_controller/render_template_matcher_spec.rb +78 -0
  113. data/spec/shoulda/matchers/action_controller/render_with_layout_matcher_spec.rb +63 -0
  114. data/spec/shoulda/matchers/action_controller/rescue_from_matcher_spec.rb +63 -0
  115. data/spec/shoulda/matchers/action_controller/respond_with_matcher_spec.rb +31 -0
  116. data/spec/shoulda/matchers/action_controller/route_matcher_spec.rb +70 -0
  117. data/spec/shoulda/matchers/action_controller/route_params_spec.rb +30 -0
  118. data/spec/shoulda/matchers/action_controller/set_session_matcher_spec.rb +51 -0
  119. data/spec/shoulda/matchers/action_controller/set_the_flash_matcher_spec.rb +153 -0
  120. data/spec/shoulda/matchers/active_model/allow_mass_assignment_of_matcher_spec.rb +111 -0
  121. data/spec/shoulda/matchers/active_model/allow_value_matcher_spec.rb +170 -0
  122. data/spec/shoulda/matchers/active_model/disallow_value_matcher_spec.rb +81 -0
  123. data/spec/shoulda/matchers/active_model/ensure_exclusion_of_matcher_spec.rb +95 -0
  124. data/spec/shoulda/matchers/active_model/ensure_inclusion_of_matcher_spec.rb +320 -0
  125. data/spec/shoulda/matchers/active_model/ensure_length_of_matcher_spec.rb +166 -0
  126. data/spec/shoulda/matchers/active_model/exception_message_finder_spec.rb +111 -0
  127. data/spec/shoulda/matchers/active_model/have_secure_password_matcher_spec.rb +20 -0
  128. data/spec/shoulda/matchers/active_model/helpers_spec.rb +158 -0
  129. data/spec/shoulda/matchers/active_model/numericality_matchers/comparison_matcher_spec.rb +169 -0
  130. data/spec/shoulda/matchers/active_model/numericality_matchers/even_number_matcher_spec.rb +59 -0
  131. data/spec/shoulda/matchers/active_model/numericality_matchers/odd_number_matcher_spec.rb +59 -0
  132. data/spec/shoulda/matchers/active_model/numericality_matchers/only_integer_matcher_spec.rb +57 -0
  133. data/spec/shoulda/matchers/active_model/validate_absence_of_matcher_spec.rb +139 -0
  134. data/spec/shoulda/matchers/active_model/validate_acceptance_of_matcher_spec.rb +41 -0
  135. data/spec/shoulda/matchers/active_model/validate_confirmation_of_matcher_spec.rb +47 -0
  136. data/spec/shoulda/matchers/active_model/validate_numericality_of_matcher_spec.rb +331 -0
  137. data/spec/shoulda/matchers/active_model/validate_presence_of_matcher_spec.rb +180 -0
  138. data/spec/shoulda/matchers/active_model/validate_uniqueness_of_matcher_spec.rb +398 -0
  139. data/spec/shoulda/matchers/active_model/validation_message_finder_spec.rb +127 -0
  140. data/spec/shoulda/matchers/active_record/accept_nested_attributes_for_matcher_spec.rb +107 -0
  141. data/spec/shoulda/matchers/active_record/association_matcher_spec.rb +860 -0
  142. data/spec/shoulda/matchers/active_record/association_matchers/model_reflection_spec.rb +247 -0
  143. data/spec/shoulda/matchers/active_record/have_db_column_matcher_spec.rb +111 -0
  144. data/spec/shoulda/matchers/active_record/have_db_index_matcher_spec.rb +78 -0
  145. data/spec/shoulda/matchers/active_record/have_readonly_attributes_matcher_spec.rb +41 -0
  146. data/spec/shoulda/matchers/active_record/serialize_matcher_spec.rb +86 -0
  147. data/spec/spec_helper.rb +26 -0
  148. data/spec/support/active_model_versions.rb +13 -0
  149. data/spec/support/active_resource_builder.rb +29 -0
  150. data/spec/support/activemodel_helpers.rb +19 -0
  151. data/spec/support/capture_helpers.rb +19 -0
  152. data/spec/support/class_builder.rb +42 -0
  153. data/spec/support/controller_builder.rb +74 -0
  154. data/spec/support/fail_with_message_including_matcher.rb +33 -0
  155. data/spec/support/fail_with_message_matcher.rb +32 -0
  156. data/spec/support/i18n_faker.rb +10 -0
  157. data/spec/support/mailer_builder.rb +10 -0
  158. data/spec/support/model_builder.rb +81 -0
  159. data/spec/support/rails_versions.rb +18 -0
  160. data/spec/support/shared_examples/numerical_submatcher.rb +19 -0
  161. data/spec/support/shared_examples/numerical_type_submatcher.rb +17 -0
  162. data/spec/support/test_application.rb +120 -0
  163. data/yard.watchr +5 -0
  164. metadata +281 -0
@@ -0,0 +1,12 @@
1
+ body {
2
+ font-size: 14px;
3
+ padding: 20px;
4
+ }
5
+
6
+ h1 {
7
+ font-size: 1.5em;
8
+ }
9
+
10
+ .search_info, .toggle {
11
+ display: none;
12
+ }
@@ -0,0 +1,45 @@
1
+ @import "http://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400,600,600italic,800|Droid+Sans+Mono";
2
+
3
+ body {
4
+ font-size: 16px;
5
+ line-height: 1.5;
6
+ }
7
+
8
+ a, a:hover {
9
+ color: #136cc6;
10
+ }
11
+
12
+ h1, h2, h3, h4, h5, h6, p, pre {
13
+ margin-bottom: 1em;
14
+ margin-top: 0;
15
+ }
16
+
17
+ h1, h2, h3, h4, h5, h6, body {
18
+ font-family: "Source Sans Pro", sans-serif;
19
+ }
20
+
21
+ h1, h2, h3, h4, h5, h6 {
22
+ font-weight: 800;
23
+ }
24
+
25
+ pre, tt, code {
26
+ background: #FFFBF4;
27
+ border-radius: 3px;
28
+ border: 1px solid rgba(0,0,0,0.1);
29
+ font-family: "Droid Sans Mono", monospace;
30
+ font-size: 13px;
31
+ }
32
+
33
+ pre code {
34
+ border: none;
35
+ }
36
+
37
+ tt, code {
38
+ color: black;
39
+ padding: 0 4px;
40
+ }
41
+
42
+ ul, ol {
43
+ margin-left: 1em;
44
+ padding-left: 1em;
45
+ }
@@ -0,0 +1,69 @@
1
+ pre, code { background-color: #fdf6e3; color: #586e75 }
2
+ pre .c { color: #93a1a1 } /* Comment */
3
+ pre .err { color: #586e75 } /* Error */
4
+ pre .g { color: #586e75 } /* Generic */
5
+ pre .k { color: #859900 } /* Keyword */
6
+ pre .l { color: #586e75 } /* Literal */
7
+ pre .n { color: #586e75 } /* Name */
8
+ pre .o { color: #859900 } /* Operator */
9
+ pre .x { color: #cb4b16 } /* Other */
10
+ pre .p { color: #586e75 } /* Punctuation */
11
+ pre .cm { color: #93a1a1 } /* Comment.Multiline */
12
+ pre .cp { color: #859900 } /* Comment.Preproc */
13
+ pre .c1 { color: #93a1a1 } /* Comment.Single */
14
+ pre .cs { color: #859900 } /* Comment.Special */
15
+ pre .gd { color: #2aa198 } /* Generic.Deleted */
16
+ pre .ge { color: #586e75; font-style: italic } /* Generic.Emph */
17
+ pre .gr { color: #dc322f } /* Generic.Error */
18
+ pre .gh { color: #cb4b16 } /* Generic.Heading */
19
+ pre .gi { color: #859900 } /* Generic.Inserted */
20
+ pre .go { color: #586e75 } /* Generic.Output */
21
+ pre .gp { color: #586e75 } /* Generic.Prompt */
22
+ pre .gs { color: #586e75; font-weight: bold } /* Generic.Strong */
23
+ pre .gu { color: #cb4b16 } /* Generic.Subheading */
24
+ pre .gt { color: #586e75 } /* Generic.Traceback */
25
+ pre .kc { color: #cb4b16 } /* Keyword.Constant */
26
+ pre .kd { color: #268bd2 } /* Keyword.Declaration */
27
+ pre .kn { color: #859900 } /* Keyword.Namespace */
28
+ pre .kp { color: #859900 } /* Keyword.Pseudo */
29
+ pre .kr { color: #268bd2 } /* Keyword.Reserved */
30
+ pre .kt { color: #dc322f } /* Keyword.Type */
31
+ pre .ld { color: #586e75 } /* Literal.Date */
32
+ pre .m { color: #2aa198 } /* Literal.Number */
33
+ pre .s { color: #2aa198 } /* Literal.String */
34
+ pre .na { color: #586e75 } /* Name.Attribute */
35
+ pre .nb { color: #B58900 } /* Name.Builtin */
36
+ pre .nc { color: #268bd2 } /* Name.Class */
37
+ pre .no { color: #cb4b16 } /* Name.Constant */
38
+ pre .nd { color: #268bd2 } /* Name.Decorator */
39
+ pre .ni { color: #cb4b16 } /* Name.Entity */
40
+ pre .ne { color: #cb4b16 } /* Name.Exception */
41
+ pre .nf { color: #268bd2 } /* Name.Function */
42
+ pre .nl { color: #586e75 } /* Name.Label */
43
+ pre .nn { color: #586e75 } /* Name.Namespace */
44
+ pre .nx { color: #586e75 } /* Name.Other */
45
+ pre .py { color: #586e75 } /* Name.Property */
46
+ pre .nt { color: #268bd2 } /* Name.Tag */
47
+ pre .nv { color: #268bd2 } /* Name.Variable */
48
+ pre .ow { color: #859900 } /* Operator.Word */
49
+ pre .w { color: #586e75 } /* Text.Whitespace */
50
+ pre .mf { color: #2aa198 } /* Literal.Number.Float */
51
+ pre .mh { color: #2aa198 } /* Literal.Number.Hex */
52
+ pre .mi { color: #2aa198 } /* Literal.Number.Integer */
53
+ pre .mo { color: #2aa198 } /* Literal.Number.Oct */
54
+ pre .sb { color: #93a1a1 } /* Literal.String.Backtick */
55
+ pre .sc { color: #2aa198 } /* Literal.String.Char */
56
+ pre .sd { color: #586e75 } /* Literal.String.Doc */
57
+ pre .s2 { color: #2aa198 } /* Literal.String.Double */
58
+ pre .se { color: #cb4b16 } /* Literal.String.Escape */
59
+ pre .sh { color: #586e75 } /* Literal.String.Heredoc */
60
+ pre .si { color: #2aa198 } /* Literal.String.Interpol */
61
+ pre .sx { color: #2aa198 } /* Literal.String.Other */
62
+ pre .sr { color: #dc322f } /* Literal.String.Regex */
63
+ pre .s1 { color: #2aa198 } /* Literal.String.Single */
64
+ pre .ss { color: #2aa198 } /* Literal.String.Symbol */
65
+ pre .bp { color: #268bd2 } /* Name.Builtin.Pseudo */
66
+ pre .vc { color: #268bd2 } /* Name.Variable.Class */
67
+ pre .vg { color: #268bd2 } /* Name.Variable.Global */
68
+ pre .vi { color: #268bd2 } /* Name.Variable.Instance */
69
+ pre .il { color: #2aa198 } /* Literal.Number.Integer.Long */
@@ -0,0 +1,283 @@
1
+ /******** LAYOUT *********/
2
+
3
+ h1 {
4
+ font-size: 2.2em;
5
+ margin-top: 1em;
6
+ }
7
+
8
+ h2 {
9
+ font-size: 2em;
10
+ }
11
+
12
+ h2, h3 {
13
+ margin-top: 1em;
14
+ padding-top: 0.5em;
15
+ }
16
+
17
+ h4, h5 {
18
+ margin-top: 1em;
19
+ }
20
+
21
+ h1 + h2,
22
+ h2 + h3,
23
+ h2 + .method_details h3,
24
+ h4 + h5 {
25
+ margin-top: 0;
26
+ }
27
+
28
+ #main h3 tt,
29
+ #sticky-header tt {
30
+ background: transparent;
31
+ border: none;
32
+ font-family: "Source Sans Pro", sans-serif;
33
+ font-size: 1em;
34
+ font-style: italic;
35
+ font-weight: normal;
36
+ padding: 0;
37
+ }
38
+
39
+ #main h2,
40
+ #main h3,
41
+ #sticky-header h2,
42
+ #sticky-header h3 {
43
+ border: none;
44
+ padding-bottom: 0;
45
+ }
46
+
47
+ #main h2,
48
+ #sticky-header h2 {
49
+ font-size: 1.8em;
50
+ }
51
+
52
+ #main h3,
53
+ #sticky-header h3 {
54
+ font-size: 1.5em;
55
+ font-style: italic;
56
+ }
57
+
58
+ #main h4,
59
+ #sticky-header h4 {
60
+ border-bottom: 1px solid rgba(0,0,0,0.3);
61
+ font-size: 1.4em;
62
+ font-style: italic;
63
+ padding-bottom: 2px;
64
+ }
65
+
66
+ #main h5,
67
+ #sticky-header h5 {
68
+ font-size: 1.1em;
69
+ }
70
+
71
+ #sticky-header h2,
72
+ #sticky-header h3,
73
+ #sticky-header h4 {
74
+ line-height: inherit;
75
+ margin: 0;
76
+ padding: 0;
77
+ }
78
+
79
+ /* Header */
80
+
81
+ #header, #main {
82
+ position: absolute;
83
+ }
84
+
85
+ #header {
86
+ left: 0;
87
+ right: 0;
88
+ top: 0;
89
+ }
90
+
91
+ #menu, #search {
92
+ height: 6rem;
93
+ line-height: 6rem;
94
+ text-transform: uppercase;
95
+ }
96
+ #main {
97
+ top: 6rem;
98
+ }
99
+
100
+ #menu {
101
+ float: left;
102
+ letter-spacing: 1px;
103
+ padding-left: 2em;
104
+ position: relative;
105
+ width: 30em;
106
+ }
107
+
108
+ #menu .noframes {
109
+ display: inline;
110
+ }
111
+
112
+ #search {
113
+ float: right;
114
+ font-size: 0.9em;
115
+ }
116
+
117
+ #search ul {
118
+ list-style: none;
119
+ }
120
+
121
+ #search ul, #search li {
122
+ margin: 0;
123
+ padding: 0;
124
+ display: inline;
125
+ }
126
+
127
+ #search a {
128
+ border-left: 1px solid rgba(0,0,0,0.3);
129
+ float: left;
130
+ padding: 0 2em;
131
+ text-align: center;
132
+ text-decoration: none;
133
+ -webkit-transition: 0.1s background-color, 0.1s color;
134
+ -moz-transition: 0.1s background-color, 0.1s color;
135
+ transition: 0.1s background-color, 0.1s color;
136
+ }
137
+
138
+ #search a:hover {
139
+ background-color: #f0f8ff;
140
+ }
141
+
142
+ #search .active a {
143
+ background-color: #136cc6;
144
+ border-left-color: #136cc6;
145
+ color: white;
146
+ }
147
+
148
+ #search .active + li a {
149
+ border-left-color: #136cc6;
150
+ }
151
+
152
+ #search_frame {
153
+ background: white;
154
+ border: 1px solid rgba(0,0,0,0.2);
155
+ box-shadow: 0px 2px 3px 0px rgba(0,0,0,0.3);
156
+ height: 0;
157
+ opacity: 0;
158
+ position: absolute;
159
+ right: 0;
160
+ top: 100%;
161
+ -webkit-transition: 0.1s height ease-in-out, 0.1s opacity 0.05s;
162
+ -moz-transition: 0.1s height ease-in-out, 0.1s opacity 0.05s;
163
+ transition: 0.1s height ease-in-out, 0.1s opacity 0.05s;
164
+ width: 500px;
165
+ z-index: 9999;
166
+ }
167
+ #search_frame.open {
168
+ height: 500px;
169
+ opacity: 1;
170
+ -webkit-transition: 0.1s height ease-in-out, 0.1s opacity;
171
+ -moz-transition: 0.1s height ease-in-out, 0.1s opacity;
172
+ transition: 0.1s height ease-in-out, 0.1s opacity;
173
+ }
174
+
175
+ /* Main */
176
+
177
+ #main {
178
+ border-top: 1px solid rgba(0,0,0,0.2);
179
+ bottom: 0;
180
+ left: 0;
181
+ overflow-y: auto;
182
+ right: 0;
183
+ }
184
+
185
+ #content {
186
+ padding-bottom: 1.5em;
187
+ padding-left: 2em;
188
+ padding-right: 2em;
189
+ }
190
+
191
+ #toc {
192
+ display: none;
193
+ }
194
+
195
+ /* Footer */
196
+
197
+ #footer {
198
+ background-color: rgba(0,0,0,0.3);
199
+ color: white;
200
+ font-weight: 100;
201
+ padding: 10px;
202
+ text-align: center;
203
+ text-shadow: 0 1px 1px rgba(0,0,0,0.4);
204
+ }
205
+
206
+ #footer a {
207
+ color: #ffedd5;
208
+ }
209
+
210
+ /* Class/Module */
211
+
212
+ .method_details {}
213
+ .method_details td {
214
+ padding: 10px;
215
+ }
216
+
217
+ .method_details .showSource {
218
+ display: block;
219
+ margin-bottom: 1em;
220
+ }
221
+
222
+ .method_details .source_code {
223
+ border: 1px solid rgba(0,0,0,0.1);
224
+ display: none;
225
+ overflow: auto;
226
+ width: 100%;
227
+ }
228
+
229
+ .method_details .source_code pre {
230
+ background-color: transparent;
231
+ border-radius: 0;
232
+ border: none;
233
+ color: inherit;
234
+ margin-bottom: 0;
235
+ padding: 0;
236
+ }
237
+
238
+ .method_details .source_code td {
239
+ border: 1px solid rgba(0,0,0,0.1);
240
+ }
241
+
242
+ .method_details .source_code td.lines {
243
+ background-color: #f0f0f0;
244
+ color: #93a1a1;
245
+ width: 50px;
246
+ }
247
+
248
+ .method_details .source_code td.code {
249
+ background-color: #f8f8f8;
250
+ }
251
+
252
+ .method_details .source_code td.code pre .info {
253
+ color: #93a1a1 /* Comment */
254
+ }
255
+
256
+ .docstring, .method_details .showSource, .method_details .source_code {
257
+ margin-left: 1em;
258
+ }
259
+
260
+ #sticky-header {
261
+ background-color: rgba(255,255,255,0.8);
262
+ border-bottom: 1px solid rgba(0,0,0,0.2);
263
+ height: 3em;
264
+ line-height: 3em;
265
+ opacity: 0;
266
+ padding-left: 2em; /* same as content padding */
267
+ padding-right: 2em; /* same as content padding */
268
+ position: fixed;
269
+ text-align: right;
270
+ top: 6.1rem;
271
+ -webkit-transition: 0.1s opacity ease-in-out;
272
+ -moz-transition: 0.1s opacity ease-in-out;
273
+ transition: 0.1s opacity ease-in-out;
274
+ width: 100%;
275
+ z-index: 999;
276
+ }
277
+ #sticky-header.show {
278
+ opacity: 1;
279
+ }
280
+
281
+ .clear {
282
+ clear: both;
283
+ }
@@ -0,0 +1,32 @@
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=<%= charset %>" />
6
+ <% stylesheets_full_list.each do |stylesheet| %>
7
+ <link rel="stylesheet" href="<%= url_for(stylesheet) %>" type="text/css" media="screen" charset="utf-8" />
8
+ <% end %>
9
+
10
+ <% javascripts_full_list.each do |javascript| %>
11
+ <script type="text/javascript" charset="utf-8" src="<%= url_for(javascript) %>"></script>
12
+ <% end %>
13
+
14
+ <title><%= @list_title %></title>
15
+ <base id="base_target" target="_parent" />
16
+ </head>
17
+ <body>
18
+ <script type="text/javascript" charset="utf-8">
19
+ if (window.top.frames.main) {
20
+ document.getElementById('base_target').target = 'main';
21
+ document.body.className = 'frames';
22
+ }
23
+ </script>
24
+ <div id="content">
25
+ <h1 id="full_list_header"><%= @list_title %></h1>
26
+
27
+ <ul id="full_list" class="<%= @list_class || @list_type %>">
28
+ <%= erb "full_list_#{@list_type}" %>
29
+ </ul>
30
+ </div>
31
+ </body>
32
+ </html>