Sha256: 659d9afcf4e4ea227ae1606e2f44f3c4d4310b86c1fa406096e40f8f7c6f8d80

Contents?: true

Size: 581 Bytes

Versions: 9

Compression:

Stored size: 581 Bytes

Contents

module Scenic
  # @api private
  class Definition
    def initialize(name, version)
      @name = name
      @version = version.to_i
    end

    def to_sql
      File.read(full_path).tap do |content|
        if content.empty?
          raise "Define view query in #{path} before migrating."
        end
      end
    end

    def full_path
      Rails.root.join(path)
    end

    def path
      File.join("db", "views", filename)
    end

    def version
      @version.to_s.rjust(2, "0")
    end

    private

    def filename
      "#{@name}_v#{version}.sql"
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
scenic-1.5.1 lib/scenic/definition.rb
scenic-1.5.0 lib/scenic/definition.rb
scenic-1.4.1 lib/scenic/definition.rb
scenic-1.4.0 lib/scenic/definition.rb
scenic-1.3.0 lib/scenic/definition.rb
scenic-1.2.0 lib/scenic/definition.rb
scenic-1.1.1 lib/scenic/definition.rb
scenic-1.1.0 lib/scenic/definition.rb
scenic-1.0.0 lib/scenic/definition.rb