Sha256: 37da8fd37278acc7c50154a0e1d7b7d1eb091e35aea6feb6bfaf06482431cd31
Contents?: true
Size: 843 Bytes
Versions: 3
Compression:
Stored size: 843 Bytes
Contents
require 'erb' module ActiveRecordViews module Extension extend ActiveSupport::Concern def self.currently_migrating? if defined?(Rake) && Rake.method_defined?(:application) 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 if sql_path.end_with?('.erb') ERB.new(File.read(sql_path)).result else File.read(sql_path) end end unless ActiveRecordViews::Extension.currently_migrating? ActiveRecordViews.create_view self.connection, self.table_name, self.name, sql end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
activerecord_views-0.0.6 | lib/active_record_views/extension.rb |
activerecord_views-0.0.5 | lib/active_record_views/extension.rb |
activerecord_views-0.0.4 | lib/active_record_views/extension.rb |