yellow-brick-road 0.1.2 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (109) hide show
  1. data/README.rst +42 -20
  2. data/lib/generators/templates/yellow_brick_road.rb.erb +19 -0
  3. data/lib/generators/yellow_brick_road/install_generator.rb +14 -0
  4. data/lib/yellow-brick-road/config.rb +41 -8
  5. data/lib/yellow-brick-road/directive_processor.rb +6 -5
  6. data/lib/yellow-brick-road/engine.rb +2 -3
  7. data/lib/yellow-brick-road/soy_processor.rb +1 -1
  8. data/lib/yellow-brick-road/version.rb +1 -1
  9. data/test/dummy/app/assets/javascripts/closure-deps.js +1 -1
  10. data/test/dummy/config/initializers/yellow_brick_road.rb +18 -1
  11. data/test/dummy/log/development.log +2208 -0
  12. data/test/dummy/tmp/cache/assets/C33/E00/sprockets%2F50c54266987e056bca666f8951752841 +2556 -0
  13. data/test/dummy/tmp/cache/assets/C48/990/sprockets%2F182c7921a46c3b8603c7f5595a111407 +823 -0
  14. data/test/dummy/tmp/cache/assets/C53/B40/sprockets%2F48cf0c035092dc945559526a279061c6 +204 -0
  15. data/test/dummy/tmp/cache/assets/C60/DB0/sprockets%2F3f00684578f2a3246581db667309ed89 +187 -0
  16. data/test/dummy/tmp/cache/assets/C60/E40/sprockets%2F3c5422f721521f492a5f02ca00b70009 +457 -0
  17. data/test/dummy/tmp/cache/assets/C73/DE0/sprockets%2F21f1f4574326846114a3c106873cebc3 +0 -0
  18. data/test/dummy/tmp/cache/assets/C7E/9F0/sprockets%2F89862076204c62c4593ac20de32da909 +4 -4
  19. data/test/dummy/tmp/cache/assets/C80/6F0/sprockets%2F56459a0713f8610d7d261f8be93073a2 +115 -0
  20. data/test/dummy/tmp/cache/assets/C8D/E10/sprockets%2F34b84bc4732937f885707002eda3896e +511 -0
  21. data/test/dummy/tmp/cache/assets/C93/CB0/sprockets%2F539b403b24833ca478a6f5877f37687c +239 -0
  22. data/test/dummy/tmp/cache/assets/C9A/C70/sprockets%2F10933dc6d342f604514713510b9ef0ab +806 -0
  23. data/test/dummy/tmp/cache/assets/CA0/7C0/sprockets%2Ff591bc0af8f085501241305c04907d3e +590 -0
  24. data/test/dummy/tmp/cache/assets/CA1/4A0/sprockets%2F5a9ad311e7d225b530b597041714b1e9 +2539 -0
  25. data/test/dummy/tmp/cache/assets/CA7/310/sprockets%2F45664cf816315200b574e029fde6f10a +0 -0
  26. data/test/dummy/tmp/cache/assets/CA7/A80/sprockets%2F1f32590957635a5a4f35442bc22f4ca4 +0 -0
  27. data/test/dummy/tmp/cache/assets/CAE/1D0/sprockets%2F2e62c7733d38a817a1532a744c6287bd +72 -0
  28. data/test/dummy/tmp/cache/assets/CB2/3C0/sprockets%2F9c35c290501a896b82c31448a39f3d5d +142 -0
  29. data/test/dummy/tmp/cache/assets/CB3/F20/sprockets%2F558b00e493fb501f7d95761e7eb40273 +2539 -0
  30. data/test/dummy/tmp/cache/assets/CBE/550/sprockets%2Fd680cac830e0b3408ba910f0b0421147 +2 -2
  31. data/test/dummy/tmp/cache/assets/CCD/480/sprockets%2Ffe7e11511634a2d03e1a20980b4593cf +0 -0
  32. data/test/dummy/tmp/cache/assets/CD0/080/sprockets%2Ffd5cbb87741244521d013d11c55573fa +204 -0
  33. data/test/dummy/tmp/cache/assets/CD2/020/sprockets%2Ff97740ba22118a2c91e992aac041843b +811 -0
  34. data/test/dummy/tmp/cache/assets/CD8/D90/sprockets%2F55dd841661d646f0024261a08ecf8ec0 +823 -0
  35. data/test/dummy/tmp/cache/assets/CE3/0D0/sprockets%2F301f97a178fd839a81bd663a6e22b616 +811 -0
  36. data/test/dummy/tmp/cache/assets/CE4/330/sprockets%2Fbd23466639af99164ab8e1c93721f14b +127 -0
  37. data/test/dummy/tmp/cache/assets/CE6/8A0/sprockets%2F3c0e7c5fa31563c8e820d6771e09918d +103 -0
  38. data/test/dummy/tmp/cache/assets/CEB/120/sprockets%2F857a0dde6829f7a27b93a840e1c60469 +522 -0
  39. data/test/dummy/tmp/cache/assets/CEE/CF0/sprockets%2F376f94b987d8156056c4e1d38ec06bf0 +0 -0
  40. data/test/dummy/tmp/cache/assets/CF2/C10/sprockets%2Fc64ef8a9dd0a1c3101d662750105c11a +806 -0
  41. data/test/dummy/tmp/cache/assets/CF3/CD0/sprockets%2F4bb42a5a6b504190f10d20b1c5f93d54 +1529 -0
  42. data/test/dummy/tmp/cache/assets/CF6/890/sprockets%2F36007a87f140155b5a04f2ca6b262dcc +494 -0
  43. data/test/dummy/tmp/cache/assets/CF6/9D0/sprockets%2F34b7199e9d33994c8ec7a442d60ca985 +173 -0
  44. data/test/dummy/tmp/cache/assets/CFA/A90/sprockets%2F901ba405a6d6747f6412ed4d0e0ac620 +256 -0
  45. data/test/dummy/tmp/cache/assets/CFC/E70/sprockets%2F8ee639668b5f0e629fbe0d62d1394689 +173 -0
  46. data/test/dummy/tmp/cache/assets/D04/1B0/sprockets%2F418f2b3b6b08b320f6db268a0991c54c +0 -0
  47. data/test/dummy/tmp/cache/assets/D05/920/sprockets%2F909507434dcc270db4853e4c147f0aac +5 -4
  48. data/test/dummy/tmp/cache/assets/D07/DB0/sprockets%2F0c17d7dac64290e385c91eb6f1570b31 +511 -0
  49. data/test/dummy/tmp/cache/assets/D07/EE0/sprockets%2F4999982b09e0b786894fce44f5d783cc +1371 -0
  50. data/test/dummy/tmp/cache/assets/D09/380/sprockets%2F14383e18fa2faac6b561a29d8e132863 +0 -0
  51. data/test/dummy/tmp/cache/assets/D0D/200/sprockets%2F545a7e34cce1d4272d83d58fd4215d42 +1277 -0
  52. data/test/dummy/tmp/cache/assets/D0E/870/sprockets%2F84996444f4f1f3fdc0248131cfb1a3b6 +794 -0
  53. data/test/dummy/tmp/cache/assets/D15/F60/sprockets%2Fa28394e3f80365b5bc86794dd46daa22 +0 -0
  54. data/test/dummy/tmp/cache/assets/D18/950/sprockets%2Fcf650d67c5d431ffdb38552e562299b2 +474 -0
  55. data/test/dummy/tmp/cache/assets/D18/E10/sprockets%2Fec7c58f640556b401fcd66528352dc9d +474 -0
  56. data/test/dummy/tmp/cache/assets/D20/660/sprockets%2F0d2875475ced01df962f3d758cda7792 +103 -0
  57. data/test/dummy/tmp/cache/assets/D22/AB0/sprockets%2F0b08e7f81651aaf739a93d61ae99779c +283 -0
  58. data/test/dummy/tmp/cache/assets/D2E/B20/sprockets%2Feed5412a17a52b1a335925e2af1f75d3 +0 -0
  59. data/test/dummy/tmp/cache/assets/D36/700/sprockets%2Fd219bf9db2eacc105bb294755093a437 +505 -0
  60. data/test/dummy/tmp/cache/assets/D3B/A10/sprockets%2Fcf38b51682d84a04da7b8a7313de52c6 +207 -0
  61. data/test/dummy/tmp/cache/assets/D3C/0E0/sprockets%2Fe9d7aba138d602c4a6ac701bc9615977 +505 -0
  62. data/test/dummy/tmp/cache/assets/D3E/FF0/sprockets%2F6bd8ccd3e02f397c20f349d5c0960e51 +0 -0
  63. data/test/dummy/tmp/cache/assets/D41/B30/sprockets%2Fba1b93913dd01d83ac9a96df334456f8 +0 -0
  64. data/test/dummy/tmp/cache/assets/D41/DA0/sprockets%2Fe8d00810698a9fcee032022fefd084f7 +0 -0
  65. data/test/dummy/tmp/cache/assets/D44/CF0/sprockets%2Ffa31a45f04884493c909c5a67fcbdf23 +1371 -0
  66. data/test/dummy/tmp/cache/assets/D47/BE0/sprockets%2F0b5ebdf6dec160a264698e7f745061e8 +142 -0
  67. data/test/dummy/tmp/cache/assets/D4C/F30/sprockets%2Ff90155c10f59a3fe44959ac09bf817fe +2556 -0
  68. data/test/dummy/tmp/cache/assets/D4E/7C0/sprockets%2Ff01b58512d01eda23fd5cb23a2b28b60 +1529 -0
  69. data/test/dummy/tmp/cache/assets/D4E/860/sprockets%2F86eed0c77c47d0970345bbabb58d8939 +1277 -0
  70. data/test/dummy/tmp/cache/assets/D4E/C30/sprockets%2F52420c10c73ca310d026565eafdadb4e +1545 -0
  71. data/test/dummy/tmp/cache/assets/D4E/F60/sprockets%2F9893a3c5aeb1a9e77469f4751b4d3c3f +115 -0
  72. data/test/dummy/tmp/cache/assets/D4F/E60/sprockets%2F17ee65de1f78c3dd5c165a9867e810b6 +165 -0
  73. data/test/dummy/tmp/cache/assets/D57/0D0/sprockets%2Fa29e6e8106d9d5ed1e2889126cfbf877 +300 -0
  74. data/test/dummy/tmp/cache/assets/D5C/650/sprockets%2Fe1c381da3cc213a639e956ae3315a2bd +607 -0
  75. data/test/dummy/tmp/cache/assets/D61/860/sprockets%2Fbf032a3b4aad2c2e25704e65c966cf45 +794 -0
  76. data/test/dummy/tmp/cache/assets/D63/B20/sprockets%2F31fc70ce66bb80fb9421be34eb3b0287 +0 -0
  77. data/test/dummy/tmp/cache/assets/D64/D60/sprockets%2Fa544ea03bf0a45948a053ba76ec2a79f +239 -0
  78. data/test/dummy/tmp/cache/assets/D6B/F90/sprockets%2F66636712ecb1fcc777dccf7643a0e1b1 +127 -0
  79. data/test/dummy/tmp/cache/assets/D6E/AD0/sprockets%2Fc91cdc6a72c729d7a64119198b3d2eab +0 -0
  80. data/test/dummy/tmp/cache/assets/D6F/140/sprockets%2F9ddc51f4388dd5243a28dba1ce47572b +53 -0
  81. data/test/dummy/tmp/cache/assets/D72/800/sprockets%2F92baa375d54e16fe0a5c7f079a1ce992 +165 -0
  82. data/test/dummy/tmp/cache/assets/D74/220/sprockets%2F3f888bda53179cb945eab35fbd31a708 +53 -0
  83. data/test/dummy/tmp/cache/assets/D78/5F0/sprockets%2F638ed6af667d4fc5147f72ff34aa2d33 +0 -0
  84. data/test/dummy/tmp/cache/assets/D7D/640/sprockets%2F95a7c5580f957c31e1ab9d0773ed5fde +607 -0
  85. data/test/dummy/tmp/cache/assets/D84/210/sprockets%2Fabd0103ccec2b428ac62c94e4c40b384 +6 -5
  86. data/test/dummy/tmp/cache/assets/D89/020/sprockets%2Fa06df6166e70324e712e54b1cafca0ae +187 -0
  87. data/test/dummy/tmp/cache/assets/D8A/9F0/sprockets%2Fc06547ca33ee3d03be14ce045ae1c9e2 +207 -0
  88. data/test/dummy/tmp/cache/assets/D9E/B80/sprockets%2F9561df1d45c7ff4aa8ac3e2df0c99121 +0 -0
  89. data/test/dummy/tmp/cache/assets/DA3/F30/sprockets%2Fe015d6ccdfcf022e47c83d7906f728ae +457 -0
  90. data/test/dummy/tmp/cache/assets/DAE/190/sprockets%2F433c7b21968be8d1f9bfdbdf7a637c57 +0 -0
  91. data/test/dummy/tmp/cache/assets/DB3/600/sprockets%2F9b70ae73f15ba693886eeef4eb5d6c75 +0 -0
  92. data/test/dummy/tmp/cache/assets/DB4/510/sprockets%2F29cdae8e29c88fd9ddbd4831419560fe +1260 -0
  93. data/test/dummy/tmp/cache/assets/DC1/4A0/sprockets%2F0b63dfcf163f2faeb612724eb4545bcc +1354 -0
  94. data/test/dummy/tmp/cache/assets/DC4/C10/sprockets%2Fcf48f4cbad3db33146eab4c577c1d209 +300 -0
  95. data/test/dummy/tmp/cache/assets/DC4/CA0/sprockets%2Fd0da8a60ea4dc16b9fd3e2a50d88633c +0 -0
  96. data/test/dummy/tmp/cache/assets/DC7/8C0/sprockets%2F1ad68dcc9ef598d3811ba2ac5c0ea182 +1354 -0
  97. data/test/dummy/tmp/cache/assets/DC7/C00/sprockets%2Fba755ff3a81c3192f0e45a4f7c0c7dcb +0 -0
  98. data/test/dummy/tmp/cache/assets/DCA/760/sprockets%2F717c4cea10bf601090ffdfe4e668e4cb +283 -0
  99. data/test/dummy/tmp/cache/assets/DCA/DE0/sprockets%2F51dcced9ec2b3cd4b1cc2949f860c361 +590 -0
  100. data/test/dummy/tmp/cache/assets/DD7/E70/sprockets%2F2595d8c8d1d5f4deb096247fb3bfc7ab +256 -0
  101. data/test/dummy/tmp/cache/assets/DE1/9D0/sprockets%2F8befd77af580ee16ec42ec95b1766ff3 +1545 -0
  102. data/test/dummy/tmp/cache/assets/E00/D80/sprockets%2F9debc27161f7bccf2d84a36b8c36c4bf +522 -0
  103. data/test/dummy/tmp/cache/assets/E00/E60/sprockets%2Fac159b94b0a6d621e4f6cde9b4de87bb +0 -0
  104. data/test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
  105. data/test/dummy/tmp/cache/assets/E1B/D00/sprockets%2F886dff4afe55f9d3f8abe434f2689add +72 -0
  106. data/test/dummy/tmp/cache/assets/E1B/F20/sprockets%2Fa4bbc04eb83ebf94fd8134c3abd220dd +494 -0
  107. data/test/dummy/tmp/cache/assets/E71/0C0/sprockets%2F5ffdc0daa0a1f9638c787897ceefcdee +1260 -0
  108. metadata +186 -10
  109. data/test/dummy/tmp/pids/server.pid +0 -1
