Commit 79292e7
Changed files (2)
bin
templates
bin/community
@@ -17,150 +17,6 @@ require 'erb'
class Community
# https://data.calgary.ca/Demographics/Census-by-Community-2019/rkfr-buzb/about_data
# CLASS,CLASS_CODE,COMM_CODE,NAME,SECTOR,SRG,COMM_STRUCTURE,CNSS_YR,FOIP_IND,RES_CNT,DWELL_CNT,PRSCH_CHLD,ELECT_CNT,EMPLYD_CNT,OWNSHP_CNT,DOG_CNT,CAT_CNT,PUB_SCH,SEP_SCH,PUBSEP_SCH,OTHER_SCH,UNKNWN_SCH,SING_FAMLY,DUPLEX,MULTI_PLEX,APARTMENT,TOWN_HOUSE,MANUF_HOME,CONV_STRUC,COMUNL_HSE,RES_COMM,OTHER_RES,NURSING_HM,OTHER_INST,HOTEL_CNT,OTHER_MISC,APT_NO_RES,APT_OCCPD,APT_OWNED,APT_PERSON,APT_VACANT,APT_UC,APT_NA,CNV_NO_RES,CNV_OCCPD,CNV_OWNED,CNV_PERSON,CNV_VACANT,CNV_UC,CNV_NA,DUP_NO_RES,DUP_OCCPD,DUP_OWNED,DUP_PERSON,DUP_VACANT,DUP_UC,DUP_NA,MFH_NO_RES,MFH_OCCPD,MFH_OWNED,MFH_PERSON,MFH_VACANT,MFH_UC,MFH_NA,MUL_NO_RES,MUL_OCCPD,MUL_OWNED,MUL_PERSON,MUL_VACANT,MUL_UC,MUL_NA,OTH_NO_RES,OTH_OCCPD,OTH_OWNED,OTH_PERSON,OTH_VACANT,OTH_UC,OTH_NA,TWN_NO_RES,TWN_OCCPD,TWN_OWNED,TWN_PERSON,TWN_VACANT,TWN_UC,TWN_NA,SF_NO_RES,SF_OCCPD,SF_OWNED,SF_PERSON,SF_VACANT,SF_UC,SF_NA,OTH_STRTY,DWELSZ_1,DWELSZ_2,DWELSZ_3,DWELSZ_4_5,DWELSZ_6,MALE_CNT,FEMALE_CNT,MALE_0_4,MALE_5_14,MALE_15_19,MALE_20_24,MALE_25_34,MALE_35_44,MALE_45_54,MALE_55_64,MALE_65_74,MALE_75,FEM_0_4,FEM_5_14,FEM_15_19,FEM_20_24,FEM_25_34,FEM_35_44,FEM_45_54,FEM_55_64,FEM_65_74,FEM_75,MF_0_4,MF_5_14,MF_15_19,MF_20_24,MF_25_34,MF_35_44,MF_45_54,MF_55_64,MF_65_74,MF_75,OTHER_CNT,OTHER_0_4,OTHER_5_14,OTHER_15_19,OTHER_20_24,OTHER_25_34,OTHER_35_44,OTHER_45_54,OTHER_55_64,OTHER_65_74,OTHER_75,multipolygon
- COLUMNS = {
- classification: "CLASS",
- classification_code: "CLASS_CODE",
- community_code: "COMM_CODE",
- name: "NAME",
- sector: "SECTOR",
- srg: "SRG",
- # x: "COMM_STRUCTURE",
- # x: "CNSS_YR",
- # x: "FOIP_IND",
- residents_count: "RES_CNT",
- dwellings_count: "DWELL_CNT",
- preschool_children_count: "PRSCH_CHLD",
- voter_count: "ELECT_CNT",
- employees_count: "EMPLYD_CNT",
- homeowners_count: "OWNSHP_CNT",
- dogs_count: "DOG_CNT",
- cats_count: "CAT_CNT",
- public_schools_count: "PUB_SCH",
- other_schools_count: "SEP_SCH",
- # x: "PUBSEP_SCH",
- # x: "OTHER_SCH",
- # x: "UNKNWN_SCH",
- single_family_homes_count: "SING_FAMLY",
- duplexes_count: "DUPLEX",
- multiplex_count: "MULTI_PLEX",
- apartment_count: "APARTMENT",
- townhouse_count: "TOWN_HOUSE",
- mobile_home_count: "MANUF_HOME",
- # x: "CONV_STRUC",
- # x: "COMUNL_HSE",
- # x: "RES_COMM",
- # x: "OTHER_RES",
- # x: "NURSING_HM",
- # x: "OTHER_INST",
- # x: "HOTEL_CNT",
- # x: "OTHER_MISC",
- # x: "APT_NO_RES",
- # x: "APT_OCCPD",
- # x: "APT_OWNED",
- # x: "APT_PERSON",
- # x: "APT_VACANT",
- # x: "APT_UC",
- # x: "APT_NA",
- # x: "CNV_NO_RES",
- # x: "CNV_OCCPD",
- # x: "CNV_OWNED",
- # x: "CNV_PERSON",
- # x: "CNV_VACANT",
- # x: "CNV_UC",
- # x: "CNV_NA",
- # x: "DUP_NO_RES",
- # x: "DUP_OCCPD",
- # x: "DUP_OWNED",
- # x: "DUP_PERSON",
- # x: "DUP_VACANT",
- # x: "DUP_UC",
- # x: "DUP_NA",
- # x: "MFH_NO_RES",
- # x: "MFH_OCCPD",
- # x: "MFH_OWNED",
- # x: "MFH_PERSON",
- # x: "MFH_VACANT",
- # x: "MFH_UC",
- # x: "MFH_NA",
- # x: "MUL_NO_RES",
- # x: "MUL_OCCPD",
- # x: "MUL_OWNED",
- # x: "MUL_PERSON",
- # x: "MUL_VACANT",
- # x: "MUL_UC",
- # x: "MUL_NA",
- # x: "OTH_NO_RES",
- # x: "OTH_OCCPD",
- # x: "OTH_OWNED",
- # x: "OTH_PERSON",
- # x: "OTH_VACANT",
- # x: "OTH_UC",
- # x: "OTH_NA",
- # x: "TWN_NO_RES",
- # x: "TWN_OCCPD",
- # x: "TWN_OWNED",
- # x: "TWN_PERSON",
- # x: "TWN_VACANT",
- # x: "TWN_UC",
- # x: "TWN_NA",
- # x: "SF_NO_RES",
- # x: "SF_OCCPD",
- # x: "SF_OWNED",
- # x: "SF_PERSON",
- # x: "SF_VACANT",
- # x: "SF_UC",
- # x: "SF_NA",
- # x: "OTH_STRTY",
- # x: "DWELSZ_1",
- # x: "DWELSZ_2",
- # x: "DWELSZ_3",
- # x: "DWELSZ_4_5",
- # x: "DWELSZ_6",
- # male_count: "MALE_CNT",
- # female_count: "FEMALE_CNT",
- # male_0_4: "MALE_0_4",
- # male_5_14: "MALE_5_14",
- # male_5_19: "MALE_15_19",
- # x: "MALE_20_24",
- # x: "MALE_25_34",
- # x: "MALE_35_44",
- # x: "MALE_45_54",
- # x: "MALE_55_64",
- # x: "MALE_65_74",
- # x: "MALE_75",
- # x: "FEM_0_4",
- # x: "FEM_5_14",
- # x: "FEM_15_19",
- # x: "FEM_20_24",
- # x: "FEM_25_34",
- # x: "FEM_35_44",
- # x: "FEM_45_54",
- # x: "FEM_55_64",
- # x: "FEM_65_74",
- # x: "FEM_75",
- # x: "MF_0_4",
- # x: "MF_5_14",
- # x: "MF_15_19",
- # x: "MF_20_24",
- # x: "MF_25_34",
- # x: "MF_35_44",
- # x: "MF_45_54",
- # x: "MF_55_64",
- # x: "MF_65_74",
- # x: "MF_75",
- # x: "OTHER_CNT",
- # x: "OTHER_0_4",
- # x: "OTHER_5_14",
- # x: "OTHER_15_19",
- # x: "OTHER_20_24",
- # x: "OTHER_25_34",
- # x: "OTHER_35_44",
- # x: "OTHER_45_54",
- # x: "OTHER_55_64",
- # x: "OTHER_65_74",
- # x: "OTHER_75",
- # x: "multipolygon",
- }.freeze
def initialize(row)
@row = row
@@ -170,8 +26,8 @@ class Community
self[:name]
end
- def [](name)
- @row[COLUMNS[name]] || @row.fetch(name.to_s.upcase)
+ def [](key)
+ @row.fetch(key.to_s.upcase)
end
def create_content_in(root_dir)
@@ -180,6 +36,8 @@ class Community
create_readme_in(target_dir)
end
+ private
+
def create_readme_in(dir)
erb = ERB.new(IO.read("templates/community.md.erb"))
IO.write("#{dir}/README.md", erb.result(binding))
templates/community.md.erb
@@ -1,6 +1,6 @@
-# <%= name %> (<%= self[:community_code] %>)
+# <%= name %> (<%= self[:comm_code] %>)
-* # of Residents: <%= self[:residents_count] %>
+* # of Residents: <%= self[:res_cnt] %>
| Age | Male | Female | Non-binary |
| --- | ---- | ------ | ---------- |