sapor 0.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/Area Class Diagram.dia +0 -0
- data/Area Class Diagram.png +0 -0
- data/Class Diagram.dia +0 -0
- data/Class Diagram.png +0 -0
- data/Example-Catalonia.md +361 -0
- data/Example-Flanders.md +486 -0
- data/Example-Greece.md +25 -0
- data/Example-Oslo.md +678 -0
- data/Example-UnitedKingdom-Referendum.md +132 -0
- data/Examples.md +15 -0
- data/LICENSE +674 -0
- data/README.md +103 -0
- data/Rakefile +18 -0
- data/Technical Documentation.md +14 -0
- data/bin/create_installation_package.sh +49 -0
- data/bin/install.sh +45 -0
- data/bin/sapor.rb +24 -0
- data/bin/sapor.sh +106 -0
- data/data/hu/hungary-2014.txt +1680 -0
- data/data/hu/hungary_2014_screen_scraper.rb +48 -0
- data/data/hu/hungary_2014_to_psv.rb +80 -0
- data/data/hu/index-2014.txt +106 -0
- data/data/pl/2015-gl-lis-okr.csv +42 -0
- data/data/pl/poland_2015_to_psv.rb +79 -0
- data/data/pl/poland_2015_to_psv_with_ko_and_rsw.rb +94 -0
- data/data/pl/poland_2015_to_psv_with_ko_konf_kp_l_and_zp.rb +100 -0
- data/data/pl/poland_2015_to_psv_with_ko_sld_and_wi.rb +92 -0
- data/data/pl/poland_2015_to_psv_with_sld.rb +84 -0
- data/data/pl/poland_2015_to_psv_with_sld_and_wi.rb +85 -0
- data/data/uk/inject_ukip_2015_as_brexit_2019_in_2017.rb +54 -0
- data/data/uk/united_kingdom_2015.txt +651 -0
- data/data/uk/united_kingdom_2015_to_psv.rb +104 -0
- data/data/uk/united_kingdom_2017.txt +651 -0
- data/data/uk/united_kingdom_2017_to_psv.rb +104 -0
- data/data/uk/united_kingdom_2017_to_psv_with_brexit_and_chuk.rb +113 -0
- data/data/uk/united_kingdom_2017_to_psv_with_tig.rb +111 -0
- data/lib/sapor.rb +150 -0
- data/lib/sapor/binomials_cache.rb +45 -0
- data/lib/sapor/combinations_distribution.rb +222 -0
- data/lib/sapor/denominators.rb +67 -0
- data/lib/sapor/dichotomies.rb +138 -0
- data/lib/sapor/dichotomy.rb +164 -0
- data/lib/sapor/first_past_the_post.rb +82 -0
- data/lib/sapor/largest_remainder.rb +118 -0
- data/lib/sapor/log4r_logger.rb +49 -0
- data/lib/sapor/log_facade.rb +40 -0
- data/lib/sapor/multi_district_leveled_proportional.rb +64 -0
- data/lib/sapor/multi_district_proportional.rb +123 -0
- data/lib/sapor/multi_district_variable_threshold_proportional.rb +128 -0
- data/lib/sapor/number_formatter.rb +45 -0
- data/lib/sapor/options.rb +73 -0
- data/lib/sapor/poll.rb +286 -0
- data/lib/sapor/polychotomy.rb +200 -0
- data/lib/sapor/pseudorandom_multirange_enumerator.rb +87 -0
- data/lib/sapor/referendum_polychotomy.rb +165 -0
- data/lib/sapor/regional_data/area.rb +82 -0
- data/lib/sapor/regional_data/austria.rb +84 -0
- data/lib/sapor/regional_data/belgium-brussels-2014.psv +46 -0
- data/lib/sapor/regional_data/belgium-brussels-20190526.psv +33 -0
- data/lib/sapor/regional_data/belgium-flanders-2014.psv +80 -0
- data/lib/sapor/regional_data/belgium-flanders-20190526.psv +74 -0
- data/lib/sapor/regional_data/belgium-wallonia-2014.psv +114 -0
- data/lib/sapor/regional_data/belgium-wallonia-20190526.psv +93 -0
- data/lib/sapor/regional_data/belgium.rb +97 -0
- data/lib/sapor/regional_data/belgium_brussels.rb +62 -0
- data/lib/sapor/regional_data/belgium_flanders.rb +64 -0
- data/lib/sapor/regional_data/belgium_wallonia.rb +63 -0
- data/lib/sapor/regional_data/catalonia-2012-2015.psv +100 -0
- data/lib/sapor/regional_data/catalonia-2012.psv +87 -0
- data/lib/sapor/regional_data/catalonia-2015-jxcat.psv +68 -0
- data/lib/sapor/regional_data/catalonia-2015-no-jxsi.psv +68 -0
- data/lib/sapor/regional_data/catalonia-2015.psv +63 -0
- data/lib/sapor/regional_data/catalonia-jxcat.rb +109 -0
- data/lib/sapor/regional_data/catalonia-no-jxsi.rb +96 -0
- data/lib/sapor/regional_data/catalonia.rb +96 -0
- data/lib/sapor/regional_data/denmark-20150618-with-e-and-p.psv +164 -0
- data/lib/sapor/regional_data/denmark-20150618-with-e.psv +153 -0
- data/lib/sapor/regional_data/denmark-20150618-with-p.psv +153 -0
- data/lib/sapor/regional_data/denmark-20150618.psv +142 -0
- data/lib/sapor/regional_data/denmark.rb +128 -0
- data/lib/sapor/regional_data/denmark_with_e.rb +128 -0
- data/lib/sapor/regional_data/denmark_with_e_and_p.rb +128 -0
- data/lib/sapor/regional_data/denmark_with_p.rb +128 -0
- data/lib/sapor/regional_data/estonia.rb +88 -0
- data/lib/sapor/regional_data/european-union-great-britain-20140522-brexit-chuk.psv +172 -0
- data/lib/sapor/regional_data/european-union-great-britain-20140522.psv +146 -0
- data/lib/sapor/regional_data/european-union-great-britain-20190523.psv +141 -0
- data/lib/sapor/regional_data/european-union-ireland-2014-ia-ri-sd.psv +64 -0
- data/lib/sapor/regional_data/european-union-ireland-2014-ia-sd.psv +60 -0
- data/lib/sapor/regional_data/european-union-ireland-2014-ia.psv +56 -0
- data/lib/sapor/regional_data/european-union-ireland-2014-sd.psv +56 -0
- data/lib/sapor/regional_data/european-union-ireland-2014.psv +50 -0
- data/lib/sapor/regional_data/european-union-ireland-20190524-ia.psv +58 -0
- data/lib/sapor/regional_data/european-union-ireland-20190524.psv +52 -0
- data/lib/sapor/regional_data/european_union_27_austria.rb +76 -0
- data/lib/sapor/regional_data/european_union_27_croatia.rb +81 -0
- data/lib/sapor/regional_data/european_union_27_denmark.rb +77 -0
- data/lib/sapor/regional_data/european_union_27_estonia.rb +74 -0
- data/lib/sapor/regional_data/european_union_27_finland.rb +74 -0
- data/lib/sapor/regional_data/european_union_27_ireland.rb +96 -0
- data/lib/sapor/regional_data/european_union_27_ireland_with_ia.rb +97 -0
- data/lib/sapor/regional_data/european_union_27_italy.rb +84 -0
- data/lib/sapor/regional_data/european_union_27_netherlands.rb +81 -0
- data/lib/sapor/regional_data/european_union_27_poland.rb +84 -0
- data/lib/sapor/regional_data/european_union_27_romania.rb +78 -0
- data/lib/sapor/regional_data/european_union_27_slovakia.rb +80 -0
- data/lib/sapor/regional_data/european_union_27_spain.rb +82 -0
- data/lib/sapor/regional_data/european_union_27_sweden.rb +76 -0
- data/lib/sapor/regional_data/european_union_austria.rb +76 -0
- data/lib/sapor/regional_data/european_union_bulgaria.rb +82 -0
- data/lib/sapor/regional_data/european_union_croatia.rb +81 -0
- data/lib/sapor/regional_data/european_union_cyprus.rb +72 -0
- data/lib/sapor/regional_data/european_union_czech_republic.rb +82 -0
- data/lib/sapor/regional_data/european_union_denmark.rb +77 -0
- data/lib/sapor/regional_data/european_union_estonia.rb +74 -0
- data/lib/sapor/regional_data/european_union_finland.rb +74 -0
- data/lib/sapor/regional_data/european_union_flanders.rb +74 -0
- data/lib/sapor/regional_data/european_union_france.rb +84 -0
- data/lib/sapor/regional_data/european_union_france_2019.rb +84 -0
- data/lib/sapor/regional_data/european_union_french_community_of_belgium.rb +73 -0
- data/lib/sapor/regional_data/european_union_germany.rb +86 -0
- data/lib/sapor/regional_data/european_union_great_britain.rb +98 -0
- data/lib/sapor/regional_data/european_union_greece.rb +77 -0
- data/lib/sapor/regional_data/european_union_hungary.rb +76 -0
- data/lib/sapor/regional_data/european_union_ireland.rb +96 -0
- data/lib/sapor/regional_data/european_union_ireland_with_ia.rb +97 -0
- data/lib/sapor/regional_data/european_union_italy.rb +84 -0
- data/lib/sapor/regional_data/european_union_latvia.rb +81 -0
- data/lib/sapor/regional_data/european_union_lithuania.rb +80 -0
- data/lib/sapor/regional_data/european_union_luxembourg.rb +75 -0
- data/lib/sapor/regional_data/european_union_malta.rb +71 -0
- data/lib/sapor/regional_data/european_union_netherlands.rb +81 -0
- data/lib/sapor/regional_data/european_union_northern_ireland.rb +75 -0
- data/lib/sapor/regional_data/european_union_poland.rb +84 -0
- data/lib/sapor/regional_data/european_union_portugal.rb +75 -0
- data/lib/sapor/regional_data/european_union_romania.rb +78 -0
- data/lib/sapor/regional_data/european_union_slovakia.rb +81 -0
- data/lib/sapor/regional_data/european_union_slovenia.rb +85 -0
- data/lib/sapor/regional_data/european_union_spain.rb +82 -0
- data/lib/sapor/regional_data/european_union_sweden.rb +76 -0
- data/lib/sapor/regional_data/finland-20150419-with-sin.psv +224 -0
- data/lib/sapor/regional_data/finland-20150419.psv +212 -0
- data/lib/sapor/regional_data/finland.rb +107 -0
- data/lib/sapor/regional_data/finland_with_sin.rb +107 -0
- data/lib/sapor/regional_data/flanders-2014.psv +96 -0
- data/lib/sapor/regional_data/flanders-20190526.psv +87 -0
- data/lib/sapor/regional_data/flanders.rb +115 -0
- data/lib/sapor/regional_data/france.rb +38 -0
- data/lib/sapor/regional_data/greece.rb +92 -0
- data/lib/sapor/regional_data/hungary-2014.psv +2104 -0
- data/lib/sapor/regional_data/hungary.rb +116 -0
- data/lib/sapor/regional_data/iceland-20161029-midflokkurinn.psv +94 -0
- data/lib/sapor/regional_data/iceland-20161029.psv +88 -0
- data/lib/sapor/regional_data/iceland-20171028.psv +85 -0
- data/lib/sapor/regional_data/iceland.rb +133 -0
- data/lib/sapor/regional_data/latvia-20141004-kpv-p-par.psv +109 -0
- data/lib/sapor/regional_data/latvia-20141004-kpv-par.psv +103 -0
- data/lib/sapor/regional_data/latvia-20141004-kpv.psv +97 -0
- data/lib/sapor/regional_data/latvia-20141004.psv +89 -0
- data/lib/sapor/regional_data/latvia.rb +112 -0
- data/lib/sapor/regional_data/latvia_kpv.rb +112 -0
- data/lib/sapor/regional_data/latvia_kpv_p_par.rb +112 -0
- data/lib/sapor/regional_data/latvia_kpv_par.rb +112 -0
- data/lib/sapor/regional_data/luxembourg-20131020.psv +76 -0
- data/lib/sapor/regional_data/luxembourg.rb +82 -0
- data/lib/sapor/regional_data/netherlands.rb +108 -0
- data/lib/sapor/regional_data/norway.rb +425 -0
- data/lib/sapor/regional_data/norwegian_municipality.rb +68 -0
- data/lib/sapor/regional_data/poland-20151025-with-ko-and-l-without-n-po-r-and-zl.psv +321 -0
- data/lib/sapor/regional_data/poland-20151025-with-ko-konf-kp-l-and-zp-without-k-k15-n-pis-po-psl-r-and-zl.psv +280 -0
- data/lib/sapor/regional_data/poland-20151025-with-ko-sld-and-wi-without-n-po-and-zl.psv +403 -0
- data/lib/sapor/regional_data/poland-20151025-with-sld-and-wi-without-zl.psv +444 -0
- data/lib/sapor/regional_data/poland-20151025-with-sld-without-zl.psv +403 -0
- data/lib/sapor/regional_data/poland-20151025.psv +403 -0
- data/lib/sapor/regional_data/poland.rb +125 -0
- data/lib/sapor/regional_data/poland_with_ko_and_l_without_n_po_r_and_zl.rb +122 -0
- data/lib/sapor/regional_data/poland_with_ko_konf_kp_l_and_zp_without_k_k15_n_pis_po_psl_r_and_zl.rb +123 -0
- data/lib/sapor/regional_data/poland_with_ko_sld_and_wi_without_n_po_and_zl.rb +125 -0
- data/lib/sapor/regional_data/poland_with_sld_and_wi_without_zl.rb +126 -0
- data/lib/sapor/regional_data/poland_with_sld_without_zl.rb +126 -0
- data/lib/sapor/regional_data/portugal-20151004-with-a-and-ch-without-paf.psv +438 -0
- data/lib/sapor/regional_data/portugal-20151004-with-a-and-il-without-paf.psv +438 -0
- data/lib/sapor/regional_data/portugal-20151004-with-a-ch-and-il-without-paf.psv +461 -0
- data/lib/sapor/regional_data/portugal-20151004-with-a-without-paf.psv +415 -0
- data/lib/sapor/regional_data/portugal-20151004-with-ch-and-il-without-paf.psv +438 -0
- data/lib/sapor/regional_data/portugal-20151004-without-paf.psv +392 -0
- data/lib/sapor/regional_data/portugal-20151004.psv +370 -0
- data/lib/sapor/regional_data/portugal.rb +101 -0
- data/lib/sapor/regional_data/portugal_with_a_and_ch_without_paf.rb +92 -0
- data/lib/sapor/regional_data/portugal_with_a_and_il_without_paf.rb +92 -0
- data/lib/sapor/regional_data/portugal_with_a_ch_and_il_without_paf.rb +92 -0
- data/lib/sapor/regional_data/portugal_with_a_without_paf.rb +92 -0
- data/lib/sapor/regional_data/portugal_with_ch_and_il_without_paf.rb +92 -0
- data/lib/sapor/regional_data/portugal_without_paf.rb +92 -0
- data/lib/sapor/regional_data/slovakia.rb +81 -0
- data/lib/sapor/regional_data/slovenia.rb +114 -0
- data/lib/sapor/regional_data/spain-20160626.psv +619 -0
- data/lib/sapor/regional_data/spain.rb +136 -0
- data/lib/sapor/regional_data/sweden.rb +92 -0
- data/lib/sapor/regional_data/sweden_20140914.rb +89 -0
- data/lib/sapor/regional_data/united_kingdom-2015.psv +4358 -0
- data/lib/sapor/regional_data/united_kingdom-20170608-brexit-chuk.psv +5154 -0
- data/lib/sapor/regional_data/united_kingdom-20170608-brexit.psv +4521 -0
- data/lib/sapor/regional_data/united_kingdom-20170608-tig.psv +4529 -0
- data/lib/sapor/regional_data/united_kingdom-20170608.psv +3894 -0
- data/lib/sapor/regional_data/united_kingdom.rb +94 -0
- data/lib/sapor/regional_data/united_kingdom_with_brexit.rb +110 -0
- data/lib/sapor/regional_data/united_kingdom_with_brexit_and_chuk.rb +111 -0
- data/lib/sapor/regional_data/united_kingdom_with_tig.rb +111 -0
- data/lib/sapor/regional_data/utopia.rb +66 -0
- data/lib/sapor/regional_data/wallonia-2014.psv +101 -0
- data/lib/sapor/regional_data/wallonia-20190526.psv +88 -0
- data/lib/sapor/regional_data/wallonia.rb +112 -0
- data/lib/sapor/representatives_polychotomy.rb +338 -0
- data/lib/sapor/single_district_proportional.rb +75 -0
- data/sapor.gemspec +35 -0
- data/spec/integration/area_spec.rb +28 -0
- data/spec/integration/poll_spec.rb +112 -0
- data/spec/integration/sample.poll +8 -0
- data/spec/spec_helper.rb +31 -0
- data/spec/unit/area_spec.rb +115 -0
- data/spec/unit/austria_spec.rb +76 -0
- data/spec/unit/belgium_brussels_spec.rb +58 -0
- data/spec/unit/belgium_flanders_spec.rb +62 -0
- data/spec/unit/belgium_spec.rb +26 -0
- data/spec/unit/belgium_wallonia_spec.rb +65 -0
- data/spec/unit/binomials_cache_spec.rb +34 -0
- data/spec/unit/catalonia_spec.rb +74 -0
- data/spec/unit/combinations_distribution_spec.rb +241 -0
- data/spec/unit/denmark_spec.rb +56 -0
- data/spec/unit/denmark_with_e_and_p_spec.rb +58 -0
- data/spec/unit/denmark_with_e_spec.rb +57 -0
- data/spec/unit/denmark_with_p_spec.rb +57 -0
- data/spec/unit/denominators_spec.rb +40 -0
- data/spec/unit/dichotomies_spec.rb +154 -0
- data/spec/unit/dichotomy_spec.rb +320 -0
- data/spec/unit/estonia_spec.rb +65 -0
- data/spec/unit/european_union_27_austria_spec.rb +61 -0
- data/spec/unit/european_union_27_croatia_spec.rb +60 -0
- data/spec/unit/european_union_27_denmark_spec.rb +62 -0
- data/spec/unit/european_union_27_estonia_spec.rb +94 -0
- data/spec/unit/european_union_27_finland_spec.rb +75 -0
- data/spec/unit/european_union_27_ireland_spec.rb +72 -0
- data/spec/unit/european_union_27_ireland_with_ia_spec.rb +74 -0
- data/spec/unit/european_union_27_italy_spec.rb +69 -0
- data/spec/unit/european_union_27_netherlands_spec.rb +81 -0
- data/spec/unit/european_union_27_poland_spec.rb +69 -0
- data/spec/unit/european_union_27_romania_spec.rb +67 -0
- data/spec/unit/european_union_27_slovakia_spec.rb +111 -0
- data/spec/unit/european_union_27_spain_spec.rb +130 -0
- data/spec/unit/european_union_27_sweden_spec.rb +89 -0
- data/spec/unit/european_union_austria_spec.rb +61 -0
- data/spec/unit/european_union_bulgaria_spec.rb +97 -0
- data/spec/unit/european_union_croatia_spec.rb +59 -0
- data/spec/unit/european_union_cyprus_spec.rb +65 -0
- data/spec/unit/european_union_czech_republic_spec.rb +125 -0
- data/spec/unit/european_union_denmark_spec.rb +61 -0
- data/spec/unit/european_union_estonia_spec.rb +93 -0
- data/spec/unit/european_union_finland_spec.rb +75 -0
- data/spec/unit/european_union_flanders_spec.rb +56 -0
- data/spec/unit/european_union_france_2019_spec.rb +73 -0
- data/spec/unit/european_union_france_spec.rb +73 -0
- data/spec/unit/european_union_french_community_of_belgium_spec.rb +61 -0
- data/spec/unit/european_union_germany_spec.rb +90 -0
- data/spec/unit/european_union_great_britain_spec.rb +87 -0
- data/spec/unit/european_union_greece_spec.rb +148 -0
- data/spec/unit/european_union_hungary_spec.rb +57 -0
- data/spec/unit/european_union_ireland_spec.rb +72 -0
- data/spec/unit/european_union_ireland_with_ia_spec.rb +74 -0
- data/spec/unit/european_union_italy_spec.rb +69 -0
- data/spec/unit/european_union_latvia_spec.rb +76 -0
- data/spec/unit/european_union_lithuania_spec.rb +68 -0
- data/spec/unit/european_union_luxembourg_spec.rb +63 -0
- data/spec/unit/european_union_malta_spec.rb +60 -0
- data/spec/unit/european_union_netherlands_spec.rb +81 -0
- data/spec/unit/european_union_northern_ireland_spec.rb +66 -0
- data/spec/unit/european_union_poland_spec.rb +69 -0
- data/spec/unit/european_union_portugal_spec.rb +77 -0
- data/spec/unit/european_union_romania_spec.rb +67 -0
- data/spec/unit/european_union_slovakia_spec.rb +111 -0
- data/spec/unit/european_union_slovenia_spec.rb +77 -0
- data/spec/unit/european_union_spain_spec.rb +129 -0
- data/spec/unit/european_union_sweden_spec.rb +89 -0
- data/spec/unit/finland_spec.rb +65 -0
- data/spec/unit/finland_with_sin_spec.rb +67 -0
- data/spec/unit/first_past_the_post_spec.rb +54 -0
- data/spec/unit/flanders_spec.rb +70 -0
- data/spec/unit/france_spec.rb +32 -0
- data/spec/unit/greece_spec.rb +118 -0
- data/spec/unit/hungary_spec.rb +132 -0
- data/spec/unit/iceland_spec.rb +57 -0
- data/spec/unit/largest_remainder_spec.rb +79 -0
- data/spec/unit/latvia_kpv_p_par_spec.rb +38 -0
- data/spec/unit/latvia_kpv_par_spec.rb +38 -0
- data/spec/unit/latvia_kpv_spec.rb +38 -0
- data/spec/unit/latvia_spec.rb +60 -0
- data/spec/unit/luxembourg_spec.rb +54 -0
- data/spec/unit/multi_district_leveled_proportional_spec.rb +49 -0
- data/spec/unit/multi_district_proportional_spec.rb +81 -0
- data/spec/unit/netherlands_spec.rb +107 -0
- data/spec/unit/norway_spec.rb +64 -0
- data/spec/unit/norwegian_municipality_spec.rb +89 -0
- data/spec/unit/number_formatter_spec.rb +173 -0
- data/spec/unit/poland_spec.rb +62 -0
- data/spec/unit/poland_with_ko_and_l_without_n_po_r_and_zl_spec.rb +60 -0
- data/spec/unit/poland_with_ko_konf_kp_l_and_zp_without_k_k15_n_pis_po_psl_r_and_zl_spec.rb +59 -0
- data/spec/unit/poland_with_ko_sld_and_wi_without_n_po_and_zl_spec.rb +62 -0
- data/spec/unit/poland_with_sld_and_wi_without_zl_spec.rb +63 -0
- data/spec/unit/poland_with_sld_without_zl_spec.rb +62 -0
- data/spec/unit/poll_spec.rb +110 -0
- data/spec/unit/portugal_spec.rb +66 -0
- data/spec/unit/portugal_with_a_and_ch_without_paf_spec.rb +68 -0
- data/spec/unit/portugal_with_a_and_il_without_paf_spec.rb +68 -0
- data/spec/unit/portugal_with_a_ch_and_il_without_paf_spec.rb +69 -0
- data/spec/unit/portugal_with_a_without_paf_spec.rb +67 -0
- data/spec/unit/portugal_with_ch_and_il_without_paf_spec.rb +68 -0
- data/spec/unit/portugal_without_paf_spec.rb +66 -0
- data/spec/unit/pseudorandom_multirange_enumerator_spec.rb +82 -0
- data/spec/unit/referendum_polychotomy_spec.rb +289 -0
- data/spec/unit/representatives_polychotomy_spec.rb +332 -0
- data/spec/unit/slovakia_spec.rb +99 -0
- data/spec/unit/slovenia_spec.rb +80 -0
- data/spec/unit/spain_spec.rb +101 -0
- data/spec/unit/sweden_20140914_spec.rb +112 -0
- data/spec/unit/sweden_spec.rb +113 -0
- data/spec/unit/united_kingdom_spec.rb +65 -0
- data/spec/unit/united_kingdom_with_brexit_and_chuk_spec.rb +67 -0
- data/spec/unit/united_kingdom_with_brexit_spec.rb +66 -0
- data/spec/unit/united_kingdom_with_tig_spec.rb +66 -0
- data/spec/unit/wallonia_spec.rb +70 -0
- metadata +490 -0
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
#
|
|
3
|
+
# Statistical Analysis of Polling Results (SAPoR)
|
|
4
|
+
# Copyright (C) 2016 Filip van Laenen <f.a.vanlaenen@ieee.org>
|
|
5
|
+
#
|
|
6
|
+
# This file is part of SAPoR.
|
|
7
|
+
#
|
|
8
|
+
# SAPoR is free software: you can redistribute it and/or modify it under the
|
|
9
|
+
# terms of the GNU General Public License as published by the Free Software
|
|
10
|
+
# Foundation, either version 3 of the License, or (at your option) any later
|
|
11
|
+
# version.
|
|
12
|
+
#
|
|
13
|
+
# SAPoR is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
14
|
+
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
15
|
+
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
16
|
+
#
|
|
17
|
+
# You can find a copy of the GNU General Public License in /doc/gpl.txt
|
|
18
|
+
#
|
|
19
|
+
|
|
20
|
+
SOURCE = 'united_kingdom_2017.txt'.freeze
|
|
21
|
+
TARGET = '../../lib/sapor/regional_data/united_kingdom-20170608.psv'.freeze
|
|
22
|
+
|
|
23
|
+
File.open(TARGET, 'w') do |output|
|
|
24
|
+
output.puts '# Statistical Analysis of Polling Results (SAPoR)'
|
|
25
|
+
output.puts '# Copyright (C) 2016 Filip van Laenen <f.a.vanlaenen@ieee.org>'
|
|
26
|
+
output.puts '#'
|
|
27
|
+
output.puts '# This file is part of SAPoR.'
|
|
28
|
+
output.puts '#'
|
|
29
|
+
output.puts '# SAPoR is free software: you can redistribute it and/or' \
|
|
30
|
+
' modify it under the'
|
|
31
|
+
output.puts '# terms of the GNU General Public License as published by the' \
|
|
32
|
+
' Free Software'
|
|
33
|
+
output.puts '# Foundation, either version 3 of the License, or (at your' \
|
|
34
|
+
' option) any later'
|
|
35
|
+
output.puts '# version.'
|
|
36
|
+
output.puts '#'
|
|
37
|
+
output.puts '# SAPoR is distributed in the hope that it will be useful, but' \
|
|
38
|
+
' WITHOUT ANY'
|
|
39
|
+
output.puts '# WARRANTY; without even the implied warranty of' \
|
|
40
|
+
' MERCHANTABILITY or FITNESS FOR'
|
|
41
|
+
output.puts '# A PARTICULAR PURPOSE. See the GNU General Public License' \
|
|
42
|
+
' for more details.'
|
|
43
|
+
output.puts '#'
|
|
44
|
+
output.puts '# You can find a copy of the GNU General Public License in' \
|
|
45
|
+
' /doc/gpl.txt'
|
|
46
|
+
output.puts '#'
|
|
47
|
+
File.open(SOURCE).each do |line|
|
|
48
|
+
elements = line.chomp.split(';')
|
|
49
|
+
name = elements[0]
|
|
50
|
+
next if name == 'Name'
|
|
51
|
+
region = elements[2].to_i
|
|
52
|
+
output.puts ''
|
|
53
|
+
if region == 1
|
|
54
|
+
unless elements[5].to_i == 0
|
|
55
|
+
output.puts "#{name} | Ulster Unionist Party | #{elements[5]}"
|
|
56
|
+
end
|
|
57
|
+
unless elements[6].to_i == 0
|
|
58
|
+
output.puts "#{name} | Social Democratic & Labour Party | " \
|
|
59
|
+
"#{elements[6]}"
|
|
60
|
+
end
|
|
61
|
+
unless elements[7].to_i == 0
|
|
62
|
+
output.puts "#{name} | Democratic Unionist Party | #{elements[7]}"
|
|
63
|
+
end
|
|
64
|
+
else
|
|
65
|
+
unless elements[5].to_i == 0
|
|
66
|
+
output.puts "#{name} | Conservative Party | #{elements[5]}"
|
|
67
|
+
end
|
|
68
|
+
unless elements[6].to_i == 0
|
|
69
|
+
output.puts "#{name} | Labour Party | #{elements[6]}"
|
|
70
|
+
end
|
|
71
|
+
unless elements[7].to_i == 0
|
|
72
|
+
output.puts "#{name} | Liberal Democrats | #{elements[7]}"
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
unless elements[8].to_i == 0
|
|
76
|
+
output.puts "#{name} | UK Independence Party | #{elements[8]}"
|
|
77
|
+
end
|
|
78
|
+
unless elements[9].to_i == 0
|
|
79
|
+
output.puts "#{name} | Green Party | #{elements[9]}"
|
|
80
|
+
end
|
|
81
|
+
if region == 2
|
|
82
|
+
unless elements[10].to_i == 0
|
|
83
|
+
output.puts "#{name} | Scottish National Party | #{elements[10]}"
|
|
84
|
+
end
|
|
85
|
+
elsif region == 1
|
|
86
|
+
unless elements[10].to_i == 0
|
|
87
|
+
output.puts "#{name} | Sinn Féin | #{elements[10]}"
|
|
88
|
+
end
|
|
89
|
+
elsif region == 6
|
|
90
|
+
unless elements[10].to_i == 0
|
|
91
|
+
output.puts "#{name} | Plaid Cymru | #{elements[10]}"
|
|
92
|
+
end
|
|
93
|
+
elsif elements[10].to_i > 0
|
|
94
|
+
puts "Check out #{name}!"
|
|
95
|
+
end
|
|
96
|
+
unless elements[11].to_i == 0
|
|
97
|
+
output.puts "#{name} | Small or local party, or independent candidate " \
|
|
98
|
+
"| #{elements[11]}"
|
|
99
|
+
end
|
|
100
|
+
unless elements[12].to_i == 0
|
|
101
|
+
output.puts "#{name} | All other candidates | #{elements[12]}"
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
end
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
#
|
|
3
|
+
# Statistical Analysis of Polling Results (SAPoR)
|
|
4
|
+
# Copyright (C) 2016 Filip van Laenen <f.a.vanlaenen@ieee.org>
|
|
5
|
+
#
|
|
6
|
+
# This file is part of SAPoR.
|
|
7
|
+
#
|
|
8
|
+
# SAPoR is free software: you can redistribute it and/or modify it under the
|
|
9
|
+
# terms of the GNU General Public License as published by the Free Software
|
|
10
|
+
# Foundation, either version 3 of the License, or (at your option) any later
|
|
11
|
+
# version.
|
|
12
|
+
#
|
|
13
|
+
# SAPoR is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
14
|
+
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
15
|
+
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
16
|
+
#
|
|
17
|
+
# You can find a copy of the GNU General Public License in /doc/gpl.txt
|
|
18
|
+
#
|
|
19
|
+
|
|
20
|
+
SOURCE = 'united_kingdom_2017.txt'.freeze
|
|
21
|
+
TARGET = '../../lib/sapor/regional_data/united_kingdom-20170608-brexit-chuk.psv'.freeze
|
|
22
|
+
|
|
23
|
+
File.open(TARGET, 'w') do |output|
|
|
24
|
+
output.puts '# Statistical Analysis of Polling Results (SAPoR)'
|
|
25
|
+
output.puts '# Copyright (C) 2016 Filip van Laenen <f.a.vanlaenen@ieee.org>'
|
|
26
|
+
output.puts '#'
|
|
27
|
+
output.puts '# This file is part of SAPoR.'
|
|
28
|
+
output.puts '#'
|
|
29
|
+
output.puts '# SAPoR is free software: you can redistribute it and/or' \
|
|
30
|
+
' modify it under the'
|
|
31
|
+
output.puts '# terms of the GNU General Public License as published by the' \
|
|
32
|
+
' Free Software'
|
|
33
|
+
output.puts '# Foundation, either version 3 of the License, or (at your' \
|
|
34
|
+
' option) any later'
|
|
35
|
+
output.puts '# version.'
|
|
36
|
+
output.puts '#'
|
|
37
|
+
output.puts '# SAPoR is distributed in the hope that it will be useful, but' \
|
|
38
|
+
' WITHOUT ANY'
|
|
39
|
+
output.puts '# WARRANTY; without even the implied warranty of' \
|
|
40
|
+
' MERCHANTABILITY or FITNESS FOR'
|
|
41
|
+
output.puts '# A PARTICULAR PURPOSE. See the GNU General Public License' \
|
|
42
|
+
' for more details.'
|
|
43
|
+
output.puts '#'
|
|
44
|
+
output.puts '# You can find a copy of the GNU General Public License in' \
|
|
45
|
+
' /doc/gpl.txt'
|
|
46
|
+
output.puts '#'
|
|
47
|
+
output.puts '# Changes:'
|
|
48
|
+
output.puts '# Added Change UK as a combination of Conservative Party (3/318) and Labour Party (8/262)'
|
|
49
|
+
output.puts '# Added Brexit Party as a copy of UK Independence Party'
|
|
50
|
+
output.puts '#'
|
|
51
|
+
File.open(SOURCE).each do |line|
|
|
52
|
+
elements = line.chomp.split(';')
|
|
53
|
+
name = elements[0]
|
|
54
|
+
next if name == 'Name'
|
|
55
|
+
region = elements[2].to_i
|
|
56
|
+
output.puts ''
|
|
57
|
+
if region == 1
|
|
58
|
+
unless elements[5].to_i == 0
|
|
59
|
+
output.puts "#{name} | Ulster Unionist Party | #{elements[5]}"
|
|
60
|
+
end
|
|
61
|
+
unless elements[6].to_i == 0
|
|
62
|
+
output.puts "#{name} | Social Democratic & Labour Party | " \
|
|
63
|
+
"#{elements[6]}"
|
|
64
|
+
end
|
|
65
|
+
unless elements[7].to_i == 0
|
|
66
|
+
output.puts "#{name} | Democratic Unionist Party | #{elements[7]}"
|
|
67
|
+
end
|
|
68
|
+
else
|
|
69
|
+
unless elements[5].to_i == 0
|
|
70
|
+
output.puts "#{name} | Conservative Party | #{elements[5]}"
|
|
71
|
+
end
|
|
72
|
+
unless elements[6].to_i == 0
|
|
73
|
+
output.puts "#{name} | Labour Party | #{elements[6]}"
|
|
74
|
+
end
|
|
75
|
+
unless elements[7].to_i == 0
|
|
76
|
+
output.puts "#{name} | Liberal Democrats | #{elements[7]}"
|
|
77
|
+
end
|
|
78
|
+
tig = elements[5].to_i * 3 / 318 + elements[6].to_i * 8 / 262
|
|
79
|
+
unless tig == 0
|
|
80
|
+
output.puts "#{name} | Change UK | #{tig}"
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
unless elements[8].to_i == 0
|
|
84
|
+
output.puts "#{name} | UK Independence Party | #{elements[8]}"
|
|
85
|
+
output.puts "#{name} | Brexit Party | #{elements[8]}"
|
|
86
|
+
end
|
|
87
|
+
unless elements[9].to_i == 0
|
|
88
|
+
output.puts "#{name} | Green Party | #{elements[9]}"
|
|
89
|
+
end
|
|
90
|
+
if region == 2
|
|
91
|
+
unless elements[10].to_i == 0
|
|
92
|
+
output.puts "#{name} | Scottish National Party | #{elements[10]}"
|
|
93
|
+
end
|
|
94
|
+
elsif region == 1
|
|
95
|
+
unless elements[10].to_i == 0
|
|
96
|
+
output.puts "#{name} | Sinn Féin | #{elements[10]}"
|
|
97
|
+
end
|
|
98
|
+
elsif region == 6
|
|
99
|
+
unless elements[10].to_i == 0
|
|
100
|
+
output.puts "#{name} | Plaid Cymru | #{elements[10]}"
|
|
101
|
+
end
|
|
102
|
+
elsif elements[10].to_i > 0
|
|
103
|
+
puts "Check out #{name}!"
|
|
104
|
+
end
|
|
105
|
+
unless elements[11].to_i == 0
|
|
106
|
+
output.puts "#{name} | Small or local party, or independent candidate " \
|
|
107
|
+
"| #{elements[11]}"
|
|
108
|
+
end
|
|
109
|
+
unless elements[12].to_i == 0
|
|
110
|
+
output.puts "#{name} | All other candidates | #{elements[12]}"
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
end
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
#
|
|
3
|
+
# Statistical Analysis of Polling Results (SAPoR)
|
|
4
|
+
# Copyright (C) 2016 Filip van Laenen <f.a.vanlaenen@ieee.org>
|
|
5
|
+
#
|
|
6
|
+
# This file is part of SAPoR.
|
|
7
|
+
#
|
|
8
|
+
# SAPoR is free software: you can redistribute it and/or modify it under the
|
|
9
|
+
# terms of the GNU General Public License as published by the Free Software
|
|
10
|
+
# Foundation, either version 3 of the License, or (at your option) any later
|
|
11
|
+
# version.
|
|
12
|
+
#
|
|
13
|
+
# SAPoR is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
14
|
+
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
15
|
+
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
16
|
+
#
|
|
17
|
+
# You can find a copy of the GNU General Public License in /doc/gpl.txt
|
|
18
|
+
#
|
|
19
|
+
|
|
20
|
+
SOURCE = 'united_kingdom_2017.txt'.freeze
|
|
21
|
+
TARGET = '../../lib/sapor/regional_data/united_kingdom-20170608-tig.psv'.freeze
|
|
22
|
+
|
|
23
|
+
File.open(TARGET, 'w') do |output|
|
|
24
|
+
output.puts '# Statistical Analysis of Polling Results (SAPoR)'
|
|
25
|
+
output.puts '# Copyright (C) 2016 Filip van Laenen <f.a.vanlaenen@ieee.org>'
|
|
26
|
+
output.puts '#'
|
|
27
|
+
output.puts '# This file is part of SAPoR.'
|
|
28
|
+
output.puts '#'
|
|
29
|
+
output.puts '# SAPoR is free software: you can redistribute it and/or' \
|
|
30
|
+
' modify it under the'
|
|
31
|
+
output.puts '# terms of the GNU General Public License as published by the' \
|
|
32
|
+
' Free Software'
|
|
33
|
+
output.puts '# Foundation, either version 3 of the License, or (at your' \
|
|
34
|
+
' option) any later'
|
|
35
|
+
output.puts '# version.'
|
|
36
|
+
output.puts '#'
|
|
37
|
+
output.puts '# SAPoR is distributed in the hope that it will be useful, but' \
|
|
38
|
+
' WITHOUT ANY'
|
|
39
|
+
output.puts '# WARRANTY; without even the implied warranty of' \
|
|
40
|
+
' MERCHANTABILITY or FITNESS FOR'
|
|
41
|
+
output.puts '# A PARTICULAR PURPOSE. See the GNU General Public License' \
|
|
42
|
+
' for more details.'
|
|
43
|
+
output.puts '#'
|
|
44
|
+
output.puts '# You can find a copy of the GNU General Public License in' \
|
|
45
|
+
' /doc/gpl.txt'
|
|
46
|
+
output.puts '#'
|
|
47
|
+
output.puts '# Changes:'
|
|
48
|
+
output.puts '# Added The Independent Group as a combination of Conservative Party (3/318) and Labour Party (8/262)'
|
|
49
|
+
output.puts '#'
|
|
50
|
+
File.open(SOURCE).each do |line|
|
|
51
|
+
elements = line.chomp.split(';')
|
|
52
|
+
name = elements[0]
|
|
53
|
+
next if name == 'Name'
|
|
54
|
+
region = elements[2].to_i
|
|
55
|
+
output.puts ''
|
|
56
|
+
if region == 1
|
|
57
|
+
unless elements[5].to_i == 0
|
|
58
|
+
output.puts "#{name} | Ulster Unionist Party | #{elements[5]}"
|
|
59
|
+
end
|
|
60
|
+
unless elements[6].to_i == 0
|
|
61
|
+
output.puts "#{name} | Social Democratic & Labour Party | " \
|
|
62
|
+
"#{elements[6]}"
|
|
63
|
+
end
|
|
64
|
+
unless elements[7].to_i == 0
|
|
65
|
+
output.puts "#{name} | Democratic Unionist Party | #{elements[7]}"
|
|
66
|
+
end
|
|
67
|
+
else
|
|
68
|
+
unless elements[5].to_i == 0
|
|
69
|
+
output.puts "#{name} | Conservative Party | #{elements[5]}"
|
|
70
|
+
end
|
|
71
|
+
unless elements[6].to_i == 0
|
|
72
|
+
output.puts "#{name} | Labour Party | #{elements[6]}"
|
|
73
|
+
end
|
|
74
|
+
unless elements[7].to_i == 0
|
|
75
|
+
output.puts "#{name} | Liberal Democrats | #{elements[7]}"
|
|
76
|
+
end
|
|
77
|
+
tig = elements[5].to_i * 3 / 318 + elements[6].to_i * 8 / 262
|
|
78
|
+
unless tig == 0
|
|
79
|
+
output.puts "#{name} | The Independent Group | #{tig}"
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
unless elements[8].to_i == 0
|
|
83
|
+
output.puts "#{name} | UK Independence Party | #{elements[8]}"
|
|
84
|
+
end
|
|
85
|
+
unless elements[9].to_i == 0
|
|
86
|
+
output.puts "#{name} | Green Party | #{elements[9]}"
|
|
87
|
+
end
|
|
88
|
+
if region == 2
|
|
89
|
+
unless elements[10].to_i == 0
|
|
90
|
+
output.puts "#{name} | Scottish National Party | #{elements[10]}"
|
|
91
|
+
end
|
|
92
|
+
elsif region == 1
|
|
93
|
+
unless elements[10].to_i == 0
|
|
94
|
+
output.puts "#{name} | Sinn Féin | #{elements[10]}"
|
|
95
|
+
end
|
|
96
|
+
elsif region == 6
|
|
97
|
+
unless elements[10].to_i == 0
|
|
98
|
+
output.puts "#{name} | Plaid Cymru | #{elements[10]}"
|
|
99
|
+
end
|
|
100
|
+
elsif elements[10].to_i > 0
|
|
101
|
+
puts "Check out #{name}!"
|
|
102
|
+
end
|
|
103
|
+
unless elements[11].to_i == 0
|
|
104
|
+
output.puts "#{name} | Small or local party, or independent candidate " \
|
|
105
|
+
"| #{elements[11]}"
|
|
106
|
+
end
|
|
107
|
+
unless elements[12].to_i == 0
|
|
108
|
+
output.puts "#{name} | All other candidates | #{elements[12]}"
|
|
109
|
+
end
|
|
110
|
+
end
|
|
111
|
+
end
|
data/lib/sapor.rb
ADDED
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Statistical Analysis of Polling Results (SAPoR)
|
|
3
|
+
# Copyright (C) 2016 Filip van Laenen <f.a.vanlaenen@ieee.org>
|
|
4
|
+
#
|
|
5
|
+
# This file is part of SAPoR.
|
|
6
|
+
#
|
|
7
|
+
# SAPoR is free software: you can redistribute it and/or modify it under the
|
|
8
|
+
# terms of the GNU General Public License as published by the Free Software
|
|
9
|
+
# Foundation, either version 3 of the License, or (at your option) any later
|
|
10
|
+
# version.
|
|
11
|
+
#
|
|
12
|
+
# SAPoR is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
13
|
+
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
14
|
+
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
15
|
+
#
|
|
16
|
+
# You can find a copy of the GNU General Public License in /doc/gpl.txt
|
|
17
|
+
#
|
|
18
|
+
|
|
19
|
+
# Library namespace
|
|
20
|
+
module Sapor
|
|
21
|
+
def self.analyze(filename, arguments)
|
|
22
|
+
yaml_file = filename.gsub('.poll', '-state.yaml')
|
|
23
|
+
options = Options.new(arguments)
|
|
24
|
+
if File.exist?(yaml_file)
|
|
25
|
+
YAML::load(File.open(yaml_file)).continue_analysis(options)
|
|
26
|
+
else
|
|
27
|
+
Poll.from_file(filename).analyze(options)
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
require 'sapor/number_formatter'
|
|
33
|
+
require 'sapor/dichotomies'
|
|
34
|
+
require 'sapor/combinations_distribution'
|
|
35
|
+
require 'sapor/dichotomy'
|
|
36
|
+
require 'sapor/log4r_logger'
|
|
37
|
+
require 'sapor/log_facade'
|
|
38
|
+
require 'sapor/pseudorandom_multirange_enumerator'
|
|
39
|
+
require 'sapor/binomials_cache'
|
|
40
|
+
require 'sapor/options'
|
|
41
|
+
require 'sapor/polychotomy'
|
|
42
|
+
require 'sapor/referendum_polychotomy'
|
|
43
|
+
require 'sapor/representatives_polychotomy'
|
|
44
|
+
require 'sapor/first_past_the_post'
|
|
45
|
+
require 'sapor/largest_remainder'
|
|
46
|
+
require 'sapor/denominators'
|
|
47
|
+
require 'sapor/single_district_proportional'
|
|
48
|
+
require 'sapor/multi_district_proportional'
|
|
49
|
+
require 'sapor/multi_district_leveled_proportional'
|
|
50
|
+
require 'sapor/multi_district_variable_threshold_proportional'
|
|
51
|
+
require 'sapor/regional_data/area'
|
|
52
|
+
require 'sapor/regional_data/austria'
|
|
53
|
+
require 'sapor/regional_data/belgium'
|
|
54
|
+
require 'sapor/regional_data/belgium_brussels'
|
|
55
|
+
require 'sapor/regional_data/belgium_flanders'
|
|
56
|
+
require 'sapor/regional_data/belgium_wallonia'
|
|
57
|
+
require 'sapor/regional_data/catalonia'
|
|
58
|
+
require 'sapor/regional_data/catalonia-no-jxsi'
|
|
59
|
+
require 'sapor/regional_data/catalonia-jxcat'
|
|
60
|
+
require 'sapor/regional_data/denmark'
|
|
61
|
+
require 'sapor/regional_data/denmark_with_e'
|
|
62
|
+
require 'sapor/regional_data/denmark_with_e_and_p'
|
|
63
|
+
require 'sapor/regional_data/denmark_with_p'
|
|
64
|
+
require 'sapor/regional_data/estonia'
|
|
65
|
+
require 'sapor/regional_data/european_union_27_austria'
|
|
66
|
+
require 'sapor/regional_data/european_union_27_croatia'
|
|
67
|
+
require 'sapor/regional_data/european_union_27_denmark'
|
|
68
|
+
require 'sapor/regional_data/european_union_27_estonia'
|
|
69
|
+
require 'sapor/regional_data/european_union_27_finland'
|
|
70
|
+
require 'sapor/regional_data/european_union_27_ireland'
|
|
71
|
+
require 'sapor/regional_data/european_union_27_ireland_with_ia'
|
|
72
|
+
require 'sapor/regional_data/european_union_27_italy'
|
|
73
|
+
require 'sapor/regional_data/european_union_27_netherlands'
|
|
74
|
+
require 'sapor/regional_data/european_union_27_poland'
|
|
75
|
+
require 'sapor/regional_data/european_union_27_romania'
|
|
76
|
+
require 'sapor/regional_data/european_union_27_slovakia'
|
|
77
|
+
require 'sapor/regional_data/european_union_27_spain'
|
|
78
|
+
require 'sapor/regional_data/european_union_27_sweden'
|
|
79
|
+
require 'sapor/regional_data/european_union_austria'
|
|
80
|
+
require 'sapor/regional_data/european_union_bulgaria'
|
|
81
|
+
require 'sapor/regional_data/european_union_croatia'
|
|
82
|
+
require 'sapor/regional_data/european_union_cyprus'
|
|
83
|
+
require 'sapor/regional_data/european_union_czech_republic'
|
|
84
|
+
require 'sapor/regional_data/european_union_denmark'
|
|
85
|
+
require 'sapor/regional_data/european_union_estonia'
|
|
86
|
+
require 'sapor/regional_data/european_union_finland'
|
|
87
|
+
require 'sapor/regional_data/european_union_flanders'
|
|
88
|
+
require 'sapor/regional_data/european_union_france'
|
|
89
|
+
require 'sapor/regional_data/european_union_france_2019'
|
|
90
|
+
require 'sapor/regional_data/european_union_french_community_of_belgium'
|
|
91
|
+
require 'sapor/regional_data/european_union_germany'
|
|
92
|
+
require 'sapor/regional_data/european_union_great_britain'
|
|
93
|
+
require 'sapor/regional_data/european_union_greece'
|
|
94
|
+
require 'sapor/regional_data/european_union_hungary'
|
|
95
|
+
require 'sapor/regional_data/european_union_ireland'
|
|
96
|
+
require 'sapor/regional_data/european_union_ireland_with_ia'
|
|
97
|
+
require 'sapor/regional_data/european_union_italy'
|
|
98
|
+
require 'sapor/regional_data/european_union_latvia'
|
|
99
|
+
require 'sapor/regional_data/european_union_lithuania'
|
|
100
|
+
require 'sapor/regional_data/european_union_luxembourg'
|
|
101
|
+
require 'sapor/regional_data/european_union_malta'
|
|
102
|
+
require 'sapor/regional_data/european_union_netherlands'
|
|
103
|
+
require 'sapor/regional_data/european_union_northern_ireland'
|
|
104
|
+
require 'sapor/regional_data/european_union_poland'
|
|
105
|
+
require 'sapor/regional_data/european_union_portugal'
|
|
106
|
+
require 'sapor/regional_data/european_union_romania'
|
|
107
|
+
require 'sapor/regional_data/european_union_slovakia'
|
|
108
|
+
require 'sapor/regional_data/european_union_slovenia'
|
|
109
|
+
require 'sapor/regional_data/european_union_spain'
|
|
110
|
+
require 'sapor/regional_data/european_union_sweden'
|
|
111
|
+
require 'sapor/regional_data/finland'
|
|
112
|
+
require 'sapor/regional_data/finland_with_sin'
|
|
113
|
+
require 'sapor/regional_data/flanders'
|
|
114
|
+
require 'sapor/regional_data/france'
|
|
115
|
+
require 'sapor/regional_data/greece'
|
|
116
|
+
require 'sapor/regional_data/hungary'
|
|
117
|
+
require 'sapor/regional_data/iceland'
|
|
118
|
+
require 'sapor/regional_data/latvia'
|
|
119
|
+
require 'sapor/regional_data/latvia_kpv'
|
|
120
|
+
require 'sapor/regional_data/latvia_kpv_p_par'
|
|
121
|
+
require 'sapor/regional_data/latvia_kpv_par'
|
|
122
|
+
require 'sapor/regional_data/luxembourg'
|
|
123
|
+
require 'sapor/regional_data/netherlands'
|
|
124
|
+
require 'sapor/regional_data/norway'
|
|
125
|
+
require 'sapor/regional_data/norwegian_municipality'
|
|
126
|
+
require 'sapor/regional_data/poland'
|
|
127
|
+
require 'sapor/regional_data/poland_with_ko_and_l_without_n_po_r_and_zl'
|
|
128
|
+
require 'sapor/regional_data/poland_with_ko_konf_kp_l_and_zp_without_k_k15_n_pis_po_psl_r_and_zl'
|
|
129
|
+
require 'sapor/regional_data/poland_with_ko_sld_and_wi_without_n_po_and_zl'
|
|
130
|
+
require 'sapor/regional_data/poland_with_sld_and_wi_without_zl'
|
|
131
|
+
require 'sapor/regional_data/poland_with_sld_without_zl'
|
|
132
|
+
require 'sapor/regional_data/portugal'
|
|
133
|
+
require 'sapor/regional_data/portugal_with_a_and_ch_without_paf'
|
|
134
|
+
require 'sapor/regional_data/portugal_with_a_and_il_without_paf'
|
|
135
|
+
require 'sapor/regional_data/portugal_with_a_ch_and_il_without_paf'
|
|
136
|
+
require 'sapor/regional_data/portugal_with_a_without_paf'
|
|
137
|
+
require 'sapor/regional_data/portugal_with_ch_and_il_without_paf'
|
|
138
|
+
require 'sapor/regional_data/portugal_without_paf'
|
|
139
|
+
require 'sapor/regional_data/slovakia'
|
|
140
|
+
require 'sapor/regional_data/slovenia'
|
|
141
|
+
require 'sapor/regional_data/spain'
|
|
142
|
+
require 'sapor/regional_data/sweden'
|
|
143
|
+
require 'sapor/regional_data/sweden_20140914'
|
|
144
|
+
require 'sapor/regional_data/united_kingdom'
|
|
145
|
+
require 'sapor/regional_data/united_kingdom_with_brexit'
|
|
146
|
+
require 'sapor/regional_data/united_kingdom_with_brexit_and_chuk'
|
|
147
|
+
require 'sapor/regional_data/united_kingdom_with_tig'
|
|
148
|
+
require 'sapor/regional_data/utopia'
|
|
149
|
+
require 'sapor/regional_data/wallonia'
|
|
150
|
+
require 'sapor/poll'
|