ruser 0.0.1.1 → 1.0.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 19ef0c18729d1fc11704ee82b256d2303b409590
4
- data.tar.gz: 100fe995a45b724deabc344885afbb76639288f0
3
+ metadata.gz: 43a09f150d33f23b3afc41a2d279ce186bc9e99e
4
+ data.tar.gz: da507723153984d0981079707c2ae46fd49fb449
5
5
  SHA512:
6
- metadata.gz: 9a5de14b762e77aef82bb23237558de11f31ee59bc3274f3870c26f412ee28d22c816ef1748ba19f5d086ecb970670b35e66328795e85bcb5f83ae2a730045e5
7
- data.tar.gz: b1476127383fff69bd97cb829cd6cba9026f29951d632c0f7807e109ded14615936d6cf8829de3d46edea6bb26a9cdfc9c228762f327e44de62d522ad5752eaa
6
+ metadata.gz: eb8ae5407bc1a926feebcaab64968d92c7e8bbe618c34a1586afec84596ec3e418261da8f61970fa492afd1ba5b86f38215eda6022d8a92526e66663757563eb
7
+ data.tar.gz: acacf827c86755890d62e4fc0005e6b455df1735121cdd88fbc79db4ee71fc9ca3d9682338b834c59380168eebf22cfd4baccea2e21209cf1bc4fcc413eab74d
data/README.md CHANGED
@@ -2,13 +2,11 @@
2
2
 
3
3
  RUser is a simple Ruby Gem to communicate with the randomuser.me API.
4
4
 
