class ActiveRecordViews::RegisteredView
Attributes
model_class_name[R]
sql_path[R]
Public Class Methods
new(model_class, sql_path)
click to toggle source
# File lib/active_record_views/registered_view.rb, line 5 def initialize(model_class, sql_path) @model_class_name = model_class.name @sql_path = sql_path update_timestamp! end
Public Instance Methods
dead?()
click to toggle source
# File lib/active_record_views/registered_view.rb, line 19 def dead? !File.exist?(sql_path) end
model_class()
click to toggle source
# File lib/active_record_views/registered_view.rb, line 11 def model_class @model_class_name.constantize end
reload!()
click to toggle source
# File lib/active_record_views/registered_view.rb, line 23 def reload! if File.exist? sql_path ActiveRecordViews.create_view model_class.connection, model_class.table_name, model_class.name, ActiveRecordViews.read_sql_file(model_class, sql_path), model_class.view_options model_class.reset_column_information else ActiveRecordViews.drop_view model_class.connection, model_class.table_name end update_timestamp! end
stale?()
click to toggle source
# File lib/active_record_views/registered_view.rb, line 15 def stale? sql_timestamp != @cached_sql_timestamp end
Private Instance Methods
sql_timestamp()
click to toggle source
# File lib/active_record_views/registered_view.rb, line 35 def sql_timestamp File.exist?(sql_path) ? File.mtime(sql_path) : nil end
update_timestamp!()
click to toggle source
# File lib/active_record_views/registered_view.rb, line 39 def update_timestamp! @cached_sql_timestamp = sql_timestamp end