melissa 0.0.8 → 0.0.9b
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.jruby-version +1 -1
- data/.ruby-version +1 -1
- data/Gemfile.lock +6 -6
- data/lib/melissa/addr_obj.rb +2 -1
- data/lib/melissa/addr_obj_live.rb +29 -27
- data/lib/melissa/geo_point.rb +2 -1
- data/lib/melissa/geo_point_live.rb +31 -29
- data/lib/melissa/version.rb +1 -1
- data/melissa.gemspec +12 -10
- data/test/addr_obj_test.rb +6 -6
- data/test/geo_point_test.rb +4 -4
- data/test/melissa_test.rb +3 -3
- metadata +22 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4b691b75df37248404fcec6e5361070194f7a4b2
|
4
|
+
data.tar.gz: 2189c5a6e00cf89216f2b37b77747ee0af6571e3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a900ac4abc2fd4daabf2df8b7f98b980179ae82afc2647b166fcb6f10edb74d5fba961525454f5fa6cce9d6ab7da625b9e5fae422f9b653dd9ef4043a95757ac
|
7
|
+
data.tar.gz: 923c8c2aba2639775fd703f0ba2a650fb893f2a0e2f67647b98ed7d63d35043861e2ccb733361fadf971950ba68d57510075e788328f6bc3ac7b5823e0c7de7b
|
data/.jruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
jruby-1.7.
|
1
|
+
jruby-1.7.23
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.
|
1
|
+
2.3
|
data/Gemfile.lock
CHANGED
@@ -1,11 +1,12 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
melissa (0.0.
|
5
|
-
activesupport
|
4
|
+
melissa (0.0.9b)
|
5
|
+
activesupport (~> 4.2.1)
|
6
|
+
concurrent-ruby
|
6
7
|
ffi
|
7
8
|
minitest
|
8
|
-
|
9
|
+
sync_attr
|
9
10
|
|
10
11
|
GEM
|
11
12
|
remote: https://rubygems.org/
|
@@ -18,11 +19,10 @@ GEM
|
|
18
19
|
tzinfo (~> 1.1)
|
19
20
|
ansi (1.5.0)
|
20
21
|
builder (3.2.2)
|
22
|
+
concurrent-ruby (1.0.2)
|
21
23
|
ffi (1.9.8)
|
22
|
-
ffi (1.9.8-java)
|
23
24
|
i18n (0.7.0)
|
24
25
|
json (1.8.2)
|
25
|
-
json (1.8.2-java)
|
26
26
|
minitest (5.4.0)
|
27
27
|
minitest-reporters (1.0.8)
|
28
28
|
ansi
|
@@ -33,8 +33,8 @@ GEM
|
|
33
33
|
rake (10.4.2)
|
34
34
|
ruby-progressbar (1.7.1)
|
35
35
|
shoulda-context (1.2.1)
|
36
|
+
sync_attr (2.0.0)
|
36
37
|
thread_safe (0.3.5)
|
37
|
-
thread_safe (0.3.5-java)
|
38
38
|
tzinfo (1.2.2)
|
39
39
|
thread_safe (~> 0.1)
|
40
40
|
|
data/lib/melissa/addr_obj.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'active_support/all' #TODO I can narrow down this
|
2
|
+
require 'concurrent'
|
2
3
|
|
3
4
|
module Melissa
|
4
5
|
class AddrObj
|
@@ -53,7 +54,7 @@ module Melissa
|
|
53
54
|
@@good_codes = ['AS01', 'AS02', 'AS03']
|
54
55
|
@@bad_codes = ['AC02', 'AC03']
|
55
56
|
|
56
|
-
@@callbacks =
|
57
|
+
@@callbacks = Concurrent::Array.new
|
57
58
|
|
58
59
|
# Allow callbacks to intercept response and perform whatever misc stuff (hint: victim_statements)
|
59
60
|
def self.add_callback(&callback)
|
@@ -1,16 +1,17 @@
|
|
1
1
|
require 'ffi'
|
2
|
+
require 'sync_attr'
|
2
3
|
|
3
4
|
module Melissa
|
4
5
|
class AddrObjLive < AddrObj
|
5
6
|
|
6
|
-
|
7
|
-
|
8
|
-
|
7
|
+
sync_cattr_reader :lib_loaded do
|
8
|
+
begin
|
9
|
+
extend FFI::Library
|
9
10
|
|
10
|
-
|
11
|
-
|
11
|
+
ffi_lib Melissa.config.addr_obj_lib
|
12
|
+
attr_functions = @@melissa_attributes.map { |name| ["mdAddrGet#{name}".to_sym, [:pointer], :string] }
|
12
13
|
|
13
|
-
|
14
|
+
functions = attr_functions + [
|
14
15
|
# method # parameters # return
|
15
16
|
[:mdAddrCreate, [], :pointer],
|
16
17
|
[:mdAddrSetLicenseString, [:pointer, :string], :int],
|
@@ -31,33 +32,34 @@ module Melissa
|
|
31
32
|
[:mdAddrDestroy, [:pointer], :void],
|
32
33
|
[:mdAddrGetLicenseExpirationDate, [:pointer], :string],
|
33
34
|
[:mdAddrGetExpirationDate, [:pointer], :string],
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
35
|
+
]
|
36
|
+
|
37
|
+
functions.each do |func|
|
38
|
+
begin
|
39
|
+
attach_function(*func)
|
40
|
+
rescue Object => e
|
41
|
+
raise "Could not attach #{func}, #{e.message}"
|
42
|
+
end
|
41
43
|
end
|
42
|
-
end
|
43
44
|
|
44
|
-
|
45
|
+
attr_reader *@@melissa_attributes.map { |name| name.underscore.to_sym }
|
45
46
|
|
46
|
-
|
47
|
-
|
47
|
+
# Get all the attributes out up-front so we can destroy the h_addr_lib object
|
48
|
+
class_eval <<-EOS
|
48
49
|
define_method(:fill_attributes) do |h_addr_lib|
|
49
50
|
#{@@melissa_attributes.map { |name| "@#{name.underscore} = mdAddrGet#{name}(h_addr_lib)" }.join("\n")}
|
50
51
|
end
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
52
|
+
EOS
|
53
|
+
rescue LoadError => e
|
54
|
+
puts "WARNING: #{Melissa.config.addr_obj_lib} could not be loaded"
|
55
|
+
false
|
56
|
+
else
|
57
|
+
true
|
58
|
+
end
|
57
59
|
end
|
58
60
|
|
59
61
|
def self.with_mdaddr
|
60
|
-
raise "Unable to load melissa library #{Melissa.config.addr_obj_lib}" unless
|
62
|
+
raise "Unable to load melissa library #{Melissa.config.addr_obj_lib}" unless lib_loaded
|
61
63
|
raise "Unable to find the license for Melissa Data library #{Melissa.config.license}" unless Melissa.config.license.present?
|
62
64
|
raise "Unable to find data files for Melissa Data library #{Melissa.config.data_path}" unless Melissa.config.data_path.present?
|
63
65
|
begin
|
@@ -84,9 +86,9 @@ module Melissa
|
|
84
86
|
(self.license_expiration_date - Date.today).to_i
|
85
87
|
end
|
86
88
|
|
87
|
-
|
88
|
-
|
89
|
-
|
89
|
+
# U.S. Only — This function returns a date value representing the
|
90
|
+
# date when the current U.S. data files expire. This date enables you to confirm that the
|
91
|
+
# data files you are using are the latest available.
|
90
92
|
|
91
93
|
def self.data_expiration_date
|
92
94
|
Date.strptime(with_mdaddr { |h_addr_lib| mdAddrGetExpirationDate(h_addr_lib) }, '%m-%d-%Y')
|
data/lib/melissa/geo_point.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require "melissa/config"
|
2
|
+
require 'concurrent'
|
2
3
|
|
3
4
|
module Melissa
|
4
5
|
class GeoPoint
|
@@ -39,7 +40,7 @@ module Melissa
|
|
39
40
|
#@@bad_codes = ['GE01', 'GE02']
|
40
41
|
@@fatal_codes = ['GE03', 'GE04', 'GE05']
|
41
42
|
|
42
|
-
@@callbacks =
|
43
|
+
@@callbacks = Concurrent::Array.new
|
43
44
|
|
44
45
|
# Allow callbacks to intercept response and perform whatever misc stuff (hint: victim_statements)
|
45
46
|
def self.add_callback(&callback)
|
@@ -1,16 +1,17 @@
|
|
1
1
|
require 'ffi'
|
2
|
+
require 'sync_attr'
|
2
3
|
|
3
4
|
module Melissa
|
4
5
|
class GeoPointLive < GeoPoint
|
5
6
|
|
6
|
-
|
7
|
-
|
8
|
-
|
7
|
+
sync_cattr_reader :lib_loaded do
|
8
|
+
begin
|
9
|
+
extend FFI::Library
|
9
10
|
|
10
|
-
|
11
|
-
|
11
|
+
ffi_lib Melissa.config.geo_point_lib
|
12
|
+
attr_functions = @@melissa_attributes.map { |name| ["mdGeoGet#{name}".to_sym, [:pointer], :string] }
|
12
13
|
|
13
|
-
|
14
|
+
functions = attr_functions + [
|
14
15
|
# method # parameters # return
|
15
16
|
[:mdGeoCreate, [], :pointer],
|
16
17
|
[:mdGeoSetLicenseString, [:pointer, :string], :int],
|
@@ -22,33 +23,34 @@ module Melissa
|
|
22
23
|
[:mdGeoDestroy, [:pointer], :void],
|
23
24
|
[:mdGeoGetLicenseExpirationDate, [:pointer], :string],
|
24
25
|
[:mdGeoGetExpirationDate, [:pointer], :string],
|
25
|
-
|
26
|
+
]
|
26
27
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
28
|
+
functions.each do |func|
|
29
|
+
begin
|
30
|
+
attach_function(*func)
|
31
|
+
rescue Object => e
|
32
|
+
raise "Could not attach #{func}, #{e.message}"
|
33
|
+
end
|
32
34
|
end
|
33
|
-
end
|
34
35
|
|
35
|
-
|
36
|
+
attr_reader *@@melissa_attributes.map { |name| name.underscore.to_sym }
|
36
37
|
|
37
|
-
|
38
|
-
|
38
|
+
# Get all the attributes out up-front so we can destroy the mdGeo object
|
39
|
+
class_eval <<-EOS
|
39
40
|
define_method(:fill_attributes) do |mdGeo|
|
40
41
|
#{@@melissa_attributes.map { |name| "@#{name.underscore} = mdGeoGet#{name}(mdGeo)" }.join("\n")}
|
41
42
|
end
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
43
|
+
EOS
|
44
|
+
rescue LoadError => e
|
45
|
+
puts "WARNING: #{Melissa.config.geo_point_lib} could not be loaded"
|
46
|
+
false
|
47
|
+
else
|
48
|
+
true
|
49
|
+
end
|
48
50
|
end
|
49
51
|
|
50
52
|
def self.with_mdgeo
|
51
|
-
raise "Unable to load melissa library #{Melissa.config.addr_obj_lib}" unless
|
53
|
+
raise "Unable to load melissa library #{Melissa.config.addr_obj_lib}" unless lib_loaded
|
52
54
|
raise "Unable to find the license for Melissa Data library #{Melissa.config.license}" unless Melissa.config.license.present?
|
53
55
|
raise "Unable to find data files for Melissa Data library #{Melissa.config.data_path}" unless Melissa.config.data_path.present?
|
54
56
|
begin
|
@@ -58,7 +60,7 @@ module Melissa
|
|
58
60
|
mdGeoSetPathToGeoPointDataFiles(mdGeo, Melissa.config.data_path)
|
59
61
|
result = mdGeoInitializeDataFiles(mdGeo)
|
60
62
|
if result != 0
|
61
|
-
raise
|
63
|
+
raise "Unable to initialize data files for Melissa Data library #{Melissa.config.data_path}"
|
62
64
|
end
|
63
65
|
yield mdGeo
|
64
66
|
ensure
|
@@ -82,7 +84,7 @@ module Melissa
|
|
82
84
|
# date when the current data files expire. This date enables you to confirm that the
|
83
85
|
# data files you are using are the latest available.
|
84
86
|
def self.expiration_date
|
85
|
-
Date.parse(with_mdgeo { |mdGeo| mdGeoGetExpirationDate(mdGeo)})
|
87
|
+
Date.parse(with_mdgeo { |mdGeo| mdGeoGetExpirationDate(mdGeo) })
|
86
88
|
end
|
87
89
|
|
88
90
|
def self.days_until_data_expiration
|
@@ -103,8 +105,8 @@ module Melissa
|
|
103
105
|
raise "Invalid call to GeoPoint, unknown object #{opts.inspect}"
|
104
106
|
end
|
105
107
|
@resultcodes = mdGeoGetResults(mdGeo).split(',')
|
106
|
-
fatals
|
107
|
-
@is_valid
|
108
|
+
fatals = @resultcodes & @@fatal_codes
|
109
|
+
@is_valid = fatals.blank?
|
108
110
|
if @is_valid
|
109
111
|
fill_attributes(mdGeo)
|
110
112
|
# Convert from strings to actual types
|
@@ -119,9 +121,9 @@ module Melissa
|
|
119
121
|
@longitude = @longitude.to_f
|
120
122
|
end
|
121
123
|
if @latitude == 0.0 && @longitude == 0.0
|
122
|
-
@latitude
|
124
|
+
@latitude = nil
|
123
125
|
@longitude = nil
|
124
|
-
@is_valid
|
126
|
+
@is_valid = false
|
125
127
|
end
|
126
128
|
else
|
127
129
|
fatals.each do |fatal_code|
|
data/lib/melissa/version.rb
CHANGED
data/melissa.gemspec
CHANGED
@@ -2,21 +2,23 @@
|
|
2
2
|
require File.expand_path('../lib/melissa/version', __FILE__)
|
3
3
|
|
4
4
|
Gem::Specification.new do |gem|
|
5
|
-
gem.authors
|
6
|
-
gem.email
|
7
|
-
gem.description
|
8
|
-
gem.summary
|
9
|
-
gem.homepage
|
5
|
+
gem.authors = ['Brad Pardee', 'Svetlana Marinskaya']
|
6
|
+
gem.email = ['bradpardee@gmail.com', 'svetlana.marinskaya@gmail.com']
|
7
|
+
gem.description = %q{Configurable interface to Melissa Data Address and GeoPoint objects}
|
8
|
+
gem.summary = %q{Melissa allows you to use ruby wrappers for Melissa Data's AddrObj and GeoPoint objects or use the mock objects depending on configuration.}
|
9
|
+
gem.homepage = "https://github.com/smarinskaya/Melissa"
|
10
10
|
|
11
11
|
gem.files = `git ls-files`.split($\)
|
12
|
-
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
12
|
+
gem.executables = gem.files.grep(%r{^bin/}).map { |f| File.basename(f) }
|
13
13
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
14
14
|
gem.name = "melissa"
|
15
15
|
gem.require_paths = ["lib"]
|
16
16
|
gem.version = Melissa::VERSION
|
17
17
|
|
18
|
-
|
19
|
-
gem.add_dependency '
|
20
|
-
gem.add_dependency '
|
21
|
-
gem.add_dependency '
|
18
|
+
# Don't want to upgrade to '5.0.0' yet.
|
19
|
+
gem.add_dependency 'activesupport', '~> 4.2.1' # added to support underscore method.
|
20
|
+
gem.add_dependency 'minitest' # added as a dependency of activesupport and for testing.
|
21
|
+
gem.add_dependency 'ffi' # used for converting c libraries to ruby
|
22
|
+
gem.add_dependency 'concurrent-ruby' # added to support concurrent callbacks
|
23
|
+
gem.add_dependency 'sync_attr' # added to safely create lazy loaded class variables
|
22
24
|
end
|
data/test/addr_obj_test.rb
CHANGED
@@ -9,7 +9,7 @@ class AddrObjTest < Minitest::Test
|
|
9
9
|
|
10
10
|
describe 'valid?' do
|
11
11
|
it 'handles valid data' do
|
12
|
-
skip 'Not run, Melissa library not loaded' unless Melissa::AddrObjLive.lib_loaded
|
12
|
+
skip 'Not run, Melissa library not loaded' unless Melissa::AddrObjLive.lib_loaded
|
13
13
|
valid_address = Melissa.addr_obj(
|
14
14
|
address: '2517 Surfwood Dr',
|
15
15
|
city: 'Las Vegas',
|
@@ -25,7 +25,7 @@ class AddrObjTest < Minitest::Test
|
|
25
25
|
end
|
26
26
|
|
27
27
|
it 'flags invalid data' do
|
28
|
-
skip 'Not run, Melissa library not loaded' unless Melissa::AddrObjLive.lib_loaded
|
28
|
+
skip 'Not run, Melissa library not loaded' unless Melissa::AddrObjLive.lib_loaded
|
29
29
|
# Zip points to Schenectady, NY
|
30
30
|
invalid_address = Melissa.addr_obj(
|
31
31
|
address: '123 Who Dr',
|
@@ -39,7 +39,7 @@ class AddrObjTest < Minitest::Test
|
|
39
39
|
|
40
40
|
describe 'delivery_point' do
|
41
41
|
it 'sets delivery point for valid data' do
|
42
|
-
skip 'Not run, Melissa library not loaded' unless Melissa::AddrObjLive.lib_loaded
|
42
|
+
skip 'Not run, Melissa library not loaded' unless Melissa::AddrObjLive.lib_loaded
|
43
43
|
valid_address = Melissa.addr_obj(
|
44
44
|
address: '2517 Surfwood Dr',
|
45
45
|
city: 'Las Vegas',
|
@@ -52,7 +52,7 @@ class AddrObjTest < Minitest::Test
|
|
52
52
|
|
53
53
|
describe 'address_key' do
|
54
54
|
it 'sets address key for valid data' do
|
55
|
-
skip 'Not run, Melissa library not loaded' unless Melissa::AddrObjLive.lib_loaded
|
55
|
+
skip 'Not run, Melissa library not loaded' unless Melissa::AddrObjLive.lib_loaded
|
56
56
|
valid_address = Melissa.addr_obj(
|
57
57
|
address: '9802 Brompton Dr',
|
58
58
|
city: 'Tampa',
|
@@ -65,7 +65,7 @@ class AddrObjTest < Minitest::Test
|
|
65
65
|
|
66
66
|
describe 'number of days till licence expires' do
|
67
67
|
it 'checks if we have more than 30 days till license expiration date' do
|
68
|
-
skip 'Not run, Melissa library not loaded' unless Melissa::AddrObjLive.lib_loaded
|
68
|
+
skip 'Not run, Melissa library not loaded' unless Melissa::AddrObjLive.lib_loaded
|
69
69
|
valid_address = Melissa.addr_obj(
|
70
70
|
:address => '2517 Surfwood Dr',
|
71
71
|
:city => 'Las Vegas',
|
@@ -78,7 +78,7 @@ class AddrObjTest < Minitest::Test
|
|
78
78
|
|
79
79
|
describe 'callback' do
|
80
80
|
it 'executes added callback' do
|
81
|
-
skip 'Not run, Melissa library not loaded' unless Melissa::AddrObjLive.lib_loaded
|
81
|
+
skip 'Not run, Melissa library not loaded' unless Melissa::AddrObjLive.lib_loaded
|
82
82
|
callback_flag = false
|
83
83
|
Melissa::AddrObj.add_callback do
|
84
84
|
callback_flag = true
|
data/test/geo_point_test.rb
CHANGED
@@ -10,7 +10,7 @@ class GeoPointTest < Minitest::Test
|
|
10
10
|
|
11
11
|
describe 'valid?' do
|
12
12
|
it 'creates valid GeoPoint object from valid Address Object' do
|
13
|
-
skip 'Not run, Melissa library not loaded' unless Melissa::GeoPointLive.lib_loaded
|
13
|
+
skip 'Not run, Melissa library not loaded' unless Melissa::GeoPointLive.lib_loaded
|
14
14
|
valid_addr_obj = Melissa.addr_obj(
|
15
15
|
address: '2517 SURFWOOD DR',
|
16
16
|
city: 'LAS VEGAS',
|
@@ -25,7 +25,7 @@ class GeoPointTest < Minitest::Test
|
|
25
25
|
assert_equal offset, geo_point_obj.time_zone_offset(valid_addr_obj.state)
|
26
26
|
end
|
27
27
|
it 'creates valid GeoPoint object from the Hash' do
|
28
|
-
skip 'Not run, Melissa library not loaded' unless Melissa::GeoPointLive.lib_loaded
|
28
|
+
skip 'Not run, Melissa library not loaded' unless Melissa::GeoPointLive.lib_loaded
|
29
29
|
geo_point_obj= Melissa.geo_point(
|
30
30
|
zip: '89128',
|
31
31
|
plus4: '7182',
|
@@ -42,7 +42,7 @@ class GeoPointTest < Minitest::Test
|
|
42
42
|
|
43
43
|
describe 'number of days till licence expires' do
|
44
44
|
it 'checks if we have more than 30 days till license expiration date' do
|
45
|
-
skip 'Not run, Melissa library not loaded' unless Melissa::GeoPointLive.lib_loaded
|
45
|
+
skip 'Not run, Melissa library not loaded' unless Melissa::GeoPointLive.lib_loaded
|
46
46
|
valid_addr_obj = Melissa.addr_obj(
|
47
47
|
address: '2517 SURFWOOD DR',
|
48
48
|
city: 'LAS VEGAS',
|
@@ -56,7 +56,7 @@ class GeoPointTest < Minitest::Test
|
|
56
56
|
|
57
57
|
describe 'callback' do
|
58
58
|
it 'executes added callback' do
|
59
|
-
skip 'Not run, Melissa library not loaded' unless Melissa::GeoPointLive.lib_loaded
|
59
|
+
skip 'Not run, Melissa library not loaded' unless Melissa::GeoPointLive.lib_loaded
|
60
60
|
callback_flag = false
|
61
61
|
Melissa::GeoPoint.add_callback do
|
62
62
|
callback_flag = true
|
data/test/melissa_test.rb
CHANGED
@@ -9,7 +9,7 @@ class MelissaTest < Minitest::Test
|
|
9
9
|
|
10
10
|
describe "live mode" do
|
11
11
|
it 'initializes AddrObjLive object' do
|
12
|
-
skip "Not run, Melissa library not loaded" unless Melissa::AddrObjLive.lib_loaded
|
12
|
+
skip "Not run, Melissa library not loaded" unless Melissa::AddrObjLive.lib_loaded
|
13
13
|
valid_address = Melissa.addr_obj(
|
14
14
|
address: '9802 Brompton Dr',
|
15
15
|
city: 'Tampa',
|
@@ -44,8 +44,8 @@ class MelissaTest < Minitest::Test
|
|
44
44
|
|
45
45
|
describe "live mode" do
|
46
46
|
it 'initializes GeoPointLive object' do
|
47
|
-
skip "Not run, Melissa library not loaded" unless Melissa::AddrObjLive.lib_loaded
|
48
|
-
skip "Not run, Melissa library not loaded" unless Melissa::GeoPointLive.lib_loaded
|
47
|
+
skip "Not run, Melissa library not loaded" unless Melissa::AddrObjLive.lib_loaded
|
48
|
+
skip "Not run, Melissa library not loaded" unless Melissa::GeoPointLive.lib_loaded
|
49
49
|
valid_addr_obj = Melissa.addr_obj(
|
50
50
|
address: '9802 Brompton Dr',
|
51
51
|
city: 'Tampa',
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: melissa
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.9b
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brad Pardee
|
@@ -9,10 +9,24 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-
|
12
|
+
date: 2016-07-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - "~>"
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: 4.2.1
|
21
|
+
type: :runtime
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - "~>"
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: 4.2.1
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: minitest
|
16
30
|
requirement: !ruby/object:Gem::Requirement
|
17
31
|
requirements:
|
18
32
|
- - ">="
|
@@ -26,7 +40,7 @@ dependencies:
|
|
26
40
|
- !ruby/object:Gem::Version
|
27
41
|
version: '0'
|
28
42
|
- !ruby/object:Gem::Dependency
|
29
|
-
name:
|
43
|
+
name: ffi
|
30
44
|
requirement: !ruby/object:Gem::Requirement
|
31
45
|
requirements:
|
32
46
|
- - ">="
|
@@ -40,7 +54,7 @@ dependencies:
|
|
40
54
|
- !ruby/object:Gem::Version
|
41
55
|
version: '0'
|
42
56
|
- !ruby/object:Gem::Dependency
|
43
|
-
name:
|
57
|
+
name: concurrent-ruby
|
44
58
|
requirement: !ruby/object:Gem::Requirement
|
45
59
|
requirements:
|
46
60
|
- - ">="
|
@@ -54,7 +68,7 @@ dependencies:
|
|
54
68
|
- !ruby/object:Gem::Version
|
55
69
|
version: '0'
|
56
70
|
- !ruby/object:Gem::Dependency
|
57
|
-
name:
|
71
|
+
name: sync_attr
|
58
72
|
requirement: !ruby/object:Gem::Requirement
|
59
73
|
requirements:
|
60
74
|
- - ">="
|
@@ -115,12 +129,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
115
129
|
version: '0'
|
116
130
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
117
131
|
requirements:
|
118
|
-
- - "
|
132
|
+
- - ">"
|
119
133
|
- !ruby/object:Gem::Version
|
120
|
-
version:
|
134
|
+
version: 1.3.1
|
121
135
|
requirements: []
|
122
136
|
rubyforge_project:
|
123
|
-
rubygems_version: 2.
|
137
|
+
rubygems_version: 2.5.1
|
124
138
|
signing_key:
|
125
139
|
specification_version: 4
|
126
140
|
summary: Melissa allows you to use ruby wrappers for Melissa Data's AddrObj and GeoPoint
|