Class: SQLRunner

Inherits:
Object
  • Object
show all
Defined in:
lib/templates/sql/bin/sql_runner.rb

Constant Summary collapse

COMMANDS =
["create", "insert", "update", "delete"]

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(db) ⇒ SQLRunner

Returns a new instance of SQLRunner.



7
8
9
# File 'lib/templates/sql/bin/sql_runner.rb', line 7

def initialize(db)
  @db = db
end

Class Method Details

.make_methodsObject



11
12
13
14
15
16
17
18
# File 'lib/templates/sql/bin/sql_runner.rb', line 11

def self.make_methods
  COMMANDS.each do |command|
    define_method("execute_sql_#{command}") do 
      sql = File.read("lib/#{command}.sql")
      execute_sql(sql)
    end
  end
end

Instance Method Details

#execute_sql(sql) ⇒ Object



20
21
22
# File 'lib/templates/sql/bin/sql_runner.rb', line 20

def execute_sql(sql)
   sql.scan(/[^;]*;/m).each { |line| @db.execute(line) } unless sql.empty?
end