experian-data-dictionary 1.0 → 1.2

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.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/docs/DataDictionary_NonProfit_Experian.pdf +0 -0
  3. data/experian_data_dictionary.gemspec +1 -1
  4. data/lib/element_numbers/en_0000.rb +4 -1
  5. data/lib/element_numbers/en_0100.rb +10 -3
  6. data/lib/element_numbers/en_0103.rb +4 -1
  7. data/lib/element_numbers/en_0107.rb +6 -3
  8. data/lib/element_numbers/en_0108.rb +36 -7
  9. data/lib/element_numbers/en_0110.rb +4 -1
  10. data/lib/element_numbers/en_0112.rb +4 -1
  11. data/lib/element_numbers/en_0113.rb +4 -1
  12. data/lib/element_numbers/en_0118.rb +4 -0
  13. data/lib/element_numbers/en_0119.rb +6 -3
  14. data/lib/element_numbers/en_0130.rb +4 -1
  15. data/lib/element_numbers/en_0131.rb +4 -1
  16. data/lib/element_numbers/en_0132.rb +9 -0
  17. data/lib/element_numbers/en_0133.rb +4 -1
  18. data/lib/element_numbers/en_0134.rb +9 -5
  19. data/lib/element_numbers/en_0135.rb +9 -6
  20. data/lib/element_numbers/en_0136.rb +9 -6
  21. data/lib/element_numbers/en_0137.rb +8 -5
  22. data/lib/element_numbers/en_0138.rb +8 -5
  23. data/lib/element_numbers/en_0139.rb +8 -5
  24. data/lib/element_numbers/en_0140.rb +8 -4
  25. data/lib/element_numbers/en_0141.rb +9 -5
  26. data/lib/element_numbers/en_0155.rb +5 -1
  27. data/lib/element_numbers/en_0156.rb +5 -1
  28. data/lib/element_numbers/en_0160.rb +6 -3
  29. data/lib/element_numbers/en_0162.rb +5 -2
  30. data/lib/element_numbers/en_0164.rb +5 -2
  31. data/lib/element_numbers/en_0174.rb +5 -2
  32. data/lib/element_numbers/en_0711.rb +6 -3
  33. data/lib/element_numbers/en_0715.rb +6 -3
  34. data/lib/element_numbers/en_0716.rb +5 -2
  35. data/lib/element_numbers/en_0717.rb +6 -3
  36. data/lib/element_numbers/en_310M.rb +5 -2
  37. data/lib/element_numbers/en_8502.rb +11 -5
  38. data/lib/element_numbers/en_8503.rb +11 -5
  39. data/lib/element_numbers/en_8504.rb +11 -5
  40. data/lib/element_numbers/en_8505.rb +11 -3
  41. data/lib/element_numbers/en_8519.rb +11 -3
  42. data/lib/element_numbers/en_8525.rb +11 -3
  43. data/lib/element_numbers/en_8526.rb +11 -3
  44. data/lib/element_numbers/en_8528.rb +11 -3
  45. data/lib/element_numbers/en_8531.rb +11 -3
  46. data/lib/element_numbers/en_8532.rb +11 -3
  47. data/lib/element_numbers/en_8533.rb +9 -2
  48. data/lib/element_numbers/en_8538.rb +11 -3
  49. data/lib/element_numbers/en_8574.rb +11 -3
  50. data/lib/element_numbers/en_A107.rb +4 -0
  51. data/lib/element_numbers/en_B000.rb +5 -1
  52. data/lib/element_numbers/en_B2185.rb +5 -1
  53. data/lib/element_numbers/en_B3010.rb +5 -1
  54. data/lib/element_numbers/en_B5011.rb +5 -1
  55. data/lib/element_numbers/en_B5013.rb +5 -1
  56. data/lib/element_numbers/en_B5014.rb +5 -1
  57. data/lib/element_numbers/en_B5016.rb +5 -1
  58. data/lib/element_numbers/en_D105N.rb +5 -1
  59. data/lib/element_numbers/en_D200.rb +5 -1
  60. data/lib/element_numbers/en_F031.rb +5 -1
  61. data/lib/element_numbers/en_G2001.rb +7 -3
  62. data/lib/element_numbers/en_G2514.rb +5 -1
  63. data/lib/element_numbers/en_G2516.rb +5 -1
  64. data/lib/element_numbers/en_G2601.rb +5 -1
  65. data/lib/element_numbers/en_G2602.rb +5 -1
  66. data/lib/element_numbers/en_G2603.rb +5 -1
  67. data/lib/element_numbers/en_GE06.rb +6 -2
  68. data/lib/element_numbers/en_L000.rb +7 -3
  69. data/lib/element_numbers/en_P213E.rb +6 -2
  70. data/lib/element_numbers/en_P213H.rb +6 -2
  71. data/lib/element_numbers/en_P213W.rb +6 -2
  72. data/lib/element_numbers/en_P400.rb +12 -4
  73. data/lib/element_numbers/en_T200.rb +6 -2
  74. data/lib/element_numbers/en_V000.rb +5 -1
  75. data/lib/element_numbers/en_Y000.rb +5 -1
  76. data/lib/experian.rb +8 -4
  77. data/spec/functional/en_0000_spec.rb +2 -1
  78. data/spec/functional/en_0100_spec.rb +3 -1
  79. data/spec/functional/en_0103_spec.rb +2 -1
  80. metadata +2 -2
