Module: Mcfly

Defined in:
lib/mcfly.rb,
lib/mcfly/version.rb,
lib/mcfly/has_mcfly.rb,
lib/mcfly/controller.rb

Defined Under Namespace

Modules: Controller, Model

Constant Summary collapse

VERSION =
"0.0.20"
INFINITIES =
Set[Float::INFINITY, 'infinity', 'Infinity'].freeze
COLUMNS =

Mcfly special columns – FIXME: should “id” be here?

Set[
 "id",
 "group_id",
 "user_id",
 "created_dt",
 "obsoleted_dt",
 "o_user_id",
].freeze

Class Method Summary collapse

Class Method Details

.has_mcfly?(klass) ⇒ Boolean

Returns:

  • (Boolean)


24
25
26
27
28
# File 'lib/mcfly/has_mcfly.rb', line 24

def self.has_mcfly?(klass)
  # check if a class is mcfly enabled -- FIXME: currently this is
  # checked using MCFLY_UNIQUENESS which is somewhat hacky.
  klass.const_defined? :MCFLY_UNIQUENESS
end

.is_infinity(pt) ⇒ Object



16
17
18
# File 'lib/mcfly/has_mcfly.rb', line 16

def self.is_infinity(pt)
  Mcfly::INFINITIES.member? pt
end

.mcfly_uniqueness(klass) ⇒ Object



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

def self.mcfly_uniqueness(klass)
  # return uniqueness keys
  klass.const_get :MCFLY_UNIQUENESS
end

.normalize_infinity(pt) ⇒ Object



20
21
22
# File 'lib/mcfly/has_mcfly.rb', line 20

def self.normalize_infinity(pt)
  Mcfly::INFINITIES.member?(pt) ? 'infinity' : pt
end

.whodunnitObject



20
21
22
# File 'lib/mcfly.rb', line 20

def self.whodunnit
  mcfly_store[:whodunnit]
end

.whodunnit=(value) ⇒ Object

Sets who is responsible for any changes that occur. You would normally use this in a migration or on the console, when working with models directly.



14
15
16
17
18
# File 'lib/mcfly.rb', line 14

def self.whodunnit=(value)
  mcfly_store[:whodunnit] = value
  sval = value[:id] rescue -1
  ActiveRecord::Base.connection.execute("SET mcfly.whodunnit = #{sval};")
end