Module: RedminePluginsHelper::Available

Defined in:
lib/redmine_plugins_helper/available.rb

Class Method Summary collapse

Class Method Details

.database?Boolean

Returns:

  • (Boolean)


6
7
8
9
10
11
12
# File 'lib/redmine_plugins_helper/available.rb', line 6

def database?
  ::ActiveRecord::Base.connection
rescue ActiveRecord::NoDatabaseError
  false
else
  true
end

.database_schema?Boolean

Returns:

  • (Boolean)


14
15
16
# File 'lib/redmine_plugins_helper/available.rb', line 14

def database_schema?
  database? && ::RedminePluginsHelper::Migration.from_code.all?(&:applied?)
end

.model?(*model_classes) ⇒ Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/redmine_plugins_helper/available.rb', line 18

def model?(*model_classes)
  table?(*model_classes.map(&:table_name))
end

.settings?Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/redmine_plugins_helper/available.rb', line 28

def settings?
  model?(::Setting)
end

.table?(*table_names) ⇒ Boolean

Returns:

  • (Boolean)


22
23
24
25
26
# File 'lib/redmine_plugins_helper/available.rb', line 22

def table?(*table_names)
  return false unless database?

  table_names.all? { |table_name| ::ActiveRecord::Base.connection.table_exists?(table_name) }
end