@@ -2,8 +2,12 @@ module Experian
2
2
  class DataDictionary
3
3
 
4
4
  # Current State Estimated Family Income Decile
5
+ def self.en_g2514_column_name
6
+ 'Current State Estimated Family Income Decile'
7
+ end
8
+
5
9
  def self.en_g2514_description
6
- "Current state Estimated Family Income Deciles is an Experian derived statistic using current Estimated Median Household Income indexed within State and ranked on a decile basis. 2000 Census data reflects information collected on 118 million housing units and 281 million people by the US Census Bureau about households and individuals within a geographic area."
10
+ 'Current state Estimated Family Income Deciles is an Experian derived statistic using current Estimated Median Household Income indexed within State and ranked on a decile basis. 2000 Census data reflects information collected on 118 million housing units and 281 million people by the US Census Bureau about households and individuals within a geographic area.'
7
11
  end
8
12
 
9
13
  def self.en_g2514(key)
@@ -2,8 +2,12 @@ module Experian
2
2
  class DataDictionary
3
3
 
4
4
  # Current CBSA Estimated Family Income Decile
5
+ def self.en_g2516_column_name
6
+ 'Current CBSA Estimated Family Income Decile'
7
+ end
8
+
5
9
  def self.en_g2516_description
6
- "Current CBSA Estimated Family Income Deciles is an Experian derived statistic using current Estimated Median Household Income indexed within CBSA and ranked on a decile basis. 2000 Census data reflects information collected on 118 million housing units and 281 million people by the US Census Bureau about households and individuals within a geographic area."
10
+ 'Current CBSA Estimated Family Income Deciles is an Experian derived statistic using current Estimated Median Household Income indexed within CBSA and ranked on a decile basis. 2000 Census data reflects information collected on 118 million housing units and 281 million people by the US Census Bureau about households and individuals within a geographic area.'
7
11
  end
8
12
 
9
13
  def self.en_g2516(key)
@@ -2,8 +2,12 @@ module Experian
2
2
  class DataDictionary
3
3
 
4
4
  # 2000 CBSA Code
5
+ def self.en_g2601_column_name
6
+ '2000 CBSA Code'
7
+ end
8
+
5
9
  def self.en_g2601_description
