Module: Melissa

Defined in:
lib/melissa/addr_obj_mock.rb,
lib/melissa.rb,
lib/melissa/config.rb,
lib/melissa/railtie.rb,
lib/melissa/version.rb,
lib/melissa/addr_obj.rb,
lib/melissa/geo_point.rb,
lib/melissa/addr_obj_live.rb,
lib/melissa/geo_point_live.rb,
lib/melissa/geo_point_mock.rb

Overview

Fake out Melissa data in Dev and Test environments. For local tests, and for Release and Hotfix

Defined Under Namespace

Classes: AddrObj, AddrObjLive, AddrObjMock, Config, GeoPoint, GeoPointLive, GeoPointMock, Railtie

Constant Summary collapse

MODES =
[:mock, :live]
VERSION =
"0.0.1"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configObject



25
26
27
# File 'lib/melissa.rb', line 25

def self.config
  @config ||= Config.new
end

Class Method Details

.addr_obj(attrs) ⇒ Object



7
8
9
10
11
12
13
14
# File 'lib/melissa.rb', line 7

def self.addr_obj(attrs)
  if config.mode == :live
    raise LoadError, "Melissa AddrObj was not loaded!" unless config.addr_obj_lib_loaded
    AddrObjLive.new(attrs)
  else
    AddrObjMock.new(attrs)
  end
end

.configure {|config| ... } ⇒ Object

Yields:



33
34
35
# File 'lib/melissa.rb', line 33

def self.configure
  yield(config)
end

.geo_point(attrs) ⇒ Object



16
17
18
19
20
21
22
23
# File 'lib/melissa.rb', line 16

def self.geo_point(attrs)
  if config.mode == :live
    raise LoadError, "Melissa GeoPoint object was not loaded!" unless config.geo_point_lib_loaded
    GeoPointLive.new(attrs)
  else
    GeoPointMock.new(attrs)
  end
end

.resetObject



29
30
31
# File 'lib/melissa.rb', line 29

def self.reset
  @config = Config.new
end