faker 2.8.0 → 2.8.1

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.
@@ -5,7 +5,17 @@ module Faker
5
5
  flexible :chuck_norris
6
6
 
7
7
  class << self
8
- # from: https://github.com/jenkinsci/chucknorris-plugin/blob/master/src/main/java/hudson/plugins/chucknorris/FactGenerator.java
8
+ # Produces a Chuck Norris Fact.
9
+ # Original list of facts:
10
+ # https://github.com/jenkinsci/chucknorris-plugin/blob/master/src/main/java/hudson/plugins/chucknorris/FactGenerator.java
11
+ #
12
+ # @return [String]
13
+ #
14
+ # @example
15
+ # Faker::ChuckNorris.fact
16
+ # #=> "Chuck Norris can solve the Towers of Hanoi in one move."
17
+ #
18
+ # @faker.version 1.6.4
9
19
  def fact
10
20
  fetch('chuck_norris.fact')
11
21
  end
@@ -3,27 +3,74 @@
3
3
  module Faker
4
4
  class Color < Base
5
5
  class << self
6
+ ##
7
+ # Produces a hex color code.
8
+ #
9
+ # @return [String]
10
+ #
11
+ # @example
12
+ # Faker::Color.hex_color #=> "#31a785"
13
+ #
14
+ # @faker.version 1.5.0
6
15
  def hex_color
7
16
  format('#%06x', (rand * 0xffffff))
8
17
  end
9
18
 
19
+ ##
20
+ # Produces the name of a color.
21
+ #
22
+ # @return [String]
23
+ #
24
+ # @example
25
+ # Faker::Color.color_name #=> "yellow"
26
+ #
27
+ # @faker.version 1.6.2
10
28
  def color_name
11
29
  fetch('color.name')
12
30
  end
13
31
 
32
+ # @private
14
33
  def single_rgb_color
15
34
  sample((0..255).to_a)
16
35
  end
17
36
 
37
+ ##
38
+ # Produces an array of integers representing an RGB color.
39
+ #
40
+ # @return [Array(Integer, Integer, Integer)]
41
+ #
42
+ # @example
43
+ # Faker::Color.rgb_color #=> [54, 233, 67]
44
+ #
45
+ # @faker.version 1.5.0
18
46
  def rgb_color
19
47
  Array.new(3) { single_rgb_color }
20
48
  end
21
49
 
22
- # returns [hue, saturation, lightness]
50
+ ##
51
+ # Produces an array of floats representing an HSL color.
52
+ # The array is in the form of `[hue, saturation, lightness]`.
53
+ #
54
+ # @return [Array(Float, Float, Float)]
55
+ #
56
+ # @example
57
+ # Faker::Color.hsl_color #=> [69.87, 0.66, 0.3]
58
+ #
59
+ # @faker.version 1.5.0
23
60
  def hsl_color
24
61
  [sample((0..360).to_a), rand.round(2), rand.round(2)]
25
62
  end
26
63
 
64
+ ##
65
+ # Produces an array of floats representing an HSLA color.
66
+ # The array is in the form of `[hue, saturation, lightness, alpha]`.
67
+ #
68
+ # @return [Array(Float, Float, Float, Float)]
69
+ #
70
+ # @example
71
+ # Faker::Color.hsla_color #=> [154.77, 0.36, 0.9, 0.2]
72
+ #
73
+ # @faker.version 1.5.0
27
74
  def hsla_color
28
75
  hsl_color << rand.round(1)
29
76
  end
@@ -5,14 +5,41 @@ require 'digest'
5
5
  module Faker
6
6
  class Crypto < Base
7
7
  class << self
8
+ ##
9
+ # Produces an MD5 hash.
10
+ #
11
+ # @return [String]
12
+ #
13
+ # @example
14
+ # Faker::Crypto.md5 #=> "6b5ed240042e8a65c55ddb826c3408e6"
15
+ #
16
+ # @faker.version 1.6.4
8
17
  def md5
9
18
  Digest::MD5.hexdigest(Lorem.characters)
10
19
  end
11
20
 
21
+ ##
22
+ # Produces a SHA1 hash.
23
+ #
24
+ # @return [String]
25
+ #
26
+ # @example
27
+ # Faker::Crypto.sha1 #=> "4e99e31c51eef8b2d290e709f757f92e558a503f"
28
+ #
29
+ # @faker.version 1.6.4
12
30
  def sha1
13
31
  Digest::SHA1.hexdigest(Lorem.characters)
14
32
  end
15
33
 
34
+ ##
35
+ # Produces a SHA256 hash.
36
+ #
37
+ # @return [String]
38
+ #
39
+ # @example
40
+ # Faker::Crypto.sha256 #=> "51e4dbb424cd9db1ec5fb989514f2a35652ececef33f21c8dd1fd61bb8e3929d"
41
+ #
42
+ # @faker.version 1.6.4
16
43
  def sha256
17
44
  Digest::SHA256.hexdigest(Lorem.characters)
18
45
  end
@@ -3,14 +3,41 @@
3
3
  module Faker
4
4
  class Currency < Base
5
5
  class << self
