browser_detect 0.0.1 → 0.0.4
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.
- data/.gitignore +4 -0
- data/.yardopts +5 -0
- data/README.md +77 -0
- data/VERSION +1 -0
- data/browser_detect.gemspec +12 -11
- data/doc/BrowserDetect.html +456 -0
- data/doc/BrowserDetectHelperTest.html +207 -0
- data/doc/BrowserDetectMock.html +313 -0
- data/doc/BrowserDetectMock/req;.html +151 -0
- data/doc/Test.html +157 -0
- data/doc/Test/Unit.html +160 -0
- data/doc/Test/Unit/TestCase.html +270 -0
- data/doc/Test/browser_detect_test_rb.html +54 -0
- data/doc/Test/test_helper_rb.html +58 -0
- data/doc/_index.html +94 -0
- data/doc/class_list.html +36 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +53 -0
- data/doc/css/style.css +307 -0
- data/doc/file.README.html +144 -0
- data/doc/file_list.html +38 -0
- data/doc/frames.html +13 -0
- data/doc/index.html +144 -0
- data/doc/init_rb.html +54 -0
- data/doc/js/app.js +202 -0
- data/doc/js/full_list.js +149 -0
- data/doc/js/jquery.js +154 -0
- data/doc/lib/version_rb.html +52 -0
- data/doc/method_list.html +67 -0
- data/doc/top-level-namespace.html +88 -0
- data/init.rb +5 -0
- data/lib/browser_detect.rb +73 -2
- data/lib/railtie.rb +13 -0
- data/test/browser_detect_test.rb +55 -0
- data/test/fixtures/user_agents.yml +47 -0
- data/test/test_helper.rb +45 -0
- metadata +43 -10
- data/README +0 -0
- data/lib/browser_detect/browser_detect_helper.rb +0 -43
- data/lib/browser_detect/version.rb +0 -3
data/doc/class_list.html
ADDED
@@ -0,0 +1,36 @@
|
|
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 name="Content-Type" content="text/html; charset=utf-8" />
|
6
|
+
<link rel="stylesheet" href="css/full_list.css" type="text/css" media="screen" charset="utf-8" />
|
7
|
+
<link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
|
8
|
+
<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
|
9
|
+
<script type="text/javascript" charset="utf-8" src="js/full_list.js"></script>
|
10
|
+
<base id="base_target" target="_parent" />
|
11
|
+
</head>
|
12
|
+
<body>
|
13
|
+
<script type="text/javascript" charset="utf-8">
|
14
|
+
if (window.top.frames.main) {
|
15
|
+
document.getElementById('base_target').target = 'main';
|
16
|
+
document.body.className = 'frames';
|
17
|
+
}
|
18
|
+
</script>
|
19
|
+
<div id="content">
|
20
|
+
<h1 id="full_list_header">Class List</h1>
|
21
|
+
<div id="nav">
|
22
|
+
<a target="_self" href="class_list.html">Classes</a> |
|
23
|
+
<a target="_self" href="method_list.html">Methods</a> |
|
24
|
+
<a target="_self" href="file_list.html">Files</a>
|
25
|
+
</div>
|
26
|
+
<div id="search">Search: <input type="text" /></div>
|
27
|
+
|
28
|
+
<ul id="full_list" class="class">
|
29
|
+
<li><span class='object_link'><a href="top-level-namespace.html" title=" (root)">Top Level Namespace</a></span></li>
|
30
|
+
<li><span class='object_link'><a href="BrowserDetect.html" title="BrowserDetect (module)">BrowserDetect</a></span><small class='search_info'>Top Level Namespace</small></li>
|
31
|
+
|
32
|
+
</ul>
|
33
|
+
</div>
|
34
|
+
</body>
|
35
|
+
</html>
|
36
|
+
|
data/doc/css/common.css
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
/* Override this file with custom rules */
|
@@ -0,0 +1,53 @@
|
|
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
|
+
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; }
|
20
|
+
li.collapsed a.toggle { opacity: 0.5; cursor: default; background-position: top left; }
|
21
|
+
li { color: #888; cursor: pointer; }
|
22
|
+
li.deprecated { text-decoration: line-through; font-style: italic; }
|
23
|
+
li.r1 { background: #f0f0f0; }
|
24
|
+
li.r2 { background: #fafafa; }
|
25
|
+
li:hover { background: #ddd; }
|
26
|
+
li small:before { content: "("; }
|
27
|
+
li small:after { content: ")"; }
|
28
|
+
li small.search_info { display: none; }
|
29
|
+
a:link, a:visited { text-decoration: none; color: #05a; }
|
30
|
+
li.clicked { background: #05a; color: #ccc; }
|
31
|
+
li.clicked a:link, li.clicked a:visited { color: #eee; }
|
32
|
+
li.clicked a.toggle { opacity: 0.5; background-position: bottom right; }
|
33
|
+
li.collapsed.clicked a.toggle { background-position: top right; }
|
34
|
+
#search input { border: 1px solid #bbb; -moz-border-radius: 3px; -webkit-border-radius: 3px; }
|
35
|
+
#nav { margin-left: 10px; font-size: 0.9em; display: none; color: #aaa; }
|
36
|
+
#nav a:link, #nav a:visited { color: #358; }
|
37
|
+
#nav a:hover { background: transparent; color: #5af; }
|
38
|
+
|
39
|
+
.frames #content h1 { margin-top: 0; }
|
40
|
+
.frames li { white-space: nowrap; cursor: normal; }
|
41
|
+
.frames li small { display: block; font-size: 0.8em; }
|
42
|
+
.frames li small:before { content: ""; }
|
43
|
+
.frames li small:after { content: ""; }
|
44
|
+
.frames li small.search_info { display: none; }
|
45
|
+
.frames #search { width: 170px; position: static; margin: 3px; margin-left: 10px; font-size: 0.9em; color: #888; padding-left: 0; padding-right: 24px; }
|
46
|
+
.frames #content.insearch #search { background-position: center right; }
|
47
|
+
.frames #search input { width: 110px; }
|
48
|
+
.frames #nav { display: block; }
|
49
|
+
|
50
|
+
#full_list.insearch li { display: none; }
|
51
|
+
#full_list.insearch li.found { display: list-item; padding-left: 10px; }
|
52
|
+
#full_list.insearch li a.toggle { display: none; }
|
53
|
+
#full_list.insearch li small.search_info { display: block; }
|
data/doc/css/style.css
ADDED
@@ -0,0 +1,307 @@
|
|
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
|
+
.docstring .object_link { font-family: monospace; }
|
27
|
+
|
28
|
+
.note {
|
29
|
+
color: #222;
|
30
|
+
-moz-border-radius: 3px; -webkit-border-radius: 3px;
|
31
|
+
background: #e3e4e3; border: 1px solid #d5d5d5; padding: 7px 10px;
|
32
|
+
display: block;
|
33
|
+
}
|
34
|
+
.note.todo { background: #ffffc5; border-color: #ececaa; }
|
35
|
+
.note.returns_void { background: #efefef; }
|
36
|
+
.note.deprecated { background: #ffe5e5; border-color: #e9dada; }
|
37
|
+
.note.private { background: #ffffc5; border-color: #ececaa; }
|
38
|
+
.note.title { text-transform: lowercase; padding: 1px 5px; margin-left: 5px; font-size: 0.9em; font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif; display: inline; }
|
39
|
+
h1 .note.title { font-size: 0.5em; font-weight: normal; padding: 3px 5px; position: relative; top: -3px; text-transform: capitalize; }
|
40
|
+
.note.title.constructor { color: #fff; background: #6a98d6; border-color: #6689d6; }
|
41
|
+
.note.title.writeonly { color: #fff; background: #45a638; border-color: #2da31d; }
|
42
|
+
.note.title.readonly { color: #fff; background: #6a98d6; border-color: #6689d6; }
|
43
|
+
.note.title.private { background: #d5d5d5; border-color: #c5c5c5; }
|
44
|
+
|
45
|
+
h3.inherited {
|
46
|
+
font-style: italic;
|
47
|
+
font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif;
|
48
|
+
font-weight: normal;
|
49
|
+
padding: 0;
|
50
|
+
margin: 0;
|
51
|
+
margin-top: 12px;
|
52
|
+
margin-bottom: 3px;
|
53
|
+
font-size: 13px;
|
54
|
+
}
|
55
|
+
p.inherited {
|
56
|
+
padding: 0;
|
57
|
+
margin: 0;
|
58
|
+
margin-left: 25px;
|
59
|
+
}
|
60
|
+
|
61
|
+
dl.box {
|
62
|
+
width: 520px;
|
63
|
+
font-size: 1em;
|
64
|
+
}
|
65
|
+
dl.box dt {
|
66
|
+
float: left;
|
67
|
+
display: block;
|
68
|
+
width: 100px;
|
69
|
+
margin: 0;
|
70
|
+
text-align: right;
|
71
|
+
font-weight: bold;
|
72
|
+
border: 1px solid #aaa;
|
73
|
+
border-width: 1px 0px 0px 1px;
|
74
|
+
padding: 6px 0;
|
75
|
+
padding-right: 10px;
|
76
|
+
}
|
77
|
+
dl.box dd {
|
78
|
+
float: left;
|
79
|
+
display: block;
|
80
|
+
width: 380px;
|
81
|
+
margin: 0;
|
82
|
+
padding: 6px 0;
|
83
|
+
padding-right: 20px;
|
84
|
+
border: 1px solid #aaa;
|
85
|
+
border-width: 1px 1px 0 0;
|
86
|
+
}
|
87
|
+
dl.box .last {
|
88
|
+
border-bottom: 1px solid #aaa;
|
89
|
+
}
|
90
|
+
dl.box .r1 { background: #eee; }
|
91
|
+
|
92
|
+
ul.toplevel { list-style: none; padding-left: 0; font-size: 1.1em; }
|
93
|
+
#files { padding-left: 15px; font-size: 1.1em; }
|
94
|
+
|
95
|
+
#files { padding: 0; }
|
96
|
+
#files li { list-style: none; display: inline; padding: 7px 12px; line-height: 35px; }
|
97
|
+
|
98
|
+
dl.constants { margin-left: 40px; }
|
99
|
+
dl.constants dt { font-weight: bold; font-size: 1.1em; margin-bottom: 5px; }
|
100
|
+
dl.constants dd { width: 75%; white-space: pre; font-family: monospace; margin-bottom: 18px; }
|
101
|
+
|
102
|
+
.summary_desc { margin-left: 32px; display: block; font-family: sans-serif; }
|
103
|
+
.summary_desc tt { font-size: 0.9em; }
|
104
|
+
dl.constants .note { padding: 2px 6px; padding-right: 12px; margin-top: 6px; }
|
105
|
+
dl.constants .docstring { margin-left: 32px; font-size: 0.9em; font-weight: normal; }
|
106
|
+
dl.constants .tags { padding-left: 32px; font-size: 0.9em; line-height: 0.8em; }
|
107
|
+
dl.constants .discussion *:first-child { margin-top: 0; }
|
108
|
+
dl.constants .discussion *:last-child { margin-bottom: 0; }
|
109
|
+
|
110
|
+
.method_details { border-top: 1px dotted #aaa; margin-top: 15px; padding-top: 0; }
|
111
|
+
.method_details.first { border: 0; }
|
112
|
+
p.signature {
|
113
|
+
font-size: 1.1em; font-weight: normal; font-family: Monaco, Consolas, Courier, monospace;
|
114
|
+
padding: 6px 10px; margin-top: 18px;
|
115
|
+
background: #e5e8ff; border: 1px solid #d8d8e5; -moz-border-radius: 3px; -webkit-border-radius: 3px;
|
116
|
+
}
|
117
|
+
p.signature tt { font-family: Monaco, Consolas, Courier, monospace; }
|
118
|
+
p.signature .overload { display: block; }
|
119
|
+
p.signature .extras { font-weight: normal; font-family: sans-serif; color: #444; font-size: 1em; }
|
120
|
+
p.signature .aliases { display: block; font-weight: normal; font-size: 0.9em; font-family: sans-serif; margin-top: 0px; color: #555; }
|
121
|
+
p.signature .aliases .names { font-family: Monaco, Consolas, Courier, monospace; font-weight: bold; color: #000; font-size: 1.2em; }
|
122
|
+
|
123
|
+
.tags h3 { font-size: 1em; margin-bottom: 0; }
|
124
|
+
.tags ul { margin-top: 5px; padding-left: 30px; list-style: square; }
|
125
|
+
.tags ul li { margin-bottom: 3px; }
|
126
|
+
.tags ul .name { font-family: monospace; font-weight: bold; }
|
127
|
+
.tags ul .note { padding: 3px 6px; }
|
128
|
+
.tags { margin-bottom: 12px; }
|
129
|
+
|
130
|
+
.tags .examples h3 { margin-bottom: 10px; }
|
131
|
+
.tags .examples h4 { padding: 0; margin: 0; margin-left: 15px; font-weight: bold; font-size: 0.9em; }
|
132
|
+
|
133
|
+
.tags .overload .overload_item { list-style: none; margin-bottom: 25px; }
|
134
|
+
.tags .overload .overload_item .signature {
|
135
|
+
padding: 2px 8px;
|
136
|
+
background: #e5e8ff; border: 1px solid #d8d8e5; -moz-border-radius: 3px; -webkit-border-radius: 3px;
|
137
|
+
}
|
138
|
+
.tags .overload .signature { margin-left: -15px; font-family: monospace; display: block; font-size: 1.1em; }
|
139
|
+
.tags .overload .docstring { margin-top: 15px; }
|
140
|
+
|
141
|
+
.defines { display: none; }
|
142
|
+
|
143
|
+
#method_missing_details .notice.this { position: relative; top: -8px; color: #888; padding: 0; margin: 0; }
|
144
|
+
|
145
|
+
.showSource { font-size: 0.9em; }
|
146
|
+
.showSource a:link, .showSource a:visited { text-decoration: none; color: #666; }
|
147
|
+
|
148
|
+
#content a:link, #content a:visited { text-decoration: none; color: #05a; }
|
149
|
+
#content a:hover { background: #ffffa5; }
|
150
|
+
.docstring { margin-right: 6em; }
|
151
|
+
|
152
|
+
ul.summary {
|
153
|
+
list-style: none;
|
154
|
+
font-family: monospace;
|
155
|
+
font-size: 1em;
|
156
|
+
line-height: 1.5em;
|
157
|
+
}
|
158
|
+
ul.summary a:link, ul.summary a:visited {
|
159
|
+
text-decoration: none; font-size: 1.1em;
|
160
|
+
}
|
161
|
+
ul.summary li { margin-bottom: 5px; }
|
162
|
+
.summary .summary_signature {
|
163
|
+
padding: 1px 10px;
|
164
|
+
background: #eaeaff; border: 1px solid #dfdfe5;
|
165
|
+
-moz-border-radius: 3px; -webkit-border-radius: 3px;
|
166
|
+
}
|
167
|
+
.summary_signature:hover { background: #eeeeff; cursor: pointer; }
|
168
|
+
ul.summary.compact li { display: inline; margin-right: 5px; line-height: 2.6em;}
|
169
|
+
ul.summary.compact .summary_signature { padding: 5px 7px; padding-right: 4px; }
|
170
|
+
#content .summary_signature:hover a:link,
|
171
|
+
#content .summary_signature:hover a:visited {
|
172
|
+
background: transparent;
|
173
|
+
color: #48f;
|
174
|
+
}
|
175
|
+
|
176
|
+
p.inherited a { font-family: monospace; font-size: 0.9em; }
|
177
|
+
p.inherited { word-spacing: 5px; font-size: 1.2em; }
|
178
|
+
|
179
|
+
p.children { font-size: 1.2em; }
|
180
|
+
p.children a { font-size: 0.9em; }
|
181
|
+
p.children strong { font-size: 0.8em; }
|
182
|
+
p.children strong.modules { padding-left: 5px; }
|
183
|
+
|
184
|
+
ul.fullTree { display: none; padding-left: 0; list-style: none; margin-left: 0; margin-bottom: 10px; }
|
185
|
+
ul.fullTree ul { margin-left: 0; padding-left: 0; list-style: none; }
|
186
|
+
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; }
|
187
|
+
ul.fullTree li:first-child { padding-top: 0; background: transparent; }
|
188
|
+
ul.fullTree li:last-child { padding-bottom: 0; }
|
189
|
+
.showAll ul.fullTree { display: block; }
|
190
|
+
.showAll .inheritName { display: none; }
|
191
|
+
|
192
|
+
#search { position: absolute; right: 14px; top: 0px; }
|
193
|
+
#search a:link, #search a:visited {
|
194
|
+
display: block; float: left; margin-right: 4px;
|
195
|
+
padding: 8px 10px; text-decoration: none; color: #05a;
|
196
|
+
border: 1px solid #d8d8e5;
|
197
|
+
-moz-border-radius-bottomleft: 3px; -moz-border-radius-bottomright: 3px;
|
198
|
+
-webkit-border-bottom-left-radius: 3px; -webkit-border-bottom-right-radius: 3px;
|
199
|
+
background: #eaf0ff;
|
200
|
+
-webkit-box-shadow: -1px 1px 3px #ddd;
|
201
|
+
}
|
202
|
+
#search a:hover { background: #f5faff; color: #06b; }
|
203
|
+
#search a.active {
|
204
|
+
background: #568; padding-bottom: 20px; color: #fff; border: 1px solid #457;
|
205
|
+
-moz-border-radius-topleft: 5px; -moz-border-radius-topright: 5px;
|
206
|
+
-webkit-border-top-left-radius: 5px; -webkit-border-top-right-radius: 5px;
|
207
|
+
}
|
208
|
+
#search a.inactive { color: #999; }
|
209
|
+
.frames #search { display: none; }
|
210
|
+
.inheritanceTree, .toggleDefines { float: right; }
|
211
|
+
|
212
|
+
#menu { font-size: 1.3em; color: #bbb; top: -5px; position: relative; }
|
213
|
+
#menu .title, #menu a { font-size: 0.7em; }
|
214
|
+
#menu .title a { font-size: 1em; }
|
215
|
+
#menu .title { color: #555; }
|
216
|
+
#menu a:link, #menu a:visited { color: #333; text-decoration: none; border-bottom: 1px dotted #bbd; }
|
217
|
+
#menu a:hover { color: #05a; }
|
218
|
+
#menu .noframes { display: none; }
|
219
|
+
.frames #menu .noframes { display: inline; float: right; }
|
220
|
+
|
221
|
+
#footer { margin-top: 15px; border-top: 1px solid #ccc; text-align: center; padding: 7px 0; color: #999; }
|
222
|
+
#footer a:link, #footer a:visited { color: #444; text-decoration: none; border-bottom: 1px dotted #bbd; }
|
223
|
+
#footer a:hover { color: #05a; }
|
224
|
+
|
225
|
+
#listing ul.alpha { font-size: 1.1em; }
|
226
|
+
#listing ul.alpha { margin: 0; padding: 0; padding-bottom: 10px; list-style: none; }
|
227
|
+
#listing ul.alpha li.letter { font-size: 1.4em; padding-bottom: 10px; }
|
228
|
+
#listing ul.alpha ul { margin: 0; padding-left: 15px; }
|
229
|
+
#listing ul small { color: #666; font-size: 0.7em; }
|
230
|
+
|
231
|
+
li.r1 { background: #f0f0f0; }
|
232
|
+
li.r2 { background: #fafafa; }
|
233
|
+
|
234
|
+
#search_frame {
|
235
|
+
z-index: 9999;
|
236
|
+
background: #fff;
|
237
|
+
display: none;
|
238
|
+
position: absolute;
|
239
|
+
top: 36px;
|
240
|
+
right: 18px;
|
241
|
+
width: 500px;
|
242
|
+
height: 80%;
|
243
|
+
overflow-y: scroll;
|
244
|
+
border: 1px solid #999;
|
245
|
+
border-collapse: collapse;
|
246
|
+
-webkit-box-shadow: -7px 5px 25px #aaa;
|
247
|
+
-moz-box-shadow: -7px 5px 25px #aaa;
|
248
|
+
-moz-border-radius: 2px;
|
249
|
+
-webkit-border-radius: 2px;
|
250
|
+
}
|
251
|
+
|
252
|
+
#content ul.summary li.deprecated a:link,
|
253
|
+
#content ul.summary li.deprecated a:visited { text-decoration: line-through; font-style: italic; }
|
254
|
+
|
255
|
+
#toc {
|
256
|
+
padding: 20px; padding-right: 30px; border: 1px solid #ddd; float: right; background: #fff; margin-left: 20px; margin-bottom: 20px;
|
257
|
+
max-width: 300px;
|
258
|
+
-webkit-box-shadow: -2px 2px 6px #bbb;
|
259
|
+
-moz-box-shadow: -2px 2px 6px #bbb;
|
260
|
+
z-index: 5000;
|
261
|
+
position: relative;
|
262
|
+
}
|
263
|
+
#toc.nofloat { float: none; max-width: none; border: none; padding: 0; margin: 20px 0; -webkit-box-shadow: none; -moz-box-shadow: none; }
|
264
|
+
#toc.nofloat.hidden { padding: 0; background: 0; margin-bottom: 5px; }
|
265
|
+
#toc .title { margin: 0; }
|
266
|
+
#toc ol { padding-left: 1.8em; }
|
267
|
+
#toc li { font-size: 1.1em; line-height: 1.7em; }
|
268
|
+
#toc > ol > li { font-size: 1.1em; font-weight: bold; }
|
269
|
+
#toc ol > ol { font-size: 0.9em; }
|
270
|
+
#toc ol ol > ol { padding-left: 2.3em; }
|
271
|
+
#toc ol + li { margin-top: 0.3em; }
|
272
|
+
#toc.hidden { padding: 10px; background: #f6f6f6; -webkit-box-shadow: none; -moz-box-shadow: none; }
|
273
|
+
#filecontents h1 + #toc.nofloat { margin-top: 0; }
|
274
|
+
|
275
|
+
/* syntax highlighting */
|
276
|
+
.source_code { display: none; padding: 3px 8px; border-left: 8px solid #ddd; margin-top: 5px; }
|
277
|
+
#filecontents pre.code, .docstring pre.code, .source_code pre { font-family: monospace; }
|
278
|
+
#filecontents pre.code, .docstring pre.code { display: block; }
|
279
|
+
.source_code .lines { padding-right: 12px; color: #555; text-align: right; }
|
280
|
+
#filecontents pre.code, .docstring pre.code,
|
281
|
+
.tags .example { padding: 5px 12px; margin-top: 4px; border: 1px solid #eef; background: #f5f5ff; }
|
282
|
+
pre.code { color: #000; }
|
283
|
+
pre.code .info.file { color: #555; }
|
284
|
+
pre.code .val { color: #036A07; }
|
285
|
+
pre.code .tstring_content,
|
286
|
+
pre.code .heredoc_beg, pre.code .heredoc_end,
|
287
|
+
pre.code .qwords_beg, pre.code .qwords_end,
|
288
|
+
pre.code .tstring, pre.code .dstring { color: #036A07; }
|
289
|
+
pre.code .fid, pre.code .id.new, pre.code .id.to_s,
|
290
|
+
pre.code .id.to_sym, pre.code .id.to_f,
|
291
|
+
pre.code .dot + pre.code .id,
|
292
|
+
pre.code .id.to_i pre.code .id.each { color: #0085FF; }
|
293
|
+
pre.code .comment { color: #0066FF; }
|
294
|
+
pre.code .const, pre.code .constant { color: #585CF6; }
|
295
|
+
pre.code .symbol { color: #C5060B; }
|
296
|
+
pre.code .kw,
|
297
|
+
pre.code .label,
|
298
|
+
pre.code .id.require,
|
299
|
+
pre.code .id.extend,
|
300
|
+
pre.code .id.include { color: #0000FF; }
|
301
|
+
pre.code .ivar { color: #318495; }
|
302
|
+
pre.code .gvar,
|
303
|
+
pre.code .id.backref,
|
304
|
+
pre.code .id.nth_ref { color: #6D79DE; }
|
305
|
+
pre.code .regexp, .dregexp { color: #036A07; }
|
306
|
+
pre.code a { border-bottom: 1px dotted #bbf; }
|
307
|
+
|
@@ -0,0 +1,144 @@
|
|
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 name="Content-Type" content="text/html; charset=utf-8" />
|
6
|
+
<title>BrowserDetect Documentation</title>
|
7
|
+
<link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
|
8
|
+
<link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
|
9
|
+
|
10
|
+
<script type="text/javascript" charset="utf-8">
|
11
|
+
relpath = '';
|
12
|
+
if (relpath != '') relpath += '/';
|
13
|
+
</script>
|
14
|
+
<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
|
15
|
+
<script type="text/javascript" charset="utf-8" src="js/app.js"></script>
|
16
|
+
|
17
|
+
</head>
|
18
|
+
<body>
|
19
|
+
<script type="text/javascript" charset="utf-8">
|
20
|
+
if (window.top.frames.main) document.body.className = 'frames';
|
21
|
+
</script>
|
22
|
+
|
23
|
+
<div id="header">
|
24
|
+
<div id="menu">
|
25
|
+
|
26
|
+
<a href="_index.html" title="Index">Index</a> »
|
27
|
+
<span class="title">File: README</span>
|
28
|
+
|
29
|
+
|
30
|
+
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
|
31
|
+
</div>
|
32
|
+
|
33
|
+
<div id="search">
|
34
|
+
<a id="class_list_link" href="#">Class List</a>
|
35
|
+
<a id="method_list_link" href="#">Method List</a>
|
36
|
+
<a id ="file_list_link" href="#">File List</a>
|
37
|
+
</div>
|
38
|
+
|
39
|
+
<div class="clear"></div>
|
40
|
+
</div>
|
41
|
+
|
42
|
+
<iframe id="search_frame"></iframe>
|
43
|
+
|
44
|
+
<div id="content"><div id='filecontents'><h1>Browser Detect</h1>
|
45
|
+
|
46
|
+
<p><em>It's like a crystal ball for user agents.</em></p>
|
47
|
+
|
48
|
+
<h2>Detect it.</h2>
|
49
|
+
|
50
|
+
<p>Detects the client browser using the user agent string that was used to make the page request.</p>
|
51
|
+
|
52
|
+
<p>Browser Detect currently supports the following browsers and platforms:</p>
|
53
|
+
|
54
|
+
<p>Browsers:</p>
|
55
|
+
|
56
|
+
<ul>
|
57
|
+
<li>ie</li>
|
58
|
+
<li>gecko</li>
|
59
|
+
<li>konqueror</li>
|
60
|
+
<li>opera</li>
|
61
|
+
<li>ipad</li>
|
62
|
+
<li>ipod</li>
|
63
|
+
<li>iphone</li>
|
64
|
+
<li>chrome</li>
|
65
|
+
<li>safari</li>
|
66
|
+
</ul>
|
67
|
+
|
68
|
+
|
69
|
+
<p>Robots:</p>
|
70
|
+
|
71
|
+
<ul>
|
72
|
+
<li>googlebot</li>
|
73
|
+
<li>msnbot</li>
|
74
|
+
<li>yahoo!</li>
|
75
|
+
</ul>
|
76
|
+
|
77
|
+
|
78
|
+
<p>Operating Systems:</p>
|
79
|
+
|
80
|
+
<ul>
|
81
|
+
<li>TODO</li>
|
82
|
+
</ul>
|
83
|
+
|
84
|
+
|
85
|
+
<h2>Use it.</h2>
|
86
|
+
|
87
|
+
<p>Using Bundler, all you need to do is add the source to your Gemfile:</p>
|
88
|
+
|
89
|
+
<pre class="code"><span class='id gem'>gem</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>browser_detect</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='symbol'>:git</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>git://github.com/traction/browser_detect.git</span><span class='tstring_end'>"</span></span>
|
90
|
+
</pre>
|
91
|
+
|
92
|
+
<h2>Install it:</h2>
|
93
|
+
|
94
|
+
<p>Then run:</p>
|
95
|
+
|
96
|
+
<pre class="code"><span class='id bundle'>bundle</span> <span class='id install'>install</span>
|
97
|
+
</pre>
|
98
|
+
|
99
|
+
<p>or, install it as a plugin:</p>
|
100
|
+
|
101
|
+
<pre class="code">script/plugin install git://github.com/traction/browser_detect.git
|
102
|
+
</pre>
|
103
|
+
|
104
|
+
<h2>Wield it.</h2>
|
105
|
+
|
106
|
+
<p>To check the type of browser, use browser_name
|
107
|
+
@browser_name will return either 'ie', 'gecko', 'opera', 'konqueror', 'ipod', 'ipad', 'iphone', 'chrome', 'safari', 'googlebot', 'msnbot', 'yahoobot'</p>
|
108
|
+
|
109
|
+
<pre class="code"><span class='kw'>def</span> <span class='id index'>index</span>
|
110
|
+
<span class='ivar'>@browser_name</span> <span class='op'>=</span> <span class='id browser_name'>browser_name</span>
|
111
|
+
<span class='kw'>end</span>
|
112
|
+
</pre>
|
113
|
+
|
114
|
+
<p>To check if a particular browser made the request, use browser_name?(name)
|
115
|
+
If the browser used is chrome, it will return True</p>
|
116
|
+
|
117
|
+
<pre class="code"><span class='kw'>def</span> <span class='id index'>index</span>
|
118
|
+
<span class='ivar'>@browser_type</span> <span class='op'>=</span> <span class='id browser_is?'>browser_is?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>chrome</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
119
|
+
<span class='kw'>end</span>
|
120
|
+
</pre>
|
121
|
+
|
122
|
+
<p>or in a view using ERB:</p>
|
123
|
+
|
124
|
+
<pre class="code"><%= browser_is?(:chrome) ? "secrets" : "buzz off" %>
|
125
|
+
</pre>
|
126
|
+
|
127
|
+
<p>Or choose from the following groupings:</p>
|
128
|
+
|
129
|
+
<ul>
|
130
|
+
<li>mozilla</li>
|
131
|
+
<li>ie</li>
|
132
|
+
<li>webkit</li>
|
133
|
+
<li>robots</li>
|
134
|
+
</ul>
|
135
|
+
</div></div>
|
136
|
+
|
137
|
+
<div id="footer">
|
138
|
+
Generated on Wed Nov 3 16:31:07 2010 by
|
139
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
140
|
+
0.6.1 (ruby-1.9.2).
|
141
|
+
</div>
|
142
|
+
|
143
|
+
</body>
|
144
|
+
</html>
|