6
- "CBSA (Core Based Statistical Area) Codes have been developed by the Office of Management and Budget (OMB) to re-define the 1990 Metropolitan Statistical Areas (MSA). The terms Metropolitan, Primary Metropolitan (PMSA), and Consolidated Metropolitan Statistical Areas (CMSA) have been replaced by Core Based, Micropolitan, Metropolitan, and Combined Statistical Areas and Metropolitan Divisions. These are based on county populations. The terms Primary and Consolidated Metropolitan Statistical Area are also no longer used. A Metropolitan Statistical Area has a population of 50,000 or greater. There are 49 new Metropolitan Statistical Areas defined bringing the total to 362 from the previous 313. Metropolitan Statistical Areas that have a population of 2,500,000 or greater may be further divided into Metropolitan Divisions. Eleven Metropolitan Statistical Areas have been divided into a total of 29 Metropolitan Divisions. A Micropolitan Statistical Area is a newly defined entity that has a population between 10,000 and 49,999. There are 560 Micropolitan Statistical Areas. Collectively, Micropolitan and Metropolitan Statistical Areas are referred to as Core Based Statistical Areas (CBSAs). CBSAs may be rolled up into Combined Statistical Areas (CSAs). There are presently 116 CSAs comprising 314 CBSAs. The Office of Management & Budget further notes that while cities and towns (NECTA's) have also been re-defined and made available (similar to 1990 standards), it recommends users adapt to county standards for consistency of comparison."
10
+ 'CBSA (Core Based Statistical Area) Codes have been developed by the Office of Management and Budget (OMB) to re-define the 1990 Metropolitan Statistical Areas (MSA). The terms Metropolitan, Primary Metropolitan (PMSA), and Consolidated Metropolitan Statistical Areas (CMSA) have been replaced by Core Based, Micropolitan, Metropolitan, and Combined Statistical Areas and Metropolitan Divisions. These are based on county populations. The terms Primary and Consolidated Metropolitan Statistical Area are also no longer used. A Metropolitan Statistical Area has a population of 50,000 or greater. There are 49 new Metropolitan Statistical Areas defined bringing the total to 362 from the previous 313. Metropolitan Statistical Areas that have a population of 2,500,000 or greater may be further divided into Metropolitan Divisions. Eleven Metropolitan Statistical Areas have been divided into a total of 29 Metropolitan Divisions. A Micropolitan Statistical Area is a newly defined entity that has a population between 10,000 and 49,999. There are 560 Micropolitan Statistical Areas. Collectively, Micropolitan and Metropolitan Statistical Areas are referred to as Core Based Statistical Areas (CBSAs). CBSAs may be rolled up into Combined Statistical Areas (CSAs). There are presently 116 CSAs comprising 314 CBSAs. The Office of Management & Budget further notes that while cities and towns (NECTA\'s) have also been re-defined and made available (similar to 1990 standards), it recommends users adapt to county standards for consistency of comparison.'
7
11
  end
8
12
 
9
13
  def self.en_g2601(key)
@@ -2,8 +2,12 @@ module Experian
2
2
  class DataDictionary
3
3
 
4
4
  # 2000 CBSA Type
5
+ def self.en_g2602_column_name
6
+ '2000 CBSA Type'
7
+ end
8
+
5
9
  def self.en_g2602_description
6
- "CBSA (Core Based Statistical Area) type has been developed to differntiate between Metropolitan, Micropolitan and Rural areas / CBSA codes. A Metropolitan Statistical Area has a population of 50,000 or greater. A Micropolitan Statistical Area is a newly defined entity that has a population between 10,000 and 49,999."
10
+ 'CBSA (Core Based Statistical Area) type has been developed to differntiate between Metropolitan, Micropolitan and Rural areas / CBSA codes. A Metropolitan Statistical Area has a population of 50,000 or greater. A Micropolitan Statistical Area is a newly defined entity that has a population between 10,000 and 49,999.'
7
11
  end
8
12
 
9
13
  def self.en_g2602(key)
@@ -2,8 +2,12 @@ module Experian
2
2
  class DataDictionary
3
3
 
4
4
  # 2000 Rural-Urban County Size Code
5
+ def self.en_g2603_column_name
6
+ '2000 Rural-Urban County Size Code'
7
+ end
8
+
5
9
  def self.en_g2603_description
6
- "Rural-Urban County Size Code Codes is a 1 position Rural/Urban continuum code from Economic Research Services. The Rural-Urban County Size Code codes are Rural-Urban Continuum Codes developed by The Economic Research Service of the U.S. Department of Agriculture (ERS/USDA). These codes distinguish counties within Metropolitan Statistical Areas (Metro) by the population of the CBSA, and counties not in Metropolitan Statistical Areas (Non-Metro)-they may be in Micropolitan Statistical Areas or not in any CBSA at all-by degree of urbanization and adjacency to one or more Metropolitan Statistical Areas. The Metro and Non-Metro counties have been subdivided into three and six subgroups, respectively, resulting in nine county classifications. This allows for analysis and selection by finer distinction than the simple Metro and Non-Metro classification, CBSA type, or Nielsen County Size Code."
10
+ 'Rural-Urban County Size Code Codes is a 1 position Rural/Urban continuum code from Economic Research Services. The Rural-Urban County Size Code codes are Rural-Urban Continuum Codes developed by The Economic Research Service of the U.S. Department of Agriculture (ERS/USDA). These codes distinguish counties within Metropolitan Statistical Areas (Metro) by the population of the CBSA, and counties not in Metropolitan Statistical Areas (Non-Metro)-they may be in Micropolitan Statistical Areas or not in any CBSA at all-by degree of urbanization and adjacency to one or more Metropolitan Statistical Areas. The Metro and Non-Metro counties have been subdivided into three and six subgroups, respectively, resulting in nine county classifications. This allows for analysis and selection by finer distinction than the simple Metro and Non-Metro classification, CBSA type, or Nielsen County Size Code.'
7
11
  end