5
- [![Build Status](https://travis-ci.org/simpleappgroup/ruser.png)](https://travis-ci.org/simpleappgroup/ruser) [![Coverage Status](https://coveralls.io/repos/simpleappgroup/ruser/badge.png?branch=master)](https://coveralls.io/r/simpleappgroup/ruser?branch=master) [![Code Climate](https://codeclimate.com/github/simpleappgroup/ruser.png)](https://codeclimate.com/github/simpleappgroup/ruser)
5
+ [![Build Status](https://travis-ci.org/simpleappgroup/ruser.png)](https://travis-ci.org/simpleappgroup/ruser) [![Coverage Status](https://coveralls.io/repos/simpleappgroup/ruser/badge.png?branch=master)](https://coveralls.io/r/simpleappgroup/ruser?branch=master) [![Code Climate](https://codeclimate.com/github/simpleappgroup/ruser.png)](https://codeclimate.com/github/simpleappgroup/ruser) [![Dependency Status](https://gemnasium.com/simpleappgroup/ruser.svg)](https://gemnasium.com/simpleappgroup/ruser)
6
6
 
7
7
 
8
8
  ## Installation
9
9
 
10
- First:
11
-
12
10
  gem install ruser
13
11
 
14
12
  or in your Gemfile
@@ -16,16 +14,19 @@ or in your Gemfile
16
14
  gem 'ruser'
17
15
 
18
16
 
19
- ## Usage
17
+ ## Documentation
18
+
19
+ [rdoc.info/github/simpleappgroup/ruser](http://rdoc.info/github/simpleappgroup/ruser)
20
+
21
+ ## Quickstart
20
22
 
21
23
  Using RUser in it's simplest form is as easy as calling:
22
24
 
23
25
  require 'ruser'
24
26
 
25
27
  ruser = RUser::Person.new
26
- user = ruser.random
27
28
 
28
- puts "This user is a #{user.gender}!"
29
+ puts "This user is a #{user.gender} named #{user.name.first_name}!"
29
30
 
30
31
  Then you can access any of the following user attributes:
31
32
 
@@ -54,21 +55,19 @@ Then you can access any of the following user attributes:
54
55
  - picture
55
56
  - seed
56
57
 
57
- If you want to request a male or female user specifically, call either the `.man` or `.woman` methods like so:
58
+ If you want to request a female or male user specifically, specify the `:gender` key in the options hash passed to `new`:
58
59
 
59
60
  require 'ruser'
60
61
 
61
- ruser = RUser::Person.new
62
- man = ruser.man
62
+ woman = RUser::Person.new({:gender => 'female'})
63
63
 
64
- woman = ruser.woman
64
+ man = RUser::Person.new({:gender => 'male'})
65
65
 
66
- If you want to request a specific user by their seed, simply call the `.lookup` method:
66
+ If you want to request a specific user by their seed, specify the `:seed` key in the options hash passed to `new`:
67
67
 
68
68
  require 'ruser'
69
69
 
70
- ruser = RUser::Person.new
71
- alberto = ruser.lookup('lazyWolf')
70
+ lazyWolf = RUser::Person.new({:seed => 'lazyWolf'})
72
71
 
73
72
  ## Contributing & Development
74
73
 
data/lib/ruser/api.rb CHANGED
@@ -1,6 +1,11 @@
1
1
  module RUser
2
+ # This module defines the RandomUser.me API constants used by classes.
3
+ # @author Simple App Group, LLC.
2
4
  module Api
3
- Url = 'http://api.randomuser.me'
5
+ # The URL for the API.
6
+ Url = 'http://api.randomuser.me'
7
+
8
+ # The version of the API that is used.
4
9
  Version = '0.3.2'
5
10
  end
6
11
  end
data/lib/ruser/person.rb CHANGED
@@ -3,32 +3,78 @@ require 'multi_json'
3
3
  require 'hashie'
4
4
 
5
5
  module RUser
6
+ # This class allows the creation of new users from the RandomUser.me API.
7
+ # @author Simple App Group, LLC.
6
8
  class Person
7
9
 
8
- def initialize
9
- self
10
- end
10
+ # @return [String] the user's gender, either male or female.
11
+ attr_reader :gender
11
12
 
12
- def random
13
- self.fetch
14
- end
13
+ # @return [Hash] the user's location including containing the :street, :city, :state, and :zip.
14
+ attr_reader :location
15
15
 
16
- def man
17
- options = { "gender" => "male" }
18
- self.fetch(options)
19
- end
16
+ # @return [Hash] the user's name including :title (Mr, Mrs, etc.), :first_name, and :last_name.
17
+ attr_reader :name
20
18
 
21
- def woman
22
- options = { "gender" => "female" }
23
- self.fetch(options)
24
- end
19
+ # @return [String] the user's email address.
20
+ attr_reader :email
25
21
 
26
- def lookup(seed = "")
27
- options = { "seed" => seed }
28
- self.fetch(options)
29
- end
22
+ # @return [String] the user's username.
23
+ attr_reader :username
24
+
25
+ # @return [String] the user's password.
26
+ attr_reader :password
27
+
28
+ # @return [String] the user's password salt.
29
+ attr_reader :salt
30
+
31
+ # @return [String] the md5 hash of the user's salted password.
32
+ attr_reader :md5
33
+
34
+ # @return [String] the sha1 hash of the user's salted password.
35
+ attr_reader :sha1
36
+
37
+ # @return [String] the sha256 hash of the user's salted password.
38
+ attr_reader :sha256
39
+
40
+ # @return [String] the date of the user's registration.
41
+ attr_reader :registered
42
+
43
+ # @return [String] the user's date of birth.
44
+ attr_reader :dob
45
+
46
+ # @return [String] the user's phone number.
47
+ attr_reader :phone
48
+
49
+ # @return [String] the user's cell phone number.
50
+ attr_reader :cell
51
+
52
+ # @return [String] the user's social security number.
53
+ attr_reader :ssn
54
+
55
+ # @return [String] the user's profile picture url.
56
+ attr_reader :picture
57
+
58
+ # @return [String] the user's unique seed which allows future calls for the same user.
59
+ attr_reader :seed
30
60
 
31
- def fetch(options = {})
61
+ # Creates a new person object
62
+ #
63
+ # @param [Hash] options a set of options to pass to the template
64
+ #
65
+ # @option options [String] :gender (nil) the user's gender
66
+ # @option options [String] :seed (nil) the user's unique seed value
67
+ #
68
+ # @example Create a random user
69
+ # Person.new()
70
+ # @example Create a male user
71
+ # Person.new({:gender => 'male'})
72
+ # @example Create a female user
73
+ # Person.new({:gender => 'female'})
74
+ # @example Create a specific user from a seed
75
+ # Person.new({:seed => 'lazyWolf'})
76
+ # @return [Person]
77
+ def initialize(options = {})
32
78
  params = options.map { |k,v| "#{k}=#{v}" }
33
79
  data = Hashie::Mash.new(MultiJson.load(RestClient.get [
34
80
  RUser::Api::Url,
@@ -36,29 +82,27 @@ module RUser
36
82
  "?" + params.join('&')
37
83
  ].join('/'))['results'][0])
38
84
 
39
- Hashie::Mash.new({
40
- "gender" => data.user.gender,
41
- "location" => data.user.location,
42
- "name" => {
43
- "title" => data.user.name.title,
44
- "first_name" => data.user.name['first'],
45
- "last_name" => data.user.name['last'],
46
- },
47
- "email" => data.user.email,
48
- "username" => data.user.username,
49
- "password" => data.user.password,
50
- "salt" => data.user.salt,
51
- "md5" => data.user.md5,
52
- "sha1" => data.user.sha1,
53
- "sha256" => data.user.sha256,
54
- "registered" => data.user.registered,
55
- "dob" => data.user.dob,
56
- "phone" => data.user.phone,
57
- "cell" => data.user.cell,
58
- "ssn" => data.user.SSN,
59
- "picture" => data.user.picture,
60
- "seed" => data.seed,
85
+ @gender = data.user.gender
86
+ @location = data.user.location
87
+ @name = Hashie::Mash.new({
88
+ "title" => data.user.name.title,
89
+ "first_name" => data.user.name['first'],
90
+ "last_name" => data.user.name['last']
61
91
  })
92
+ @email = data.user.email
93
+ @username = data.user.username
94
+ @password = data.user.password
95
+ @salt = data.user.salt
96
+ @md5 = data.user.md5
97
+ @sha1 = data.user.sha1
98
+ @sha256 = data.user.sha256
99
+ @registered = data.user.registered
100
+ @dob = data.user.dob
101
+ @phone = data.user.phone
102
+ @cell = data.user.cell
103
+ @ssn = data.user.SSN
104
+ @picture = data.user.picture
105
+ @seed = data.seed
62
106
  end
63
107
 
64
108
  end
data/lib/ruser/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module RUser
2
- Version = '0.0.1.1'
2
+ Version = '1.0.0'
3
3
  end
@@ -2,13 +2,10 @@ require 'ruser'
2
2
  require 'spec_helper'
3
3
 
4
4
  describe 'Person' do
5
- before do
6
- @person = RUser::Person.new
7
- end
8
5
 
9
6
  describe '.man' do
10
7
  before do
11
- @man = @person.man
8
+ @man = RUser::Person.new(gender: 'male')
12
9
  end
13
10
 
14
11
  it 'should return a male user' do
@@ -18,7 +15,7 @@ describe 'Person' do
18
15
 
19
16
  describe '.woman' do
20
17
  before do
21
- @woman = @person.woman
18
+ @woman = RUser::Person.new(gender: 'female')
22
19
  end
23
20
 
24
21
  it 'should return a female user' do
@@ -28,7 +25,7 @@ describe 'Person' do
28
25
 
29
26
  describe '.random' do
30
27
  before do
31
- @user = @person.random
28
+ @user = RUser::Person.new()
32
29
  end
33
30
 
34
31
  it 'should return a gendered user' do
@@ -38,7 +35,7 @@ describe 'Person' do
38
35
 
39
36
  describe '.lookup' do
40
37
  before do
41
- @user = @person.lookup('lazyWolf')
38
+ @user = RUser::Person.new(seed: 'lazyWolf')
42
39
  end
43
40
 
44
41
  it 'should have the first name alberto' do
metadata CHANGED
@@ -1,73 +1,73 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josh Kendall
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-26 00:00:00.000000000 Z
11
+ date: 2014-04-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: multi_json
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.9'
20
- - - '>='
20
+ - - ">="
21
21
  - !ruby/object:Gem::Version
22
22
  version: 1.9.2
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - ~>
27
+ - - "~>"
28
28
  - !ruby/object:Gem::Version
29
29
  version: '1.9'
30
- - - '>='
30
+ - - ">="
31
31
  - !ruby/object:Gem::Version
32
32
  version: 1.9.2
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: hashie
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - ~>
37
+ - - "~>"
38
38
  - !ruby/object:Gem::Version
39
39
  version: '2.0'
40
- - - '>='
40
+ - - ">="
41
41
  - !ruby/object:Gem::Version
42
42
  version: 2.0.5
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - ~>
47
+ - - "~>"
48
48
  - !ruby/object:Gem::Version
49
49
  version: '2.0'
50
- - - '>='
50
+ - - ">="
51
51
  - !ruby/object:Gem::Version
52
52
  version: 2.0.5
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: rest-client
55
55
  requirement: !ruby/object:Gem::Requirement
56
56
  requirements:
57
- - - ~>
57
+ - - "~>"
58
58
  - !ruby/object:Gem::Version
59
59
  version: '1.6'
60
- - - '>='
60
+ - - ">="
61
61
  - !ruby/object:Gem::Version
62
62
  version: 1.6.7
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - ~>
67
+ - - "~>"
68
68
  - !ruby/object:Gem::Version
69
69
  version: '1.6'
70
- - - '>='
70
+ - - ">="
71
71
  - !ruby/object:Gem::Version
72
72
  version: 1.6.7
73
73
  description: A gem to interact with the randomuser.me API.
@@ -94,18 +94,19 @@ require_paths:
94
94
  - lib
95
95
  required_ruby_version: !ruby/object:Gem::Requirement
96
96
  requirements:
97
- - - '>='
97
+ - - ">="
98
98
  - !ruby/object:Gem::Version
99
99
  version: '0'
100
100
  required_rubygems_version: !ruby/object:Gem::Requirement
101
101
  requirements:
102
- - - '>='
102
+ - - ">="
103
103
  - !ruby/object:Gem::Version
104
104
  version: '0'
105
105
  requirements: []
106
106
  rubyforge_project:
107
- rubygems_version: 2.2.2
107
+ rubygems_version: 2.2.0
108
108
  signing_key:
109
109
  specification_version: 4
110
110
  summary: Random User Generator API
111
111
  test_files: []
112
+ has_rdoc: