module Sncf::Models

Constants

MODEL_ATTRIBUTES
MODEL_NAMES

Public Class Methods

generate_class(klass_vars) click to toggle source
# File lib/sncf/models/generator.rb, line 18
def self.generate_class(klass_vars)
  Class.new do
    klass_vars.each do |field|
      define_method field.intern do
        instance_variable_get("@#{field}")
      end
      define_method "#{field}=".intern do |arg|
        instance_variable_set("@#{field}", arg)
      end
    end
    define_method :initialize do |args|
      klass_vars.each do |field|
        instance_variable_set("@#{field}", args[field])
      end
    end
  end
end
generate_models() click to toggle source
# File lib/sncf/models/generator.rb, line 9
def self.generate_models
  Sncf::Models::MODEL_NAMES.each do |klass_name|
    klass_vars  = Sncf::Models::MODEL_ATTRIBUTES[klass_name.to_s]
    klass       = generate_class klass_vars

    const_set klass_name, klass
  end
end