8
12
 
9
13
  def self.en_g2603(key)
@@ -2,8 +2,12 @@ module Experian
2
2
  class DataDictionary
3
3
 
4
4
  # 2010 Geo Code
5
+ def self.en_gE06_column_name
6
+ '2010 Geo Code'
7
+ end
8
+
5
9
  def self.en_gE06_description
6
- "Geo Codes are numeric symbols assigned for the identification of geographic entities such as state, county, tract, block, groups, etc., by the U.S. Census Bureau. Every geographic
10
+ 'Geo Codes are numeric symbols assigned for the identification of geographic entities such as state, county, tract, block, groups, etc., by the U.S. Census Bureau. Every geographic
7
11
  entity recognized by the Census Bureau is assigned one or more geographic codes. A geo code is geographic presentation that shows the geographic entities in a
8
12
  superior/subordinate structure. In this system of relationships among geographic entities, each entity (except the smallest one) is subdivided into lower-order units that in turn may be
9
13
  subdivided further. For example, states are subdivided into counties, which are subdivided into both county subdivisions and census tracts.
@@ -17,7 +21,7 @@ designed to have relatively homogeneous demographic characteristics.
17
21
  Census Block Group (1 position) Block groups are a collection of census blocks within a census tract, sharing the same first digit of their four-digit identifying numbers.
18
22
  Census Block ID (3 positions) Block ID within a block group
19
23
  CBSA (5 positions) A statistically based geographic level consisting of county or counties associated with at least one area of at least 10,000 population. Source: US Office of
20
- Management and Budget (OMB)"
24
+ Management and Budget (OMB)'
21
25
  end
22
26
 
23
27
  def self.en_gE06(key)
@@ -2,8 +2,12 @@ module Experian
2
2
  class DataDictionary
3
3
 
4
4
  # 2000 Geo Mandatory Append
5
+ def self.en_l000_column_name
6
+ '2000 Geo Mandatory Append'
7
+ end
8
+
5
9
  def self.en_l000_description
6
- "The Geo mandatory append is required when any data from the geo code process (L and K file types) is appended. It consists of a match level and street match level."
10
+ 'The Geo mandatory append is required when any data from the geo code process (L and K file types) is appended. It consists of a match level and street match level.'
7
11
  end
8
12
 
9
13
  def self.en_l000(key)
@@ -20,9 +24,9 @@ module Experian
20
24
  'L' => 'Lat/long not determined on Auxiliary File match'
21
25
  }
22
26
  return 'Input Zip Code did not match the master file.' if key.size == 0
23
- return census[key[0]] + ' - Successful match' if key.size == 1 and !census[key[0]].nil?
27
+ return census[key[0]] + ' - Successful match' if key.size == 1 and !census[key[0]].nil?
24
28
 
25
- [street_match[key[1]], census[key[0]]].join(' - ')
29
+ [street_match[key[1]], census[key[0]]].join(' - ')
26
30
  end
27
31
 
28
32
  end
@@ -2,8 +2,12 @@ module Experian
2
2
  class DataDictionary
3
3
 
4
4
  # Inc Producing Assets IPA V3
5
+ def self.en_p213e_column_name
6
+ 'Inc Producing Assets IPA V3'
7
+ end
8
+
5
9
  def self.en_p213e_description
6
- "Income Producing Assets (IPA) is one of the models that are used to derive the P$YCLE Financial Markets. This model specifically tries to predict real worth or asset value of the household. IPA estimates affluence within ten ranges."
10
+ 'Income Producing Assets (IPA) is one of the models that are used to derive the P$YCLE Financial Markets. This model specifically tries to predict real worth or asset value of the household. IPA estimates affluence within ten ranges.'
7
11
  end
