random_users 1.0.1 → 1.0.2

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 58032b56f6c2b1cb6630765601ceb9cdb1a58369
4
+ data.tar.gz: 796a2430abf43160a6c080cdd4ba738f8cc322dd
5
+ SHA512:
6
+ metadata.gz: 13060caec613fcf2b025d24e053655b5a6bacdfe215ead74b65b8f3207776f756bbf3510688744a0980e36ae904509c8ccb152c560e139ac47d1f32d0976fa91
7
+ data.tar.gz: 6211300791b1ccd53aac39210f6e4874e8713629280b9ad67684d1bd2bb59078aaf64c00ca25b1f8c692e475bc2ba50e1b8f42544b6e1852aec9abd7a6b8f052
@@ -8,24 +8,21 @@ require 'pp'
8
8
  module RandomUsers
9
9
 
10
10
  def self.generate number=1
11
- users, service = [], RandomUserGenerator.new
12
- number = 20 if number > 20
13
- number.times{ users << service.get_user }
14
- number == 1 ? users[0] : users
11
+ get_user( RandomUserGenerator, number )
15
12
  end
16
13
 
17
14
  def self.generate_men number=1
18
- users, service = [], RandomMenGenerator.new
19
- number = 20 if number > 20
20
- number.times{ users << service.get_user }
21
- number == 1 ? users[0] : users
15
+ get_user( RandomMenGenerator, number )
22
16
  end
23
17
 
24
18
  def self.generate_women number=1
25
- users, service = [], RandomWomenGenerator.new
26
- number = 20 if number > 20
27
- number.times{ users << service.get_user }
28
- number == 1 ? users[0] : users
19
+ get_user( RandomWomenGenerator, number )
20
+ end
21
+
22
+ def self.get_user generator, number
23
+ users, service = [], generator.new
24
+ number.times{ users << service.get_user['results'].first['user'] }
25
+ number == 1 ? users[0] : users
29
26
  end
30
27
 
31
28
  class RandomUserGenerator
@@ -1,3 +1,3 @@
1
1
  module RandomUsers
2
- VERSION = "1.0.1"
2
+ VERSION = "1.0.2"
3
3
  end
@@ -20,4 +20,5 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_development_dependency "bundler", "~> 1.5"
22
22
  spec.add_development_dependency "rake"
23
+ spec.add_development_dependency "rspec"
23
24
  end
@@ -0,0 +1,97 @@
1
+ require 'spec_helper'
2
+
3
+ describe "Random Users Generation Tests" do
4
+
5
+ def check_user( user, sex='rand' )
6
+ expect( [
7
+ 'gender', 'name', 'location', 'email',
8
+ 'username', 'password', 'salt', 'md5',
9
+ 'sha1', 'sha256', 'registered', 'dob',
10
+ 'phone', 'cell', 'SSN', 'picture'
11
+ ] ).to eq( user.keys )
12
+
13
+ expect( user['gender'].empty? ).to eq( false )
14
+ expect( user['name'].empty? ).to eq( false )
15
+ expect( user['name'].class.to_s ).to eq( 'Hash' )
16
+ expect( user['name']['title'].empty? ).to eq( false )
17
+ expect( user['name']['first'].empty? ).to eq( false )
18
+ expect( user['name']['last'].empty? ).to eq( false )
19
+ expect( user['location'].empty? ).to eq( false )
20
+ expect( user['location'].class.to_s ).to eq( 'Hash' )
21
+ expect( user['location']['street'].empty? ).to eq( false )
22
+ expect( user['location']['city'].empty? ).to eq( false )
23
+ expect( user['location']['state'].empty? ).to eq( false )
24
+ expect( user['location']['zip'].empty? ).to eq( false )
25
+ expect( user['email'].empty? ).to eq( false )
26
+ expect( user['username'].empty? ).to eq( false )
27
+ expect( user['password'].empty? ).to eq( false )
28
+ expect( user['salt'].empty? ).to eq( false )
29
+ expect( user['md5'].empty? ).to eq( false )
30
+ expect( user['sha1'].empty? ).to eq( false )
31
+ expect( user['sha256'].empty? ).to eq( false )
32
+ expect( user['registered'].empty? ).to eq( false )
33
+ expect( user['dob'].empty? ).to eq( false )
34
+ expect( user['phone'].empty? ).to eq( false )
35
+ expect( user['cell'].empty? ).to eq( false )
36
+ expect( user['SSN'].empty? ).to eq( false )
37
+ expect( user['picture'].empty? ).to eq( false )
38
+
39
+ if sex == 'male'
40
+ expect( user['gender'] ).to eq( 'male' )
41
+ expect( ['mr'] ).to include( user['name']['title'] )
42
+ elsif sex == 'female'
43
+ expect( user['gender'] ).to eq( 'female' )
44
+ expect( ['ms', 'miss', 'mrs'] ).to include( user['name']['title'] )
45
+ end
46
+ end
47
+
48
+ 10.times do |number|
49
+
50
+ it "Generate 1 random user test" do
51
+ check_user( RandomUsers.generate )
52
+ end
53
+
54
+ it "Generate many random users test" do
55
+ u_num = (2..26).to_a.sample
56
+ users = RandomUsers.generate( u_num )
57
+
58
+ expect( users.class.to_s ).to eq( 'Array' )
59
+ expect( users.empty? ).to eq( false )
60
+ expect( users.count ).to eq( u_num )
61
+
62
+ users.each{ |user| check_user( user ) }
63
+ end
64
+
65
+ it "Generate 1 male user test" do
66
+ check_user( RandomUsers.generate_men, 'male' )
67
+ end
68
+
69
+ it "Generate many male users test" do
70
+ u_num = (2..26).to_a.sample
71
+ users = RandomUsers.generate_men( u_num )
72
+
73
+ expect( users.class.to_s ).to eq( 'Array' )
74
+ expect( users.empty? ).to eq( false )
75
+ expect( users.count ).to eq( u_num )
76
+
77
+ users.each{ |user| check_user( user, 'male' ) }
78
+ end
79
+
80
+ it "Generate 1 male user test" do
81
+ check_user( RandomUsers.generate_women, 'female' )
82
+ end
83
+
84
+ it "Generate many male users test" do
85
+ u_num = (2..26).to_a.sample
86
+ users = RandomUsers.generate_women( u_num )
87
+
88
+ expect( users.class.to_s ).to eq( 'Array' )
89
+ expect( users.empty? ).to eq( false )
90
+ expect( users.count ).to eq( u_num )
91
+
92
+ users.each{ |user| check_user( user, 'female' ) }
93
+ end
94
+
95
+ end
96
+
97
+ end
@@ -0,0 +1 @@
1
+ require 'random_users'
metadata CHANGED
@@ -1,57 +1,66 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: random_users
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
5
- prerelease:
4
+ version: 1.0.2
6
5
  platform: ruby
