Class: ActiveRecordViews::RegisteredView

Inherits:
Object
  • Object
show all
Defined in:
lib/active_record_views/registered_view.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(model_class, sql_path) ⇒ RegisteredView

Returns a new instance of RegisteredView.



5
6
7
8
9
# 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

Instance Attribute Details

#model_class_nameObject (readonly)

Returns the value of attribute model_class_name.



3
4
5
# File 'lib/active_record_views/registered_view.rb', line 3

def model_class_name
  @model_class_name
end

#sql_pathObject (readonly)

Returns the value of attribute sql_path.



3
4
5
# File 'lib/active_record_views/registered_view.rb', line 3

def sql_path
  @sql_path
end

Instance Method Details

#dead?Boolean

Returns:

  • (Boolean)


19
20
21
# File 'lib/active_record_views/registered_view.rb', line 19

def dead?
  !File.exist?(sql_path)
end

#model_classObject



11
12
13
# File 'lib/active_record_views/registered_view.rb', line 11

def model_class
  @model_class_name.constantize
end

#reload!Object



23
24
25
26
27
28
29
30
31
# 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?Boolean

Returns:

  • (Boolean)


15
16
17
# File 'lib/active_record_views/registered_view.rb', line 15

def stale?
  sql_timestamp != @cached_sql_timestamp
end