Class: Ddi2Codebook

Inherits:
Object
  • Object
show all
Includes:
DdiHelper
Defined in:
app/models/ddi2_codebook.rb

Instance Method Summary collapse

Constructor Details

#initialize(extract_request) ⇒ Ddi2Codebook

Returns a new instance of Ddi2Codebook.



8
9
10
11
12
13
14
# File 'app/models/ddi2_codebook.rb', line 8

def initialize(extract_request)
  @er = extract_request

  common_variables = CommonVariable.all
  @exclude_common  = common_variables.select { |v| v.record_type != "household" }.map { |cv| cv.variable_name.upcase }
  @include_common  = common_variables.select { |v| v.record_type == "household" }.map { |cv| cv.variable_name.upcase }
end

Instance Method Details

#generate_fileObject



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'app/models/ddi2_codebook.rb', line 16

def generate_file
  path = @er.extract_file_path('xml')

  # Pre-encode the string, ignoring invalid or undefined source characters
  rendered_xml = to_xml.encode("UTF-8", :invalid => :replace, :undef => :replace)

  #tf = Tempfile.open('terrapop_ddi2codebook', "w:UTF-8")

  #path = tf.path

  File.open(path, "w:UTF-8") { |f| f.write(rendered_xml) }

  #tf.write(rendered_xml)

  #tf.path

  path
end