@@ -0,0 +1,127 @@
1
+ o: ActiveSupport::Cache::Entry :@compressedF:@expires_in0:@created_atf1325538162.016715: @value{ I" length:EFi� I" digest;
2
+ F"%95793913811102f0d723f154411eb887I" source;
3
+ FI"� // Copyright 2007 The Closure Library Authors. All Rights Reserved.
4
+ //
5
+ // Licensed under the Apache License, Version 2.0 (the "License");
6
+ // you may not use this file except in compliance with the License.
7
+ // You may obtain a copy of the License at
8
+ //
9
+ // http://www.apache.org/licenses/LICENSE-2.0
10
+ //
11
+ // Unless required by applicable law or agreed to in writing, software
12
+ // distributed under the License is distributed on an "AS-IS" BASIS,
13
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ // See the License for the specific language governing permissions and
15
+ // limitations under the License.
16
+
17
+ /**
18
+ * @fileoverview Defines the goog.dom.TagName enum. This enumerates
19
+ * all html tag names specified by the W3C HTML 4.01 Specification.
20
+ * Reference http://www.w3.org/TR/html401/index/elements.html.
21
+ */
22
+
23
+ goog.provide('goog.dom.TagName');
24
+
25
+
26
+ /**
27
+ * Enum of all html tag names specified by the W3C HTML 4.01 Specification.
28
+ * Reference http://www.w3.org/TR/html401/index/elements.html
29
+ * @enum {string}
30
+ */
31
+ goog.dom.TagName = {
32
+ A: 'A',
33
+ ABBR: 'ABBR',
34
+ ACRONYM: 'ACRONYM',
35
+ ADDRESS: 'ADDRESS',
36
+ APPLET: 'APPLET',
37
+ AREA: 'AREA',
38
+ B: 'B',
39
+ BASE: 'BASE',
40
+ BASEFONT: 'BASEFONT',
41
+ BDO: 'BDO',
42
+ BIG: 'BIG',
43
+ BLOCKQUOTE: 'BLOCKQUOTE',
44
+ BODY: 'BODY',
45
+ BR: 'BR',
46
+ BUTTON: 'BUTTON',
47
+ CANVAS: 'CANVAS',
48
+ CAPTION: 'CAPTION',
49
+ CENTER: 'CENTER',
50
+ CITE: 'CITE',
51
+ CODE: 'CODE',
52
+ COL: 'COL',
53
+ COLGROUP: 'COLGROUP',
54
+ DD: 'DD',
55
+ DEL: 'DEL',
56
+ DFN: 'DFN',
57
+ DIR: 'DIR',
58
+ DIV: 'DIV',
59
+ DL: 'DL',
60
+ DT: 'DT',
61
+ EM: 'EM',
62
+ FIELDSET: 'FIELDSET',
63
+ FONT: 'FONT',
64
+ FORM: 'FORM',
65
+ FRAME: 'FRAME',
66
+ FRAMESET: 'FRAMESET',
67
+ H1: 'H1',
68
+ H2: 'H2',
69
+ H3: 'H3',
70
+ H4: 'H4',
71
+ H5: 'H5',
72
+ H6: 'H6',
73
+ HEAD: 'HEAD',
74
+ HR: 'HR',
75
+ HTML: 'HTML',
76
+ I: 'I',
77
+ IFRAME: 'IFRAME',
78
+ IMG: 'IMG',
79
+ INPUT: 'INPUT',
80
+ INS: 'INS',
81
+ ISINDEX: 'ISINDEX',
82
+ KBD: 'KBD',
83
+ LABEL: 'LABEL',
84
+ LEGEND: 'LEGEND',
85
+ LI: 'LI',
86
+ LINK: 'LINK',
87
+ MAP: 'MAP',
88
+ MENU: 'MENU',
89
+ META: 'META',
90
+ NOFRAMES: 'NOFRAMES',
91
+ NOSCRIPT: 'NOSCRIPT',
92
+ OBJECT: 'OBJECT',
93
+ OL: 'OL',
94
+ OPTGROUP: 'OPTGROUP',
95
+ OPTION: 'OPTION',
96
+ P: 'P',
97
+ PARAM: 'PARAM',
98
+ PRE: 'PRE',
99
+ Q: 'Q',
100
+ S: 'S',
101
+ SAMP: 'SAMP',
102
+ SCRIPT: 'SCRIPT',
103
+ SELECT: 'SELECT',
104
+ SMALL: 'SMALL',
105
+ SPAN: 'SPAN',
106
+ STRIKE: 'STRIKE',
107
+ STRONG: 'STRONG',
108
+ STYLE: 'STYLE',
109
+ SUB: 'SUB',
110
+ SUP: 'SUP',
111
+ TABLE: 'TABLE',
112
+ TBODY: 'TBODY',
113
+ TD: 'TD',
114
+ TEXTAREA: 'TEXTAREA',
115
+ TFOOT: 'TFOOT',
116
+ TH: 'TH',
117
+ THEAD: 'THEAD',
118
+ TITLE: 'TITLE',
119
+ TR: 'TR',
120
+ TT: 'TT',
121
+ U: 'U',
122
+ UL: 'UL',
123
+ VAR: 'VAR'
124
+ };
125
+ ;
126
+ FI"
127
+ F"%b437365ddca427a4ab17a524362d64f5
@@ -0,0 +1,103 @@
1
+ o: ActiveSupport::Cache::Entry :@compressedF:@expires_in0:@created_atf1325538162.408279: @value{ I" length:EFi�
2
+ I" digest;
3
+ F"%b7f2f9f2118221772fcf6fca3140bf0aI" source;
4
+ FI"�
5
+ // Copyright 2007 The Closure Library Authors. All Rights Reserved.
6
+ //
7
+ // Licensed under the Apache License, Version 2.0 (the "License");
8
+ // you may not use this file except in compliance with the License.
9
+ // You may obtain a copy of the License at
10
+ //
11
+ // http://www.apache.org/licenses/LICENSE-2.0
12
+ //
13
+ // Unless required by applicable law or agreed to in writing, software
14
+ // distributed under the License is distributed on an "AS-IS" BASIS,
15
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ // See the License for the specific language governing permissions and
17
+ // limitations under the License.
18
+
19
+ /**
20
+ * @fileoverview Detection of JScript version.
21
+ *
22
+ * @author arv@google.com (Erik Arvidsson)
23
+ */
24
+
25
+
26
+
27
+ goog.provide('goog.userAgent.jscript');
28
+
29
+ goog.require('goog.string');
30
+
31
+
32
+ /**
33
+ * @define {boolean} True if it is known at compile time that the runtime
34
+ * environment will not be using JScript.
35
+ */
36
+ goog.userAgent.jscript.ASSUME_NO_JSCRIPT = false;
37
+
38
+
39
+ /**
40
+ * Initializer for goog.userAgent.jscript. Detects if the user agent is using
41
+ * Microsoft JScript and which version of it.
42
+ *
43
+ * This is a named function so that it can be stripped via the jscompiler
44
+ * option for stripping types.
45
+ * @private
46
+ */
47
+ goog.userAgent.jscript.init_ = function() {
48
+ var hasScriptEngine = 'ScriptEngine' in goog.global;
49
+
50
+ /**
51
+ * @type {boolean}
52
+ * @private
53
+ */
54
+ goog.userAgent.jscript.DETECTED_HAS_JSCRIPT_ =
55
+ hasScriptEngine && goog.global['ScriptEngine']() == 'JScript';
56
+
57
+ /**
58
+ * @type {string}
59
+ * @private
60
+ */
61
+ goog.userAgent.jscript.DETECTED_VERSION_ =
62
+ goog.userAgent.jscript.DETECTED_HAS_JSCRIPT_ ?
63
+ (goog.global['ScriptEngineMajorVersion']() + '.' +
64
+ goog.global['ScriptEngineMinorVersion']() + '.' +
65
+ goog.global['ScriptEngineBuildVersion']()) :
66
+ '0';
67
+ };
68
+
69
+ if (!goog.userAgent.jscript.ASSUME_NO_JSCRIPT) {
70
+ goog.userAgent.jscript.init_();
71
+ }
72
+
73
+
74
+ /**
75
+ * Whether we detect that the user agent is using Microsoft JScript.
76
+ * @type {boolean}
77
+ */
78
+ goog.userAgent.jscript.HAS_JSCRIPT = goog.userAgent.jscript.ASSUME_NO_JSCRIPT ?
79
+ false : goog.userAgent.jscript.DETECTED_HAS_JSCRIPT_;
80
+
81
+
82
+ /**
83
+ * The installed version of JScript.
84
+ * @type {string}
85
+ */
86
+ goog.userAgent.jscript.VERSION = goog.userAgent.jscript.ASSUME_NO_JSCRIPT ?
87
+ '0' : goog.userAgent.jscript.DETECTED_VERSION_;
88
+
89
+
90
+ /**
91
+ * Whether the installed version of JScript is as new or newer than a given
92
+ * version.
93
+ * @param {string} version The version to check.
94
+ * @return {boolean} Whether the installed version of JScript is as new or
95
+ * newer than the given version.
96
+ */
97
+ goog.userAgent.jscript.isVersion = function(version) {
98
+ return goog.string.compareVersions(goog.userAgent.jscript.VERSION,
99
+ version) >= 0;
100
+ };
101
+ ;
102
+ FI"
103
+ F"%abf03b89e9ac51582bc17d5f2345be77
@@ -0,0 +1,522 @@
1
+ o: ActiveSupport::Cache::Entry :@compressedF:@expires_in0:@created_atf1325538161.9300869: @value{I"
2
+ class:EFI"BundledAsset;
3
+ FI"id;
4
+ F"%e66462086a77b107900ebd651e104174I"logical_path;
5
+ FI"(closure/goog/useragent/useragent.js;
6
+ TI"
7
+ F"t/Volumes/Development/dev-web/closure-library-wrapper/vendor/closure-library/closure/goog/useragent/useragent.jsI"content_type;
8
+ FI"application/javascript;
9
+ FI"
10
+ mtime;
11
+ FI"2012-01-02T16:18:52+00:00;
12
+ FI" body;
13
+ FI"�7// Copyright 2006 The Closure Library Authors. All Rights Reserved.
14
+ //
15
+ // Licensed under the Apache License, Version 2.0 (the "License");
16
+ // you may not use this file except in compliance with the License.
17
+ // You may obtain a copy of the License at
18
+ //
19
+ // http://www.apache.org/licenses/LICENSE-2.0
20
+ //
21
+ // Unless required by applicable law or agreed to in writing, software
22
+ // distributed under the License is distributed on an "AS-IS" BASIS,
23
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
24
+ // See the License for the specific language governing permissions and
25
+ // limitations under the License.
26
+
27
+ /**
28
+ * @fileoverview Rendering engine detection.
29
+ * @see <a href="http://www.useragentstring.com/">User agent strings</a>
30
+ * For information on the browser brand (such as Safari versus Chrome), see
31
+ * goog.userAgent.product.
32
+ * @see ../demos/useragent.html
33
+ */
34
+
35
+
36
+ goog.provide('goog.userAgent');
37
+
38
+ goog.require('goog.string');
39
+
40
+
41
+ /**
42
+ * @define {boolean} Whether we know at compile-time that the browser is IE.
43
+ */
44
+ goog.userAgent.ASSUME_IE = false;
45
+
46
+
47
+ /**
48
+ * @define {boolean} Whether we know at compile-time that the browser is GECKO.
49
+ */
50
+ goog.userAgent.ASSUME_GECKO = false;
51
+
52
+
53
+ /**
54
+ * @define {boolean} Whether we know at compile-time that the browser is WEBKIT.
55
+ */
56
+ goog.userAgent.ASSUME_WEBKIT = false;
57
+
58
+
59
+ /**
60
+ * @define {boolean} Whether we know at compile-time that the browser is a
61
+ * mobile device running WebKit e.g. iPhone or Android.
62
+ */
63
+ goog.userAgent.ASSUME_MOBILE_WEBKIT = false;
64
+
65
+
66
+ /**
67
+ * @define {boolean} Whether we know at compile-time that the browser is OPERA.
68
+ */
69
+ goog.userAgent.ASSUME_OPERA = false;
70
+
71
+
72
+ /**
73
+ * @define {boolean} Whether the {@code goog.userAgent.isVersion} function will
74
+ * return true for any version.
75
+ */
76
+ goog.userAgent.ASSUME_ANY_VERSION = false;
77
+
78
+
79
+ /**
80
+ * Whether we know the browser engine at compile-time.
81
+ * @type {boolean}
82
+ * @private
83
+ */
84
+ goog.userAgent.BROWSER_KNOWN_ =
85
+ goog.userAgent.ASSUME_IE ||
86
+ goog.userAgent.ASSUME_GECKO ||
87
+ goog.userAgent.ASSUME_MOBILE_WEBKIT ||
88
+ goog.userAgent.ASSUME_WEBKIT ||
89
+ goog.userAgent.ASSUME_OPERA;
90
+
91
+
92
+ /**
93
+ * Returns the userAgent string for the current browser.
94
+ * Some user agents (I'm thinking of you, Gears WorkerPool) do not expose a
95
+ * navigator object off the global scope. In that case we return null.
96
+ *
97
+ * @return {?string} The userAgent string or null if there is none.
98
+ */
99
+ goog.userAgent.getUserAgentString = function() {
100
+ return goog.global['navigator'] ? goog.global['navigator'].userAgent : null;
101
+ };
102
+
103
+
104
+ /**
105
+ * @return {Object} The native navigator object.
106
+ */
107
+ goog.userAgent.getNavigator = function() {
108
+ // Need a local navigator reference instead of using the global one,
109
+ // to avoid the rare case where they reference different objects.
110
+ // (goog.gears.FakeWorkerPool, for example).
111
+ return goog.global['navigator'];
112
+ };
113
+
114
+
115
+ /**
116
+ * Initializer for goog.userAgent.
117
+ *
118
+ * This is a named function so that it can be stripped via the jscompiler
119
+ * option for stripping types.
120
+ * @private
121
+ */
122
+ goog.userAgent.init_ = function() {
123
+ /**
124
+ * Whether the user agent string denotes Opera.
125
+ * @type {boolean}
126
+ * @private
127
+ */
128
+ goog.userAgent.detectedOpera_ = false;
129
+
130
+ /**
131
+ * Whether the user agent string denotes Internet Explorer. This includes
132
+ * other browsers using Trident as its rendering engine. For example AOL
133
+ * and Netscape 8
134
+ * @type {boolean}
135
+ * @private
136
+ */
137
+ goog.userAgent.detectedIe_ = false;
138
+
139
+ /**
140
+ * Whether the user agent string denotes WebKit. WebKit is the rendering
141
+ * engine that Safari, Android and others use.
142
+ * @type {boolean}
143
+ * @private
144
+ */
145
+ goog.userAgent.detectedWebkit_ = false;
146
+
147
+ /**
148
+ * Whether the user agent string denotes a mobile device.
149
+ * @type {boolean}
150
+ * @private
151
+ */
152
+ goog.userAgent.detectedMobile_ = false;
153
+
154
+ /**
155
+ * Whether the user agent string denotes Gecko. Gecko is the rendering
156
+ * engine used by Mozilla, Mozilla Firefox, Camino and many more.
157
+ * @type {boolean}
158
+ * @private
159
+ */
160
+ goog.userAgent.detectedGecko_ = false;
161
+
162
+ var ua;
163
+ if (!goog.userAgent.BROWSER_KNOWN_ &&
164
+ (ua = goog.userAgent.getUserAgentString())) {
165
+ var navigator = goog.userAgent.getNavigator();
166
+ goog.userAgent.detectedOpera_ = ua.indexOf('Opera') == 0;
167
+ goog.userAgent.detectedIe_ = !goog.userAgent.detectedOpera_ &&
168
+ ua.indexOf('MSIE') != -1;
169
+ goog.userAgent.detectedWebkit_ = !goog.userAgent.detectedOpera_ &&
170
+ ua.indexOf('WebKit') != -1;
171
+ // WebKit also gives navigator.product string equal to 'Gecko'.
172
+ goog.userAgent.detectedMobile_ = goog.userAgent.detectedWebkit_ &&
173
+ ua.indexOf('Mobile') != -1;
174
+ goog.userAgent.detectedGecko_ = !goog.userAgent.detectedOpera_ &&
175
+ !goog.userAgent.detectedWebkit_ && navigator.product == 'Gecko';
176
+ }
177
+ };
178
+
179
+
180
+ if (!goog.userAgent.BROWSER_KNOWN_) {
181
+ goog.userAgent.init_();
182
+ }
183
+
184
+
185
+ /**
186
+ * Whether the user agent is Opera.
187
+ * @type {boolean}
188
+ */
189
+ goog.userAgent.OPERA = goog.userAgent.BROWSER_KNOWN_ ?
190
+ goog.userAgent.ASSUME_OPERA : goog.userAgent.detectedOpera_;
191
+
192
+
193
+ /**
194
+ * Whether the user agent is Internet Explorer. This includes other browsers
195
+ * using Trident as its rendering engine. For example AOL and Netscape 8
196
+ * @type {boolean}
197
+ */
198
+ goog.userAgent.IE = goog.userAgent.BROWSER_KNOWN_ ?
199
+ goog.userAgent.ASSUME_IE : goog.userAgent.detectedIe_;
200
+
201
+
202
+ /**
203
+ * Whether the user agent is Gecko. Gecko is the rendering engine used by
204
+ * Mozilla, Mozilla Firefox, Camino and many more.
205
+ * @type {boolean}
206
+ */
207
+ goog.userAgent.GECKO = goog.userAgent.BROWSER_KNOWN_ ?
208
+ goog.userAgent.ASSUME_GECKO :
209
+ goog.userAgent.detectedGecko_;
210
+
211
+
212
+ /**
213
+ * Whether the user agent is WebKit. WebKit is the rendering engine that
214
+ * Safari, Android and others use.
215
+ * @type {boolean}
216
+ */
217
+ goog.userAgent.WEBKIT = goog.userAgent.BROWSER_KNOWN_ ?
218
+ goog.userAgent.ASSUME_WEBKIT || goog.userAgent.ASSUME_MOBILE_WEBKIT :
219
+ goog.userAgent.detectedWebkit_;
220
+
221
+
222
+ /**
223
+ * Whether the user agent is running on a mobile device.
224
+ * @type {boolean}
225
+ */
226
+ goog.userAgent.MOBILE = goog.userAgent.ASSUME_MOBILE_WEBKIT ||
227
+ goog.userAgent.detectedMobile_;
228
+
229
+
230
+ /**
231
+ * Used while transitioning code to use WEBKIT instead.
232
+ * @type {boolean}
233
+ * @deprecated Use {@link goog.userAgent.product.SAFARI} instead.
234
+ * TODO(nicksantos): Delete this from goog.userAgent.
235
+ */
236
+ goog.userAgent.SAFARI = goog.userAgent.WEBKIT;
237
+
238
+
239
+ /**
240
+ * @return {string} the platform (operating system) the user agent is running
241
+ * on. Default to empty string because navigator.platform may not be defined
242
+ * (on Rhino, for example).
243
+ * @private
244
+ */
245
+ goog.userAgent.determinePlatform_ = function() {
246
+ var navigator = goog.userAgent.getNavigator();
247
+ return navigator && navigator.platform || '';
248
+ };
249
+
250
+
251
+ /**
252
+ * The platform (operating system) the user agent is running on. Default to
253
+ * empty string because navigator.platform may not be defined (on Rhino, for
254
+ * example).
255
+ * @type {string}
256
+ */
257
+ goog.userAgent.PLATFORM = goog.userAgent.determinePlatform_();
258
+
259
+
260
+ /**
261
+ * @define {boolean} Whether the user agent is running on a Macintosh operating
262
+ * system.
263
+ */
264
+ goog.userAgent.ASSUME_MAC = false;
265
+
266
+
267
+ /**
268
+ * @define {boolean} Whether the user agent is running on a Windows operating
269
+ * system.
270
+ */
271
+ goog.userAgent.ASSUME_WINDOWS = false;
272
+
273
+
274
+ /**
275
+ * @define {boolean} Whether the user agent is running on a Linux operating
276
+ * system.
277
+ */
278
+ goog.userAgent.ASSUME_LINUX = false;
279
+
280
+
281
+ /**
282
+ * @define {boolean} Whether the user agent is running on a X11 windowing
283
+ * system.
284
+ */
285
+ goog.userAgent.ASSUME_X11 = false;
286
+
287
+
288
+ /**
289
+ * @type {boolean}
290
+ * @private
291
+ */
292
+ goog.userAgent.PLATFORM_KNOWN_ =
293
+ goog.userAgent.ASSUME_MAC ||
294
+ goog.userAgent.ASSUME_WINDOWS ||
295
+ goog.userAgent.ASSUME_LINUX ||
296
+ goog.userAgent.ASSUME_X11;
297
+
298
+
299
+ /**
300
+ * Initialize the goog.userAgent constants that define which platform the user
301
+ * agent is running on.
302
+ * @private
303
+ */
304
+ goog.userAgent.initPlatform_ = function() {
305
+ /**
306
+ * Whether the user agent is running on a Macintosh operating system.
307
+ * @type {boolean}
308
+ * @private
309
+ */
310
+ goog.userAgent.detectedMac_ = goog.string.contains(goog.userAgent.PLATFORM,
311
+ 'Mac');
312
+
313
+ /**
314
+ * Whether the user agent is running on a Windows operating system.
315
+ * @type {boolean}
316
+ * @private
317
+ */
318
+ goog.userAgent.detectedWindows_ = goog.string.contains(
319
+ goog.userAgent.PLATFORM, 'Win');
320
+
321
+ /**
322
+ * Whether the user agent is running on a Linux operating system.
323
+ * @type {boolean}
324
+ * @private
325
+ */
326
+ goog.userAgent.detectedLinux_ = goog.string.contains(goog.userAgent.PLATFORM,
327
+ 'Linux');
328
+
329
+ /**
330
+ * Whether the user agent is running on a X11 windowing system.
331
+ * @type {boolean}
332
+ * @private
333
+ */
334
+ goog.userAgent.detectedX11_ = !!goog.userAgent.getNavigator() &&
335
+ goog.string.contains(goog.userAgent.getNavigator()['appVersion'] || '',
336
+ 'X11');
337
+ };
338
+
339
+
340
+ if (!goog.userAgent.PLATFORM_KNOWN_) {
341
+ goog.userAgent.initPlatform_();
342
+ }
343
+
344
+
345
+ /**
346
+ * Whether the user agent is running on a Macintosh operating system.
347
+ * @type {boolean}
348
+ */
349
+ goog.userAgent.MAC = goog.userAgent.PLATFORM_KNOWN_ ?
350
+ goog.userAgent.ASSUME_MAC : goog.userAgent.detectedMac_;
351
+
352
+
353
+ /**
354
+ * Whether the user agent is running on a Windows operating system.
355
+ * @type {boolean}
356
+ */
357
+ goog.userAgent.WINDOWS = goog.userAgent.PLATFORM_KNOWN_ ?
358
+ goog.userAgent.ASSUME_WINDOWS : goog.userAgent.detectedWindows_;
359
+
360
+
361
+ /**
362
+ * Whether the user agent is running on a Linux operating system.
363
+ * @type {boolean}
364
+ */
365
+ goog.userAgent.LINUX = goog.userAgent.PLATFORM_KNOWN_ ?
366
+ goog.userAgent.ASSUME_LINUX : goog.userAgent.detectedLinux_;
367
+
368
+
369
+ /**
370
+ * Whether the user agent is running on a X11 windowing system.
371
+ * @type {boolean}
372
+ */
373
+ goog.userAgent.X11 = goog.userAgent.PLATFORM_KNOWN_ ?
374
+ goog.userAgent.ASSUME_X11 : goog.userAgent.detectedX11_;
375
+
376
+
377
+ /**
378
+ * @return {string} The string that describes the version number of the user
379
+ * agent.
380
+ * @private
381
+ */
382
+ goog.userAgent.determineVersion_ = function() {
383
+ // All browsers have different ways to detect the version and they all have
384
+ // different naming schemes.
385
+
386
+ // version is a string rather than a number because it may contain 'b', 'a',
387
+ // and so on.
388
+ var version = '', re;
389
+
390
+ if (goog.userAgent.OPERA && goog.global['opera']) {
391
+ var operaVersion = goog.global['opera'].version;
392
+ version = typeof operaVersion == 'function' ? operaVersion() : operaVersion;
393
+ } else {
394
+ if (goog.userAgent.GECKO) {
395
+ re = /rv\:([^\);]+)(\)|;)/;
396
+ } else if (goog.userAgent.IE) {
397
+ re = /MSIE\s+([^\);]+)(\)|;)/;
398
+ } else if (goog.userAgent.WEBKIT) {
399
+ // WebKit/125.4
400
+ re = /WebKit\/(\S+)/;
401
+ }
402
+ if (re) {
403
+ var arr = re.exec(goog.userAgent.getUserAgentString());
404
+ version = arr ? arr[1] : '';
405
+ }
406
+ }
407
+ if (goog.userAgent.IE) {
408
+ // IE9 can be in document mode 9 but be reporting an inconsistent user agent
409
+ // version. If it is identifying as a version lower than 9 we take the
410
+ // documentMode as the version instead. IE8 has similar behavior.
411
+ // It is recommended to set the X-UA-Compatible header to ensure that IE9
412
+ // uses documentMode 9.
413
+ var docMode = goog.userAgent.getDocumentMode_();
414
+ if (docMode > parseFloat(version)) {
415
+ return String(docMode);
416
+ }
417
+ }
418
+ return version;
419
+ };
420
+
421
+
422
+ /**
423
+ * @return {number|undefined} Returns the document mode (for testing).
424
+ * @private
425
+ */
426
+ goog.userAgent.getDocumentMode_ = function() {
427
+ // NOTE(user): goog.userAgent may be used in context where there is no DOM.
428
+ var doc = goog.global['document'];
429
+ return doc ? doc['documentMode'] : undefined;
430
+ };
431
+
432
+
433
+ /**
434
+ * The version of the user agent. This is a string because it might contain
435
+ * 'b' (as in beta) as well as multiple dots.
436
+ * @type {string}
437
+ */
438
+ goog.userAgent.VERSION = goog.userAgent.determineVersion_();
439
+
440
+
441
+ /**
442
+ * Compares two version numbers.
443
+ *
444
+ * @param {string} v1 Version of first item.
445
+ * @param {string} v2 Version of second item.
446
+ *
447
+ * @return {number} 1 if first argument is higher
448
+ * 0 if arguments are equal
449
+ * -1 if second argument is higher.
450
+ * @deprecated Use goog.string.compareVersions.
451
+ */
452
+ goog.userAgent.compare = function(v1, v2) {
453
+ return goog.string.compareVersions(v1, v2);
454
+ };
455
+
456
+
457
+ /**
458
+ * Cache for {@link goog.userAgent.isVersion}. Calls to compareVersions are
459
+ * surprisingly expensive and as a browsers version number is unlikely to change
460
+ * during a session we cache the results.
461
+ * @type {Object}
462
+ * @private
463
+ */
464
+ goog.userAgent.isVersionCache_ = {};
465
+
466
+
467
+ /**
468
+ * Whether the user agent version is higher or the same as the given version.
469
+ * NOTE: When checking the version numbers for Firefox and Safari, be sure to
470
+ * use the engine's version, not the browser's version number. For example,
471
+ * Firefox 3.0 corresponds to Gecko 1.9 and Safari 3.0 to Webkit 522.11.
472
+ * Opera and Internet Explorer versions match the product release number.<br>
473
+ * @see <a href="http://en.wikipedia.org/wiki/Safari_version_history">
474
+ * Webkit</a>
475
+ * @see <a href="http://en.wikipedia.org/wiki/Gecko_engine">Gecko</a>
476
+ *
477
+ * @param {string|number} version The version to check.
478
+ * @return {boolean} Whether the user agent version is higher or the same as
479
+ * the given version.
480
+ */
481
+ goog.userAgent.isVersion = function(version) {
482
+ return goog.userAgent.ASSUME_ANY_VERSION ||
483
+ goog.userAgent.isVersionCache_[version] ||
484
+ (goog.userAgent.isVersionCache_[version] =
485
+ goog.string.compareVersions(goog.userAgent.VERSION, version) >= 0);
486
+ };
487
+
488
+
489
+ /**
490
+ * Cache for {@link goog.userAgent.isDocumentMode}.
491
+ * Browsers document mode version number is unlikely to change during a session
492
+ * we cache the results.
493
+ * @type {Object}
494
+ * @private
495
+ */
496
+ goog.userAgent.isDocumentModeCache_ = {};
497
+
498
+
499
+ /**
500
+ * Whether the IE effective document mode is higher or the same as the given
501
+ * document mode version.
502
+ * NOTE: Only for IE, return false for another browser.
503
+ *
504
+ * @param {number} documentMode The document mode version to check.
505
+ * @return {boolean} Whether the IE effective document mode is higher or the
506
+ * same as the given version.
507
+ */
508
+ goog.userAgent.isDocumentMode = function(documentMode) {
509
+ return goog.userAgent.isDocumentModeCache_[documentMode] ||
510
+ (goog.userAgent.isDocumentModeCache_[documentMode] = goog.userAgent.IE &&
511
+ document.documentMode && document.documentMode >= documentMode);
512
+ };
513
+ ;
514
+ FI"asset_paths;
515
+ F["t/Volumes/Development/dev-web/closure-library-wrapper/vendor/closure-library/closure/goog/useragent/useragent.jsI"dependency_paths;
516
+ F[{I" path;
517
+ F"t/Volumes/Development/dev-web/closure-library-wrapper/vendor/closure-library/closure/goog/useragent/useragent.jsI"
518
+ mtime;
519
+ FIu: Time
520
+ T: offsetiI"hexdigest;
521
+ F"%67002ca627b13d53a29ae954ab1f617dI"
522
+ F"%46dde6621c301f4928e3b34efee9e3b5