kea-rails 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (122) hide show
  1. checksums.yaml +4 -4
  2. data/lib/kea-rails/version.rb +1 -1
  3. data/vendor/assets/components/Keypress/LICENSE +191 -0
  4. data/vendor/assets/components/Keypress/README.md +78 -0
  5. data/vendor/assets/components/Keypress/bower.json +28 -0
  6. data/vendor/assets/components/Keypress/keypress-2.1.0.min.js +33 -0
  7. data/vendor/assets/components/Keypress/keypress.coffee +921 -0
  8. data/vendor/assets/components/Keypress/keypress.js +1132 -0
  9. data/vendor/assets/components/Keypress/package.json +15 -0
  10. data/vendor/assets/components/attachejs/attache-jquery.js +47 -0
  11. data/vendor/assets/components/attachejs/attache-knockout.js +56 -0
  12. data/vendor/assets/components/attachejs/attache.css +10 -0
  13. data/vendor/assets/components/attachejs/attache.js +589 -0
  14. data/vendor/assets/components/attachejs/bower.json +36 -0
  15. data/vendor/assets/components/humane-js/bower.json +8 -0
  16. data/vendor/assets/components/humane-js/changelog.md +165 -0
  17. data/vendor/assets/components/humane-js/humane.js +238 -0
  18. data/vendor/assets/components/humane-js/humane.min.js +11 -0
  19. data/vendor/assets/components/humane-js/index.html +190 -0
  20. data/vendor/assets/components/humane-js/package.json +25 -0
  21. data/vendor/assets/components/humane-js/readme.md +85 -0
  22. data/vendor/assets/components/humane-js/test/issue23.html +11 -0
  23. data/vendor/assets/components/humane-js/test/issue36.html +9 -0
  24. data/vendor/assets/components/humane-js/test/issue38.html +15 -0
  25. data/vendor/assets/components/humane-js/test/issue49.html +9 -0
  26. data/vendor/assets/components/humane-js/theme-src/bigbox.styl +65 -0
  27. data/vendor/assets/components/humane-js/theme-src/boldlight.styl +64 -0
  28. data/vendor/assets/components/humane-js/theme-src/jackedup.styl +69 -0
  29. data/vendor/assets/components/humane-js/theme-src/libnotify.styl +61 -0
  30. data/vendor/assets/components/humane-js/theme-src/original.styl +51 -0
  31. data/vendor/assets/components/humane-js/themes/bigbox.css +123 -0
  32. data/vendor/assets/components/humane-js/themes/boldlight.css +122 -0
  33. data/vendor/assets/components/humane-js/themes/flatty.css +94 -0
  34. data/vendor/assets/components/humane-js/themes/jackedup.css +123 -0
  35. data/vendor/assets/components/humane-js/themes/libnotify.css +115 -0
  36. data/vendor/assets/components/humane-js/themes/original.css +72 -0
  37. data/vendor/assets/components/knockout-sortable/README.md +129 -0
  38. data/vendor/assets/components/knockout-sortable/bower.json +15 -0
  39. data/vendor/assets/components/knockout-sortable/build/knockout-sortable.js +358 -0
  40. data/vendor/assets/components/knockout-sortable/build/knockout-sortable.min.js +2 -0
  41. data/vendor/assets/components/uri.js/README.md +437 -0
  42. data/vendor/assets/components/uri.js/URI.jquery.json +38 -0
  43. data/vendor/assets/components/uri.js/about-uris.html +156 -0
  44. data/vendor/assets/components/uri.js/build.html +66 -0
  45. data/vendor/assets/components/uri.js/build.js +78 -0
  46. data/vendor/assets/components/uri.js/component.json +15 -0
  47. data/vendor/assets/components/uri.js/contribute.md +11 -0
  48. data/vendor/assets/components/uri.js/docs.html +1280 -0
  49. data/vendor/assets/components/uri.js/index.html +173 -0
  50. data/vendor/assets/components/uri.js/jquery-1.10.2.min.js +6 -0
  51. data/vendor/assets/components/uri.js/jquery-1.7.2.min.js +4 -0
  52. data/vendor/assets/components/uri.js/jquery-1.8.2.min.js +2 -0
  53. data/vendor/assets/components/uri.js/jquery-1.9.1.min.js +5 -0
  54. data/vendor/assets/components/uri.js/jquery-uri-plugin.html +203 -0
  55. data/vendor/assets/components/uri.js/package.json +75 -0
  56. data/vendor/assets/components/uri.js/prettify/lang-apollo.js +2 -0
  57. data/vendor/assets/components/uri.js/prettify/lang-clj.js +18 -0
  58. data/vendor/assets/components/uri.js/prettify/lang-css.js +2 -0
  59. data/vendor/assets/components/uri.js/prettify/lang-go.js +1 -0
  60. data/vendor/assets/components/uri.js/prettify/lang-hs.js +2 -0
  61. data/vendor/assets/components/uri.js/prettify/lang-lisp.js +3 -0
  62. data/vendor/assets/components/uri.js/prettify/lang-lua.js +2 -0
  63. data/vendor/assets/components/uri.js/prettify/lang-ml.js +2 -0
  64. data/vendor/assets/components/uri.js/prettify/lang-n.js +4 -0
  65. data/vendor/assets/components/uri.js/prettify/lang-proto.js +1 -0
  66. data/vendor/assets/components/uri.js/prettify/lang-scala.js +2 -0
  67. data/vendor/assets/components/uri.js/prettify/lang-sql.js +2 -0
  68. data/vendor/assets/components/uri.js/prettify/lang-tex.js +1 -0
  69. data/vendor/assets/components/uri.js/prettify/lang-vb.js +2 -0
  70. data/vendor/assets/components/uri.js/prettify/lang-vhdl.js +3 -0
  71. data/vendor/assets/components/uri.js/prettify/lang-wiki.js +2 -0
  72. data/vendor/assets/components/uri.js/prettify/lang-xq.js +3 -0
  73. data/vendor/assets/components/uri.js/prettify/lang-yaml.js +2 -0
  74. data/vendor/assets/components/uri.js/prettify/prettify.css +1 -0
  75. data/vendor/assets/components/uri.js/prettify/prettify.js +28 -0
  76. data/vendor/assets/components/uri.js/prettify/prettify.sunburst.css +52 -0
  77. data/vendor/assets/components/uri.js/screen.css +167 -0
  78. data/vendor/assets/components/uri.js/screen.js +39 -0
  79. data/vendor/assets/components/uri.js/src/IPv6.js +185 -0
  80. data/vendor/assets/components/uri.js/src/SecondLevelDomains.js +220 -0
  81. data/vendor/assets/components/uri.js/src/URI.fragmentQuery.js +103 -0
  82. data/vendor/assets/components/uri.js/src/URI.fragmentURI.js +96 -0
  83. data/vendor/assets/components/uri.js/src/URI.js +1938 -0
  84. data/vendor/assets/components/uri.js/src/URI.min.js +81 -0
  85. data/vendor/assets/components/uri.js/src/URITemplate.js +494 -0
  86. data/vendor/assets/components/uri.js/src/jquery.URI.js +232 -0
  87. data/vendor/assets/components/uri.js/src/jquery.URI.min.js +7 -0
  88. data/vendor/assets/components/uri.js/src/punycode.js +508 -0
  89. data/vendor/assets/components/uri.js/test/index.html +26 -0
  90. data/vendor/assets/components/uri.js/test/pre_libs.js +4 -0
  91. data/vendor/assets/components/uri.js/test/qunit/qunit-composite.css +13 -0
  92. data/vendor/assets/components/uri.js/test/qunit/qunit-composite.js +167 -0
  93. data/vendor/assets/components/uri.js/test/qunit/qunit.css +244 -0
  94. data/vendor/assets/components/uri.js/test/qunit/qunit.js +2212 -0
  95. data/vendor/assets/components/uri.js/test/test.URI.html +26 -0
  96. data/vendor/assets/components/uri.js/test/test.fragmentQuery.html +31 -0
  97. data/vendor/assets/components/uri.js/test/test.fragmentURI.html +31 -0
  98. data/vendor/assets/components/uri.js/test/test.jQuery-1.10.html +31 -0
  99. data/vendor/assets/components/uri.js/test/test.jQuery-1.7.html +31 -0
  100. data/vendor/assets/components/uri.js/test/test.jQuery-1.8.html +31 -0
  101. data/vendor/assets/components/uri.js/test/test.jQuery-1.9.html +31 -0
  102. data/vendor/assets/components/uri.js/test/test.js +1409 -0
  103. data/vendor/assets/components/uri.js/test/test_fragmentQuery.js +57 -0
  104. data/vendor/assets/components/uri.js/test/test_fragmentURI.js +59 -0
  105. data/vendor/assets/components/uri.js/test/test_jim.js +143 -0
  106. data/vendor/assets/components/uri.js/test/test_jquery.js +138 -0
  107. data/vendor/assets/components/uri.js/test/test_template.js +385 -0
  108. data/vendor/assets/components/uri.js/test/urls.js +1236 -0
  109. data/vendor/assets/components/uri.js/uri-template.html +234 -0
  110. data/vendor/assets/components/uri.js/utils/SLDs.php +37 -0
  111. data/vendor/assets/components/uri.js/utils/sld.js +101 -0
  112. data/vendor/assets/components/veiljs/bower.json +36 -0
  113. data/vendor/assets/components/veiljs/veil-jquery.js +47 -0
  114. data/vendor/assets/components/veiljs/veil-knockout.js +55 -0
  115. data/vendor/assets/components/veiljs/veil.js +465 -0
  116. data/vendor/assets/javascripts/fuse.js +472 -0
  117. data/vendor/assets/javascripts/jquery-ui.js +3844 -0
  118. data/vendor/assets/javascripts/knockout-3.2.0-debug.js +5299 -0
  119. data/vendor/assets/javascripts/moment.js +1902 -0
  120. data/vendor/assets/javascripts/pikaday.js +896 -0
  121. data/vendor/assets/stylesheets/pikaday.css +171 -0
  122. metadata +120 -1
