Sha256: 49a0b833189ced75e98ec90e5141be3dc70b469429a66dc4030549e872bf2225

Contents?: true

Size: 858 Bytes

Versions: 2

Compression:

Stored size: 858 Bytes

Contents

require 'yaml'
require 'json'

class DataTransformer

  MESS = "SYSTEM ERROR: method missing"
  def parse_to_student(line); raise MESS; end

  def puts_student(student); raise MESS; end

end

class DataTransformerYaml < DataTransformer

  def parse_to_student(line)
    Student.from_yaml(line)
  end

  def puts_student(student)
    vars = {}
    student.instance_variables.map do |attribute|
      vars[attribute.to_s[1..-1]]=student.instance_variable_get(attribute)
    end
    (vars).to_yaml
  end

end

class DataTransformerJson < DataTransformer

  def parse_to_student(line)
    Student.from_json(line)
  end

  def puts_student(student)
    vars = {}
    student.instance_variables.map do |attribute|
      vars[attribute.to_s[1..-1]]=student.instance_variable_get(attribute)
    end
    JSON(vars)
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rybish_code-2.0.0 lib/source/models/student_list/data_transformers.rb
rybish_code-1.1.6 lib/source/models/student_list/data_transformers.rb