Class: Factbook::ProfileBuilder
- Inherits:
-
Object
- Object
- Factbook::ProfileBuilder
- Includes:
- NormalizeHelper, LogUtils::Logging
- Defined in:
- lib/factbook-fields/builder.rb
Overview
builder – lets us rebuild a profile from “dumped” hash
Instance Attribute Summary collapse
-
#errors ⇒ Object
readonly
Returns the value of attribute errors.
-
#profile ⇒ Object
readonly
Returns the value of attribute profile.
Instance Method Summary collapse
-
#initialize(text_or_data) ⇒ ProfileBuilder
constructor
A new instance of ProfileBuilder.
Methods included from NormalizeHelper
Constructor Details
#initialize(text_or_data) ⇒ ProfileBuilder
Returns a new instance of ProfileBuilder.
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/factbook-fields/builder.rb', line 20 def initialize( text_or_data ) data = if text_or_data.is_a?( String ) text = text_or_data JSON.parse( text ) else ## assume it's already a hash text_or_data end @profile = Profile.new @errors = [] ## fix/todo: sorry - for now no errors possible/tracked data.each do |k1,v1| category_title = k1 category_data = v1 category = Category.new( category_title ) ## get fields category_data.each do |k2,v2| field_title = k2 field_data = v2 field = Field.new( field_title ) ##### ## note: run data hash through normalize_title (again) if field_data.is_a?( Hash ) new_field_data = {} field_data.each do |k3,v3| new_field_data[ normalize_title(k3) ] = v3 end field_data = new_field_data end field.data = field_data category << field end @profile << category end end |
Instance Attribute Details
#errors ⇒ Object (readonly)
Returns the value of attribute errors.
13 14 15 |
# File 'lib/factbook-fields/builder.rb', line 13 def errors @errors end |
#profile ⇒ Object (readonly)
Returns the value of attribute profile.
13 14 15 |
# File 'lib/factbook-fields/builder.rb', line 13 def profile @profile end |