class Query

Public Class Methods

new(yaml_path) click to toggle source
# File lib/yaml2sql.rb, line 77
def initialize(yaml_path)
  yaml = YAML.load_file('schema.yaml')

  self.class.create_tables(yaml)
  create_methods(yaml)
end

Public Instance Methods

create_methods(yaml) click to toggle source
# File lib/yaml2sql.rb, line 84
def create_methods(yaml)
  lambdas = self.class.create_lambdas(yaml)

  lambdas.each do |x|
    insert_name =  ("insert_" + x[:name]).to_sym

    self.class.send(:define_method, insert_name) do |*args|
      x[:insert].call(*args)
    end

    select_name =  ("select_" + x[:name]).to_sym

    self.class.send(:define_method, select_name) do |val|
      x[:select].call(val)
    end
  end
end