6
+ ##
7
+ # Produces the name of a currency.
8
+ #
9
+ # @return [String]
10
+ #
11
+ # @example
12
+ # Faker::Currency.name #=> "Swedish Krona"
13
+ #
14
+ # @faker.version 1.9.0
6
15
  def name
7
16
  fetch('currency.name')
8
17
  end
9
18
 
19
+ ##
20
+ # Produces a currency code.
21
+ #
22
+ # @return [String]
23
+ #
24
+ # @example
25
+ # Faker::Currency.code #=> "USD"
26
+ #
27
+ # @faker.version 1.9.0
10
28
  def code
11
29
  fetch('currency.code')
12
30
  end
13
31
 
32
+ ##
33
+ # Produces a currency symbol.
34
+ #
35
+ # @return [String]
36
+ #
37
+ # @example
38
+ # Faker::Currency.symbol #=> "$"
39
+ #
40
+ # @faker.version 1.9.0
14
41
  def symbol
15
42
  fetch('currency.symbol')
16
43
  end
@@ -3,26 +3,83 @@
3
3
  module Faker
4
4
  class Demographic < Base
5
5
  class << self
6
+ ##
7
+ # Produces the name of a race.
8
+ #
9
+ # @return [String]
10
+ #
11
+ # @example
12
+ # Faker::Demographic.race #=> "Native Hawaiian or Other Pacific Islander"
13
+ #
14
+ # @faker.version 1.7.3
6
15
  def race
7
16
  fetch('demographic.race')
8
17
  end
9
18
 
19
+ ##
20
+ # Produces a level of educational attainment.
21
+ #
22
+ # @return [String]
23
+ #
24
+ # @example
25
+ # Faker::Demographic.educational_attainment #=> "GED or alternative credential"
26
+ #
27
+ # @faker.version 1.7.3
10
28
  def educational_attainment
11
29
  fetch('demographic.educational_attainment')
12
30
  end
13
31
 
32
+ ##
33
+ # Produces a denonym.
34
+ #
35
+ # @return [String]
36
+ #
37
+ # @example
38
+ # Faker::Demographic.denonym #=> "Panamanian"
39
+ #
40
+ # @faker.version 1.7.3
14
41
  def demonym
15
42
  fetch('demographic.demonym')
16
43
  end
17
44
 
45
+ ##
46
+ # Produces a marital status.
47
+ #
48
+ # @return [String]
49
+ #
50
+ # @example
51
+ # Faker::Demographic.marital_status #=> "Widowed"
52
+ #
53
+ # @faker.version 1.7.3
18
54
  def marital_status
19
55
  fetch('demographic.marital_status')
20
56
  end
21
57
 
58
+ ##
59
+ # Produces a sex for demographic purposes.
60
+ #
61
+ # @return [String]
62
+ #
63
+ # @example
64
+ # Faker::Demographic.sex #=> "Female"
65
+ #
66
+ # @faker.version 1.7.3
22
67
  def sex
23
68
  fetch('demographic.sex')
24
69
  end
25
70
 
71
+ ##
72
+ # Produces a height as a string.
73
+ #
74
+ # @param unit [Symbol] either `:metric` or `imperial`.
75
+ # @return [String]
76
+ #
77
+ # @example
78
+ # Faker::Demographic.height #=> "1.61"
79
+ # @example
80
+ # Faker::Demographic.height(unit: :imperial) #=> "6 ft, 2 in"
81
+ #
82
+ # @faker.version 1.7.3
26
83
  def height(legacy_unit = NOT_GIVEN, unit: :metric)
27
84
  warn_for_deprecated_arguments do |keywords|
28
85
  keywords << :unit if legacy_unit != NOT_GIVEN
@@ -5,30 +5,84 @@ module Faker
5
5
  flexible :educator
6
6
 
7
7
  class << self
8
+ ##
9
+ # Produces a university name.
10
+ #
11
+ # @return [String]
12
+ #
13
+ # @example
14
+ # Faker::Educator.university #=> "Mallowtown Technical College"
15
+ #
16
+ # @faker.version 1.6.4
8
17
  def university
9
- "#{parse('educator.name')} #{fetch('educator.tertiary.type')}"
18
+ parse('educator.university')
10
19
  end
11
20
 
21
+ ##
22
+ # Produces a university degree.
23
+ #
24
+ # @return [String]
25
+ #
26
+ # @example
27
+ # Faker::Educator.degree #=> "Associate Degree in Criminology"
28
+ #
29
+ # @faker.version 1.9.2
12
30
  def degree
13
- "#{fetch('educator.tertiary.degree.type')} #{fetch('educator.tertiary.degree.subject')}"
31
+ parse('educator.degree')
14
32
  end
15
33
 
16
34
  alias course degree
17
35
 
36
+ ##
37
+ # Produces a university subject.
38
+ #
39
+ # @return [String]
40
+ #
41
+ # @example
42
+ # Faker::Educator.subject #=> "Criminology"
43
+ #
44
+ # @faker.version 1.9.2
18
45
  def subject
19
- fetch('educator.tertiary.degree.subject')
46
+ fetch('educator.subject')
20
47
  end
21
48
 