8
12
 
9
13
  def self.en_p213e(key)
@@ -28,7 +32,7 @@ module Experian
28
32
  '99' => 'Unknown / Default'
29
33
  }
30
34
 
31
- return 'Unknown' if key.size != 3 or code[key[0]].nil? or values[key[1..2]].nil?
35
+ return 'Unknown' if key.size != 3 or code[key[0]].nil? or values[key[1..2]].nil?
32
36
  [values[key[1..2]], code[key[0]]].join(' - ')
33
37
  end
34
38
 
@@ -2,8 +2,12 @@ module Experian
2
2
  class DataDictionary
3
3
 
4
4
  # Psycle HH V3
5
+ def self.en_p213h_column_name
6
+ 'Psycle HH V3'
7
+ end
8
+
5
9
  def self.en_p213h_description
6
- "P$YCLE NE is a household-level segmentation system which assists marketers to predict financial behavior."
10
+ 'P$YCLE NE is a household-level segmentation system which assists marketers to predict financial behavior.'
7
11
  end
8
12
 
9
13
  def self.en_p213h(key)
@@ -254,7 +258,7 @@ that members of Bottom-Line Blues have modest ifestyles, spending their leisure
254
258
  oriented media, including BET, urban
255
259
  contemporary radio, and magazines like Jet, Essence, and Ebony."
256
260
  }
257
- return 'Unknown' if key.size != 3 or code[key[0]].nil? or values[key[1..2]].nil?
261
+ return 'Unknown' if key.size != 3 or code[key[0]].nil? or values[key[1..2]].nil?
258
262
  [values[key[1..2]], code[key[0]]].join(' - ')
259
263
  end
260
264
 
@@ -2,8 +2,12 @@ module Experian
2
2
  class DataDictionary
3
3
 
4
4
  # Net Worth V3
5
+ def self.en_p213w_column_name
6
+ 'Net Worth V3'
7
+ end
8
+
5
9
  def self.en_p213w_description
6
- "Net Worth is defined as a household's total financial assets minus its liabilities. Assets include financial holdings such as deposit accounts, investments and home value. Liabilities include loans, mortgages and credit card debt."
10
+ 'Net Worth is defined as a household\'s total financial assets minus its liabilities. Assets include financial holdings such as deposit accounts, investments and home value. Liabilities include loans, mortgages and credit card debt.'
7
11
  end
8
12
 
9
13
  def self.en_p213w(key)
@@ -27,7 +31,7 @@ module Experian
27
31
  '99' => 'Unknown / Default'
28
32
  }
29
33
 
30
- return 'Unknown' if key.size != 3 or code[key[0]].nil? or values[key[1..2]].nil?
34
+ return 'Unknown' if key.size != 3 or code[key[0]].nil? or values[key[1..2]].nil?
31
35
  [values[key[1..2]], code[key[0]]].join(' - ')
32
36
  end
33
37
 
@@ -2,23 +2,31 @@ module Experian
2
2
  class DataDictionary
3
3
 
4
4
  # GreenAware
5
+ def self.en_p400_column_name
6
+ 'GreenAware'
7
+ end
8
+
5
9
  def self.en_p400_description
6
- "GreenAware Segmentation targeting system includes attitudes, opinions, lifestyle, buying behavior, and media usage. Based on the distinctive mindset of consumers towards the environment, we can better
10
+ 'GreenAware Segmentation targeting system includes attitudes, opinions, lifestyle, buying behavior, and media usage. Based on the distinctive mindset of consumers towards the environment, we can better
7
11
  understand four distinct consumer segments:
8
12
  1. Behavioral Greens: This group of people thinks and acts green, holds negative attitudes toward products that pollute, incorporate green practices on a regular basis.
9
13
  2. Think Greens: This group of people thinks green but does not necessarily act green.
10
14
  3. Potential Greens: They neither behave nor think along particularly environmentally conscious lines, and remain on the fence about key green issues.
11
15
  4. True Browns: these groups of people are not environmentally conscious, and may in fact have negative attitudes about green movement.
12
- "
16
+ '
13
17
  end
14
18
 
15
19
  # GreenAware Tiers
