magic_locales 0.0.1
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.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +42 -0
- data/Rakefile +23 -0
- data/lib/app/controllers/magic_locales/base_controller.rb +16 -0
- data/lib/app/controllers/magic_locales/locales_controller.rb +64 -0
- data/lib/app/models/magic_locales/association.rb +59 -0
- data/lib/app/models/magic_locales/language.rb +46 -0
- data/lib/app/models/magic_locales/locale.rb +78 -0
- data/lib/app/models/magic_locales.rb +6 -0
- data/lib/app/views/magic_locales/_locale_switch.html.erb +39 -0
- data/lib/app/views/magic_locales/locales/_globalized_name_fields.html.erb +20 -0
- data/lib/app/views/magic_locales/locales/form.html.erb +47 -0
- data/lib/app/views/magic_locales/locales/index.html.erb +83 -0
- data/lib/assets/images/flags/countries/large/flag-at.png +0 -0
- data/lib/assets/images/flags/countries/large/flag-ba.png +0 -0
- data/lib/assets/images/flags/countries/large/flag-be.png +0 -0
- data/lib/assets/images/flags/countries/large/flag-bg.png +0 -0
- data/lib/assets/images/flags/countries/large/flag-by.png +0 -0
- data/lib/assets/images/flags/countries/large/flag-ca.png +0 -0
- data/lib/assets/images/flags/countries/large/flag-ch.png +0 -0
- data/lib/assets/images/flags/countries/large/flag-cy.png +0 -0
- data/lib/assets/images/flags/countries/large/flag-cz.png +0 -0
- data/lib/assets/images/flags/countries/large/flag-de.png +0 -0
- data/lib/assets/images/flags/countries/large/flag-dk.png +0 -0
- data/lib/assets/images/flags/countries/large/flag-es.png +0 -0
- data/lib/assets/images/flags/countries/large/flag-fi.png +0 -0
- data/lib/assets/images/flags/countries/large/flag-fr.png +0 -0
- data/lib/assets/images/flags/countries/large/flag-gb.png +0 -0
- data/lib/assets/images/flags/countries/large/flag-gr.png +0 -0
- data/lib/assets/images/flags/countries/large/flag-hr.png +0 -0
- data/lib/assets/images/flags/countries/large/flag-hu.png +0 -0
- data/lib/assets/images/flags/countries/large/flag-ie.png +0 -0
- data/lib/assets/images/flags/countries/large/flag-it.png +0 -0
- data/lib/assets/images/flags/countries/large/flag-li.png +0 -0
- data/lib/assets/images/flags/countries/large/flag-lt.png +0 -0
- data/lib/assets/images/flags/countries/large/flag-lu.png +0 -0
- data/lib/assets/images/flags/countries/large/flag-lv.png +0 -0
- data/lib/assets/images/flags/countries/large/flag-nl.png +0 -0
- data/lib/assets/images/flags/countries/large/flag-no.png +0 -0
- data/lib/assets/images/flags/countries/large/flag-pl.png +0 -0
- data/lib/assets/images/flags/countries/large/flag-pt.png +0 -0
- data/lib/assets/images/flags/countries/large/flag-ro.png +0 -0
- data/lib/assets/images/flags/countries/large/flag-rs.png +0 -0
- data/lib/assets/images/flags/countries/large/flag-ru.png +0 -0
- data/lib/assets/images/flags/countries/large/flag-se.png +0 -0
- data/lib/assets/images/flags/countries/large/flag-si.png +0 -0
- data/lib/assets/images/flags/countries/large/flag-sk.png +0 -0
- data/lib/assets/images/flags/countries/large/flag-ua.png +0 -0
- data/lib/assets/images/flags/countries/large/flag-us.png +0 -0
- data/lib/assets/images/flags/countries/large/flag-xx.png +0 -0
- data/lib/assets/images/flags/countries/large/square-at.png +0 -0
- data/lib/assets/images/flags/countries/large/square-ba.png +0 -0
- data/lib/assets/images/flags/countries/large/square-be.png +0 -0
- data/lib/assets/images/flags/countries/large/square-bg.png +0 -0
- data/lib/assets/images/flags/countries/large/square-by.png +0 -0
- data/lib/assets/images/flags/countries/large/square-ca.png +0 -0
- data/lib/assets/images/flags/countries/large/square-ch.png +0 -0
- data/lib/assets/images/flags/countries/large/square-cy.png +0 -0
- data/lib/assets/images/flags/countries/large/square-cz.png +0 -0
- data/lib/assets/images/flags/countries/large/square-de.png +0 -0
- data/lib/assets/images/flags/countries/large/square-dk.png +0 -0
- data/lib/assets/images/flags/countries/large/square-es.png +0 -0
- data/lib/assets/images/flags/countries/large/square-fi.png +0 -0
- data/lib/assets/images/flags/countries/large/square-fr.png +0 -0
- data/lib/assets/images/flags/countries/large/square-gb.png +0 -0
- data/lib/assets/images/flags/countries/large/square-gr.png +0 -0
- data/lib/assets/images/flags/countries/large/square-hr.png +0 -0
- data/lib/assets/images/flags/countries/large/square-hu.png +0 -0
- data/lib/assets/images/flags/countries/large/square-ie.png +0 -0
- data/lib/assets/images/flags/countries/large/square-it.png +0 -0
- data/lib/assets/images/flags/countries/large/square-li.png +0 -0
- data/lib/assets/images/flags/countries/large/square-lt.png +0 -0
- data/lib/assets/images/flags/countries/large/square-lu.png +0 -0
- data/lib/assets/images/flags/countries/large/square-lv.png +0 -0
- data/lib/assets/images/flags/countries/large/square-nl.png +0 -0
- data/lib/assets/images/flags/countries/large/square-no.png +0 -0
- data/lib/assets/images/flags/countries/large/square-pl.png +0 -0
- data/lib/assets/images/flags/countries/large/square-pt.png +0 -0
- data/lib/assets/images/flags/countries/large/square-ro.png +0 -0
- data/lib/assets/images/flags/countries/large/square-rs.png +0 -0
- data/lib/assets/images/flags/countries/large/square-ru.png +0 -0
- data/lib/assets/images/flags/countries/large/square-se.png +0 -0
- data/lib/assets/images/flags/countries/large/square-si.png +0 -0
- data/lib/assets/images/flags/countries/large/square-sk.png +0 -0
- data/lib/assets/images/flags/countries/large/square-ua.png +0 -0
- data/lib/assets/images/flags/countries/large/square-us.png +0 -0
- data/lib/assets/images/flags/countries/large/square-xx.png +0 -0
- data/lib/assets/images/flags/countries/medium/flag-at.png +0 -0
- data/lib/assets/images/flags/countries/medium/flag-ba.png +0 -0
- data/lib/assets/images/flags/countries/medium/flag-be.png +0 -0
- data/lib/assets/images/flags/countries/medium/flag-bg.png +0 -0
- data/lib/assets/images/flags/countries/medium/flag-by.png +0 -0
- data/lib/assets/images/flags/countries/medium/flag-ca.png +0 -0
- data/lib/assets/images/flags/countries/medium/flag-ch.png +0 -0
- data/lib/assets/images/flags/countries/medium/flag-cy.png +0 -0
- data/lib/assets/images/flags/countries/medium/flag-cz.png +0 -0
- data/lib/assets/images/flags/countries/medium/flag-de.png +0 -0
- data/lib/assets/images/flags/countries/medium/flag-dk.png +0 -0
- data/lib/assets/images/flags/countries/medium/flag-es.png +0 -0
- data/lib/assets/images/flags/countries/medium/flag-fi.png +0 -0
- data/lib/assets/images/flags/countries/medium/flag-fr.png +0 -0
- data/lib/assets/images/flags/countries/medium/flag-gb.png +0 -0
- data/lib/assets/images/flags/countries/medium/flag-gr.png +0 -0
- data/lib/assets/images/flags/countries/medium/flag-hr.png +0 -0
- data/lib/assets/images/flags/countries/medium/flag-hu.png +0 -0
- data/lib/assets/images/flags/countries/medium/flag-ie.png +0 -0
- data/lib/assets/images/flags/countries/medium/flag-it.png +0 -0
- data/lib/assets/images/flags/countries/medium/flag-li.png +0 -0
- data/lib/assets/images/flags/countries/medium/flag-lt.png +0 -0
- data/lib/assets/images/flags/countries/medium/flag-lu.png +0 -0
- data/lib/assets/images/flags/countries/medium/flag-lv.png +0 -0
- data/lib/assets/images/flags/countries/medium/flag-nl.png +0 -0
- data/lib/assets/images/flags/countries/medium/flag-no.png +0 -0
- data/lib/assets/images/flags/countries/medium/flag-pl.png +0 -0
- data/lib/assets/images/flags/countries/medium/flag-pt.png +0 -0
- data/lib/assets/images/flags/countries/medium/flag-ro.png +0 -0
- data/lib/assets/images/flags/countries/medium/flag-rs.png +0 -0
- data/lib/assets/images/flags/countries/medium/flag-ru.png +0 -0
- data/lib/assets/images/flags/countries/medium/flag-se.png +0 -0
- data/lib/assets/images/flags/countries/medium/flag-si.png +0 -0
- data/lib/assets/images/flags/countries/medium/flag-sk.png +0 -0
- data/lib/assets/images/flags/countries/medium/flag-ua.png +0 -0
- data/lib/assets/images/flags/countries/medium/flag-us.png +0 -0
- data/lib/assets/images/flags/countries/medium/flag-xx.png +0 -0
- data/lib/assets/images/flags/countries/medium/square-at.png +0 -0
- data/lib/assets/images/flags/countries/medium/square-ba.png +0 -0
- data/lib/assets/images/flags/countries/medium/square-be.png +0 -0
- data/lib/assets/images/flags/countries/medium/square-bg.png +0 -0
- data/lib/assets/images/flags/countries/medium/square-by.png +0 -0
- data/lib/assets/images/flags/countries/medium/square-ca.png +0 -0
- data/lib/assets/images/flags/countries/medium/square-ch.png +0 -0
- data/lib/assets/images/flags/countries/medium/square-cy.png +0 -0
- data/lib/assets/images/flags/countries/medium/square-cz.png +0 -0
- data/lib/assets/images/flags/countries/medium/square-de.png +0 -0
- data/lib/assets/images/flags/countries/medium/square-dk.png +0 -0
- data/lib/assets/images/flags/countries/medium/square-es.png +0 -0
- data/lib/assets/images/flags/countries/medium/square-fi.png +0 -0
- data/lib/assets/images/flags/countries/medium/square-fr.png +0 -0
- data/lib/assets/images/flags/countries/medium/square-gb.png +0 -0
- data/lib/assets/images/flags/countries/medium/square-gr.png +0 -0
- data/lib/assets/images/flags/countries/medium/square-hr.png +0 -0
- data/lib/assets/images/flags/countries/medium/square-hu.png +0 -0
- data/lib/assets/images/flags/countries/medium/square-ie.png +0 -0
- data/lib/assets/images/flags/countries/medium/square-it.png +0 -0
- data/lib/assets/images/flags/countries/medium/square-li.png +0 -0
- data/lib/assets/images/flags/countries/medium/square-lt.png +0 -0
- data/lib/assets/images/flags/countries/medium/square-lu.png +0 -0
- data/lib/assets/images/flags/countries/medium/square-lv.png +0 -0
- data/lib/assets/images/flags/countries/medium/square-nl.png +0 -0
- data/lib/assets/images/flags/countries/medium/square-no.png +0 -0
- data/lib/assets/images/flags/countries/medium/square-pl.png +0 -0
- data/lib/assets/images/flags/countries/medium/square-pt.png +0 -0
- data/lib/assets/images/flags/countries/medium/square-ro.png +0 -0
- data/lib/assets/images/flags/countries/medium/square-rs.png +0 -0
- data/lib/assets/images/flags/countries/medium/square-ru.png +0 -0
- data/lib/assets/images/flags/countries/medium/square-se.png +0 -0
- data/lib/assets/images/flags/countries/medium/square-si.png +0 -0
- data/lib/assets/images/flags/countries/medium/square-sk.png +0 -0
- data/lib/assets/images/flags/countries/medium/square-ua.png +0 -0
- data/lib/assets/images/flags/countries/medium/square-us.png +0 -0
- data/lib/assets/images/flags/countries/medium/square-xx.png +0 -0
- data/lib/assets/images/flags/countries/small/flag-at.png +0 -0
- data/lib/assets/images/flags/countries/small/flag-ba.png +0 -0
- data/lib/assets/images/flags/countries/small/flag-be.png +0 -0
- data/lib/assets/images/flags/countries/small/flag-bg.png +0 -0
- data/lib/assets/images/flags/countries/small/flag-by.png +0 -0
- data/lib/assets/images/flags/countries/small/flag-ca.png +0 -0
- data/lib/assets/images/flags/countries/small/flag-ch.png +0 -0
- data/lib/assets/images/flags/countries/small/flag-cy.png +0 -0
- data/lib/assets/images/flags/countries/small/flag-cz.png +0 -0
- data/lib/assets/images/flags/countries/small/flag-de.png +0 -0
- data/lib/assets/images/flags/countries/small/flag-dk.png +0 -0
- data/lib/assets/images/flags/countries/small/flag-es.png +0 -0
- data/lib/assets/images/flags/countries/small/flag-fi.png +0 -0
- data/lib/assets/images/flags/countries/small/flag-fr.png +0 -0
- data/lib/assets/images/flags/countries/small/flag-gb.png +0 -0
- data/lib/assets/images/flags/countries/small/flag-gr.png +0 -0
- data/lib/assets/images/flags/countries/small/flag-hr.png +0 -0
- data/lib/assets/images/flags/countries/small/flag-hu.png +0 -0
- data/lib/assets/images/flags/countries/small/flag-ie.png +0 -0
- data/lib/assets/images/flags/countries/small/flag-it.png +0 -0
- data/lib/assets/images/flags/countries/small/flag-li.png +0 -0
- data/lib/assets/images/flags/countries/small/flag-lt.png +0 -0
- data/lib/assets/images/flags/countries/small/flag-lu.png +0 -0
- data/lib/assets/images/flags/countries/small/flag-lv.png +0 -0
- data/lib/assets/images/flags/countries/small/flag-nl.png +0 -0
- data/lib/assets/images/flags/countries/small/flag-no.png +0 -0
- data/lib/assets/images/flags/countries/small/flag-pl.png +0 -0
- data/lib/assets/images/flags/countries/small/flag-pt.png +0 -0
- data/lib/assets/images/flags/countries/small/flag-ro.png +0 -0
- data/lib/assets/images/flags/countries/small/flag-rs.png +0 -0
- data/lib/assets/images/flags/countries/small/flag-ru.png +0 -0
- data/lib/assets/images/flags/countries/small/flag-se.png +0 -0
- data/lib/assets/images/flags/countries/small/flag-si.png +0 -0
- data/lib/assets/images/flags/countries/small/flag-sk.png +0 -0
- data/lib/assets/images/flags/countries/small/flag-ua.png +0 -0
- data/lib/assets/images/flags/countries/small/flag-us.png +0 -0
- data/lib/assets/images/flags/countries/small/flag-xx.png +0 -0
- data/lib/assets/images/flags/countries/small/square-at.png +0 -0
- data/lib/assets/images/flags/countries/small/square-ba.png +0 -0
- data/lib/assets/images/flags/countries/small/square-be.png +0 -0
- data/lib/assets/images/flags/countries/small/square-bg.png +0 -0
- data/lib/assets/images/flags/countries/small/square-by.png +0 -0
- data/lib/assets/images/flags/countries/small/square-ca.png +0 -0
- data/lib/assets/images/flags/countries/small/square-ch.png +0 -0
- data/lib/assets/images/flags/countries/small/square-cy.png +0 -0
- data/lib/assets/images/flags/countries/small/square-cz.png +0 -0
- data/lib/assets/images/flags/countries/small/square-de.png +0 -0
- data/lib/assets/images/flags/countries/small/square-dk.png +0 -0
- data/lib/assets/images/flags/countries/small/square-es.png +0 -0
- data/lib/assets/images/flags/countries/small/square-fi.png +0 -0
- data/lib/assets/images/flags/countries/small/square-fr.png +0 -0
- data/lib/assets/images/flags/countries/small/square-gb.png +0 -0
- data/lib/assets/images/flags/countries/small/square-gr.png +0 -0
- data/lib/assets/images/flags/countries/small/square-hr.png +0 -0
- data/lib/assets/images/flags/countries/small/square-hu.png +0 -0
- data/lib/assets/images/flags/countries/small/square-ie.png +0 -0
- data/lib/assets/images/flags/countries/small/square-it.png +0 -0
- data/lib/assets/images/flags/countries/small/square-li.png +0 -0
- data/lib/assets/images/flags/countries/small/square-lt.png +0 -0
- data/lib/assets/images/flags/countries/small/square-lu.png +0 -0
- data/lib/assets/images/flags/countries/small/square-lv.png +0 -0
- data/lib/assets/images/flags/countries/small/square-nl.png +0 -0
- data/lib/assets/images/flags/countries/small/square-no.png +0 -0
- data/lib/assets/images/flags/countries/small/square-pl.png +0 -0
- data/lib/assets/images/flags/countries/small/square-pt.png +0 -0
- data/lib/assets/images/flags/countries/small/square-ro.png +0 -0
- data/lib/assets/images/flags/countries/small/square-rs.png +0 -0
- data/lib/assets/images/flags/countries/small/square-ru.png +0 -0
- data/lib/assets/images/flags/countries/small/square-se.png +0 -0
- data/lib/assets/images/flags/countries/small/square-si.png +0 -0
- data/lib/assets/images/flags/countries/small/square-sk.png +0 -0
- data/lib/assets/images/flags/countries/small/square-ua.png +0 -0
- data/lib/assets/images/flags/countries/small/square-us.png +0 -0
- data/lib/assets/images/flags/countries/small/square-xx.png +0 -0
- data/lib/assets/images/flags/flags_cz.png +0 -0
- data/lib/assets/images/flags/flags_de.png +0 -0
- data/lib/assets/images/flags/flags_en.png +0 -0
- data/lib/assets/images/flags/flags_es.png +0 -0
- data/lib/assets/images/flags/flags_fr.png +0 -0
- data/lib/assets/images/flags/flags_it.png +0 -0
- data/lib/assets/images/flags/flags_pl.png +0 -0
- data/lib/assets/images/flags/flags_ru.png +0 -0
- data/lib/assets/images/flags/flags_uk.png +0 -0
- data/lib/assets/images/flags/locales/large/flag-bg.png +0 -0
- data/lib/assets/images/flags/locales/large/flag-cs.png +0 -0
- data/lib/assets/images/flags/locales/large/flag-da.png +0 -0
- data/lib/assets/images/flags/locales/large/flag-de.png +0 -0
- data/lib/assets/images/flags/locales/large/flag-el.png +0 -0
- data/lib/assets/images/flags/locales/large/flag-en.png +0 -0
- data/lib/assets/images/flags/locales/large/flag-es.png +0 -0
- data/lib/assets/images/flags/locales/large/flag-fi.png +0 -0
- data/lib/assets/images/flags/locales/large/flag-fr.png +0 -0
- data/lib/assets/images/flags/locales/large/flag-hr.png +0 -0
- data/lib/assets/images/flags/locales/large/flag-hu.png +0 -0
- data/lib/assets/images/flags/locales/large/flag-it.png +0 -0
- data/lib/assets/images/flags/locales/large/flag-nl.png +0 -0
- data/lib/assets/images/flags/locales/large/flag-pl.png +0 -0
- data/lib/assets/images/flags/locales/large/flag-pt.png +0 -0
- data/lib/assets/images/flags/locales/large/flag-ru.png +0 -0
- data/lib/assets/images/flags/locales/large/flag-sv.png +0 -0
- data/lib/assets/images/flags/locales/large/flag-uk.png +0 -0
- data/lib/assets/images/flags/locales/large/flag-xx.png +0 -0
- data/lib/assets/images/flags/locales/large/square-bg.png +0 -0
- data/lib/assets/images/flags/locales/large/square-cs.png +0 -0
- data/lib/assets/images/flags/locales/large/square-da.png +0 -0
- data/lib/assets/images/flags/locales/large/square-de.png +0 -0
- data/lib/assets/images/flags/locales/large/square-el.png +0 -0
- data/lib/assets/images/flags/locales/large/square-en.png +0 -0
- data/lib/assets/images/flags/locales/large/square-es.png +0 -0
- data/lib/assets/images/flags/locales/large/square-fi.png +0 -0
- data/lib/assets/images/flags/locales/large/square-fr.png +0 -0
- data/lib/assets/images/flags/locales/large/square-hr.png +0 -0
- data/lib/assets/images/flags/locales/large/square-hu.png +0 -0
- data/lib/assets/images/flags/locales/large/square-it.png +0 -0
- data/lib/assets/images/flags/locales/large/square-nl.png +0 -0
- data/lib/assets/images/flags/locales/large/square-pl.png +0 -0
- data/lib/assets/images/flags/locales/large/square-pt.png +0 -0
- data/lib/assets/images/flags/locales/large/square-ru.png +0 -0
- data/lib/assets/images/flags/locales/large/square-sv.png +0 -0
- data/lib/assets/images/flags/locales/large/square-uk.png +0 -0
- data/lib/assets/images/flags/locales/large/square-xx.png +0 -0
- data/lib/assets/images/flags/locales/medium/flag-bg.png +0 -0
- data/lib/assets/images/flags/locales/medium/flag-cs.png +0 -0
- data/lib/assets/images/flags/locales/medium/flag-da.png +0 -0
- data/lib/assets/images/flags/locales/medium/flag-de.png +0 -0
- data/lib/assets/images/flags/locales/medium/flag-el.png +0 -0
- data/lib/assets/images/flags/locales/medium/flag-en.png +0 -0
- data/lib/assets/images/flags/locales/medium/flag-es.png +0 -0
- data/lib/assets/images/flags/locales/medium/flag-fi.png +0 -0
- data/lib/assets/images/flags/locales/medium/flag-fr.png +0 -0
- data/lib/assets/images/flags/locales/medium/flag-hr.png +0 -0
- data/lib/assets/images/flags/locales/medium/flag-hu.png +0 -0
- data/lib/assets/images/flags/locales/medium/flag-it.png +0 -0
- data/lib/assets/images/flags/locales/medium/flag-nl.png +0 -0
- data/lib/assets/images/flags/locales/medium/flag-pl.png +0 -0
- data/lib/assets/images/flags/locales/medium/flag-pt.png +0 -0
- data/lib/assets/images/flags/locales/medium/flag-ru.png +0 -0
- data/lib/assets/images/flags/locales/medium/flag-sv.png +0 -0
- data/lib/assets/images/flags/locales/medium/flag-uk.png +0 -0
- data/lib/assets/images/flags/locales/medium/flag-xx.png +0 -0
- data/lib/assets/images/flags/locales/medium/square-bg.png +0 -0
- data/lib/assets/images/flags/locales/medium/square-cs.png +0 -0
- data/lib/assets/images/flags/locales/medium/square-da.png +0 -0
- data/lib/assets/images/flags/locales/medium/square-de.png +0 -0
- data/lib/assets/images/flags/locales/medium/square-el.png +0 -0
- data/lib/assets/images/flags/locales/medium/square-en.png +0 -0
- data/lib/assets/images/flags/locales/medium/square-es.png +0 -0
- data/lib/assets/images/flags/locales/medium/square-fi.png +0 -0
- data/lib/assets/images/flags/locales/medium/square-fr.png +0 -0
- data/lib/assets/images/flags/locales/medium/square-hr.png +0 -0
- data/lib/assets/images/flags/locales/medium/square-hu.png +0 -0
- data/lib/assets/images/flags/locales/medium/square-it.png +0 -0
- data/lib/assets/images/flags/locales/medium/square-nl.png +0 -0
- data/lib/assets/images/flags/locales/medium/square-pl.png +0 -0
- data/lib/assets/images/flags/locales/medium/square-pt.png +0 -0
- data/lib/assets/images/flags/locales/medium/square-ru.png +0 -0
- data/lib/assets/images/flags/locales/medium/square-sv.png +0 -0
- data/lib/assets/images/flags/locales/medium/square-uk.png +0 -0
- data/lib/assets/images/flags/locales/medium/square-xx.png +0 -0
- data/lib/assets/images/flags/locales/small/flag-bg.png +0 -0
- data/lib/assets/images/flags/locales/small/flag-cs.png +0 -0
- data/lib/assets/images/flags/locales/small/flag-da.png +0 -0
- data/lib/assets/images/flags/locales/small/flag-de.png +0 -0
- data/lib/assets/images/flags/locales/small/flag-el.png +0 -0
- data/lib/assets/images/flags/locales/small/flag-en.png +0 -0
- data/lib/assets/images/flags/locales/small/flag-es.png +0 -0
- data/lib/assets/images/flags/locales/small/flag-fi.png +0 -0
- data/lib/assets/images/flags/locales/small/flag-fr.png +0 -0
- data/lib/assets/images/flags/locales/small/flag-hr.png +0 -0
- data/lib/assets/images/flags/locales/small/flag-hu.png +0 -0
- data/lib/assets/images/flags/locales/small/flag-it.png +0 -0
- data/lib/assets/images/flags/locales/small/flag-nl.png +0 -0
- data/lib/assets/images/flags/locales/small/flag-pl.png +0 -0
- data/lib/assets/images/flags/locales/small/flag-pt.png +0 -0
- data/lib/assets/images/flags/locales/small/flag-ru.png +0 -0
- data/lib/assets/images/flags/locales/small/flag-sv.png +0 -0
- data/lib/assets/images/flags/locales/small/flag-uk.png +0 -0
- data/lib/assets/images/flags/locales/small/flag-xx.png +0 -0
- data/lib/assets/images/flags/locales/small/square-bg.png +0 -0
- data/lib/assets/images/flags/locales/small/square-cs.png +0 -0
- data/lib/assets/images/flags/locales/small/square-da.png +0 -0
- data/lib/assets/images/flags/locales/small/square-de.png +0 -0
- data/lib/assets/images/flags/locales/small/square-el.png +0 -0
- data/lib/assets/images/flags/locales/small/square-en.png +0 -0
- data/lib/assets/images/flags/locales/small/square-es.png +0 -0
- data/lib/assets/images/flags/locales/small/square-fi.png +0 -0
- data/lib/assets/images/flags/locales/small/square-fr.png +0 -0
- data/lib/assets/images/flags/locales/small/square-hr.png +0 -0
- data/lib/assets/images/flags/locales/small/square-hu.png +0 -0
- data/lib/assets/images/flags/locales/small/square-it.png +0 -0
- data/lib/assets/images/flags/locales/small/square-nl.png +0 -0
- data/lib/assets/images/flags/locales/small/square-pl.png +0 -0
- data/lib/assets/images/flags/locales/small/square-pt.png +0 -0
- data/lib/assets/images/flags/locales/small/square-ru.png +0 -0
- data/lib/assets/images/flags/locales/small/square-sv.png +0 -0
- data/lib/assets/images/flags/locales/small/square-uk.png +0 -0
- data/lib/assets/images/flags/locales/small/square-xx.png +0 -0
- data/lib/generators/magic_locales/install_generator.rb +57 -0
- data/lib/generators/magic_locales/templates/locale_seeds.rb +253 -0
- data/lib/generators/magic_locales/templates/magic_logales_migration.rb +52 -0
- data/lib/magic_locales/flag_helper.rb +25 -0
- data/lib/magic_locales/globalized_fields.rb +50 -0
- data/lib/magic_locales/magic_locale_helper.rb +56 -0
- data/lib/magic_locales/rails.rb +14 -0
- data/lib/magic_locales/railtie.rb +14 -0
- data/lib/magic_locales/version.rb +3 -0
- data/lib/magic_locales.rb +48 -0
- data/lib/tasks/magic_locales_tasks.rake +4 -0
- data/spec/dummy/README.rdoc +28 -0
- data/spec/dummy/Rakefile +6 -0
- data/spec/dummy/app/assets/javascripts/application.js +13 -0
- data/spec/dummy/app/assets/stylesheets/application.css +15 -0
- data/spec/dummy/app/controllers/application_controller.rb +13 -0
- data/spec/dummy/app/controllers/pages_controller.rb +7 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/models/user.rb +2 -0
- data/spec/dummy/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy/app/views/pages/start.html.erb +4 -0
- data/spec/dummy/bin/bundle +3 -0
- data/spec/dummy/bin/rails +4 -0
- data/spec/dummy/bin/rake +4 -0
- data/spec/dummy/bin/setup +29 -0
- data/spec/dummy/config/application.rb +32 -0
- data/spec/dummy/config/boot.rb +5 -0
- data/spec/dummy/config/database.yml +25 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +41 -0
- data/spec/dummy/config/environments/production.rb +79 -0
- data/spec/dummy/config/environments/test.rb +42 -0
- data/spec/dummy/config/initializers/assets.rb +11 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/spec/dummy/config/initializers/inflections.rb +16 -0
- data/spec/dummy/config/initializers/mime_types.rb +4 -0
- data/spec/dummy/config/initializers/session_store.rb +3 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/de.yml +23 -0
- data/spec/dummy/config/locales/en.yml +23 -0
- data/spec/dummy/config/routes.rb +69 -0
- data/spec/dummy/config/secrets.yml +22 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/migrate/20150326132056_create_users.rb +10 -0
- data/spec/dummy/db/migrate/20150327111103_add_magic_locales.rb +52 -0
- data/spec/dummy/db/schema.rb +55 -0
- data/spec/dummy/db/seeds/locales.rb +253 -0
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/log/development.log +5867 -0
- data/spec/dummy/log/test.log +678 -0
- data/spec/dummy/public/404.html +67 -0
- data/spec/dummy/public/422.html +67 -0
- data/spec/dummy/public/500.html +66 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/024ec9501b30fe45282911b840b95ffd +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/02e9e067530411f9e8123dca02f6ff7f +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/074e9fbce40e24f8b28b1fc419afd07a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/21f772d42fa066bbb2690192ed5ed28e +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/2411c11cae47b66bae08066a80d33e61 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/269c6b04e68cc5602d3ee011d00fcc05 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/293b3165375686f4941a8a967c3b2fec +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/370393cb1156c25fa00a39d653697c8d +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/41d8cb90d821f2faa18b0be59347d510 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/42db62a71d5a47a160d8038d54834f08 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/48f57106a764c5f5e4876c1ab8be9ca9 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/5465f2e305aaf65b93498c3a5d9aebc2 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/56e985588935cfd4d641219a1584f915 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/5735ad5d8f92eda6585edd72f471470c +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/59ab73a37d5a12d11b3365666bd0d8d6 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/646c34fdfbbd07273fd5021aa010ff84 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/6a2b720a99cba7ffe285776300e1ae8a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/6d2720be6b7611d63ad724de6855d329 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/6e13c429fec3bb2c4462ce5fccccc207 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/6e95a606c68bf03114949988a1d00a93 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/7132c3d0b265177e337d319046310c94 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/85aa152164ab917381b159865995d714 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/8f095dc51026dd316e721df9b6264f1f +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/92519516b5581b79a3f015efca646527 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/a24b7203c0701cdd550ac682572308d9 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/a5d5de529f675db47e45239d04813511 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/ace9e4bc7b337ae5b1a74c6c320c741c +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/b79f7e12174354c395efcaf0d45e8a11 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/c0fb3be9dbb3bc8844922eaff0d55201 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/c1c793bef76a3aae9123e4df19d92c21 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/d3d39ac7e36a2e7a3554834eaa26669c +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/ef972caaba894735135ce2f663a012ce +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f03bb1af911f80ff9df0283b3a788a63 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f30844584fa4b683673368e5a23eed7f +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/fb084b448735966191ed041270ff5212 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/ffe3973c98878fae13cf4974dee3ae68 +0 -0
- data/spec/dummy/tmp/pids/server.pid +1 -0
- data/spec/models/magic_locales/association_spec.rb +60 -0
- data/spec/models/magic_locales/language_spec.rb +15 -0
- data/spec/models/magic_locales/locale_spec.rb +33 -0
- data/spec/models/user_spec.rb +14 -0
- data/spec/rails_helper.rb +51 -0
- data/spec/spec_helper.rb +87 -0
- metadata +688 -0
@@ -0,0 +1,67 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>The page you were looking for doesn't exist (404)</title>
|
5
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
6
|
+
<style>
|
7
|
+
body {
|
8
|
+
background-color: #EFEFEF;
|
9
|
+
color: #2E2F30;
|
10
|
+
text-align: center;
|
11
|
+
font-family: arial, sans-serif;
|
12
|
+
margin: 0;
|
13
|
+
}
|
14
|
+
|
15
|
+
div.dialog {
|
16
|
+
width: 95%;
|
17
|
+
max-width: 33em;
|
18
|
+
margin: 4em auto 0;
|
19
|
+
}
|
20
|
+
|
21
|
+
div.dialog > div {
|
22
|
+
border: 1px solid #CCC;
|
23
|
+
border-right-color: #999;
|
24
|
+
border-left-color: #999;
|
25
|
+
border-bottom-color: #BBB;
|
26
|
+
border-top: #B00100 solid 4px;
|
27
|
+
border-top-left-radius: 9px;
|
28
|
+
border-top-right-radius: 9px;
|
29
|
+
background-color: white;
|
30
|
+
padding: 7px 12% 0;
|
31
|
+
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
32
|
+
}
|
33
|
+
|
34
|
+
h1 {
|
35
|
+
font-size: 100%;
|
36
|
+
color: #730E15;
|
37
|
+
line-height: 1.5em;
|
38
|
+
}
|
39
|
+
|
40
|
+
div.dialog > p {
|
41
|
+
margin: 0 0 1em;
|
42
|
+
padding: 1em;
|
43
|
+
background-color: #F7F7F7;
|
44
|
+
border: 1px solid #CCC;
|
45
|
+
border-right-color: #999;
|
46
|
+
border-left-color: #999;
|
47
|
+
border-bottom-color: #999;
|
48
|
+
border-bottom-left-radius: 4px;
|
49
|
+
border-bottom-right-radius: 4px;
|
50
|
+
border-top-color: #DADADA;
|
51
|
+
color: #666;
|
52
|
+
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
53
|
+
}
|
54
|
+
</style>
|
55
|
+
</head>
|
56
|
+
|
57
|
+
<body>
|
58
|
+
<!-- This file lives in public/404.html -->
|
59
|
+
<div class="dialog">
|
60
|
+
<div>
|
61
|
+
<h1>The page you were looking for doesn't exist.</h1>
|
62
|
+
<p>You may have mistyped the address or the page may have moved.</p>
|
63
|
+
</div>
|
64
|
+
<p>If you are the application owner check the logs for more information.</p>
|
65
|
+
</div>
|
66
|
+
</body>
|
67
|
+
</html>
|
@@ -0,0 +1,67 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>The change you wanted was rejected (422)</title>
|
5
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
6
|
+
<style>
|
7
|
+
body {
|
8
|
+
background-color: #EFEFEF;
|
9
|
+
color: #2E2F30;
|
10
|
+
text-align: center;
|
11
|
+
font-family: arial, sans-serif;
|
12
|
+
margin: 0;
|
13
|
+
}
|
14
|
+
|
15
|
+
div.dialog {
|
16
|
+
width: 95%;
|
17
|
+
max-width: 33em;
|
18
|
+
margin: 4em auto 0;
|
19
|
+
}
|
20
|
+
|
21
|
+
div.dialog > div {
|
22
|
+
border: 1px solid #CCC;
|
23
|
+
border-right-color: #999;
|
24
|
+
border-left-color: #999;
|
25
|
+
border-bottom-color: #BBB;
|
26
|
+
border-top: #B00100 solid 4px;
|
27
|
+
border-top-left-radius: 9px;
|
28
|
+
border-top-right-radius: 9px;
|
29
|
+
background-color: white;
|
30
|
+
padding: 7px 12% 0;
|
31
|
+
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
32
|
+
}
|
33
|
+
|
34
|
+
h1 {
|
35
|
+
font-size: 100%;
|
36
|
+
color: #730E15;
|
37
|
+
line-height: 1.5em;
|
38
|
+
}
|
39
|
+
|
40
|
+
div.dialog > p {
|
41
|
+
margin: 0 0 1em;
|
42
|
+
padding: 1em;
|
43
|
+
background-color: #F7F7F7;
|
44
|
+
border: 1px solid #CCC;
|
45
|
+
border-right-color: #999;
|
46
|
+
border-left-color: #999;
|
47
|
+
border-bottom-color: #999;
|
48
|
+
border-bottom-left-radius: 4px;
|
49
|
+
border-bottom-right-radius: 4px;
|
50
|
+
border-top-color: #DADADA;
|
51
|
+
color: #666;
|
52
|
+
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
53
|
+
}
|
54
|
+
</style>
|
55
|
+
</head>
|
56
|
+
|
57
|
+
<body>
|
58
|
+
<!-- This file lives in public/422.html -->
|
59
|
+
<div class="dialog">
|
60
|
+
<div>
|
61
|
+
<h1>The change you wanted was rejected.</h1>
|
62
|
+
<p>Maybe you tried to change something you didn't have access to.</p>
|
63
|
+
</div>
|
64
|
+
<p>If you are the application owner check the logs for more information.</p>
|
65
|
+
</div>
|
66
|
+
</body>
|
67
|
+
</html>
|
@@ -0,0 +1,66 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>We're sorry, but something went wrong (500)</title>
|
5
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
6
|
+
<style>
|
7
|
+
body {
|
8
|
+
background-color: #EFEFEF;
|
9
|
+
color: #2E2F30;
|
10
|
+
text-align: center;
|
11
|
+
font-family: arial, sans-serif;
|
12
|
+
margin: 0;
|
13
|
+
}
|
14
|
+
|
15
|
+
div.dialog {
|
16
|
+
width: 95%;
|
17
|
+
max-width: 33em;
|
18
|
+
margin: 4em auto 0;
|
19
|
+
}
|
20
|
+
|
21
|
+
div.dialog > div {
|
22
|
+
border: 1px solid #CCC;
|
23
|
+
border-right-color: #999;
|
24
|
+
border-left-color: #999;
|
25
|
+
border-bottom-color: #BBB;
|
26
|
+
border-top: #B00100 solid 4px;
|
27
|
+
border-top-left-radius: 9px;
|
28
|
+
border-top-right-radius: 9px;
|
29
|
+
background-color: white;
|
30
|
+
padding: 7px 12% 0;
|
31
|
+
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
32
|
+
}
|
33
|
+
|
34
|
+
h1 {
|
35
|
+
font-size: 100%;
|
36
|
+
color: #730E15;
|
37
|
+
line-height: 1.5em;
|
38
|
+
}
|
39
|
+
|
40
|
+
div.dialog > p {
|
41
|
+
margin: 0 0 1em;
|
42
|
+
padding: 1em;
|
43
|
+
background-color: #F7F7F7;
|
44
|
+
border: 1px solid #CCC;
|
45
|
+
border-right-color: #999;
|
46
|
+
border-left-color: #999;
|
47
|
+
border-bottom-color: #999;
|
48
|
+
border-bottom-left-radius: 4px;
|
49
|
+
border-bottom-right-radius: 4px;
|
50
|
+
border-top-color: #DADADA;
|
51
|
+
color: #666;
|
52
|
+
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
53
|
+
}
|
54
|
+
</style>
|
55
|
+
</head>
|
56
|
+
|
57
|
+
<body>
|
58
|
+
<!-- This file lives in public/500.html -->
|
59
|
+
<div class="dialog">
|
60
|
+
<div>
|
61
|
+
<h1>We're sorry, but something went wrong.</h1>
|
62
|
+
</div>
|
63
|
+
<p>If you are the application owner check the logs for more information.</p>
|
64
|
+
</div>
|
65
|
+
</body>
|
66
|
+
</html>
|
File without changes
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
27954
|
@@ -0,0 +1,60 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
describe MagicLocales::Association do
|
4
|
+
|
5
|
+
|
6
|
+
class TestPerson < ActiveRecord::Base
|
7
|
+
self.table_name = "users"
|
8
|
+
end
|
9
|
+
|
10
|
+
class TestUser < ActiveRecord::Base
|
11
|
+
self.table_name = "users"
|
12
|
+
has_one_language
|
13
|
+
end
|
14
|
+
|
15
|
+
class TestDude < ActiveRecord::Base
|
16
|
+
self.table_name = "users"
|
17
|
+
has_languages
|
18
|
+
end
|
19
|
+
|
20
|
+
describe "has some kind of address => inherit methods" do
|
21
|
+
|
22
|
+
let(:person){ TestPerson.create!( name: "Bud Spencer" ) }
|
23
|
+
let(:user){ TestUser.create!( name: "Terence Hill" ) }
|
24
|
+
let(:dude){ TestDude.create!( name: "The Dude" ) }
|
25
|
+
|
26
|
+
|
27
|
+
it "add address attributes only if asked for" do
|
28
|
+
expect( person.respond_to?(:language) ).to be false
|
29
|
+
expect( user.respond_to?(:language) ).to be true
|
30
|
+
expect( dude.respond_to?(:language) ).to be false
|
31
|
+
|
32
|
+
expect( person.respond_to?(:spoken_languages) ).to be false
|
33
|
+
expect( user.respond_to?(:spoken_languages) ).to be false
|
34
|
+
expect( dude.respond_to?(:spoken_languages) ).to be true
|
35
|
+
|
36
|
+
expect( person.respond_to?(:foreign_languages) ).to be false
|
37
|
+
expect( user.respond_to?(:foreign_languages) ).to be false
|
38
|
+
expect( dude.respond_to?(:foreign_languages) ).to be true
|
39
|
+
|
40
|
+
expect( person.respond_to?(:native_languages) ).to be false
|
41
|
+
expect( user.respond_to?(:native_languages) ).to be false
|
42
|
+
expect( dude.respond_to?(:native_languages) ).to be true
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
46
|
+
|
47
|
+
describe "has_one_address => inherit methods" do
|
48
|
+
|
49
|
+
let(:micha){ TestPerson.create!(name: "Micha Schmidt") }
|
50
|
+
|
51
|
+
let(:ingo){ TestUser.create!(name: "Ingo Mueller") }
|
52
|
+
|
53
|
+
it "add address attributes only if asked for" do
|
54
|
+
expect( ingo.respond_to?(:language) ).to be true
|
55
|
+
expect( micha.respond_to?(:language) ).to be false
|
56
|
+
end
|
57
|
+
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
RSpec.describe MagicLocales::Language, type: :model do
|
4
|
+
|
5
|
+
describe 'should have usual attributes' do
|
6
|
+
it { should respond_to :name }
|
7
|
+
it { should respond_to :iso_code }
|
8
|
+
|
9
|
+
it { should respond_to :level }
|
10
|
+
|
11
|
+
it { should respond_to :user }
|
12
|
+
it { should respond_to :locale }
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
RSpec.describe MagicLocales::Locale, type: :model do
|
4
|
+
|
5
|
+
describe 'should have usual attributes' do
|
6
|
+
|
7
|
+
it { should respond_to :iso_code }
|
8
|
+
it { should respond_to :name }
|
9
|
+
|
10
|
+
it { should respond_to :translations }
|
11
|
+
|
12
|
+
it { should respond_to :locale_state }
|
13
|
+
|
14
|
+
it { should respond_to :translations }
|
15
|
+
# it { should respond_to :translations_attributes }
|
16
|
+
|
17
|
+
end
|
18
|
+
|
19
|
+
describe 'validations' do
|
20
|
+
it { should validate_presence_of :iso_code }
|
21
|
+
it { should validate_length_of(:iso_code).is_at_least(2) }
|
22
|
+
it { should validate_length_of(:iso_code).is_at_most(6) }
|
23
|
+
|
24
|
+
it { should_not allow_value('fiz').for(:iso_code) }
|
25
|
+
it { should_not allow_value('Foo').for(:iso_code) }
|
26
|
+
it { should_not allow_value('english').for(:iso_code) }
|
27
|
+
it { should allow_value('en').for(:iso_code) }
|
28
|
+
it { should allow_value('de').for(:iso_code) }
|
29
|
+
it { should allow_value('de-DE').for(:iso_code) }
|
30
|
+
it { should allow_value('dE-dE').for(:iso_code) }
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
RSpec.describe User, type: :model do
|
4
|
+
|
5
|
+
describe 'should have usual attributes' do
|
6
|
+
it { should respond_to :name }
|
7
|
+
|
8
|
+
it { should_not respond_to :language }
|
9
|
+
it { should_not respond_to :spoken_languages }
|
10
|
+
it { should_not respond_to :foreign_languages }
|
11
|
+
it { should_not respond_to :native_languages }
|
12
|
+
end
|
13
|
+
|
14
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# This file is copied to spec/ when you run 'rails generate rspec:install'
|
2
|
+
ENV['RAILS_ENV'] ||= 'test'
|
3
|
+
require 'spec_helper'
|
4
|
+
# => require File.expand_path('../../config/environment', __FILE__)
|
5
|
+
require File.expand_path("../dummy/config/environment", __FILE__)
|
6
|
+
require 'rspec/rails'
|
7
|
+
# Add additional requires below this line. Rails is not loaded until this point!
|
8
|
+
|
9
|
+
# Requires supporting ruby files with custom matchers and macros, etc, in
|
10
|
+
# spec/support/ and its subdirectories. Files matching `spec/**/*_spec.rb` are
|
11
|
+
# run as spec files by default. This means that files in spec/support that end
|
12
|
+
# in _spec.rb will both be required and run as specs, causing the specs to be
|
13
|
+
# run twice. It is recommended that you do not name files matching this glob to
|
14
|
+
# end with _spec.rb. You can configure this pattern with the --pattern
|
15
|
+
# option on the command line or in ~/.rspec, .rspec or `.rspec-local`.
|
16
|
+
#
|
17
|
+
# The following line is provided for convenience purposes. It has the downside
|
18
|
+
# of increasing the boot-up time by auto-requiring all files in the support
|
19
|
+
# directory. Alternatively, in the individual `*_spec.rb` files, manually
|
20
|
+
# require only the support files necessary.
|
21
|
+
#
|
22
|
+
# Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f }
|
23
|
+
|
24
|
+
# Checks for pending migrations before tests are run.
|
25
|
+
# If you are not using ActiveRecord, you can remove this line.
|
26
|
+
ActiveRecord::Migration.maintain_test_schema!
|
27
|
+
|
28
|
+
RSpec.configure do |config|
|
29
|
+
# Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
|
30
|
+
config.fixture_path = "#{::Rails.root}/spec/fixtures"
|
31
|
+
|
32
|
+
# If you're not using ActiveRecord, or you'd prefer not to run each of your
|
33
|
+
# examples within a transaction, remove the following line or assign false
|
34
|
+
# instead of true.
|
35
|
+
config.use_transactional_fixtures = true
|
36
|
+
|
37
|
+
# RSpec Rails can automatically mix in different behaviours to your tests
|
38
|
+
# based on their file location, for example enabling you to call `get` and
|
39
|
+
# `post` in specs under `spec/controllers`.
|
40
|
+
#
|
41
|
+
# You can disable this behaviour by removing the line below, and instead
|
42
|
+
# explicitly tag your specs with their type, e.g.:
|
43
|
+
#
|
44
|
+
# RSpec.describe UsersController, :type => :controller do
|
45
|
+
# # ...
|
46
|
+
# end
|
47
|
+
#
|
48
|
+
# The different available types are documented in the features, such as in
|
49
|
+
# https://relishapp.com/rspec/rspec-rails/docs
|
50
|
+
config.infer_spec_type_from_file_location!
|
51
|
+
end
|