random_users 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -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