module Army::Negative

Public Class Methods

activate!() click to toggle source

Called during gem initialization (via Army::Negative::Railtie) in order to active army-negative and ensure all true values get stored as -1 and that -1’s are recognized as true.

# File lib/army-negative.rb, line 16
def activate!
  ActiveRecord::ConnectionAdapters::Column.send  :extend,  Column
  ActiveRecord::ConnectionAdapters::Quoting.send :include, Quoting
  # There may be one of two mysql adapters...
  adapter = 0
  begin
    adapter += 1
    require "active_record/connection_adapters/mysql#{adapter == 1 ? "" : adapter}_adapter"
  rescue LoadError => e
    retry unless adapter >= 2
    raise e
  end
  "ActiveRecord::ConnectionAdapters::Mysql#{adapter == 1 ? "" : adapter}Adapter".constantize.send :include, MysqlAdapter
end

Private Instance Methods

activate!() click to toggle source

Called during gem initialization (via Army::Negative::Railtie) in order to active army-negative and ensure all true values get stored as -1 and that -1’s are recognized as true.

# File lib/army-negative.rb, line 16
def activate!
  ActiveRecord::ConnectionAdapters::Column.send  :extend,  Column
  ActiveRecord::ConnectionAdapters::Quoting.send :include, Quoting
  # There may be one of two mysql adapters...
  adapter = 0
  begin
    adapter += 1
    require "active_record/connection_adapters/mysql#{adapter == 1 ? "" : adapter}_adapter"
  rescue LoadError => e
    retry unless adapter >= 2
    raise e
  end
  "ActiveRecord::ConnectionAdapters::Mysql#{adapter == 1 ? "" : adapter}Adapter".constantize.send :include, MysqlAdapter
end