Module: TableWarnings

Defined in:
lib/table_warnings.rb,
lib/table_warnings/config.rb,
lib/table_warnings/version.rb,
lib/table_warnings/warning.rb,
lib/table_warnings/warning/size.rb,
lib/table_warnings/warning/blank.rb,
lib/table_warnings/warning/arbitrary.rb

Defined Under Namespace

Classes: Config, Warning

Constant Summary collapse

VERSION =
"0.0.7"

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.configObject

:nodoc: all



10
11
12
# File 'lib/table_warnings.rb', line 10

def self.config #:nodoc: all
  Config.instance
end

Instance Method Details

#table_warningsObject

Get current warnings on the table.



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

def table_warnings
  ::TableWarnings.config.warnings[self].map { |w| w.messages }.flatten.compact.sort
end

#warn(&blk) ⇒ Object

An arbitrary warning.



45
46
47
48
# File 'lib/table_warnings.rb', line 45

def warn(&blk)
  warning = ::TableWarnings::Warning::Arbitrary.new :table => self, :blk => blk
  ::TableWarnings.config.warnings[self].add warning
end

#warn_if_any_blanksObject

Warn if there are blanks in ANY column.

Blank includes both NULL and “” (empty string)



30
31
32
33
# File 'lib/table_warnings.rb', line 30

def warn_if_any_blanks
  warning = ::TableWarnings::Warning::Blank.new :table => self
  ::TableWarnings.config.warnings[self].add warning
end

#warn_if_blanks_in(column_name) ⇒ Object

Warn if there are blanks in a certain column.

Blank includes both NULL and “” (empty string)



22
23
24
25
# File 'lib/table_warnings.rb', line 22

def warn_if_blanks_in(column_name)
  warning = ::TableWarnings::Warning::Blank.new :table => self, :column_name => column_name
  ::TableWarnings.config.warnings[self].add warning
end

#warn_unless_size_is(approximate_size) ⇒ Object

Warn if the number of records falls out of an (approximate) range.

Approximations: :few, :tens, :dozens, :hundreds, :thousands, :hundreds_of_thousands, :millions Exact: pass a Range or a Numeric



39
40
41
42
# File 'lib/table_warnings.rb', line 39

def warn_unless_size_is(approximate_size)
  warning = ::TableWarnings::Warning::Size.new :table => self, :approximate_size => approximate_size
  ::TableWarnings.config.warnings[self].add warning
end