class LucidSQL::Repository
Public Class Methods
new(glob)
click to toggle source
@param glob [String, to_s] glob pattern for .sql file paths
@example
LucidSQL::Repository.new(Hanami.root.join('sql', '*.sql'))
# File lib/lucid_sql/repository.rb, line 11 def initialize(glob) Dir.glob(glob.to_s).each do |f| m = File.basename(f, '.sql') s = File.read(f).strip.gsub(/\s+/, ' ') define_reader(m, s) end end
Private Instance Methods
define_reader(method_name, sql)
click to toggle source
@param method_name [String] @param sql [String]
# File lib/lucid_sql/repository.rb, line 24 def define_reader(method_name, sql) define_singleton_method(method_name) do |*args, **kwargs| format(sql, *args, **kwargs) end end
format(sql, **kwargs)
click to toggle source
@param sql [String] the raw SQL string @param **kwargs [Hash] direct interpolation via template string (do not use with untrusted input)
@return [String]
# File lib/lucid_sql/repository.rb, line 36 def format(sql, **kwargs) sql % kwargs end