20
+ def self.en_p400a_column_name
21
+ 'GreenAware Tiers'
22
+ end
23
+
16
24
  def self.en_p400a_description
17
- "GreenAware Segmentation targeting system includes attitudes, opinions, lifestyle, buying behavior, and media usage based on the distinctive mindset of consumers toward the Environment. GreenAware Tiers offers
25
+ 'GreenAware Segmentation targeting system includes attitudes, opinions, lifestyle, buying behavior, and media usage based on the distinctive mindset of consumers toward the Environment. GreenAware Tiers offers
18
26
  ten levels of additional ranking detail for each of the four GreenAware segments which include: Behavioral Greens, Think Greens, Potential Greens and True Browns. The higher the number within the index, the
19
27
  more likely the prospect will fit the profile within that segment.
20
28
  GreenAware and GreenAware Tiers are created utilizing ConsumerView demographics and Simmons Market Research data and offer an even higher level of refinement to improve targeting, prospecting and overall
21
- campaign effectiveness."
29
+ campaign effectiveness.'
22
30
  end
23
31
 
24
32
  def self.en_p400(key)
@@ -2,8 +2,12 @@ module Experian
2
2
  class DataDictionary
3
3
 
4
4
  # Discretionary Spend Estimate
5
+ def self.en_t200_column_name
6
+ 'Discretionary Spend Estimate'
7
+ end
8
+
5
9
  def self.en_t200_description
6
- "Discretionary Spend Estimate predicts the dollar estimate of annual spend on non-essential, discretionary expenses such as household furniture, alcohol and tobacco, donations, dining out, education, reading, personal care and entertainment (fees, audio/visual equipment, toys, hobbies, pets, playground equipment and other equipment). Represents an actual dollar amount."
10
+ 'Discretionary Spend Estimate predicts the dollar estimate of annual spend on non-essential, discretionary expenses such as household furniture, alcohol and tobacco, donations, dining out, education, reading, personal care and entertainment (fees, audio/visual equipment, toys, hobbies, pets, playground equipment and other equipment). Represents an actual dollar amount.'
7
11
  end
8
12
 
9
13
  def self.en_t200(key)
@@ -12,7 +16,7 @@ module Experian
12
16
  'L' => 'Living unit level data',
13
17
  'Z' => 'Zip level data'
14
18
  }
15
- return 'Unknown' if key.size != 6 or values[key[0]].nil? or key[1..6].to_i < 888 or key[1..6].to_i > 87900
19
+ return 'Unknown' if key.size != 6 or values[key[0]].nil? or key[1..6].to_i < 888 or key[1..6].to_i > 87900
16
20
  [values[key[0]], [key[1..6]]].join(' - ')
17
21
  end
18
22
 
@@ -2,8 +2,12 @@ module Experian
2
2
  class DataDictionary
3
3
 
4
4
  # New Median Mandatory Append
5
+ def self.en_v000_column_name
6
+ 'New Median Mandatory Append'
7
+ end
8
+
5
9
  def self.en_v000_description
6
- "The New Median mandatory append is required when any data from the New Median file is appended. It consists of a match level."
10
+ 'The New Median mandatory append is required when any data from the New Median file is appended. It consists of a match level.'
7
11
  end
8
12
 
9
13
  def self.en_v000(key)
@@ -2,8 +2,12 @@ module Experian
2
2
  class DataDictionary
3
3
 
4
4
  # Census Demographic Match Level Mandatory Append
5
+ def self.en_y000_column_name
6
+ 'Census Demographic Match Level Mandatory Append'
7
+ end
8
+
5
9
  def self.en_y000_description
6
- "The Census Demographic Match Level mandatory append is required when any 2000 Census demographic data is appended. It consists of a match level."
10
+ 'The Census Demographic Match Level mandatory append is required when any 2000 Census demographic data is appended. It consists of a match level.'
7
11
  end
8
12
 
9
13
  def self.en_y000(key)
data/lib/experian.rb CHANGED
@@ -9,11 +9,15 @@ module Experian
9
9
  self.send("en_#{column.to_s.downcase}", key.to_s.strip)
10
10
  end
11
11
 
12
+ def self.column_name(column)
13
+ self.send("en_#{column.to_s.downcase}_column_name")
14
+ end
15
+
12
16
  def self.description(column)
