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.
Files changed (47) hide show
  1. data/Gemfile +31 -0
  2. data/Gemfile.lock +69 -0
  3. data/Guardfile +6 -0
  4. data/README.md +5 -0
  5. data/Rakefile +47 -0
  6. data/Vagrantfile +17 -0
  7. data/bin/md +4 -0
  8. data/bin/md-rpc +9 -0
  9. data/bin/md-server +18 -0
  10. data/bin/melissadata +4 -0
  11. data/lib/md.rb +4 -0
  12. data/lib/melissadata.rb +2 -0
  13. data/lib/melissadata/cli.rb +45 -0
  14. data/lib/melissadata/command.rb +9 -0
  15. data/lib/melissadata/command/base.rb +104 -0
  16. data/lib/melissadata/command/helpers.rb +12 -0
  17. data/lib/melissadata/command/package.rb +83 -0
  18. data/lib/melissadata/constants.rb +14 -0
  19. data/lib/melissadata/env.rb +92 -0
  20. data/lib/melissadata/errors.rb +83 -0
  21. data/lib/melissadata/melissadata.rb +164 -0
  22. data/lib/melissadata/native_object.rb +19 -0
  23. data/lib/melissadata/native_object/address.rb +124 -0
  24. data/lib/melissadata/native_object/base.rb +79 -0
  25. data/lib/melissadata/native_object/client.rb +33 -0
  26. data/lib/melissadata/native_object/email.rb +61 -0
  27. data/lib/melissadata/native_object/geo.rb +61 -0
  28. data/lib/melissadata/native_object/ip_locator.rb +41 -0
  29. data/lib/melissadata/native_object/name.rb +74 -0
  30. data/lib/melissadata/native_object/phone.rb +96 -0
  31. data/lib/melissadata/prev/command_old.rb +80 -0
  32. data/lib/melissadata/prev/shared_objects.rb +54 -0
  33. data/lib/melissadata/rpc.rb +39 -0
  34. data/lib/melissadata/version.rb +3 -0
  35. data/melissadata.gemspec +40 -0
  36. data/pkg/melissa-data-0.0.1.gem +0 -0
  37. data/pkg/melissa-data-0.0.2.gem +0 -0
  38. data/pkg/melissa-data-0.0.3.gem +0 -0
  39. data/pkg/melissadata-0.0.1.gem +0 -0
  40. data/spec/locales/en.yml +8 -0
  41. data/spec/melissadata/cli_spec.rb +34 -0
  42. data/spec/melissadata/command/package_spec.rb +22 -0
  43. data/spec/melissadata/env_spec.rb +55 -0
  44. data/spec/spec_helper.rb +33 -0
  45. data/templates/config.rb +20 -0
  46. data/templates/locales/en.yml +4 -0
  47. 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
@@ -0,0 +1,3 @@
1
+ module MelissaData
2
+ VERSION = '0.0.1'
3
+ end
@@ -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
@@ -0,0 +1,8 @@
1
+ en:
2
+ melissadata:
3
+ test:
4
+ errors:
5
+ test_key: This is a test key
6
+ test_key_with_interpolation: This is a test key that says %{key}
7
+ alternate:
8
+ test_key: This is an alternate
@@ -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
@@ -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
@@ -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
@@ -0,0 +1,4 @@
1
+ en:
2
+ melissadata:
3
+ errors:
4
+ disc_not_found: "Can't find MelissaData DVD in /Volumes"
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
+