@@ -0,0 +1,220 @@
1
+ /*!
2
+ * URI.js - Mutating URLs
3
+ * Second Level Domain (SLD) Support
4
+ *
5
+ * Version: 1.11.2
6
+ *
7
+ * Author: Rodney Rehm
8
+ * Web: http://medialize.github.com/URI.js/
9
+ *
10
+ * Licensed under
11
+ * MIT License http://www.opensource.org/licenses/mit-license
12
+ * GPL v3 http://opensource.org/licenses/GPL-3.0
13
+ *
14
+ */
15
+
16
+ (function (root, factory) {
17
+ // https://github.com/umdjs/umd/blob/master/returnExports.js
18
+ if (typeof exports === 'object') {
19
+ // Node
20
+ module.exports = factory();
21
+ } else if (typeof define === 'function' && define.amd) {
22
+ // AMD. Register as an anonymous module.
23
+ define(factory);
24
+ } else {
25
+ // Browser globals (root is window)
26
+ root.SecondLevelDomains = factory(root);
27
+ }
28
+ }(this, function (root) {
29
+ "use strict";
30
+
31
+ // save current SecondLevelDomains variable, if any
32
+ var _SecondLevelDomains = root && root.SecondLevelDomains;
33
+
34
+ var hasOwn = Object.prototype.hasOwnProperty;
35
+ var SLD = {
36
+ // list of known Second Level Domains
37
+ // converted list of SLDs from https://github.com/gavingmiller/second-level-domains
38
+ // ----
39
+ // publicsuffix.org is more current and actually used by a couple of browsers internally.
40
+ // downside is it also contains domains like "dyndns.org" - which is fine for the security
41
+ // issues browser have to deal with (SOP for cookies, etc) - but is way overboard for URI.js
42
+ // ----
43
+ list: {
44
+ "ac":"com|gov|mil|net|org",
45
+ "ae":"ac|co|gov|mil|name|net|org|pro|sch",
46
+ "af":"com|edu|gov|net|org",
47
+ "al":"com|edu|gov|mil|net|org",
48
+ "ao":"co|ed|gv|it|og|pb",
49
+ "ar":"com|edu|gob|gov|int|mil|net|org|tur",
50
+ "at":"ac|co|gv|or",
51
+ "au":"asn|com|csiro|edu|gov|id|net|org",
52
+ "ba":"co|com|edu|gov|mil|net|org|rs|unbi|unmo|unsa|untz|unze",
53
+ "bb":"biz|co|com|edu|gov|info|net|org|store|tv",
54
+ "bh":"biz|cc|com|edu|gov|info|net|org",
55
+ "bn":"com|edu|gov|net|org",
56
+ "bo":"com|edu|gob|gov|int|mil|net|org|tv",
57
+ "br":"adm|adv|agr|am|arq|art|ato|b|bio|blog|bmd|cim|cng|cnt|com|coop|ecn|edu|eng|esp|etc|eti|far|flog|fm|fnd|fot|fst|g12|ggf|gov|imb|ind|inf|jor|jus|lel|mat|med|mil|mus|net|nom|not|ntr|odo|org|ppg|pro|psc|psi|qsl|rec|slg|srv|tmp|trd|tur|tv|vet|vlog|wiki|zlg",
58
+ "bs":"com|edu|gov|net|org",
59
+ "bz":"du|et|om|ov|rg",
60
+ "ca":"ab|bc|mb|nb|nf|nl|ns|nt|nu|on|pe|qc|sk|yk",
61
+ "ck":"biz|co|edu|gen|gov|info|net|org",
62
+ "cn":"ac|ah|bj|com|cq|edu|fj|gd|gov|gs|gx|gz|ha|hb|he|hi|hl|hn|jl|js|jx|ln|mil|net|nm|nx|org|qh|sc|sd|sh|sn|sx|tj|tw|xj|xz|yn|zj",
63
+ "co":"com|edu|gov|mil|net|nom|org",
64
+ "cr":"ac|c|co|ed|fi|go|or|sa",
65
+ "cy":"ac|biz|com|ekloges|gov|ltd|name|net|org|parliament|press|pro|tm",
66
+ "do":"art|com|edu|gob|gov|mil|net|org|sld|web",
67
+ "dz":"art|asso|com|edu|gov|net|org|pol",
68
+ "ec":"com|edu|fin|gov|info|med|mil|net|org|pro",
69
+ "eg":"com|edu|eun|gov|mil|name|net|org|sci",
70
+ "er":"com|edu|gov|ind|mil|net|org|rochest|w",
71
+ "es":"com|edu|gob|nom|org",
72
+ "et":"biz|com|edu|gov|info|name|net|org",
73
+ "fj":"ac|biz|com|info|mil|name|net|org|pro",
74
+ "fk":"ac|co|gov|net|nom|org",
75
+ "fr":"asso|com|f|gouv|nom|prd|presse|tm",
76
+ "gg":"co|net|org",
77
+ "gh":"com|edu|gov|mil|org",
78
+ "gn":"ac|com|gov|net|org",
79
+ "gr":"com|edu|gov|mil|net|org",
80
+ "gt":"com|edu|gob|ind|mil|net|org",
81
+ "gu":"com|edu|gov|net|org",
82
+ "hk":"com|edu|gov|idv|net|org",
83
+ "id":"ac|co|go|mil|net|or|sch|web",
84
+ "il":"ac|co|gov|idf|k12|muni|net|org",
85
+ "in":"ac|co|edu|ernet|firm|gen|gov|i|ind|mil|net|nic|org|res",
86
+ "iq":"com|edu|gov|i|mil|net|org",
87
+ "ir":"ac|co|dnssec|gov|i|id|net|org|sch",
88
+ "it":"edu|gov",
89
+ "je":"co|net|org",
90
+ "jo":"com|edu|gov|mil|name|net|org|sch",
91
+ "jp":"ac|ad|co|ed|go|gr|lg|ne|or",
92
+ "ke":"ac|co|go|info|me|mobi|ne|or|sc",
93
+ "kh":"com|edu|gov|mil|net|org|per",
94
+ "ki":"biz|com|de|edu|gov|info|mob|net|org|tel",
95
+ "km":"asso|com|coop|edu|gouv|k|medecin|mil|nom|notaires|pharmaciens|presse|tm|veterinaire",
96
+ "kn":"edu|gov|net|org",
97
+ "kr":"ac|busan|chungbuk|chungnam|co|daegu|daejeon|es|gangwon|go|gwangju|gyeongbuk|gyeonggi|gyeongnam|hs|incheon|jeju|jeonbuk|jeonnam|k|kg|mil|ms|ne|or|pe|re|sc|seoul|ulsan",
98
+ "kw":"com|edu|gov|net|org",
99
+ "ky":"com|edu|gov|net|org",
100
+ "kz":"com|edu|gov|mil|net|org",
101
+ "lb":"com|edu|gov|net|org",
102
+ "lk":"assn|com|edu|gov|grp|hotel|int|ltd|net|ngo|org|sch|soc|web",
103
+ "lr":"com|edu|gov|net|org",
104
+ "lv":"asn|com|conf|edu|gov|id|mil|net|org",
105
+ "ly":"com|edu|gov|id|med|net|org|plc|sch",
106
+ "ma":"ac|co|gov|m|net|org|press",
107
+ "mc":"asso|tm",
108
+ "me":"ac|co|edu|gov|its|net|org|priv",
109
+ "mg":"com|edu|gov|mil|nom|org|prd|tm",
110
+ "mk":"com|edu|gov|inf|name|net|org|pro",
111
+ "ml":"com|edu|gov|net|org|presse",
112
+ "mn":"edu|gov|org",
113
+ "mo":"com|edu|gov|net|org",
114
+ "mt":"com|edu|gov|net|org",
115
+ "mv":"aero|biz|com|coop|edu|gov|info|int|mil|museum|name|net|org|pro",
116
+ "mw":"ac|co|com|coop|edu|gov|int|museum|net|org",
117
+ "mx":"com|edu|gob|net|org",
118
+ "my":"com|edu|gov|mil|name|net|org|sch",
119
+ "nf":"arts|com|firm|info|net|other|per|rec|store|web",
120
+ "ng":"biz|com|edu|gov|mil|mobi|name|net|org|sch",
121
+ "ni":"ac|co|com|edu|gob|mil|net|nom|org",
122
+ "np":"com|edu|gov|mil|net|org",
123
+ "nr":"biz|com|edu|gov|info|net|org",
124
+ "om":"ac|biz|co|com|edu|gov|med|mil|museum|net|org|pro|sch",
125
+ "pe":"com|edu|gob|mil|net|nom|org|sld",
126
+ "ph":"com|edu|gov|i|mil|net|ngo|org",
127
+ "pk":"biz|com|edu|fam|gob|gok|gon|gop|gos|gov|net|org|web",
128
+ "pl":"art|bialystok|biz|com|edu|gda|gdansk|gorzow|gov|info|katowice|krakow|lodz|lublin|mil|net|ngo|olsztyn|org|poznan|pwr|radom|slupsk|szczecin|torun|warszawa|waw|wroc|wroclaw|zgora",
129
+ "pr":"ac|biz|com|edu|est|gov|info|isla|name|net|org|pro|prof",
130
+ "ps":"com|edu|gov|net|org|plo|sec",
131
+ "pw":"belau|co|ed|go|ne|or",
132
+ "ro":"arts|com|firm|info|nom|nt|org|rec|store|tm|www",
133
+ "rs":"ac|co|edu|gov|in|org",
134
+ "sb":"com|edu|gov|net|org",
135
+ "sc":"com|edu|gov|net|org",
136
+ "sh":"co|com|edu|gov|net|nom|org",
137
+ "sl":"com|edu|gov|net|org",
138
+ "st":"co|com|consulado|edu|embaixada|gov|mil|net|org|principe|saotome|store",
139
+ "sv":"com|edu|gob|org|red",
140
+ "sz":"ac|co|org",
141
+ "tr":"av|bbs|bel|biz|com|dr|edu|gen|gov|info|k12|name|net|org|pol|tel|tsk|tv|web",
142
+ "tt":"aero|biz|cat|co|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel",
143
+ "tw":"club|com|ebiz|edu|game|gov|idv|mil|net|org",
144
+ "mu":"ac|co|com|gov|net|or|org",
145
+ "mz":"ac|co|edu|gov|org",
146
+ "na":"co|com",
147
+ "nz":"ac|co|cri|geek|gen|govt|health|iwi|maori|mil|net|org|parliament|school",
148
+ "pa":"abo|ac|com|edu|gob|ing|med|net|nom|org|sld",
149
+ "pt":"com|edu|gov|int|net|nome|org|publ",
150
+ "py":"com|edu|gov|mil|net|org",
151
+ "qa":"com|edu|gov|mil|net|org",
152
+ "re":"asso|com|nom",
153
+ "ru":"ac|adygeya|altai|amur|arkhangelsk|astrakhan|bashkiria|belgorod|bir|bryansk|buryatia|cbg|chel|chelyabinsk|chita|chukotka|chuvashia|com|dagestan|e-burg|edu|gov|grozny|int|irkutsk|ivanovo|izhevsk|jar|joshkar-ola|kalmykia|kaluga|kamchatka|karelia|kazan|kchr|kemerovo|khabarovsk|khakassia|khv|kirov|koenig|komi|kostroma|kranoyarsk|kuban|kurgan|kursk|lipetsk|magadan|mari|mari-el|marine|mil|mordovia|mosreg|msk|murmansk|nalchik|net|nnov|nov|novosibirsk|nsk|omsk|orenburg|org|oryol|penza|perm|pp|pskov|ptz|rnd|ryazan|sakhalin|samara|saratov|simbirsk|smolensk|spb|stavropol|stv|surgut|tambov|tatarstan|tom|tomsk|tsaritsyn|tsk|tula|tuva|tver|tyumen|udm|udmurtia|ulan-ude|vladikavkaz|vladimir|vladivostok|volgograd|vologda|voronezh|vrn|vyatka|yakutia|yamal|yekaterinburg|yuzhno-sakhalinsk",
154
+ "rw":"ac|co|com|edu|gouv|gov|int|mil|net",
155
+ "sa":"com|edu|gov|med|net|org|pub|sch",
156
+ "sd":"com|edu|gov|info|med|net|org|tv",
157
+ "se":"a|ac|b|bd|c|d|e|f|g|h|i|k|l|m|n|o|org|p|parti|pp|press|r|s|t|tm|u|w|x|y|z",
158
+ "sg":"com|edu|gov|idn|net|org|per",
159
+ "sn":"art|com|edu|gouv|org|perso|univ",
160
+ "sy":"com|edu|gov|mil|net|news|org",
161
+ "th":"ac|co|go|in|mi|net|or",
162
+ "tj":"ac|biz|co|com|edu|go|gov|info|int|mil|name|net|nic|org|test|web",
163
+ "tn":"agrinet|com|defense|edunet|ens|fin|gov|ind|info|intl|mincom|nat|net|org|perso|rnrt|rns|rnu|tourism",
164
+ "tz":"ac|co|go|ne|or",
165
+ "ua":"biz|cherkassy|chernigov|chernovtsy|ck|cn|co|com|crimea|cv|dn|dnepropetrovsk|donetsk|dp|edu|gov|if|in|ivano-frankivsk|kh|kharkov|kherson|khmelnitskiy|kiev|kirovograd|km|kr|ks|kv|lg|lugansk|lutsk|lviv|me|mk|net|nikolaev|od|odessa|org|pl|poltava|pp|rovno|rv|sebastopol|sumy|te|ternopil|uzhgorod|vinnica|vn|zaporizhzhe|zhitomir|zp|zt",
166
+ "ug":"ac|co|go|ne|or|org|sc",
167
+ "uk":"ac|bl|british-library|co|cym|gov|govt|icnet|jet|lea|ltd|me|mil|mod|national-library-scotland|nel|net|nhs|nic|nls|org|orgn|parliament|plc|police|sch|scot|soc",
168
+ "us":"dni|fed|isa|kids|nsn",
169
+ "uy":"com|edu|gub|mil|net|org",
170
+ "ve":"co|com|edu|gob|info|mil|net|org|web",
171
+ "vi":"co|com|k12|net|org",
172
+ "vn":"ac|biz|com|edu|gov|health|info|int|name|net|org|pro",
173
+ "ye":"co|com|gov|ltd|me|net|org|plc",
174
+ "yu":"ac|co|edu|gov|org",
175
+ "za":"ac|agric|alt|bourse|city|co|cybernet|db|edu|gov|grondar|iaccess|imt|inca|landesign|law|mil|net|ngo|nis|nom|olivetti|org|pix|school|tm|web",
176
+ "zm":"ac|co|com|edu|gov|net|org|sch"
177
+ },
178
+ // SLD expression for each TLD
179
+ //expressions: {},
180
+ // SLD expression for all TLDs
181
+ has_expression: null,
182
+ is_expression: null,
183
+ // validate domain is a known SLD
184
+ has: function(domain) {
185
+ return !!domain.match(SLD.has_expression);
186
+ },
187
+ is: function(domain) {
188
+ return !!domain.match(SLD.is_expression);
189
+ },
190
+ get: function(domain) {
191
+ var t = domain.match(SLD.has_expression);
192
+ return t && t[1] || null;
193
+ },
194
+ noConflict: function(){
195
+ if (root.SecondLevelDomains === this) {
196
+ root.SecondLevelDomains = _SecondLevelDomains;
197
+ }
198
+ return this;
199
+ },
200
+ init: function() {
201
+ var t = '';
202
+ for (var tld in SLD.list) {
203
+ if (!hasOwn.call(SLD.list, tld)) {
204
+ continue;
205
+ }
206
+
207
+ var expression = '(' + SLD.list[tld] + ')\.' + tld;
208
+ //SLD.expressions[tld] = new RegExp('\.' + expression + '$', 'i');
209
+ t += '|(' + expression + ')';
210
+ }
211
+
212
+ SLD.has_expression = new RegExp('\\.(' + t.substr(1) + ')$', 'i');
213
+ SLD.is_expression = new RegExp('^(' + t.substr(1) + ')$', 'i');
214
+ }
215
+ };
216
+
217
+ SLD.init();
218
+
219
+ return SLD;
220
+ }));
@@ -0,0 +1,103 @@
1
+ /*
2
+ * Extending URI.js for fragment abuse
3
+ */
4
+
5
+ // --------------------------------------------------------------------------------
6
+ // EXAMPLE: storing application/x-www-form-urlencoded data in the fragment
7
+ // possibly helpful for Google's hashbangs
8
+ // see http://code.google.com/web/ajaxcrawling/
9
+ // --------------------------------------------------------------------------------
10
+
11
+ // Note: make sure this is the last file loaded!
12
+
13
+ // USAGE:
14
+ // var uri = URI("http://example.org/#?foo=bar");
15
+ // uri.fragment(true) === {foo: "bar"};
16
+ // uri.fragment({bar: "foo"});
17
+ // uri.toString() === "http://example.org/#?bar=foo";
18
+ // uri.addFragment("name", "value");
19
+ // uri.toString() === "http://example.org/#?bar=foo&name=value";
20
+ // uri.removeFragment("name");
21
+ // uri.toString() === "http://example.org/#?bar=foo";
22
+
23
+ (function (root, factory) {
24
+ // https://github.com/umdjs/umd/blob/master/returnExports.js
25
+ if (typeof exports === 'object') {
26
+ // Node
27
+ module.exports = factory(require('./URI'));
28
+ } else if (typeof define === 'function' && define.amd) {
29
+ // AMD. Register as an anonymous module.
30
+ define(['./URI'], factory);
31
+ } else {
32
+ // Browser globals (root is window)
33
+ factory(root.URI);
34
+ }
35
+ }(this, function (URI) {
36
+ "use strict";
37
+
38
+ var p = URI.prototype;
39
+ // old fragment handler we need to wrap
40
+ var f = p.fragment;
41
+
42
+ // make fragmentPrefix configurable
43
+ URI.fragmentPrefix = '?';
44
+ var _parts = URI._parts;
45
+ URI._parts = function() {
46
+ var parts = _parts();
47
+ parts.fragmentPrefix = URI.fragmentPrefix;
48
+ return parts;
49
+ };
50
+ p.fragmentPrefix = function(v) {
51
+ this._parts.fragmentPrefix = v;
52
+ return this;
53
+ };
54
+
55
+ // add fragment(true) and fragment({key: value}) signatures
56
+ p.fragment = function(v, build) {
57
+ var prefix = this._parts.fragmentPrefix;
58
+ var fragment = this._parts.fragment || "";
59
+
60
+ if (v === true) {
61
+ if (fragment.substring(0, prefix.length) !== prefix) {
62
+ return {};
63
+ }
64
+
65
+ return URI.parseQuery(fragment.substring(prefix.length));
66
+ } else if (v !== undefined && typeof v !== "string") {
67
+ this._parts.fragment = prefix + URI.buildQuery(v);
68
+ this.build(!build);
69
+ return this;
70
+ } else {
71
+ return f.call(this, v, build);
72
+ }
73
+ };
74
+ p.addFragment = function(name, value, build) {
75
+ var prefix = this._parts.fragmentPrefix;
76
+ var data = URI.parseQuery((this._parts.fragment || "").substring(prefix.length));
77
+ URI.addQuery(data, name, value);
78
+ this._parts.fragment = prefix + URI.buildQuery(data);
79
+ if (typeof name !== "string") {
80
+ build = value;
81
+ }
82
+
83
+ this.build(!build);
84
+ return this;
85
+ };
86
+ p.removeFragment = function(name, value, build) {
87
+ var prefix = this._parts.fragmentPrefix;
88
+ var data = URI.parseQuery((this._parts.fragment || "").substring(prefix.length));
89
+ URI.removeQuery(data, name, value);
90
+ this._parts.fragment = prefix + URI.buildQuery(data);
91
+ if (typeof name !== "string") {
92
+ build = value;
93
+ }
94
+
95
+ this.build(!build);
96
+ return this;
97
+ };
98
+ p.addHash = p.addFragment;
99
+ p.removeHash = p.removeFragment;
100
+
101
+ // extending existing object rather than defining something new
102
+ return {};
103
+ }));
@@ -0,0 +1,96 @@
1
+ /*
2
+ * Extending URI.js for fragment abuse
3
+ */
4
+
5
+ // --------------------------------------------------------------------------------
6
+ // EXAMPLE: storing a relative URL in the fragment ("FragmentURI")
7
+ // possibly helpful when working with backbone.js or sammy.js
8
+ // inspired by https://github.com/medialize/URI.js/pull/2
9
+ // --------------------------------------------------------------------------------
10
+
11
+ // Note: make sure this is the last file loaded!
12
+
13
+ // USAGE:
14
+ // var uri = URI("http://example.org/#!/foo/bar/baz.html");
15
+ // var furi = uri.fragment(true);
16
+ // furi.pathname() === '/foo/bar/baz.html';
17
+ // furi.pathname('/hello.html');
18
+ // uri.toString() === "http://example.org/#!/hello.html"
19
+
20
+ (function (root, factory) {
21
+ // https://github.com/umdjs/umd/blob/master/returnExports.js
22
+ if (typeof exports === 'object') {
23
+ // Node
24
+ module.exports = factory(require('./URI'));
25
+ } else if (typeof define === 'function' && define.amd) {
26
+ // AMD. Register as an anonymous module.
27
+ define(['./URI'], factory);
28
+ } else {
29
+ // Browser globals (root is window)
30
+ factory(root.URI);
31
+ }
32
+ }(this, function (URI) {
33
+ "use strict";
34
+
35
+ var p = URI.prototype;
36
+ // old handlers we need to wrap
37
+ var f = p.fragment;
38
+ var b = p.build;
39
+
40
+ // make fragmentPrefix configurable
41
+ URI.fragmentPrefix = '!';
42
+ var _parts = URI._parts;
43
+ URI._parts = function() {
44
+ var parts = _parts();
45
+ parts.fragmentPrefix = URI.fragmentPrefix;
46
+ return parts;
47
+ };
48
+ p.fragmentPrefix = function(v) {
49
+ this._parts.fragmentPrefix = v;
50
+ return this;
51
+ };
52
+
53
+ // add fragment(true) and fragment(URI) signatures
54
+ p.fragment = function(v, build) {
55
+ var prefix = this._parts.fragmentPrefix;
56
+ var fragment = this._parts.fragment || "";
57
+ var furi;
58
+
59
+ if (v === true) {
60
+ if (fragment.substring(0, prefix.length) !== prefix) {
61
+ furi = URI("");
62
+ } else {
63
+ furi = new URI(fragment.substring(prefix.length));
64
+ }
65
+
66
+ this._fragmentURI = furi;
67
+ furi._parentURI = this;
68
+ return furi;
69
+ } else if (v !== undefined && typeof v !== "string") {
70
+ this._fragmentURI = v;
71
+ v._parentURI = v;
72
+ this._parts.fragment = prefix + v.toString();
73
+ this.build(!build);
74
+ return this;
75
+ } else if (typeof v === "string") {
76
+ this._fragmentURI = undefined;
77
+ }
78
+
79
+ return f.call(this, v, build);
80
+ };
81
+
82
+ // make .build() of the actual URI aware of the FragmentURI
83
+ p.build = function(deferBuild) {
84
+ var t = b.call(this, deferBuild);
85
+
86
+ if (deferBuild !== false && this._parentURI) {
87
+ // update the parent
88
+ this._parentURI.fragment(this);
89
+ }
90
+
91
+ return t;
92
+ };
93
+
94
+ // extending existing object rather than defining something new
95
+ return {};
96
+ }));