49
+ ##
50
+ # Produces a course name.
51
+ #
52
+ # @return [String]
53
+ #
54
+ # @example
55
+ # Faker::Educator.course_name #=> "Criminology 101"
56
+ #
57
+ # @faker.version 1.9.2
22
58
  def course_name
23
- "#{fetch('educator.tertiary.degree.subject')} #{numerify(fetch('educator.tertiary.degree.course_number'))}"
59
+ numerify(parse('educator.course_name'))
24
60
  end
25
61
 
62
+ ##
63
+ # Produces a secondary school.
64
+ #
65
+ # @return [String]
66
+ #
67
+ # @example
68
+ # Faker::Educator.secondary_school #=> "Iceborough Secondary College"
69
+ #
70
+ # @faker.version 1.6.4
26
71
  def secondary_school
27
- "#{parse('educator.name')} #{fetch('educator.secondary')}"
72
+ parse('educator.secondary_school')
28
73
  end
29
74
 
75
+ ##
76
+ # Produces a campus name.
77
+ #
78
+ # @return [String]
79
+ #
80
+ # @example
81
+ # Faker::Educator.campus #=> "Vertapple Campus"
82
+ #
83
+ # @faker.version 1.6.4
30
84
  def campus
31
- "#{parse('educator.name')} Campus"
85
+ parse('educator.campus')
32
86
  end
33
87
  end
34
88
  end
@@ -3,22 +3,67 @@
3
3
  module Faker
4
4
  class Esport < Base
5
5
  class << self
6
+ ##
7
+ # Produces the name of a professional eSports player.
8
+ #
9
+ # @return [String]
10
+ #
11
+ # @example
12
+ # Faker::Esport.player #=> "Crimsix"
13
+ #
14
+ # @faker.version 1.7.0
6
15
  def player
7
16
  fetch('esport.players')
8
17
  end
9
18
 
19
+ ##
20
+ # Produces the name of an eSports team.
21
+ #
22
+ # @return [String]
23
+ #
24
+ # @example
25
+ # Faker::Esport.team #=> "CLG"
26
+ #
27
+ # @faker.version 1.7.0
10
28
  def team
11
29
  fetch('esport.teams')
12
30
  end
13
31
 
32
+ ##
33
+ # Produces the name of an eSports league.
34
+ #
35
+ # @return [String]
36
+ #
37
+ # @example
38
+ # Faker::Esport.league #=> "IEM"
39
+ #
40
+ # @faker.version 1.7.0
14
41
  def league
15
42
  fetch('esport.leagues')
16
43
  end
17
44
 
45
+ ##
46
+ # Produces the name of an eSports event.
47
+ #
48
+ # @return [String]
49
+ #
50
+ # @example
51
+ # Faker::Esport.event #=> "ESL Cologne"
52
+ #
53
+ # @faker.version 1.7.0
18
54
  def event
19
55
  fetch('esport.events')
20
56
  end
21
57
 
58
+ ##
59
+ # Produces the name of a game played as an eSport.
60
+ #
61
+ # @return [String]
62
+ #
63
+ # @example
64
+ # Faker::Esport.game #=> "Dota 2"
65
+ #
66
+ # @faker.version 1.7.0
22
67
  def game
23
68
  fetch('esport.games')
24
69
  end
@@ -4,8 +4,29 @@ module Faker
4
4
  class Fillmurray < Base
5
5
  class << self
6
6
  # rubocop:disable Metrics/ParameterLists
7
+
8
+ ##
9
+ # Produces the URL of an image from Fill Murray, a site which hosts
10
+ # exclusively photographs of actor Bill Murray.
11
+ #
12
+ # @param grayscale [Boolean] Whether to return a grayscale image.
13
+ # @param width [Integer] The iamage width.
14
+ # @param height [Integer] The image height.
15
+ # @return [String]
16
+ #
17
+ # @example
18
+ # Faker::Fillmurray.image #=> "https://www.fillmurray.com/300/300"
19
+ #
20
+ # @example
21
+ # Faker::Fillmurray.image(grayscale: true)
22
+ # #=> "https://fillmurray.com/g/300/300"
23
+ #
24
+ # @example
25
+ # Faker::Fillmurray.image(grayscale: false, width: 200, height: 400)
26
+ # #=> "https://fillmurray.com/200/400"
27
+ #
28
+ # @faker.version 1.7.1
7
29
  def image(legacy_grayscale = NOT_GIVEN, legacy_width = NOT_GIVEN, legacy_height = NOT_GIVEN, grayscale: false, width: 200, height: 200)
8
- # rubocop:enable Metrics/ParameterLists
9
30
  warn_for_deprecated_arguments do |keywords|
10
31
  keywords << :grayscale if legacy_grayscale != NOT_GIVEN
11
32
  keywords << :width if legacy_width != NOT_GIVEN
@@ -18,6 +39,7 @@ module Faker
18
39
 
19
40
  "https://www.fillmurray.com#{'/g' if grayscale == true}/#{width}/#{height}"
20
41
  end
42
+ # rubocop:enable Metrics/ParameterLists
21
43
  end
22
44
  end
23
45
  end