7
6
  authors:
8
7
  - bmalets
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-06-06 00:00:00.000000000 Z
11
+ date: 2014-06-10 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: bundler
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ~>
17
+ - - "~>"
20
18
  - !ruby/object:Gem::Version
21
19
  version: '1.5'
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ~>
24
+ - - "~>"
28
25
  - !ruby/object:Gem::Version
29
26
  version: '1.5'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rake
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - ">="
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - ">="
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
- description: ! ' You can generate many random users for your ruby app. (this gem use
47
- http://randomuser.me/ service) '
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ description: " You can generate many random users for your ruby app. (this gem use
56
+ http://randomuser.me/ service) "
48
57
  email:
49
58
  - b.malets@gmail.com
50
59
  executables: []
51
60
  extensions: []
52
61
  extra_rdoc_files: []
53
62
  files:
54
- - .gitignore
63
+ - ".gitignore"
55
64
  - Gemfile
56
65
  - LICENSE.txt
57
66
  - README.md
@@ -59,29 +68,32 @@ files:
59
68
  - lib/random_users.rb
60
69
  - lib/random_users/version.rb
61
70
  - random_users.gemspec
71
+ - spec/random_users_spec.rb
72
+ - spec/spec_helper.rb
62
73
  homepage: http://randomuser.me
63
74
  licenses:
64
75
  - MIT
76
+ metadata: {}
65
77
  post_install_message:
66
78
  rdoc_options: []
67
79
  require_paths:
68
80
  - lib
69
81
  required_ruby_version: !ruby/object:Gem::Requirement
70
- none: false
71
82
  requirements:
72
- - - ! '>='
83
+ - - ">="
73
84
  - !ruby/object:Gem::Version
74
85
  version: '0'
75
86
  required_rubygems_version: !ruby/object:Gem::Requirement
76
- none: false
77
87
  requirements:
78
- - - ! '>='
88
+ - - ">="
79
89
  - !ruby/object:Gem::Version
80
90
  version: '0'
81
91
  requirements: []
82
92
  rubyforge_project:
83
- rubygems_version: 1.8.23.2
93
+ rubygems_version: 2.2.2
84
94
  signing_key:
85
- specification_version: 3
95
+ specification_version: 4
86
96
  summary: Generator of random user data
87
- test_files: []
97
+ test_files:
98
+ - spec/random_users_spec.rb
99
+ - spec/spec_helper.rb