Class: GettextI18nRails::ModelAttributesFinder

Inherits:
Object
  • Object
show all
Defined in:
lib/gettext_i18n_rails/model_attributes_finder.rb

Instance Method Summary collapse

Instance Method Details

#find(options) ⇒ Object

options:

:ignore_tables => ['cars',/_settings$/,...]
:ignore_columns => ['id',/_id$/,...]

current connection —> href="'model_name','type'">cars’=>,…



33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/gettext_i18n_rails/model_attributes_finder.rb', line 33

def find(options)
  found = Hash.new([])

  connection = ActiveRecord::Base.connection
  connection.tables.each do |table_name|
    next if ignored?(table_name,options[:ignore_tables])
    connection.columns(table_name).each do |column|
      found[table_name] += [column.name] unless ignored?(column.name,options[:ignore_columns])
    end
  end

  found
end

#ignored?(name, patterns) ⇒ Boolean

Returns:

  • (Boolean)


47
48
49
50
# File 'lib/gettext_i18n_rails/model_attributes_finder.rb', line 47

def ignored?(name,patterns)
  return false unless patterns
  patterns.detect{|p|p.to_s==name.to_s or (p.is_a?(Regexp) and name=~p)}
end