example_rack/config.ru in rollout_ui2-0.4.0 vs example_rack/config.ru in rollout_ui2-0.5.0
- old
+ new
@@ -1,8 +1,8 @@
require 'rollout'
require 'rollout_ui2'
-require 'redis'
+require 'redis-namespace'
USERS = [ { id: 1,
text: "jimi.lepisto@example.com",
picture: "https://randomuser.me/api/portraits/thumb/men/21.jpg" },
{ id: 2,
@@ -31,12 +31,616 @@
picture: "https://randomuser.me/api/portraits/thumb/women/32.jpg" },
{ id: 10,
text: "stacey.olson@example.com",
picture: "https://randomuser.me/api/portraits/thumb/women/3.jpg" } ]
-class User
- def self.find_by_id(ids)
+COUNTRIES = [
+ { id: "af",
+ text: "Afghanistan",
+ picture: "http://flags.fmcdn.net/data/flags/mini/af.png" },
+ { id: "al",
+ text: "Albania",
+ picture: "http://flags.fmcdn.net/data/flags/mini/al.png" },
+ { id: "dz",
+ text: "Algeria",
+ picture: "http://flags.fmcdn.net/data/flags/mini/dz.png" },
+ { id: "ad",
+ text: "Andorra",
+ picture: "http://flags.fmcdn.net/data/flags/mini/ad.png" },
+ { id: "ao",
+ text: "Angola",
+ picture: "http://flags.fmcdn.net/data/flags/mini/ao.png" },
+ { id: "ag",
+ text: "Antigua and Barbuda",
+ picture: "http://flags.fmcdn.net/data/flags/mini/ag.png" },
+ { id: "ar",
+ text: "Argentina",
+ picture: "http://flags.fmcdn.net/data/flags/mini/ar.png" },
+ { id: "am",
+ text: "Armenia",
+ picture: "http://flags.fmcdn.net/data/flags/mini/am.png" },
+ { id: "au",
+ text: "Australia",
+ picture: "http://flags.fmcdn.net/data/flags/mini/au.png" },
+ { id: "at",
+ text: "Austria",
+ picture: "http://flags.fmcdn.net/data/flags/mini/at.png" },
+ { id: "az",
+ text: "Azerbaijan",
+ picture: "http://flags.fmcdn.net/data/flags/mini/az.png" },
+ { id: "bs",
+ text: "Bahamas",
+ picture: "http://flags.fmcdn.net/data/flags/mini/bs.png" },
+ { id: "bh",
+ text: "Bahrain",
+ picture: "http://flags.fmcdn.net/data/flags/mini/bh.png" },
+ { id: "bd",
+ text: "Bangladesh",
+ picture: "http://flags.fmcdn.net/data/flags/mini/bd.png" },
+ { id: "bb",
+ text: "Barbados",
+ picture: "http://flags.fmcdn.net/data/flags/mini/bb.png" },
+ { id: "by",
+ text: "Belarus",
+ picture: "http://flags.fmcdn.net/data/flags/mini/by.png" },
+ { id: "be",
+ text: "Belgium",
+ picture: "http://flags.fmcdn.net/data/flags/mini/be.png" },
+ { id: "bz",
+ text: "Belize",
+ picture: "http://flags.fmcdn.net/data/flags/mini/bz.png" },
+ { id: "bj",
+ text: "Benin",
+ picture: "http://flags.fmcdn.net/data/flags/mini/bj.png" },
+ { id: "bt",
+ text: "Bhutan",
+ picture: "http://flags.fmcdn.net/data/flags/mini/bt.png" },
+ { id: "bo",
+ text: "Bolivia",
+ picture: "http://flags.fmcdn.net/data/flags/mini/bo.png" },
+ { id: "ba",
+ text: "Bosnia and Herzegovina",
+ picture: "http://flags.fmcdn.net/data/flags/mini/ba.png" },
+ { id: "bw",
+ text: "Botswana",
+ picture: "http://flags.fmcdn.net/data/flags/mini/bw.png" },
+ { id: "br",
+ text: "Brazil",
+ picture: "http://flags.fmcdn.net/data/flags/mini/br.png" },
+ { id: "bn",
+ text: "Brunei",
+ picture: "http://flags.fmcdn.net/data/flags/mini/bn.png" },
+ { id: "bg",
+ text: "Bulgaria",
+ picture: "http://flags.fmcdn.net/data/flags/mini/bg.png" },
+ { id: "bf",
+ text: "Burkina Faso",
+ picture: "http://flags.fmcdn.net/data/flags/mini/bf.png" },
+ { id: "bi",
+ text: "Burundi",
+ picture: "http://flags.fmcdn.net/data/flags/mini/bi.png" },
+ { id: "kh",
+ text: "Cambodia",
+ picture: "http://flags.fmcdn.net/data/flags/mini/kh.png" },
+ { id: "cm",
+ text: "Cameroon",
+ picture: "http://flags.fmcdn.net/data/flags/mini/cm.png" },
+ { id: "ca",
+ text: "Canada",
+ picture: "http://flags.fmcdn.net/data/flags/mini/ca.png" },
+ { id: "cv",
+ text: "Cape Verde",
+ picture: "http://flags.fmcdn.net/data/flags/mini/cv.png" },
+ { id: "cf",
+ text: "Central African Republic",
+ picture: "http://flags.fmcdn.net/data/flags/mini/cf.png" },
+ { id: "td",
+ text: "Chad",
+ picture: "http://flags.fmcdn.net/data/flags/mini/td.png" },
+ { id: "cl",
+ text: "Chile",
+ picture: "http://flags.fmcdn.net/data/flags/mini/cl.png" },
+ { id: "co",
+ text: "Colombia",
+ picture: "http://flags.fmcdn.net/data/flags/mini/co.png" },
+ { id: "km",
+ text: "Comoros",
+ picture: "http://flags.fmcdn.net/data/flags/mini/km.png" },
+ { id: "ck",
+ text: "the Cook Islands",
+ picture: "http://flags.fmcdn.net/data/flags/mini/ck.png" },
+ { id: "cr",
+ text: "Costa Rica",
+ picture: "http://flags.fmcdn.net/data/flags/mini/cr.png" },
+ { id: "ci",
+ text: "Cote d'Ivoire",
+ picture: "http://flags.fmcdn.net/data/flags/mini/ci.png" },
+ { id: "hr",
+ text: "Croatia",
+ picture: "http://flags.fmcdn.net/data/flags/mini/hr.png" },
+ { id: "cu",
+ text: "Cuba",
+ picture: "http://flags.fmcdn.net/data/flags/mini/cu.png" },
+ { id: "cy",
+ text: "Cyprus",
+ picture: "http://flags.fmcdn.net/data/flags/mini/cy.png" },
+ { id: "cz",
+ text: "Czech Republic",
+ picture: "http://flags.fmcdn.net/data/flags/mini/cz.png" },
+ { id: "gs",
+ text: "Democratic Republic of the Congo",
+ picture: "http://flags.fmcdn.net/data/flags/mini" },
+ { id: "dk",
+ text: "Denmark",
+ picture: "http://flags.fmcdn.net/data/flags/mini/dk.png" },
+ { id: "dj",
+ text: "Djibouti",
+ picture: "http://flags.fmcdn.net/data/flags/mini/dj.png" },
+ { id: "dm",
+ text: "Dominica",
+ picture: "http://flags.fmcdn.net/data/flags/mini/dm.png" },
+ { id: "do",
+ text: "Dominican Republic",
+ picture: "http://flags.fmcdn.net/data/flags/mini/do.png" },
+ { id: "tl",
+ text: "East Timor",
+ picture: "http://flags.fmcdn.net/data/flags/mini/tl.png" },
+ { id: "ec",
+ text: "Ecuador",
+ picture: "http://flags.fmcdn.net/data/flags/mini/ec.png" },
+ { id: "eg",
+ text: "Egypt",
+ picture: "http://flags.fmcdn.net/data/flags/mini/eg.png" },
+ { id: "sv",
+ text: "El Salvador",
+ picture: "http://flags.fmcdn.net/data/flags/mini/sv.png" },
+ { id: "gq",
+ text: "Equatorial Guinea",
+ picture: "http://flags.fmcdn.net/data/flags/mini/gq.png" },
+ { id: "er",
+ text: "Eritrea",
+ picture: "http://flags.fmcdn.net/data/flags/mini/er.png" },
+ { id: "ee",
+ text: "Estonia",
+ picture: "http://flags.fmcdn.net/data/flags/mini/ee.png" },
+ { id: "et",
+ text: "Ethiopia",
+ picture: "http://flags.fmcdn.net/data/flags/mini/et.png" },
+ { id: "fj",
+ text: "Fiji",
+ picture: "http://flags.fmcdn.net/data/flags/mini/fj.png" },
+ { id: "fi",
+ text: "Finland",
+ picture: "http://flags.fmcdn.net/data/flags/mini/fi.png" },
+ { id: "fr",
+ text: "France",
+ picture: "http://flags.fmcdn.net/data/flags/mini/fr.png" },
+ { id: "ga",
+ text: "Gabon",
+ picture: "http://flags.fmcdn.net/data/flags/mini/ga.png" },
+ { id: "gm",
+ text: "Gambia",
+ picture: "http://flags.fmcdn.net/data/flags/mini/gm.png" },
+ { id: "ge",
+ text: "Georgia",
+ picture: "http://flags.fmcdn.net/data/flags/mini/ge.png" },
+ { id: "de",
+ text: "Germany",
+ picture: "http://flags.fmcdn.net/data/flags/mini/de.png" },
+ { id: "gh",
+ text: "Ghana",
+ picture: "http://flags.fmcdn.net/data/flags/mini/gh.png" },
+ { id: "gr",
+ text: "Greece",
+ picture: "http://flags.fmcdn.net/data/flags/mini/gr.png" },
+ { id: "gd",
+ text: "Grenada",
+ picture: "http://flags.fmcdn.net/data/flags/mini/gd.png" },
+ { id: "gt",
+ text: "Guatemala",
+ picture: "http://flags.fmcdn.net/data/flags/mini/gt.png" },
+ { id: "gn",
+ text: "Guinea",
+ picture: "http://flags.fmcdn.net/data/flags/mini/gn.png" },
+ { id: "gw",
+ text: "Guinea-Bissau",
+ picture: "http://flags.fmcdn.net/data/flags/mini/gw.png" },
+ { id: "gy",
+ text: "Guyana",
+ picture: "http://flags.fmcdn.net/data/flags/mini/gy.png" },
+ { id: "ht",
+ text: "Haiti",
+ picture: "http://flags.fmcdn.net/data/flags/mini/ht.png" },
+ { id: "hn",
+ text: "Honduras",
+ picture: "http://flags.fmcdn.net/data/flags/mini/hn.png" },
+ { id: "hu",
+ text: "Hungary",
+ picture: "http://flags.fmcdn.net/data/flags/mini/hu.png" },
+ { id: "is",
+ text: "Iceland",
+ picture: "http://flags.fmcdn.net/data/flags/mini/is.png" },
+ { id: "in",
+ text: "India",
+ picture: "http://flags.fmcdn.net/data/flags/mini/in.png" },
+ { id: "id",
+ text: "Indonesia",
+ picture: "http://flags.fmcdn.net/data/flags/mini/id.png" },
+ { id: "ir",
+ text: "Iran",
+ picture: "http://flags.fmcdn.net/data/flags/mini/ir.png" },
+ { id: "iq",
+ text: "Iraq",
+ picture: "http://flags.fmcdn.net/data/flags/mini/iq.png" },
+ { id: "ie",
+ text: "Ireland",
+ picture: "http://flags.fmcdn.net/data/flags/mini/ie.png" },
+ { id: "il",
+ text: "Israel",
+ picture: "http://flags.fmcdn.net/data/flags/mini/il.png" },
+ { id: "it",
+ text: "Italy",
+ picture: "http://flags.fmcdn.net/data/flags/mini/it.png" },
+ { id: "jm",
+ text: "Jamaica",
+ picture: "http://flags.fmcdn.net/data/flags/mini/jm.png" },
+ { id: "jp",
+ text: "Japan",
+ picture: "http://flags.fmcdn.net/data/flags/mini/jp.png" },
+ { id: "jo",
+ text: "Jordan",
+ picture: "http://flags.fmcdn.net/data/flags/mini/jo.png" },
+ { id: "kz",
+ text: "Kazakhstan",
+ picture: "http://flags.fmcdn.net/data/flags/mini/kz.png" },
+ { id: "ke",
+ text: "Kenya",
+ picture: "http://flags.fmcdn.net/data/flags/mini/ke.png" },
+ { id: "ki",
+ text: "Kiribati",
+ picture: "http://flags.fmcdn.net/data/flags/mini/ki.png" },
+ { id: "ks",
+ text: "Kosovo",
+ picture: "http://flags.fmcdn.net/data/flags/mini/ks.png" },
+ { id: "kw",
+ text: "Kuwait",
+ picture: "http://flags.fmcdn.net/data/flags/mini/kw.png" },
+ { id: "kg",
+ text: "Kyrgyzstan",
+ picture: "http://flags.fmcdn.net/data/flags/mini/kg.png" },
+ { id: "la",
+ text: "Laos",
+ picture: "http://flags.fmcdn.net/data/flags/mini/la.png" },
+ { id: "lv",
+ text: "Latvia",
+ picture: "http://flags.fmcdn.net/data/flags/mini/lv.png" },
+ { id: "lb",
+ text: "Lebanon",
+ picture: "http://flags.fmcdn.net/data/flags/mini/lb.png" },
+ { id: "ls",
+ text: "Lesotho",
+ picture: "http://flags.fmcdn.net/data/flags/mini/ls.png" },
+ { id: "lr",
+ text: "Liberia",
+ picture: "http://flags.fmcdn.net/data/flags/mini/lr.png" },
+ { id: "ly",
+ text: "Libya",
+ picture: "http://flags.fmcdn.net/data/flags/mini/ly.png" },
+ { id: "li",
+ text: "Liechtenstein",
+ picture: "http://flags.fmcdn.net/data/flags/mini/li.png" },
+ { id: "lt",
+ text: "Lithuania",
+ picture: "http://flags.fmcdn.net/data/flags/mini/lt.png" },
+ { id: "lu",
+ text: "Luxembourg",
+ picture: "http://flags.fmcdn.net/data/flags/mini/lu.png" },
+ { id: "mk",
+ text: "Macedonia",
+ picture: "http://flags.fmcdn.net/data/flags/mini/mk.png" },
+ { id: "mg",
+ text: "Madagascar",
+ picture: "http://flags.fmcdn.net/data/flags/mini/mg.png" },
+ { id: "mw",
+ text: "Malawi",
+ picture: "http://flags.fmcdn.net/data/flags/mini/mw.png" },
+ { id: "my",
+ text: "Malaysia",
+ picture: "http://flags.fmcdn.net/data/flags/mini/my.png" },
+ { id: "mv",
+ text: "Maldives",
+ picture: "http://flags.fmcdn.net/data/flags/mini/mv.png" },
+ { id: "ml",
+ text: "Mali",
+ picture: "http://flags.fmcdn.net/data/flags/mini/ml.png" },
+ { id: "mt",
+ text: "Malta",
+ picture: "http://flags.fmcdn.net/data/flags/mini/mt.png" },
+ { id: "mh",
+ text: "Marshall Islands",
+ picture: "http://flags.fmcdn.net/data/flags/mini/mh.png" },
+ { id: "mr",
+ text: "Mauritania",
+ picture: "http://flags.fmcdn.net/data/flags/mini/mr.png" },
+ { id: "mu",
+ text: "Mauritius",
+ picture: "http://flags.fmcdn.net/data/flags/mini/mu.png" },
+ { id: "mx",
+ text: "Mexico",
+ picture: "http://flags.fmcdn.net/data/flags/mini/mx.png" },
+ { id: "fm",
+ text: "Micronesia",
+ picture: "http://flags.fmcdn.net/data/flags/mini/fm.png" },
+ { id: "md",
+ text: "Moldova",
+ picture: "http://flags.fmcdn.net/data/flags/mini/md.png" },
+ { id: "mc",
+ text: "Monaco",
+ picture: "http://flags.fmcdn.net/data/flags/mini/mc.png" },
+ { id: "mn",
+ text: "Mongolia",
+ picture: "http://flags.fmcdn.net/data/flags/mini/mn.png" },
+ { id: "me",
+ text: "Montenegro",
+ picture: "http://flags.fmcdn.net/data/flags/mini/me.png" },
+ { id: "ma",
+ text: "Morocco",
+ picture: "http://flags.fmcdn.net/data/flags/mini/ma.png" },
+ { id: "mz",
+ text: "Mozambique",
+ picture: "http://flags.fmcdn.net/data/flags/mini/mz.png" },
+ { id: "mm",
+ text: "Myanmar",
+ picture: "http://flags.fmcdn.net/data/flags/mini/mm.png" },
+ { id: "na",
+ text: "Namibia",
+ picture: "http://flags.fmcdn.net/data/flags/mini/na.png" },
+ { id: "nr",
+ text: "Nauru",
+ picture: "http://flags.fmcdn.net/data/flags/mini/nr.png" },
+ { id: "np",
+ text: "Nepal",
+ picture: "http://flags.fmcdn.net/data/flags/mini/np.png" },
+ { id: "nl",
+ text: "Netherlands",
+ picture: "http://flags.fmcdn.net/data/flags/mini/nl.png" },
+ { id: "nz",
+ text: "New Zealand",
+ picture: "http://flags.fmcdn.net/data/flags/mini/nz.png" },
+ { id: "ni",
+ text: "Nicaragua",
+ picture: "http://flags.fmcdn.net/data/flags/mini/ni.png" },
+ { id: "ne",
+ text: "Niger",
+ picture: "http://flags.fmcdn.net/data/flags/mini/ne.png" },
+ { id: "ng",
+ text: "Nigeria",
+ picture: "http://flags.fmcdn.net/data/flags/mini/ng.png" },
+ { id: "nu",
+ text: "Niue",
+ picture: "http://flags.fmcdn.net/data/flags/mini/nu.png" },
+ { id: "kp",
+ text: "North Korea",
+ picture: "http://flags.fmcdn.net/data/flags/mini/kp.png" },
+ { id: "no",
+ text: "Norway",
+ picture: "http://flags.fmcdn.net/data/flags/mini/no.png" },
+ { id: "om",
+ text: "Oman",
+ picture: "http://flags.fmcdn.net/data/flags/mini/om.png" },
+ { id: "pk",
+ text: "Pakistan",
+ picture: "http://flags.fmcdn.net/data/flags/mini/pk.png" },
+ { id: "pw",
+ text: "Palau",
+ picture: "http://flags.fmcdn.net/data/flags/mini/pw.png" },
+ { id: "pa",
+ text: "Panama",
+ picture: "http://flags.fmcdn.net/data/flags/mini/pa.png" },
+ { id: "pg",
+ text: "Papua New Guinea",
+ picture: "http://flags.fmcdn.net/data/flags/mini/pg.png" },
+ { id: "py",
+ text: "Paraguay",
+ picture: "http://flags.fmcdn.net/data/flags/mini/py.png" },
+ { id: "cn",
+ text: "People's Republic of China",
+ picture: "http://flags.fmcdn.net/data/flags/mini/cn.png" },
+ { id: "pe",
+ text: "Peru",
+ picture: "http://flags.fmcdn.net/data/flags/mini/pe.png" },
+ { id: "ph",
+ text: "Philippines",
+ picture: "http://flags.fmcdn.net/data/flags/mini/ph.png" },
+ { id: "pl",
+ text: "Poland",
+ picture: "http://flags.fmcdn.net/data/flags/mini/pl.png" },
+ { id: "pt",
+ text: "Portugal",
+ picture: "http://flags.fmcdn.net/data/flags/mini/pt.png" },
+ { id: "qa",
+ text: "Qatar",
+ picture: "http://flags.fmcdn.net/data/flags/mini/qa.png" },
+ { id: "tw",
+ text: "Republic of China",
+ picture: "http://flags.fmcdn.net/data/flags/mini/tw.png" },
+ { id: "cg",
+ text: "Republic of the Congo",
+ picture: "http://flags.fmcdn.net/data/flags/mini/cg.png" },
+ { id: "ro",
+ text: "Romania",
+ picture: "http://flags.fmcdn.net/data/flags/mini/ro.png" },
+ { id: "ru",
+ text: "Russia",
+ picture: "http://flags.fmcdn.net/data/flags/mini/ru.png" },
+ { id: "rw",
+ text: "Rwanda",
+ picture: "http://flags.fmcdn.net/data/flags/mini/rw.png" },
+ { id: "kn",
+ text: "Saint Kitts and Nevis",
+ picture: "http://flags.fmcdn.net/data/flags/mini/kn.png" },
+ { id: "lc",
+ text: "Saint Lucia",
+ picture: "http://flags.fmcdn.net/data/flags/mini/lc.png" },
+ { id: "ni",
+ text: "Saint Vincent and the Grenadines",
+ picture: "http://flags.fmcdn.net/data/flags/mini/vc" },
+ { id: "ws",
+ text: "Samoa",
+ picture: "http://flags.fmcdn.net/data/flags/mini/ws.png" },
+ { id: "sm",
+ text: "San Marino",
+ picture: "http://flags.fmcdn.net/data/flags/mini/sm.png" },
+ { id: "st",
+ text: "Sao Tome and Principe",
+ picture: "http://flags.fmcdn.net/data/flags/mini/st.png" },
+ { id: "sa",
+ text: "Saudi Arabia",
+ picture: "http://flags.fmcdn.net/data/flags/mini/sa.png" },
+ { id: "sn",
+ text: "Senegal",
+ picture: "http://flags.fmcdn.net/data/flags/mini/sn.png" },
+ { id: "rs",
+ text: "Serbia",
+ picture: "http://flags.fmcdn.net/data/flags/mini/rs.png" },
+ { id: "sc",
+ text: "Seychelles",
+ picture: "http://flags.fmcdn.net/data/flags/mini/sc.png" },
+ { id: "sl",
+ text: "Sierra Leone",
+ picture: "http://flags.fmcdn.net/data/flags/mini/sl.png" },
+ { id: "sg",
+ text: "Singapore",
+ picture: "http://flags.fmcdn.net/data/flags/mini/sg.png" },
+ { id: "sk",
+ text: "Slovakia",
+ picture: "http://flags.fmcdn.net/data/flags/mini/sk.png" },
+ { id: "si",
+ text: "Slovenia",
+ picture: "http://flags.fmcdn.net/data/flags/mini/si.png" },
+ { id: "sb",
+ text: "Solomon Islands",
+ picture: "http://flags.fmcdn.net/data/flags/mini/sb.png" },
+ { id: "so",
+ text: "Somalia",
+ picture: "http://flags.fmcdn.net/data/flags/mini/so.png" },
+ { id: "za",
+ text: "South Africa",
+ picture: "http://flags.fmcdn.net/data/flags/mini/za.png" },
+ { id: "kr",
+ text: "South Korea",
+ picture: "http://flags.fmcdn.net/data/flags/mini/kr.png" },
+ { id: "ss",
+ text: "South Sudan",
+ picture: "http://flags.fmcdn.net/data/flags/mini/ss.png" },
+ { id: "es",
+ text: "Spain",
+ picture: "http://flags.fmcdn.net/data/flags/mini/es.png" },
+ { id: "lk",
+ text: "Sri Lanka",
+ picture: "http://flags.fmcdn.net/data/flags/mini/lk.png" },
+ { id: "sd",
+ text: "Sudan",
+ picture: "http://flags.fmcdn.net/data/flags/mini/sd.png" },
+ { id: "sr",
+ text: "Suriname",
+ picture: "http://flags.fmcdn.net/data/flags/mini/sr.png" },
+ { id: "sz",
+ text: "Swaziland",
+ picture: "http://flags.fmcdn.net/data/flags/mini/sz.png" },
+ { id: "se",
+ text: "Sweden",
+ picture: "http://flags.fmcdn.net/data/flags/mini/se.png" },
+ { id: "ch",
+ text: "Switzerland",
+ picture: "http://flags.fmcdn.net/data/flags/mini/ch.png" },
+ { id: "sy",
+ text: "Syria",
+ picture: "http://flags.fmcdn.net/data/flags/mini/sy.png" },
+ { id: "tj",
+ text: "Tajikistan",
+ picture: "http://flags.fmcdn.net/data/flags/mini/tj.png" },
+ { id: "tz",
+ text: "Tanzania",
+ picture: "http://flags.fmcdn.net/data/flags/mini/tz.png" },
+ { id: "th",
+ text: "Thailand",
+ picture: "http://flags.fmcdn.net/data/flags/mini/th.png" },
+ { id: "tg",
+ text: "Togo",
+ picture: "http://flags.fmcdn.net/data/flags/mini/tg.png" },
+ { id: "to",
+ text: "Tonga",
+ picture: "http://flags.fmcdn.net/data/flags/mini/to.png" },
+ { id: "tt",
+ text: "Trinidad and Tobago",
+ picture: "http://flags.fmcdn.net/data/flags/mini/tt.png" },
+ { id: "tn",
+ text: "Tunisia",
+ picture: "http://flags.fmcdn.net/data/flags/mini/tn.png" },
+ { id: "tr",
+ text: "Turkey",
+ picture: "http://flags.fmcdn.net/data/flags/mini/tr.png" },
+ { id: "tm",
+ text: "Turkmenistan",
+ picture: "http://flags.fmcdn.net/data/flags/mini/tm.png" },
+ { id: "tv",
+ text: "Tuvalu",
+ picture: "http://flags.fmcdn.net/data/flags/mini/tv.png" },
+ { id: "ug",
+ text: "Uganda",
+ picture: "http://flags.fmcdn.net/data/flags/mini/ug.png" },
+ { id: "ua",
+ text: "Ukraine",
+ picture: "http://flags.fmcdn.net/data/flags/mini/ua.png" },
+ { id: "ae",
+ text: "United Arab Emirates",
+ picture: "http://flags.fmcdn.net/data/flags/mini/ae.png" },
+ { id: "gb",
+ text: "United Kingdom",
+ picture: "http://flags.fmcdn.net/data/flags/mini/gb.png" },
+ { id: "us",
+ text: "United States",
+ picture: "http://flags.fmcdn.net/data/flags/mini/us.png" },
+ { id: "uy",
+ text: "Uruguay",
+ picture: "http://flags.fmcdn.net/data/flags/mini/uy.png" },
+ { id: "uz",
+ text: "Uzbekistan",
+ picture: "http://flags.fmcdn.net/data/flags/mini/uz.png" },
+ { id: "vu",
+ text: "Vanuatu",
+ picture: "http://flags.fmcdn.net/data/flags/mini/vu.png" },
+ { id: "va",
+ text: "Vatican City",
+ picture: "http://flags.fmcdn.net/data/flags/mini/va.png" },
+ { id: "ve",
+ text: "Venezuela",
+ picture: "http://flags.fmcdn.net/data/flags/mini/ve.png" },
+ { id: "vn",
+ text: "Vietnam",
+ picture: "http://flags.fmcdn.net/data/flags/mini/vn.png" },
+ { id: "eh",
+ text: "Western Sahara",
+ picture: "http://flags.fmcdn.net/data/flags/mini/eh.png" },
+ { id: "ye",
+ text: "Yemen",
+ picture: "http://flags.fmcdn.net/data/flags/mini/ye.png" },
+ { id: "zm",
+ text: "Zambia",
+ picture: "http://flags.fmcdn.net/data/flags/mini/zm.png" },
+ { id: "zw",
+ text: "Zimbabwe",
+ picture: "http://flags.fmcdn.net/data/flags/mini/zw.png" }
+]
+
+class UserFinder
+ def self.find(id)
+ USERS.find { |it| it[:id].to_s == id.to_s }[:id]
+ end
+
+ def self.find_by_ids(ids)
USERS.select { |it| ids.include?(it[:id].to_s) }
end
def self.search(query, page)
result = USERS.select { |it| %r{#{query}} =~ it[:text] }
@@ -47,10 +651,37 @@
total_count: result.count
}
end
end
-RolloutUi2.wrap(Rollout.new(Redis.new)).with_finder(User)
+class CountryFinder
+ def self.find(id)
+ COUNTRIES.find { |it| it[:id].to_s.downcase == id.to_s.downcase }[:id]
+ end
+
+ def self.find_by_ids(ids)
+ COUNTRIES.select { |it| ids.include?(it[:id].to_s.downcase) }
+ end
+
+ def self.search(query, page)
+ result = COUNTRIES.select { |it| %r{#{query.downcase}} =~ it[:text].downcase }
+ per_page = 3
+ {
+ results: result[(page-1) * per_page...page * per_page],
+ per_page: per_page,
+ total_count: result.count
+ }
+ end
+end
+
+
+redis_connection = Redis.new
+
+rollout_user = Rollout.new(Redis::Namespace.new(:user, redis: redis_connection))
+rollout_country = Rollout.new(Redis::Namespace.new(:country, redis: redis_connection))
+
+RolloutUi2.wrap(rollout_user, finder: UserFinder, key: :user)
+RolloutUi2.wrap(rollout_country, finder: CountryFinder, key: :country)
RolloutUi2::Server.use Rack::Auth::Basic do |user, pass|
user == pass
end