ruser 1.2.1 → 2.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: 8e8eba9fe44aa8e998af540389631a8bbad3a63e
4
- data.tar.gz: 0d5dd2b7363b2cf2e7822faa838adb36b551a08c
3
+ metadata.gz: ac0adee67ca417561b3940f51253dccdb9926d34
4
+ data.tar.gz: debb50a7f367aa4449f6f5654c908684d7ecf612
5
5
  SHA512:
6
- metadata.gz: a62fc7fc5f7c3bf8a52ffac1aa8fae551c94641f0eb01ec696b8fe7d6389b0a56d3fc66693bb8b29f7c172ba851c49c9af59edbdddaa1b30a33147c4f2d0d3eb
7
- data.tar.gz: bf54c1ad8929765489281c01780b598a71f279ea021911f8ed0129e55ab17973ee9efe89f39d728145c9cb9125293b37619b80d17e7d89379e2de6919e8cdfa9
6
+ metadata.gz: 0b7fa1a2fde29ffdb963e38991db483a61ea80ba869a25772a342916b76701bfda1192a072d86ac45c91d63d10a1a8d37d0267fecb4d1385add916ded607efd5
7
+ data.tar.gz: e20e91928be218f9c0330f8430a153027798c16c6793859a073237a72eaa30a12151a9e0a0cff29fd67ef68219e2c5aa8eb899656523fe32de3baf1fb7df0736
@@ -1,5 +1,51 @@
1
1
  module RUser
2
- autoload :Version, 'ruser/version'
3
- autoload :Api, 'ruser/api'
4
- autoload :Person, 'ruser/person'
2
+ require 'ruser/version'
3
+ require 'ruser/api'
4
+ require 'ruser/person'
5
+
6
+ # Creates a new Ruser object
7
+ #
8
+ # @param [Hash] options a set of options to pass to the template
9
+ #
10
+ # @option options [String] :gender (nil) the user's gender
11
+ # @option options [String] :seed (nil) the user's unique seed value
12
+ # @option options [String] :limit (1) the number of results to return
13
+ #
14
+ # @example Create a random user
15
+ # Person.new()
16
+ # @example Create a male user
17
+ # Person.new({:gender => 'male'})
18
+ # @example Create a female user
19
+ # Person.new({:gender => 'female'})
20
+ # @example Create a specific user from a seed
21
+ # Person.new({:seed => 'lazyWolf'})
22
+ # @example Create three users
23
+ # Person.new({:results=> 3})
24
+ # @example Create three male users
25
+ # Person.new({:results=> 3. :gender => 'male'})
26
+ # @return [Person]
27
+ def self.new(options = {})
28
+ if options.has_key?('results')
29
+ if options[:results] > 40
30
+ options[:results] = 40
31
+ end
32
+ end
33
+
34
+ params = options.map { |k,v| "#{k}=#{v}" }
35
+
36
+ data = MultiJson.load(RestClient.get [
37
+ RUser::Api::Url,
38
+ RUser::Api::Version,
39
+ "?" + params.join('&')
40
+ ].join('/'))['results']
41
+
42
+ results = []
43
+
44
+ data.each do |user|
45
+ results << RUser::Person.new(Hashie::Mash.new(user))
46
+ end
47
+
48
+ results
49
+ end
50
+
5
51
  end
@@ -62,28 +62,9 @@ module RUser
62
62
 
63
63
  # Creates a new person object
64
64
  #
65
- # @param [Hash] options a set of options to pass to the template
66
- #
67
- # @option options [String] :gender (nil) the user's gender
68
- # @option options [String] :seed (nil) the user's unique seed value
69
- #
70
- # @example Create a random user
71
- # Person.new()
72
- # @example Create a male user
73
- # Person.new({:gender => 'male'})
74
- # @example Create a female user
75
- # Person.new({:gender => 'female'})
76
- # @example Create a specific user from a seed
77
- # Person.new({:seed => 'lazyWolf'})
65
+ # @param [Hash] data the data used to create the user
78
66
  # @return [Person]
79
- def initialize(options = {})
80
- params = options.map { |k,v| "#{k}=#{v}" }
81
- data = Hashie::Mash.new(MultiJson.load(RestClient.get [
82
- RUser::Api::Url,
83
- RUser::Api::Version,
84
- "?" + params.join('&')
85
- ].join('/'))['results'][0])
86
-
67
+ def initialize(data)
87
68
  @gender = data.user.gender
88
69
  @location = Hashie::Mash.new({
89
70
  "street" => data.user.location.street,
@@ -1,3 +1,3 @@
1
1
  module RUser
2
- Version = '1.2.1'
2
+ Version = '2.0.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruser
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 2.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-07-17 00:00:00.000000000 Z
11
+ date: 2014-11-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: multi_json
@@ -92,4 +92,3 @@ signing_key:
92
92
  specification_version: 4
93
93
  summary: Random User Generator API
94
94
  test_files: []
95
- has_rdoc: