Module: EacRailsUtils::Availability
- Defined in:
- lib/eac_rails_utils/availability.rb
Class Method Summary collapse
- .database? ⇒ Boolean
- .database_schema? ⇒ Boolean
- .model?(*model_classes) ⇒ Boolean
- .table?(*table_names) ⇒ Boolean
Class Method Details
.database? ⇒ Boolean
7 8 9 10 11 12 13 |
# File 'lib/eac_rails_utils/availability.rb', line 7 def database? ::ActiveRecord::Base.connection.table_exists?('any_table_name') rescue ActiveRecord::NoDatabaseError, PG::ConnectionBad false else true end |
.database_schema? ⇒ Boolean
16 17 18 |
# File 'lib/eac_rails_utils/availability.rb', line 16 def database_schema? database? && ::RedminePluginsHelper::Migration.from_code.all?(&:applied?) end |
.model?(*model_classes) ⇒ Boolean
22 23 24 |
# File 'lib/eac_rails_utils/availability.rb', line 22 def model?(*model_classes) table?(*model_classes.map(&:table_name)) end |
.table?(*table_names) ⇒ Boolean
28 29 30 31 |
# File 'lib/eac_rails_utils/availability.rb', line 28 def table?(*table_names) database? && table_names .all? { |table_name| ::ActiveRecord::Base.connection.table_exists?(table_name) } end |