fake_name_generator 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore ADDED
@@ -0,0 +1,6 @@
1
+ pkg/*
2
+ *.gem
3
+ .bundle
4
+ .DS_Store
5
+ rdoc/*
6
+
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format nested
2
+ --color
3
+
data/Gemfile ADDED
@@ -0,0 +1,5 @@
1
+ source :gemcutter
2
+
3
+ # Specify your gem's dependencies in fake_name_generator.gemspec
4
+ gemspec
5
+
data/Gemfile.lock ADDED
@@ -0,0 +1,29 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ fake_name_generator (0.0.1)
5
+ json (>= 1.5.1)
6
+
7
+ GEM
8
+ remote: http://rubygems.org/
9
+ specs:
10
+ diff-lcs (1.1.2)
11
+ fakeweb (1.3.0)
12
+ json (1.5.1)
13
+ rspec (2.5.0)
14
+ rspec-core (~> 2.5.0)
15
+ rspec-expectations (~> 2.5.0)
16
+ rspec-mocks (~> 2.5.0)
17
+ rspec-core (2.5.1)
18
+ rspec-expectations (2.5.0)
19
+ diff-lcs (~> 1.1.2)
20
+ rspec-mocks (2.5.0)
21
+
22
+ PLATFORMS
23
+ ruby
24
+
25
+ DEPENDENCIES
26
+ bundler (>= 1.0.7)
27
+ fake_name_generator!
28
+ fakeweb (>= 1.3.0)
29
+ rspec (>= 2.5.0)
data/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2011 Bill Turner
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ of this software and associated documentation files (the "Software"), to deal
5
+ in the Software without restriction, including without limitation the rights
6
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ copies of the Software, and to permit persons to whom the Software is
8
+ furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in
11
+ all copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ THE SOFTWARE.
20
+
data/README.rdoc ADDED
@@ -0,0 +1,59 @@
1
+ == Name
2
+
3
+ fake_name_generator - a light weight Ruby wrapper for the FakeNameGenerator.com API
4
+
5
+ == Description
6
+
7
+ This is a fairly simple Ruby wrapper for the FakeNameGenerator.com API. The API returns a full name, an address, fake credit card numbers, blood type(!), weight, and even a fake UPS number.
8
+
9
+ == Caveats
10
+
11
+ When I first thought of putting together this API wrapper for FakeNameGenerator.com, they had a free API unless you needed to bulk load generated names (> 10,000). Since then, they've handed over the API-handling duties to a third party named WebServius <http://www.webservius.com/corp/>.
12
+
13
+ Now, there is a limit of 50 free API calls upon signing up, and then after that API results cost $0.001 per additional 50 requests. It's certainly not an outrageous cost, but, alas, it's no longer a free API.
14
+
15
+ It's also my first attempt at a Ruby wrapper for a web service API, so there are most likely inefficiencies and some bad code. I certainly appreciate any feedback anyone could provide. See the Contributing section below.
16
+
17
+ == Requirements
18
+
19
+ In order to use the FakeNameGenerator API, you will need to acquire an API key from FakeNameGenerator.com at <http://www.fakenamegenerator.com/api.php>. The API key actually comes from WebServius (as mentioned above), but the entrance is through the FakeNameGenerator website.
20
+
21
+ == Installation
22
+
23
+ [sudo] gem install fake_name_generator
24
+
25
+ == Usage
26
+
27
+ > fake_name = FakeNameGenerator.new(:api_key => 'VALID_KEY')
28
+ > puts fake_name.full_name
29
+ "Ignatius J. Reilly"
30
+ > puts fake_name.blood_type
31
+ "A-"
32
+
33
+ == Known Issues
34
+
35
+ * This is my first attempt at a API-wrapping gem. There are certainly better ways to do this.
36
+
37
+ == TODO
38
+
39
+ * Maybe detach the HTTP call from .new(), and move to its own method.
40
+
41
+ == Contributing
42
+
43
+ I would love some help and pointers on how to make this a better gem.
44
+
45
+ * Fork the project
46
+ * Please create a topic branch to make your changes
47
+ * Change, add, improve, upgrade, etc
48
+ * Please add tests for anything you've added, and adjust tests for things you've changed
49
+ * Make sure you rebase off of master one last time
50
+ * Send a pull request on GitHub
51
+
52
+ == Authors
53
+
54
+ * Bill Turner <billturner@gmail.com>
55
+
56
+ == License
57
+
58
+ MIT License. Copyright 2011 Bill Turner. Please see +LICENSE+.
59
+
data/Rakefile ADDED
@@ -0,0 +1,26 @@
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
3
+
4
+ require 'rspec/core'
5
+ require 'rspec/core/rake_task'
6
+ begin
7
+ require 'hanna/rdoctask'
8
+ rescue LoadError
9
+ require 'rake/rdoctask'
10
+ end
11
+
12
+ RSpec::Core::RakeTask.new(:spec) do |spec|
13
+ spec.pattern = FileList['spec/**/*_spec.rb']
14
+ end
15
+
16
+ desc 'Generate documentation for the fake_name_generator gem.'
17
+ Rake::RDocTask.new(:rdoc) do |rdoc|
18
+ rdoc.rdoc_dir = 'rdoc'
19
+ rdoc.title = 'fake_name_generator documentation'
20
+ rdoc.options << '--line-numbers' << '--inline-source'
21
+ rdoc.rdoc_files.include('README.rdoc')
22
+ rdoc.rdoc_files.include('lib/**/*.rb')
23
+ end
24
+
25
+ task :default => :spec
26
+
@@ -0,0 +1,27 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $LOAD_PATH.unshift File.join(File.dirname(__FILE__), 'lib')
3
+ require 'fake_name_generator'
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "fake_name_generator"
7
+ s.version = FakeNameGenerator::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["Bill Turner"]
10
+ s.email = ["billturner@gmail.com"]
11
+ s.homepage = "https://github.com/billturner/fake_name_generator"
12
+ s.summary = "A simple Ruby wrapper to the FakeNameGenerator.com API"
13
+ s.description = "A simple Ruby wrapper to the FakeNameGenerator.com API"
14
+
15
+ s.required_rubygems_version = ">= 1.3.6"
16
+ s.rubyforge_project = "fake_name_generator"
17
+
18
+ s.add_development_dependency "bundler", ">= 1.0.7"
19
+ s.add_development_dependency "rspec", ">= 2.5.0"
20
+ s.add_development_dependency "fakeweb", ">= 1.3.0"
21
+ s.add_dependency "json", ">= 1.5.1"
22
+
23
+ s.files = `git ls-files`.split("\n")
24
+ s.executables = `git ls-files`.split("\n").map{|f| f =~ /^bin\/(.*)/ ? $1 : nil}.compact
25
+ s.require_path = 'lib'
26
+ end
27
+
@@ -0,0 +1,187 @@
1
+ # fake_name_generator
2
+ #
3
+ # A FakeNameGenerator.com Ruby API Wrapper
4
+ #
5
+ # Author : Bill Turner - http://brilliantcorners.org/
6
+ # Required : FakeNameGenerator.com API Key - http://www.webservius.com/services/CorbanWork/fakename
7
+ # Source Repo : http://github.com/billturner/fake_name_generator
8
+ # Gem Dependence : Net::HTTP, URI, json
9
+ # Ruby Version : Written and tested using Ruby 1.8.7 and 1.9.2.
10
+ # License : See LICENSE for details.
11
+
12
+ require 'net/http'
13
+ require 'uri'
14
+ require 'json'
15
+
16
+ # = Synopsis
17
+ # The fake_name_generator gem provides a simple wrapper to the
18
+ # FakeNameGenerator.com API, which provides a randomized name,
19
+ # address information, as well as other indentifying information.
20
+ #
21
+ # == Example
22
+ # require 'fake_name_generator'
23
+ #
24
+ # fake_name = FakeNameGenerator.new(:api_key => 'VALID_API_KEY)
25
+ # puts fake_name.full_name
26
+ # puts fake_name.phone_number
27
+ # puts fake_name.blood_type
28
+ #
29
+ # If you would like to receive non-US English results, you can
30
+ # specify a country and nameset to use at the +new+ call:
31
+ #
32
+ # fake_name = FakeNameGenerator.new(
33
+ # :api_key => 'VALID_API_KEY',
34
+ # :country => 'it',
35
+ # :nameset => 'it')
36
+ #
37
+ # To see what options are available for country and nameset, see
38
+ # FakeNameGenerator::VALID_COUNTRY_CODES and
39
+ # FakeNameGenerator::VALID_NAMESET_CODES, respectively.
40
+ class FakeNameGenerator
41
+
42
+ ##
43
+ # The current version of the gem
44
+ VERSION = '0.0.1'
45
+
46
+ ##
47
+ # The current FakeNameGenerator.com API endpoint
48
+ API_URL = 'http://svc.webservius.com/v1/CorbanWork/fakename'
49
+ DEFAULT_OUTPUT = 'json'
50
+ DEFAULT_COUNTRY = 'us'
51
+ DEFAULT_NAMESET = 'us'
52
+ DEFAULT_GENDER = '0' # random
53
+
54
+ ##
55
+ # The currently valid country codes you can use
56
+ VALID_COUNTRY_CODES = ['as', 'au', 'bg', 'ca', 'cyen', 'cygk', 'dk', 'fi', 'fr', 'gr', 'hu', 'is', 'it', 'nl', 'no', 'pl', 'sl', 'sp', 'sw', 'sz', 'uk', 'us']
57
+ ##
58
+ # The currently valid nameset codes you can use
59
+ VALID_NAMESET_CODES = [ 'ar', 'au', 'ch', 'dk', 'en', 'er', 'fa', 'fi', 'fr', 'gd', 'gr', 'hr', 'hu', 'ig', 'is', 'it', 'jp', 'jpja', 'nl', 'pl', 'sl', 'sp', 'sw', 'us', 'vn', 'zhtw']
60
+ ##
61
+ # The currently valid gender codes you can use
62
+ # 0 = random
63
+ # 1 = male
64
+ # 2 = female
65
+ VALID_GENDER_CODES = ['0', '1', '2']
66
+
67
+ class APIConnectionError < StandardError; end
68
+ class APIKeyInvalidError < StandardError; end
69
+
70
+ attr_reader :country,
71
+ :nameset,
72
+ :gender,
73
+ :data
74
+ attr_accessor :full_name,
75
+ :first_name,
76
+ :middle_name,
77
+ :last_name,
78
+ :maiden_name,
79
+ :email_address,
80
+ :gender_name,
81
+ :street1,
82
+ :street2,
83
+ :street3,
84
+ :city,
85
+ :state,
86
+ :zip,
87
+ :country_code,
88
+ :phone_number,
89
+ :birthday,
90
+ :occupation,
91
+ :password,
92
+ :domain,
93
+ :cc_type,
94
+ :cc_number,
95
+ :cc_exp_month,
96
+ :cc_exp_year,
97
+ :cc_cvv,
98
+ :national_id,
99
+ :national_id_type,
100
+ :blood_type,
101
+ :weight_kilograms,
102
+ :weight_pounds,
103
+ :height_centimeters,
104
+ :height_inches,
105
+ :ups_tracking_number
106
+
107
+ # === Parameters
108
+ # * _api_key_ = API key for accessing the FakeNameGenerator.com API (required)
109
+ # * _country_ = country-related values returned (default: 'us')
110
+ # * _nameset_ = language-related names returned (default: 'us')
111
+ # * _gender_ = specify whether random, male, or female values returned (default: random)
112
+ def initialize(options={})
113
+ @api_key = options[:api_key] or raise ArgumentError, "No API key provided"
114
+ @country = options[:country] || DEFAULT_COUNTRY
115
+ @nameset = options[:nameset] || DEFAULT_NAMESET
116
+ @gender = options[:gender] || DEFAULT_GENDER
117
+
118
+ raise ArgumentError, "Specified country parameter is not valid. Please see FakeNameGenerator::VALID_COUNTRY_CODES" unless VALID_COUNTRY_CODES.include?(@country)
119
+ raise ArgumentError, "Specified nameset parameter is not valid. Please see FakeNameGenerator::VALID_NAMESET_CODES" unless VALID_NAMESET_CODES.include?(@nameset)
120
+ raise ArgumentError, "Specified gender parameter is not valid. Please see FakeNameGenerator::VALID_GENDER_CODES" unless VALID_GENDER_CODES.include?(@gender)
121
+
122
+ url = [API_URL, build_params].join('?')
123
+ response = Net::HTTP.get_response(URI.parse(url))
124
+
125
+ case response.code
126
+ when '500' || 500
127
+ raise APIConnectionError, "FakeNameGenerator API not working (500 Error)"
128
+ when '403' || 403
129
+ raise APIKeyInvalidError, "Provided API key is not valid (403 Error)"
130
+ when '200' || 200
131
+ @data = JSON.parse(response.body)
132
+ build_name
133
+ else
134
+ raise StandardError, "Unexpected response from FakeNameGenerator.com API"
135
+ end
136
+
137
+ end
138
+
139
+ private
140
+
141
+ def build_params
142
+ "wsvKey=#{@api_key}&output=#{DEFAULT_OUTPUT}&c=#{@country}&n=#{@nameset}&gen=#{@gender}"
143
+ end
144
+
145
+ def build_name
146
+ # name, gender info
147
+ @gender_name = data['identity']['gender']['value']
148
+ @full_name = data['identity']['full_name']['value']
149
+ @first_name = data['identity']['given_name']['value']
150
+ @middle_name = data['identity']['middle_name']['value']
151
+ @last_name = data['identity']['surname']['value']
152
+ @maiden_name = data['identity']['maiden_name']['value']
153
+ @email_address = data['identity']['email_address']['value']
154
+ # street address
155
+ @street1 = data['identity']['street1']['value']
156
+ @street2 = data['identity']['street2']['value']
157
+ @street3 = data['identity']['street3']['value']
158
+ @city = data['identity']['city']['value']
159
+ @state = data['identity']['state']['value']
160
+ @zip = data['identity']['zip']['value']
161
+ @country_code = data['identity']['country_code']['value']
162
+ @phone_number = data['identity']['phone_number']['value']
163
+ # misc personal info
164
+ @birthday = data['identity']['birthday']['value']
165
+ @occupation = data['identity']['occupation']['value']
166
+ @password = data['identity']['password']['value']
167
+ @domain = data['identity']['domain']['value']
168
+ # credit card info
169
+ @cc_type = data['identity']['cc_type']['value']
170
+ @cc_number = data['identity']['cc_number']['value']
171
+ @cc_exp_month = data['identity']['cc_exp_month']['value']
172
+ @cc_exp_year = data['identity']['cc_exp_year']['value']
173
+ @cc_cvv = data['identity']['cc_cvv']['value']
174
+ # identifying information
175
+ @national_id = data['identity']['national_id']['value']
176
+ @national_id_type = data['identity']['national_id_type']['value']
177
+ @blood_type = data['identity']['blood_type']['value']
178
+ @weight_kilograms = data['identity']['weight_kilograms']['value']
179
+ @weight_pounds = data['identity']['weight_pounds']['value']
180
+ @height_centimeters = data['identity']['height_centimeters']['value']
181
+ @height_inches = data['identity']['height_inches']['value']
182
+ @ups_tracking_number = data['identity']['ups_tracking_number']['value']
183
+
184
+ end
185
+
186
+ end
187
+
@@ -0,0 +1,123 @@
1
+ require 'spec_helper'
2
+
3
+ describe FakeNameGenerator do
4
+
5
+ describe "VERSION" do
6
+
7
+ it "should have a version" do
8
+ FakeNameGenerator::VERSION.should_not be_empty
9
+ end
10
+
11
+ end
12
+
13
+ describe "runtime validations" do
14
+
15
+ it "should fail if no API key was supplied" do
16
+ lambda { fake = FakeNameGenerator.new }.should raise_error(ArgumentError)
17
+ end
18
+
19
+ it "should return object if API key was supplied" do
20
+ fake = FakeNameGenerator.new(:api_key => 'VALID_API_KEY')
21
+ fake.class.should == FakeNameGenerator
22
+ end
23
+
24
+ it "should use default parameters if none are specified" do
25
+ @fake = FakeNameGenerator.new(:api_key => 'VALID_API_KEY')
26
+ @fake.country.should == FakeNameGenerator::DEFAULT_COUNTRY
27
+ @fake.nameset.should == FakeNameGenerator::DEFAULT_NAMESET
28
+ @fake.gender.should == FakeNameGenerator::DEFAULT_GENDER
29
+ end
30
+
31
+ it "should use provided parameters if provided" do
32
+ @fake = FakeNameGenerator.new(:api_key => 'VALID_API_KEY', :country => 'uk', :nameset => 'pl', :gender => '1')
33
+ @fake.country.should == 'uk'
34
+ @fake.nameset.should == 'pl'
35
+ @fake.gender.should == '1'
36
+ end
37
+
38
+ it "should allow a valid option for country" do
39
+ lambda { FakeNameGenerator.new(:api_key => 'VALID_API_KEY', :country => 'uk') }.should_not raise_error
40
+ end
41
+
42
+ it "should not allow an invalid option for country" do
43
+ lambda { FakeNameGenerator.new(:api_key => 'VALID_API_KEY', :country => 'XXX') }.should raise_error(ArgumentError)
44
+ end
45
+
46
+ it "should allow a valid option for nameset" do
47
+ lambda { FakeNameGenerator.new(:api_key => 'VALID_API_KEY', :nameset => 'pl') }.should_not raise_error
48
+ end
49
+
50
+ it "should not allow an invalid option for nameset" do
51
+ lambda { FakeNameGenerator.new(:api_key => 'VALID_API_KEY', :nameset => 'XXX') }.should raise_error(ArgumentError)
52
+ end
53
+
54
+ it "should allow a valid option for gender" do
55
+ lambda { FakeNameGenerator.new(:api_key => 'VALID_API_KEY', :gender => '2') }.should_not raise_error
56
+ end
57
+
58
+ it "should not allow an invalid option for gender" do
59
+ lambda { FakeNameGenerator.new(:api_key => 'VALID_API_KEY', :gender => '3') }.should raise_error(ArgumentError)
60
+ end
61
+
62
+ end
63
+
64
+ #context "invalid api key" do
65
+
66
+ ##it "should return an error" do
67
+ ##lambda { FakeNameGenerator.new(:api_key => 'INVALID_API_KEY') }.should raise_error(FakeNameGenerator::APIKeyInvalidError)
68
+ ##end
69
+
70
+ #end
71
+
72
+ context "valid api key" do
73
+
74
+ before do
75
+ @fake = FakeNameGenerator.new(:api_key => 'VALID_API_KEY')
76
+ end
77
+
78
+ it "should fill in the name fields" do
79
+ @fake.full_name.should_not be_empty
80
+ @fake.first_name.should_not be_empty
81
+ @fake.middle_name.should_not be_empty
82
+ @fake.last_name.should_not be_empty
83
+ @fake.maiden_name.should_not be_empty
84
+ end
85
+
86
+ it "should fill in the address fields" do
87
+ @fake.street1.should_not be_empty
88
+ @fake.street2.should_not be_empty
89
+ @fake.city.should_not be_empty
90
+ @fake.state.should_not be_empty
91
+ @fake.zip.should_not be_empty
92
+ @fake.country_code.should_not be_empty
93
+ @fake.phone_number.should_not be_empty
94
+ end
95
+
96
+ it "should fill in the credit card fields" do
97
+ @fake.cc_type.should_not be_empty
98
+ @fake.cc_number.should_not be_empty
99
+ @fake.cc_exp_month.should_not be_nil
100
+ @fake.cc_exp_year.should_not be_nil
101
+ @fake.cc_cvv.should_not be_empty
102
+ end
103
+
104
+ it "should fill in the other random values" do
105
+ @fake.gender_name.should_not be_empty
106
+ @fake.birthday.should_not be_empty
107
+ @fake.occupation.should_not be_empty
108
+ @fake.password.should_not be_empty
109
+ @fake.domain.should_not be_empty
110
+ @fake.national_id.should_not be_empty
111
+ @fake.national_id_type.should_not be_empty
112
+ @fake.blood_type.should_not be_empty
113
+ @fake.weight_kilograms.should_not be_nil
114
+ @fake.weight_pounds.should_not be_nil
115
+ @fake.height_centimeters.should_not be_nil
116
+ @fake.height_inches.should_not be_nil
117
+ @fake.ups_tracking_number.should_not be_empty
118
+ end
119
+
120
+ end
121
+
122
+ end
123
+
@@ -0,0 +1 @@
1
+ <wsvError xmlns="http://ns.webservius.com/2009/08" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><code>5</code><message>No active subscription was found for this service and key</message></wsvError>
@@ -0,0 +1 @@
1
+ {"identity":{"full_name":{"name":"full_name","label":"Name","value":"Robert L. Blackwell"},"given_name":{"name":"given_name","label":"Given Name","value":"Robert"},"middle_name":{"name":"middle_name","label":"Middle Name","value":"L"},"surname":{"name":"surname","label":"Surname","value":"Blackwell"},"maiden_name":{"name":"maiden_name","label":"Maiden Name","value":"Andrews"},"gender":{"name":"gender","label":"Gender","value":"male"},"email_address":{"name":"email_address","label":"Email Address","value":"Robert L. Blackwell@mailinator.com"},"street1":{"name":"street1","label":"Address","value":"1077 Rocket Drive"},"street2":{"name":"street2","label":"","value":"Minneapolis, MN 55415"},"street3":{"name":"street3","label":"","value":""},"house_number":{"name":"house_number","label":"House Number","value":1077},"street":{"name":"street","label":"Street","value":"Rocket Drive"},"city":{"name":"city","label":"City","value":"Minneapolis"},"state":{"name":"state","label":"State","value":"MN"},"zip":{"name":"zip","label":"Postal Code","value":"55415"},"country_code":{"name":"country_code","label":"Country Code","value":"US"},"phone_number":{"name":"phone_number","label":"Phone Number","value":"612-998-5596"},"birthday":{"name":"birthday","label":"Birthday","value":"7\/26\/1960"},"occupation":{"name":"occupation","label":"Occupation","value":"Education planner"},"password":{"name":"password","label":"Password","value":"ohTie3Ieyah"},"domain":{"name":"domain","label":"Domain","value":"DustingSprays.com"},"cc_type":{"name":"cc_type","label":"Credit Card Type","value":"Visa"},"cc_number":{"name":"cc_number","label":"Credit Card Number","value":"4532275278603573"},"cc_exp_month":{"name":"cc_exp_month","label":"Credit Card Expiration Month","value":12},"cc_exp_year":{"name":"cc_exp_year","label":"Credit Card Expiration Year","value":2014},"cc_cvv":{"name":"cc_cvv","label":"Credit Card CVV","value":"650"},"national_id":{"name":"national_id","label":"National ID","value":"469-08-3421"},"national_id_type":{"name":"national_id_type","label":"National ID Type","value":"SSN"},"blood_type":{"name":"blood_type","label":"Blood Type","value":"A+"},"weight_kilograms":{"name":"weight_kilograms","label":"Weight (Kilograms)","value":115.3},"weight_pounds":{"name":"weight_pounds","label":"Weight (Pounds)","value":253.7},"height_centimeters":{"name":"height_centimeters","label":"Height (Centimeters)","value":183},"height_inches":{"name":"height_inches","label":"Height (Inches)","value":72},"ups_tracking_number":{"name":"ups_tracking_number","label":"UPS Tracking Number","value":"1Z 093 01A 91 4717 506 4"}},"status":"success"}
@@ -0,0 +1,19 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
3
+
4
+ require 'rubygems'
5
+ require 'rspec'
6
+ require 'fakeweb'
7
+
8
+ require 'fake_name_generator'
9
+
10
+ fixtures = File.dirname(File.expand_path(__FILE__)) + "/fixtures"
11
+
12
+ FakeWeb.allow_net_connect = false
13
+
14
+ FakeWeb.register_uri(:get, %r[http://svc\.webservius\.com/v1/CorbanWork/fakename\?(.*&|)wsvKey=VALID_API_KEY]i, :body => File.read("#{fixtures}/VALID_API_KEY.json", :content_type => 'text/json', :status => ['200', 'OK']))
15
+ FakeWeb.register_uri(:get, %r[http://svc\.webservius\.com/v1/CorbanWork/fakename\?(.*&|)wsvKey=INVALID_API_KEY]i, :body => File.read("#{fixtures}/INVALID_API_KEY.xml", :content_type => 'application/xml', :status => ["403", "Forbidden"]))
16
+
17
+ RSpec.configure do |config|
18
+ end
19
+
metadata ADDED
@@ -0,0 +1,112 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: fake_name_generator
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 0.0.1
6
+ platform: ruby
7
+ authors:
8
+ - Bill Turner
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2011-02-23 00:00:00 -05:00
14
+ default_executable:
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: bundler
18
+ prerelease: false
19
+ requirement: &id001 !ruby/object:Gem::Requirement
20
+ none: false
21
+ requirements:
22
+ - - ">="
23
+ - !ruby/object:Gem::Version
24
+ version: 1.0.7
25
+ type: :development
26
+ version_requirements: *id001
27
+ - !ruby/object:Gem::Dependency
28
+ name: rspec
29
+ prerelease: false
30
+ requirement: &id002 !ruby/object:Gem::Requirement
31
+ none: false
32
+ requirements:
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: 2.5.0
36
+ type: :development
37
+ version_requirements: *id002
38
+ - !ruby/object:Gem::Dependency
39
+ name: fakeweb
40
+ prerelease: false
41
+ requirement: &id003 !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: 1.3.0
47
+ type: :development
48
+ version_requirements: *id003
49
+ - !ruby/object:Gem::Dependency
50
+ name: json
51
+ prerelease: false
52
+ requirement: &id004 !ruby/object:Gem::Requirement
53
+ none: false
54
+ requirements:
55
+ - - ">="
56
+ - !ruby/object:Gem::Version
57
+ version: 1.5.1
58
+ type: :runtime
59
+ version_requirements: *id004
60
+ description: A simple Ruby wrapper to the FakeNameGenerator.com API
61
+ email:
62
+ - billturner@gmail.com
63
+ executables: []
64
+
65
+ extensions: []
66
+
67
+ extra_rdoc_files: []
68
+
69
+ files:
70
+ - .gitignore
71
+ - .rspec
72
+ - Gemfile
73
+ - Gemfile.lock
74
+ - LICENSE
75
+ - README.rdoc
76
+ - Rakefile
77
+ - fake_name_generator.gemspec
78
+ - lib/fake_name_generator.rb
79
+ - spec/fake_name_generator_spec.rb
80
+ - spec/fixtures/INVALID_API_KEY.xml
81
+ - spec/fixtures/VALID_API_KEY.json
82
+ - spec/spec_helper.rb
83
+ has_rdoc: true
84
+ homepage: https://github.com/billturner/fake_name_generator
85
+ licenses: []
86
+
87
+ post_install_message:
88
+ rdoc_options: []
89
+
90
+ require_paths:
91
+ - lib
92
+ required_ruby_version: !ruby/object:Gem::Requirement
93
+ none: false
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: "0"
98
+ required_rubygems_version: !ruby/object:Gem::Requirement
99
+ none: false
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: 1.3.6
104
+ requirements: []
105
+
106
+ rubyforge_project: fake_name_generator
107
+ rubygems_version: 1.5.1
108
+ signing_key:
109
+ specification_version: 3
110
+ summary: A simple Ruby wrapper to the FakeNameGenerator.com API
111
+ test_files: []
112
+