Sha256: d03bb2d3c399739005c60ab7867e6af01f46a8f6289c9a53671f65daf5febad4

Contents?: true

Size: 656 Bytes

Versions: 1

Compression:

Stored size: 656 Bytes

Contents

module ActiveRecordViews
  module Extension
    extend ActiveSupport::Concern

    def self.currently_migrating?
      if defined? Rake
        Rake.application.top_level_tasks.include?('db:migrate')
      end
    end

    module ClassMethods
      def is_view(sql = nil)
        sql ||= begin
          sql_path = ActiveRecordViews.find_sql_file(self.name.underscore)
          ActiveRecordViews.register_for_reload self, sql_path
          File.read sql_path
        end
        unless ActiveRecordViews::Extension.currently_migrating?
          ActiveRecordViews.create_view self.connection, self.table_name, sql
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
activerecord_views-0.0.1 lib/active_record_views/extension.rb