Module: Logidze::Utils::FunctionDefinitions
- Defined in:
- lib/logidze/utils/function_definitions.rb
Class Method Summary collapse
Class Method Details
.from_db ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/logidze/utils/function_definitions.rb', line 23 def from_db query = <<~SQL SELECT pp.proname, pg_get_functiondef(pp.oid) AS definition FROM pg_proc pp WHERE pp.proname like 'logidze_%' ORDER BY pp.oid; SQL ActiveRecord::Base.connection.execute(query).map do |row| version = parse_version(row["definition"]) FuncDef.new(row["proname"], version, nil) end end |
.from_fs ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/logidze/utils/function_definitions.rb', line 9 def from_fs function_paths = Dir.glob(File.join(__dir__, "..", "..", "generators", "logidze", "install", "functions", "*.sql")) function_paths.map do |path| name = path.match(/([^\/]+)\.sql/)[1] file = File.open(path) header, version_comment = file.readline, file.readline signature = parse_signature(header) version = parse_version(version_comment) FuncDef.new(name, version, signature) end end |