Sha256: ea1e8c366ec3d0d61fb5f0f6ff09ef9f43ddf1ea207c192bb3365802ff229661

Contents?: true

Size: 516 Bytes

Versions: 2

Compression:

Stored size: 516 Bytes

Contents

module Fx
  # @api private
  class Function
    include Comparable

    attr_reader :name, :definition
    delegate :<=>, to: :name

    def initialize(function_row)
      @name = function_row.fetch("name")
      @definition = function_row.fetch("definition")
    end

    def ==(other)
      name == other.name && definition == other.definition
    end

    def to_schema
      <<-SCHEMA.indent(2)
create_function :#{name}, sql_definition: <<-'SQL'
#{definition.indent(4).rstrip}
SQL
      SCHEMA
    end
  end
end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
fx-0.7.0 lib/fx/function.rb
fx-jets-0.6.3s lib/fx/function.rb