13
17
  self.send("en_#{column.to_s.downcase}_description")
14
- end
18
+ end
15
19
 
16
- def self.method_missing(method, *args, &block)
20
+ def self.method_missing(method, *args, &block)
17
21
  method_parts = method.to_s.split('_')
18
22
  if (2..3) === method_parts.size and method_parts[0] == 'en'
19
23
  column = method_parts[1]
@@ -33,8 +37,8 @@ module Experian
33
37
  else
34
38
  super(method, *args, &block)
35
39
  end
36
- end
40
+ end
37
41
 
38
42
  end
39
43
 
40
- end
44
+ end
@@ -3,6 +3,7 @@ require File.join(Dir.pwd, 'spec', 'spec_helper')
3
3
  describe 'Experian::DataDictionary 0000' do
4
4
 
5
5
  context 'valid lookup' do
6
+ it { expect( Experian::DataDictionary.column_name('0000') ).to eq('Enhancement Mandatory Append') }
6
7
  it { expect( Experian::DataDictionary.lookup('0000','H') ).to eq('Household Match') }
7
8
  it { expect( Experian::DataDictionary.lookup('0000','F') ).to eq('Household Match') }
8
9
  it { expect( Experian::DataDictionary.lookup('0000','P') ).to eq('Person Match') }
@@ -21,4 +22,4 @@ describe 'Experian::DataDictionary 0000' do
21
22
  it { expect( Experian::DataDictionary.lookup('0000','DOG') ).to be_nil }
22
23
  end
23
24
 
24
- end
25
+ end
@@ -3,6 +3,7 @@ require File.join(Dir.pwd, 'spec', 'spec_helper')
3
3
  describe 'Experian::DataDictionary 0100' do
4
4
 
5
5
  context 'valid lookup' do
6
+ it { expect( Experian::DataDictionary.column_name('0100') ).to eq('Date of Birth') }
6
7
  it { expect( Experian::DataDictionary.lookup('0100','198412') ).to eq('12/1984') }
7
8
  it { expect( Experian::DataDictionary.lookup('0100','19931') ).to eq('1/1993') }
8
9
  it { expect( Experian::DataDictionary.lookup('0100','19684') ).to eq('4/1968') }
@@ -18,6 +19,7 @@ end
18
19
  describe 'Experian::DataDictionary 0100c' do
19
20
 
20
21
  context 'valid lookup' do
22
+ it { expect( Experian::DataDictionary.column_name('0100c') ).to eq('Combined Adult Age') }
21
23
  it { expect( Experian::DataDictionary.lookup('0100c','e99') ).to eq('99 - Exact age') }
22
24
  it { expect( Experian::DataDictionary.lookup('0100c','i50') ).to eq('50 - Estimated age') }
23
25
  it { expect( Experian::DataDictionary.lookup('0100c','u') ).to eq(' - Unknown age') }
@@ -31,4 +33,4 @@ describe 'Experian::DataDictionary 0100c' do
31
33
  it { expect( Experian::DataDictionary.lookup('0100c','DOG') ).to be_nil }
32
34
  end
33
35
 
34
- end
36
+ end
@@ -3,6 +3,7 @@ require File.join(Dir.pwd, 'spec', 'spec_helper')
3
3
  describe 'Experian::DataDictionary 0103' do
4
4
 
5
5
  context 'valid lookup' do
6
+ it { expect( Experian::DataDictionary.column_name('0103') ).to eq('Gender Code') }
6
7
  it { expect( Experian::DataDictionary.lookup('0103','M') ).to eq('Male') }
7
8
  it { expect( Experian::DataDictionary.lookup('0103','F') ).to eq('Female') }
8
9
  it { expect( Experian::DataDictionary.lookup('0103','B') ).to eq('Both') }
@@ -17,4 +18,4 @@ describe 'Experian::DataDictionary 0103' do
17
18
  it { expect( Experian::DataDictionary.lookup('0103','R') ).to be_nil }
18
19
  end
19
20
 
20
- end
21
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: experian-data-dictionary
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.0'
4
+ version: '1.2'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Blake Campbell
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-24 00:00:00.000000000 Z
11
+ date: 2015-06-19 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Ruby gem/plugin to interact with the Experian.com Data Dictionary. Checkout
14
14
  the project on github for more detail.