melissadata 0.0.1
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.
- data/Gemfile +31 -0
- data/Gemfile.lock +69 -0
- data/Guardfile +6 -0
- data/README.md +5 -0
- data/Rakefile +47 -0
- data/Vagrantfile +17 -0
- data/bin/md +4 -0
- data/bin/md-rpc +9 -0
- data/bin/md-server +18 -0
- data/bin/melissadata +4 -0
- data/lib/md.rb +4 -0
- data/lib/melissadata.rb +2 -0
- data/lib/melissadata/cli.rb +45 -0
- data/lib/melissadata/command.rb +9 -0
- data/lib/melissadata/command/base.rb +104 -0
- data/lib/melissadata/command/helpers.rb +12 -0
- data/lib/melissadata/command/package.rb +83 -0
- data/lib/melissadata/constants.rb +14 -0
- data/lib/melissadata/env.rb +92 -0
- data/lib/melissadata/errors.rb +83 -0
- data/lib/melissadata/melissadata.rb +164 -0
- data/lib/melissadata/native_object.rb +19 -0
- data/lib/melissadata/native_object/address.rb +124 -0
- data/lib/melissadata/native_object/base.rb +79 -0
- data/lib/melissadata/native_object/client.rb +33 -0
- data/lib/melissadata/native_object/email.rb +61 -0
- data/lib/melissadata/native_object/geo.rb +61 -0
- data/lib/melissadata/native_object/ip_locator.rb +41 -0
- data/lib/melissadata/native_object/name.rb +74 -0
- data/lib/melissadata/native_object/phone.rb +96 -0
- data/lib/melissadata/prev/command_old.rb +80 -0
- data/lib/melissadata/prev/shared_objects.rb +54 -0
- data/lib/melissadata/rpc.rb +39 -0
- data/lib/melissadata/version.rb +3 -0
- data/melissadata.gemspec +40 -0
- data/pkg/melissa-data-0.0.1.gem +0 -0
- data/pkg/melissa-data-0.0.2.gem +0 -0
- data/pkg/melissa-data-0.0.3.gem +0 -0
- data/pkg/melissadata-0.0.1.gem +0 -0
- data/spec/locales/en.yml +8 -0
- data/spec/melissadata/cli_spec.rb +34 -0
- data/spec/melissadata/command/package_spec.rb +22 -0
- data/spec/melissadata/env_spec.rb +55 -0
- data/spec/spec_helper.rb +33 -0
- data/templates/config.rb +20 -0
- data/templates/locales/en.yml +4 -0
- metadata +316 -0
@@ -0,0 +1,80 @@
|
|
1
|
+
require 'melissa-data/melissa-data'
|
2
|
+
require 'thor'
|
3
|
+
require 'cloudfiles'
|
4
|
+
|
5
|
+
module MelissaData
|
6
|
+
|
7
|
+
class Command < Thor
|
8
|
+
include Thor::Actions
|
9
|
+
|
10
|
+
def self.source_root
|
11
|
+
File.expand_path('../../templates', File.dirname(__FILE__))
|
12
|
+
end
|
13
|
+
|
14
|
+
|
15
|
+
def package
|
16
|
+
invoke Commands::Package
|
17
|
+
end
|
18
|
+
|
19
|
+
|
20
|
+
# desc "package", "Zips up data files from DVD and uploads them to remote servers"
|
21
|
+
# # method_option :path, :type => :string, :default => '/usr/lib/ruby/1.8/x86_64-linux', :desc => "Path to MelissaData DVD"
|
22
|
+
# method_option :username, :aliases => '-u', :type => :string, :required => true, :desc => "CloudFiles Username"
|
23
|
+
# method_option :api_key, :aliases => '-a', :type => :string, :required => true, :desc => "CloudFiles API Key"
|
24
|
+
# method_option :bucket_name, :aliases => '-b', :type => :string, :desc => "CloudFiles Bucket name"
|
25
|
+
|
26
|
+
# def package
|
27
|
+
# source_dir = Dir['/Volumes/*'].detect{ |path| path =~ /DVD-\d{4}-\d{2}$/ }
|
28
|
+
# raise "Can't find MelissaData DVD in /Volumes" if source_dir.blank?
|
29
|
+
|
30
|
+
# dest_dir = "/tmp"
|
31
|
+
|
32
|
+
# possible_objects = %w[ address email name phone ]
|
33
|
+
# # objects = Dir.entries(source_dir).select{ |path| possible_objects.include?(path) }
|
34
|
+
# objects = %w[ email name ]
|
35
|
+
|
36
|
+
# objects.each do |obj|
|
37
|
+
# data_file = "#{dest_dir}/#{obj}.tgz"
|
38
|
+
# inside "#{source_dir}/#{obj}" do
|
39
|
+
# run "tar czf #{data_file} data"
|
40
|
+
# end
|
41
|
+
|
42
|
+
# say_status :upload, "#{obj}.tgz to #{options[:bucket_name]}"
|
43
|
+
# cf = CloudFiles::Connection.new(:username => options[:username], :api_key => options[:api_key])
|
44
|
+
# cont = cf.container options[:bucket_name]
|
45
|
+
# remote_object = cont.create_object "#{obj}.tgz", false
|
46
|
+
# remote_object.load_from_filename data_file
|
47
|
+
|
48
|
+
# # "#{source_dir}/#{obj}/linux/gcc34_64bit/*.h" => /opt/melissadata/src/
|
49
|
+
# # "#{source_dir}/#{obj}/linux/gcc34_64bit/libmdEmail.so" => /opt/melissadata/lib/
|
50
|
+
# # "#{source_dir}/#{obj}/linux/interfaces/ruby/mdEmailRubyWrapper.cpp" => /opt/melissadata/lib/
|
51
|
+
|
52
|
+
# # inside "#{source_dir}/#{obj}/linux/gcc34_64bit" do
|
53
|
+
# # run "tar czf #{data_file} data"
|
54
|
+
# # end
|
55
|
+
# end
|
56
|
+
# end
|
57
|
+
|
58
|
+
|
59
|
+
# desc "install", "Install MelissaData config, data files"
|
60
|
+
# method_option :license, :required => true, :type => :string, :aliases => "-l", :desc => "MelissaData license string"
|
61
|
+
# method_option :install_path, :type => :string, :default => '/opt/melissa_data', :desc => "Path to install to"
|
62
|
+
# method_option :ruby_dir, :type => :string, :default => '/usr/lib/ruby/1.8/x86_64-linux', :desc => "Path to ruby libs"
|
63
|
+
|
64
|
+
# method_option :data_bucket_name, :type => :string, :default => 'MelissaData', :aliases => "-b", :desc => "CloudFiles bucket name"
|
65
|
+
# method_option :data_username, :required => true, :type => :string, :aliases => "-u", :desc => "Rackspace username"
|
66
|
+
# method_option :data_api_key, :required => true, :type => :string, :aliases => "-a", :desc => "Rackspace API key"
|
67
|
+
|
68
|
+
# def install
|
69
|
+
# # options[:license] = ask("Enter your MelissaData license:", :blue) if options[:license].blank?
|
70
|
+
# # options[:data_username] = ask("Enter your Rackspace username:", :blue) if options[:data_username].blank?
|
71
|
+
# # options[:data_api_key] = ask("Enter your Rackspace API key:", :blue) if options[:data_api_key].blank?
|
72
|
+
|
73
|
+
# config_dir = '~/.melissa-data'
|
74
|
+
# empty_directory config_dir
|
75
|
+
|
76
|
+
# template "config.rb", "#{config_dir}/config.rb"
|
77
|
+
# end
|
78
|
+
end
|
79
|
+
|
80
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
md_path = File.expand_path('../..', File.dirname(__FILE__))
|
2
|
+
$LOAD_PATH.unshift md_path unless $LOAD_PATH.include?(md_path)
|
3
|
+
|
4
|
+
require 'melissa-data/constants'
|
5
|
+
|
6
|
+
module MelissaData
|
7
|
+
module SharedObjects
|
8
|
+
|
9
|
+
class Client
|
10
|
+
attr_reader :license
|
11
|
+
|
12
|
+
def initialize(license='INVALID LICENSE')
|
13
|
+
@license = license
|
14
|
+
@email_object = MelissaData::Email.new(:license => license)
|
15
|
+
end
|
16
|
+
|
17
|
+
def process_email(email=nil)
|
18
|
+
email ||= ''
|
19
|
+
output = {}
|
20
|
+
input = {:email => email.to_s}
|
21
|
+
output = @email_object.process(input)
|
22
|
+
output.delete_if{ |k,v| v.to_s.strip == "" }
|
23
|
+
output
|
24
|
+
end
|
25
|
+
|
26
|
+
def email_build_number
|
27
|
+
@email_object.obj.GetBuildNumber
|
28
|
+
end
|
29
|
+
|
30
|
+
def version
|
31
|
+
MelissaData::VERSION
|
32
|
+
end
|
33
|
+
|
34
|
+
def address
|
35
|
+
"SharedObjects"
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
%w[
|
43
|
+
mdAddrRubyWrapper mdEmailRubyWrapper mdGeoRubyWrapper mdNameRubyWrapper mdPhoneRubyWrapper mdIpLocatorRubyWrapper
|
44
|
+
].each do |obj|
|
45
|
+
require File.join(MelissaData::DEFAULT_SHARED_OBJECTS_PATH, obj)
|
46
|
+
end
|
47
|
+
|
48
|
+
require 'melissa-data/shared_objects/base'
|
49
|
+
require 'melissa-data/shared_objects/email'
|
50
|
+
require 'melissa-data/shared_objects/address'
|
51
|
+
require 'melissa-data/shared_objects/geo'
|
52
|
+
require 'melissa-data/shared_objects/ip_locator'
|
53
|
+
require 'melissa-data/shared_objects/name'
|
54
|
+
require 'melissa-data/shared_objects/phone'
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'melissa-data/melissa-data'
|
2
|
+
require 'msgpack/rpc'
|
3
|
+
require 'msgpack/rpc/transport/unix'
|
4
|
+
|
5
|
+
module MelissaData
|
6
|
+
module RPC
|
7
|
+
include Constants
|
8
|
+
|
9
|
+
class Client
|
10
|
+
attr_reader :rpc
|
11
|
+
|
12
|
+
def initialize
|
13
|
+
@socket_file = "/tmp/melissa-data"
|
14
|
+
@rpc = MessagePack::RPC::Client.new(MessagePack::RPC::UNIXTransport.new, @socket_file)
|
15
|
+
end
|
16
|
+
|
17
|
+
# def method_missing(meth, *args, &blck)
|
18
|
+
# rpc.call meth, args
|
19
|
+
# end
|
20
|
+
|
21
|
+
def process_email(email)
|
22
|
+
rpc.call :process_email, email
|
23
|
+
end
|
24
|
+
|
25
|
+
def email_build_number
|
26
|
+
rpc.call :email_build_number
|
27
|
+
end
|
28
|
+
|
29
|
+
def version
|
30
|
+
rpc.call :version
|
31
|
+
end
|
32
|
+
|
33
|
+
def address
|
34
|
+
"#{@host}:#{@port}"
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
39
|
+
end
|
data/melissadata.gemspec
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require 'melissadata/version'
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = 'melissadata'
|
7
|
+
s.version = MelissaData::VERSION
|
8
|
+
s.platform = Gem::Platform::RUBY
|
9
|
+
s.authors = ['JohnnyT', 'Chris Wyckoff']
|
10
|
+
s.email = ['johnnyt@xan.do', 'cwyckoff@alliancehealth.com']
|
11
|
+
s.homepage = 'http://github.com/johnnyt/melissadata'
|
12
|
+
s.summary = 'Ruby wrappers around MelissaData objects'
|
13
|
+
s.description = s.summary
|
14
|
+
s.require_paths = %w[ lib ]
|
15
|
+
s.files = Dir["**/*"].map{ |f| f.to_s }
|
16
|
+
s.executables = Dir['bin/*'].map{ |f| File.basename(f) }
|
17
|
+
|
18
|
+
s.add_development_dependency 'rake', '0.8.7'
|
19
|
+
s.add_development_dependency 'rspec', '>2.4'
|
20
|
+
# s.add_development_dependency 'rb-fsevent'
|
21
|
+
s.add_development_dependency 'growl'
|
22
|
+
s.add_development_dependency 'guard-rspec'
|
23
|
+
|
24
|
+
if RUBY_VERSION =~ /1\.9/
|
25
|
+
s.add_development_dependency 'ruby-debug19'
|
26
|
+
s.add_development_dependency 'simplecov', '>= 0.4.0'#, :require => false, :group => :test
|
27
|
+
else
|
28
|
+
s.add_development_dependency 'ruby-debug'
|
29
|
+
s.add_development_dependency 'rcov'
|
30
|
+
end
|
31
|
+
|
32
|
+
s.add_dependency 'i18n'
|
33
|
+
s.add_dependency 'thor'
|
34
|
+
s.add_dependency 'activesupport'
|
35
|
+
s.add_dependency 'multi_json'
|
36
|
+
s.add_dependency 'msgpack-rpc'
|
37
|
+
s.add_dependency 'awesome_print'
|
38
|
+
s.add_dependency 'yajl-ruby'
|
39
|
+
s.add_dependency 'cloudfiles'
|
40
|
+
end
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/spec/locales/en.yml
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
module MelissaData
|
4
|
+
describe CLI do
|
5
|
+
|
6
|
+
before :each do
|
7
|
+
@klass = MelissaData::CLI
|
8
|
+
end
|
9
|
+
|
10
|
+
context "registering" do
|
11
|
+
it "registers a base command as a single invokable" do
|
12
|
+
base = Class.new(MelissaData::Command::Base)
|
13
|
+
name = "__test_registering_single_subcommand"
|
14
|
+
@klass.register(base, name, name, "A description")
|
15
|
+
@klass.tasks[name].should_not be_blank
|
16
|
+
|
17
|
+
# assert @klass.tasks[name]
|
18
|
+
end
|
19
|
+
|
20
|
+
it "aliases methods if the alias option is given" do
|
21
|
+
base = Class.new(MelissaData::Command::Base) do
|
22
|
+
def execute
|
23
|
+
raise "WORKED"
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
name = "__test_registering_with_alias"
|
28
|
+
@klass.register(base, name, name, "A description", :alias => "--ALIAS")
|
29
|
+
lambda { @klass.start(["--ALIAS"]) }.should raise_error(RuntimeError)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module MelissaData
|
4
|
+
module Command
|
5
|
+
|
6
|
+
describe PackageCommand do
|
7
|
+
|
8
|
+
describe "#default" do
|
9
|
+
|
10
|
+
before(:each) do
|
11
|
+
@command = PackageCommand.new
|
12
|
+
end
|
13
|
+
|
14
|
+
it "requires a MelissaData disc image" do
|
15
|
+
lambda {@command.execute}.should raise_error(MelissaData::Errors::DiscNotFound)
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe MelissaData::Env do
|
4
|
+
before(:each) do
|
5
|
+
@env = MelissaData::Env.new
|
6
|
+
end
|
7
|
+
|
8
|
+
it 'responds to []=' do
|
9
|
+
lambda { @env['test'] = 'blah' }.should_not raise_error
|
10
|
+
end
|
11
|
+
|
12
|
+
it 'responds to []' do
|
13
|
+
@env['test'] = 'blah'
|
14
|
+
lambda { @env['test'].should == 'blah' }.should_not raise_error
|
15
|
+
end
|
16
|
+
|
17
|
+
context '#method_missing' do
|
18
|
+
it 'allows access to items as methods' do
|
19
|
+
@env['db'] = 'test'
|
20
|
+
@env.db.should == 'test'
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'allows access to config items as methods' do
|
24
|
+
@env['config'] = {}
|
25
|
+
@env['config']['db'] = 'test'
|
26
|
+
@env.db.should == 'test'
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
context '#respond_to?' do
|
31
|
+
it 'returns true for items in the hash' do
|
32
|
+
@env['test'] = 'true'
|
33
|
+
@env.respond_to?(:test).should be_true
|
34
|
+
end
|
35
|
+
|
36
|
+
it 'returns false for items not in hash' do
|
37
|
+
@env.respond_to?(:test).should be_false
|
38
|
+
end
|
39
|
+
|
40
|
+
it 'returns true for items in the config hash' do
|
41
|
+
@env['config'] = {'test' => true}
|
42
|
+
@env.respond_to?(:test).should be_true
|
43
|
+
end
|
44
|
+
|
45
|
+
it 'returns false for items not in the config hash' do
|
46
|
+
@env['config'] = {}
|
47
|
+
@env.respond_to?(:test).should be_false
|
48
|
+
end
|
49
|
+
|
50
|
+
it 'delegates if not found' do
|
51
|
+
@env.respond_to?(:[]).should be_true
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'bundler'
|
2
|
+
Bundler.setup
|
3
|
+
|
4
|
+
if RUBY_VERSION =~ /^1\.9/
|
5
|
+
require 'simplecov'
|
6
|
+
SimpleCov.start
|
7
|
+
else
|
8
|
+
require 'rspec'
|
9
|
+
require 'rcov'
|
10
|
+
end
|
11
|
+
|
12
|
+
# # Add this folder to the load path for "spec_helper"
|
13
|
+
# $:.unshift(File.dirname(__FILE__))
|
14
|
+
|
15
|
+
require 'melissadata'
|
16
|
+
|
17
|
+
MelissaData.env = :test
|
18
|
+
|
19
|
+
# Try to load ruby debug since its useful if it is available.
|
20
|
+
# But not a big deal if its not available (probably on a non-MRI
|
21
|
+
# platform)
|
22
|
+
begin
|
23
|
+
require 'ruby-debug'
|
24
|
+
rescue LoadError
|
25
|
+
end
|
26
|
+
|
27
|
+
# Add the I18n locale for tests
|
28
|
+
I18n.load_path << File.expand_path("../locales/en.yml", __FILE__)
|
29
|
+
|
30
|
+
RSpec.configure do |c|
|
31
|
+
# Some opts are set in Guardfile
|
32
|
+
c.color_enabled = true
|
33
|
+
end
|
data/templates/config.rb
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
config[:license] = "<%= options[:license] %>"
|
2
|
+
config[:objects] = %w[ email name phone ]
|
3
|
+
config[:path] = "<%= options[:install_path] %>"
|
4
|
+
config[:ruby_dir] = "<%= options[:ruby_dir] %>"
|
5
|
+
config[:remote_bucket] = "<%= options[:data_bucket_name] %>"
|
6
|
+
config[:data_username] = "<%= options[:data_username] %>"
|
7
|
+
config[:data_api_key] = "<%= options[:data_api_key] %>"
|
8
|
+
|
9
|
+
|
10
|
+
# config['test'] = options[:test]
|
11
|
+
#
|
12
|
+
# import('shared')
|
13
|
+
#
|
14
|
+
# environment :production do
|
15
|
+
# config['prod'] = 'my prod'
|
16
|
+
# end
|
17
|
+
#
|
18
|
+
# environment :development do
|
19
|
+
# config['dev'] = 'my dev'
|
20
|
+
# end
|
metadata
ADDED
@@ -0,0 +1,316 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: melissadata
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 29
|
5
|
+
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 0
|
9
|
+
- 1
|
10
|
+
version: 0.0.1
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- JohnnyT
|
14
|
+
- Chris Wyckoff
|
15
|
+
autorequire:
|
16
|
+
bindir: bin
|
17
|
+
cert_chain: []
|
18
|
+
|
19
|
+
date: 2011-08-03 00:00:00 -06:00
|
20
|
+
default_executable:
|
21
|
+
dependencies:
|
22
|
+
- !ruby/object:Gem::Dependency
|
23
|
+
name: rake
|
24
|
+
prerelease: false
|
25
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
27
|
+
requirements:
|
28
|
+
- - "="
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
hash: 49
|
31
|
+
segments:
|
32
|
+
- 0
|
33
|
+
- 8
|
34
|
+
- 7
|
35
|
+
version: 0.8.7
|
36
|
+
type: :development
|
37
|
+
version_requirements: *id001
|
38
|
+
- !ruby/object:Gem::Dependency
|
39
|
+
name: rspec
|
40
|
+
prerelease: false
|
41
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
43
|
+
requirements:
|
44
|
+
- - ">"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
hash: 11
|
47
|
+
segments:
|
48
|
+
- 2
|
49
|
+
- 4
|
50
|
+
version: "2.4"
|
51
|
+
type: :development
|
52
|
+
version_requirements: *id002
|
53
|
+
- !ruby/object:Gem::Dependency
|
54
|
+
name: growl
|
55
|
+
prerelease: false
|
56
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
hash: 3
|
62
|
+
segments:
|
63
|
+
- 0
|
64
|
+
version: "0"
|
65
|
+
type: :development
|
66
|
+
version_requirements: *id003
|
67
|
+
- !ruby/object:Gem::Dependency
|
68
|
+
name: guard-rspec
|
69
|
+
prerelease: false
|
70
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
71
|
+
none: false
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
hash: 3
|
76
|
+
segments:
|
77
|
+
- 0
|
78
|
+
version: "0"
|
79
|
+
type: :development
|
80
|
+
version_requirements: *id004
|
81
|
+
- !ruby/object:Gem::Dependency
|
82
|
+
name: ruby-debug
|
83
|
+
prerelease: false
|
84
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
85
|
+
none: false
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
hash: 3
|
90
|
+
segments:
|
91
|
+
- 0
|
92
|
+
version: "0"
|
93
|
+
type: :development
|
94
|
+
version_requirements: *id005
|
95
|
+
- !ruby/object:Gem::Dependency
|
96
|
+
name: rcov
|
97
|
+
prerelease: false
|
98
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
99
|
+
none: false
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
hash: 3
|
104
|
+
segments:
|
105
|
+
- 0
|
106
|
+
version: "0"
|
107
|
+
type: :development
|
108
|
+
version_requirements: *id006
|
109
|
+
- !ruby/object:Gem::Dependency
|
110
|
+
name: i18n
|
111
|
+
prerelease: false
|
112
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
hash: 3
|
118
|
+
segments:
|
119
|
+
- 0
|
120
|
+
version: "0"
|
121
|
+
type: :runtime
|
122
|
+
version_requirements: *id007
|
123
|
+
- !ruby/object:Gem::Dependency
|
124
|
+
name: thor
|
125
|
+
prerelease: false
|
126
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
127
|
+
none: false
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
hash: 3
|
132
|
+
segments:
|
133
|
+
- 0
|
134
|
+
version: "0"
|
135
|
+
type: :runtime
|
136
|
+
version_requirements: *id008
|
137
|
+
- !ruby/object:Gem::Dependency
|
138
|
+
name: activesupport
|
139
|
+
prerelease: false
|
140
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
141
|
+
none: false
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
hash: 3
|
146
|
+
segments:
|
147
|
+
- 0
|
148
|
+
version: "0"
|
149
|
+
type: :runtime
|
150
|
+
version_requirements: *id009
|
151
|
+
- !ruby/object:Gem::Dependency
|
152
|
+
name: multi_json
|
153
|
+
prerelease: false
|
154
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
155
|
+
none: false
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
hash: 3
|
160
|
+
segments:
|
161
|
+
- 0
|
162
|
+
version: "0"
|
163
|
+
type: :runtime
|
164
|
+
version_requirements: *id010
|
165
|
+
- !ruby/object:Gem::Dependency
|
166
|
+
name: msgpack-rpc
|
167
|
+
prerelease: false
|
168
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
170
|
+
requirements:
|
171
|
+
- - ">="
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
hash: 3
|
174
|
+
segments:
|
175
|
+
- 0
|
176
|
+
version: "0"
|
177
|
+
type: :runtime
|
178
|
+
version_requirements: *id011
|
179
|
+
- !ruby/object:Gem::Dependency
|
180
|
+
name: awesome_print
|
181
|
+
prerelease: false
|
182
|
+
requirement: &id012 !ruby/object:Gem::Requirement
|
183
|
+
none: false
|
184
|
+
requirements:
|
185
|
+
- - ">="
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
hash: 3
|
188
|
+
segments:
|
189
|
+
- 0
|
190
|
+
version: "0"
|
191
|
+
type: :runtime
|
192
|
+
version_requirements: *id012
|
193
|
+
- !ruby/object:Gem::Dependency
|
194
|
+
name: yajl-ruby
|
195
|
+
prerelease: false
|
196
|
+
requirement: &id013 !ruby/object:Gem::Requirement
|
197
|
+
none: false
|
198
|
+
requirements:
|
199
|
+
- - ">="
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
hash: 3
|
202
|
+
segments:
|
203
|
+
- 0
|
204
|
+
version: "0"
|
205
|
+
type: :runtime
|
206
|
+
version_requirements: *id013
|
207
|
+
- !ruby/object:Gem::Dependency
|
208
|
+
name: cloudfiles
|
209
|
+
prerelease: false
|
210
|
+
requirement: &id014 !ruby/object:Gem::Requirement
|
211
|
+
none: false
|
212
|
+
requirements:
|
213
|
+
- - ">="
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
hash: 3
|
216
|
+
segments:
|
217
|
+
- 0
|
218
|
+
version: "0"
|
219
|
+
type: :runtime
|
220
|
+
version_requirements: *id014
|
221
|
+
description: Ruby wrappers around MelissaData objects
|
222
|
+
email:
|
223
|
+
- johnnyt@xan.do
|
224
|
+
- cwyckoff@alliancehealth.com
|
225
|
+
executables:
|
226
|
+
- md
|
227
|
+
- md-rpc
|
228
|
+
- md-server
|
229
|
+
- melissadata
|
230
|
+
extensions: []
|
231
|
+
|
232
|
+
extra_rdoc_files: []
|
233
|
+
|
234
|
+
files:
|
235
|
+
- bin/md
|
236
|
+
- bin/md-rpc
|
237
|
+
- bin/md-server
|
238
|
+
- bin/melissadata
|
239
|
+
- Gemfile
|
240
|
+
- Gemfile.lock
|
241
|
+
- Guardfile
|
242
|
+
- lib/md.rb
|
243
|
+
- lib/melissadata/cli.rb
|
244
|
+
- lib/melissadata/command/base.rb
|
245
|
+
- lib/melissadata/command/helpers.rb
|
246
|
+
- lib/melissadata/command/package.rb
|
247
|
+
- lib/melissadata/command.rb
|
248
|
+
- lib/melissadata/constants.rb
|
249
|
+
- lib/melissadata/env.rb
|
250
|
+
- lib/melissadata/errors.rb
|
251
|
+
- lib/melissadata/melissadata.rb
|
252
|
+
- lib/melissadata/native_object/address.rb
|
253
|
+
- lib/melissadata/native_object/base.rb
|
254
|
+
- lib/melissadata/native_object/client.rb
|
255
|
+
- lib/melissadata/native_object/email.rb
|
256
|
+
- lib/melissadata/native_object/geo.rb
|
257
|
+
- lib/melissadata/native_object/ip_locator.rb
|
258
|
+
- lib/melissadata/native_object/name.rb
|
259
|
+
- lib/melissadata/native_object/phone.rb
|
260
|
+
- lib/melissadata/native_object.rb
|
261
|
+
- lib/melissadata/prev/command_old.rb
|
262
|
+
- lib/melissadata/prev/shared_objects.rb
|
263
|
+
- lib/melissadata/rpc.rb
|
264
|
+
- lib/melissadata/version.rb
|
265
|
+
- lib/melissadata.rb
|
266
|
+
- melissadata.gemspec
|
267
|
+
- pkg/melissa-data-0.0.1.gem
|
268
|
+
- pkg/melissa-data-0.0.2.gem
|
269
|
+
- pkg/melissa-data-0.0.3.gem
|
270
|
+
- pkg/melissadata-0.0.1.gem
|
271
|
+
- Rakefile
|
272
|
+
- README.md
|
273
|
+
- spec/locales/en.yml
|
274
|
+
- spec/melissadata/cli_spec.rb
|
275
|
+
- spec/melissadata/command/package_spec.rb
|
276
|
+
- spec/melissadata/env_spec.rb
|
277
|
+
- spec/spec_helper.rb
|
278
|
+
- templates/config.rb
|
279
|
+
- templates/locales/en.yml
|
280
|
+
- Vagrantfile
|
281
|
+
has_rdoc: true
|
282
|
+
homepage: http://github.com/johnnyt/melissadata
|
283
|
+
licenses: []
|
284
|
+
|
285
|
+
post_install_message:
|
286
|
+
rdoc_options: []
|
287
|
+
|
288
|
+
require_paths:
|
289
|
+
- lib
|
290
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
291
|
+
none: false
|
292
|
+
requirements:
|
293
|
+
- - ">="
|
294
|
+
- !ruby/object:Gem::Version
|
295
|
+
hash: 3
|
296
|
+
segments:
|
297
|
+
- 0
|
298
|
+
version: "0"
|
299
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
300
|
+
none: false
|
301
|
+
requirements:
|
302
|
+
- - ">="
|
303
|
+
- !ruby/object:Gem::Version
|
304
|
+
hash: 3
|
305
|
+
segments:
|
306
|
+
- 0
|
307
|
+
version: "0"
|
308
|
+
requirements: []
|
309
|
+
|
310
|
+
rubyforge_project:
|
311
|
+
rubygems_version: 1.6.2
|
312
|
+
signing_key:
|
313
|
+
specification_version: 3
|
314
|
+
summary: Ruby wrappers around MelissaData objects
|
315
|
+
test_files: []
|
316
|
+
|