factory-helper 1.6.5 → 1.6.6

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,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: f57a923692f024f17300873118c6af560955ed74
4
- data.tar.gz: 75e4d205726d9d7e5c1e655ddbbbc0ddec07cade
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ MDllZDFkMWY4MTAzZTQ1MmQ2ZGRmOTNjMTE3NmJiZmFlNmZkM2RhYQ==
5
+ data.tar.gz: !binary |-
6
+ ZjZkMzRlMzJiYmNmYWY4YWQ5MmM5NDJiNTE4YjIyNGEzOTc4MjVkZA==
5
7
  SHA512:
6
- metadata.gz: 47a88cec53a267d53f66ff9ca67941a583ebeec01ada96c2325a4f8c1ee613dd403a034f54152d8ef045e31b307853461bd5cf48b3fc49b685b34312939687aa
7
- data.tar.gz: 9dac8077faa729b282fa3dfe46ade778ca7b6756e55c989c3dbe67f643c2e339d424677c1bab4bcbf36a14e2b3d48354f464112505bd5ae4051bb2b99a14c736
8
+ metadata.gz: !binary |-
9
+ ZjZkM2JiOTJlMGJhODVmOTc2ZDMzNmYyMDJlZjQxNDQyYTE5NTUyMmM5ZWVi
10
+ MGNkZTg4ZGYzMjNjYWQxMmM3NzYxMGRmZjMxMGQzY2JiNzQxN2E1NzdjMjcw
11
+ MDk1YjZkODczNWNmOGM1YmI0YjZmNzNiNGM2N2NlYjJkODk1MmU=
12
+ data.tar.gz: !binary |-
13
+ MWVlZjZhOWY5ZjNiZDlmODIwMjQ3NmJkOTY3NjA3NDAwMzk4NDBkYjQwYmRh
14
+ NmQ0YzQwNTNiZTczNmZmMjVhNzBiNWIwYjdiZmEyOTdlMmQ2NWQzMWZhYjcy
15
+ N2YzYjRlZmM2MGI3MDk3ZGQ4Y2VhZGZjMWEwNmE2NmE4ZDZlODc=
data/README.md CHANGED
@@ -35,6 +35,19 @@ FactoryHelper::Name.name #=> "Christophe Bartell"
35
35
  FactoryHelper::Internet.email #=> "kirsten.greenholt@corkeryfisher.info"
36
36
  ```
37
37
 
38
+ ###FactoryHelper::String
39
+ -----------------
40
+
41
+ Random UTF-8 string with an optional length argument
42
+
43
+ ```ruby
44
+ FactoryHelper::String.random #=> "3 뇦\u0017&y\u{3A109}$8^4* 녹豿4좘툢ꔾ쉙6ɉ\uA6F8TN畀챵|\"3쇤Ŵ"
45
+ FactoryHelper::String.random(4) #=> "⼨%0*"
46
+ FactoryHelper::String.random(3..12) #=> "\u{69FDC};秨툫"
47
+ FactoryHelper::String.random([0, 6]) #=> "I轤𣴒P溟L"
48
+ ```
49
+
50
+
38
51
  ###FactoryHelper::Address
39
52
  -----------------
40
53
 
@@ -35,7 +35,7 @@ module FactoryHelper
35
35
  private
36
36
 
37
37
  def get_date_object(date)
38
- date = ::Date.parse(date) if date.is_a?(String)
38
+ date = ::Date.parse(date) if date.is_a?(::String)
39
39
  date = date.to_date if date.respond_to?(:to_date)
40
40
  date
41
41
  end
@@ -15,7 +15,7 @@ module FactoryHelper
15
15
  end
16
16
 
17
17
  def user_name(specifier = nil, separators = %w(. _))
18
- if specifier.kind_of? String
18
+ if specifier.kind_of? ::String
19
19
  return specifier.scan(/\w+/).shuffle.join(separators.sample).downcase
20
20
  elsif specifier.kind_of? Integer
21
21
  tries = 0 # Don't try forever in case we get something like 1_000_000.
@@ -0,0 +1,28 @@
1
+ module FactoryHelper
2
+ class String
3
+ def self.random(length= 32)
4
+ if length.class.included_modules.include? Enumerable
5
+ utf8string length.to_enum.to_a.sample
6
+ else
7
+ utf8string length
8
+ end
9
+ end
10
+
11
+ protected
12
+
13
+ def self.utf8string(length)
14
+ (1..length.to_i).map do |_|
15
+ characters.sample.chr(Encoding::UTF_8)
16
+ end.join.force_encoding("UTF-8")
17
+ end
18
+
19
+ def self.characters
20
+ [
21
+ rand(59)+ 32, # latin alphabet
22
+ rand(128), # 7-bit ASCII
23
+ rand(0xd800), # utf-8 codepoints below utf-16 surrogate halves
24
+ rand(0x102000)+ 0xe000 # utf-8 codepoints above utf-16 surrogate halves
25
+ ]
26
+ end
27
+ end
28
+ end
@@ -1,3 +1,3 @@
1
1
  module FactoryHelper #:nodoc:
2
- VERSION = "1.6.5"
2
+ VERSION = "1.6.6"
3
3
  end
@@ -179,3 +179,4 @@ require_relative 'factory-helper/number'
179
179
  require_relative 'factory-helper/hacker'
180
180
  require_relative 'factory-helper/app'
181
181
  require_relative 'factory-helper/slack_emoji'
182
+ require_relative 'factory-helper/string'
metadata CHANGED
@@ -1,101 +1,101 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: factory-helper
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.5
4
+ version: 1.6.6
5
5
  platform: ruby
6
6
  authors:
7
- - Brian Giaraffa
8
7
  - Nikita Avvakumov
8
+ - Brian Giaraffa
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-05-20 00:00:00.000000000 Z
12
+ date: 2015-05-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - "~>"
18
+ - - ~>
19
19
  - !ruby/object:Gem::Version
20
20
  version: '1.7'
21
21
  type: :development
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - "~>"
25
+ - - ~>
26
26
  - !ruby/object:Gem::Version
27
27
  version: '1.7'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: rake
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - "~>"
32
+ - - ~>
33
33
  - !ruby/object:Gem::Version
34
34
  version: '10.0'
35
35
  type: :development
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - "~>"
39
+ - - ~>
40
40
  - !ruby/object:Gem::Version
41
41
  version: '10.0'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: pry
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - "~>"
46
+ - - ~>
47
47
  - !ruby/object:Gem::Version
48
48
  version: '0.10'
49
49
  type: :development
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - "~>"
53
+ - - ~>
54
54
  - !ruby/object:Gem::Version
55
55
  version: '0.10'
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: coveralls
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - "~>"
60
+ - - ~>
61
61
  - !ruby/object:Gem::Version
62
62
  version: '0.8'
63
63
  type: :development
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: '0.8'
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: rspec
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - "~>"
74
+ - - ~>
75
75
  - !ruby/object:Gem::Version
76
76
  version: '3.2'
77
77
  type: :development
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
- - - "~>"
81
+ - - ~>
82
82
  - !ruby/object:Gem::Version
83
83
  version: '3.2'
84
84
  - !ruby/object:Gem::Dependency
85
85
  name: i18n
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
- - - "~>"
88
+ - - ~>
89
89
  - !ruby/object:Gem::Version
90
90
  version: '0.7'
91
91
  type: :runtime
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
- - - "~>"
95
+ - - ~>
96
96
  - !ruby/object:Gem::Version
97
97
  version: '0.7'
98
- description: 'Easily generate fake data: names, addresses, phone numbers, etc.'
98
+ description: ! 'Easily generate fake data: names, addresses, phone numbers, etc.'
99
99
  email:
100
100
  - factory-helper@googlegroups.com
101
101
  executables: []
@@ -123,6 +123,7 @@ files:
123
123
  - lib/factory-helper/number.rb
124
124
  - lib/factory-helper/phone_number.rb
125
125
  - lib/factory-helper/slack_emoji.rb
126
+ - lib/factory-helper/string.rb
126
127
  - lib/factory-helper/team.rb
127
128
  - lib/factory-helper/time.rb
128
129
  - lib/factory-helper/version.rb
@@ -164,17 +165,17 @@ require_paths:
164
165
  - lib
165
166
  required_ruby_version: !ruby/object:Gem::Requirement
166
167
  requirements:
167
- - - ">="
168
+ - - ! '>='
168
169
  - !ruby/object:Gem::Version
169
170
  version: 1.9.3
170
171
  required_rubygems_version: !ruby/object:Gem::Requirement
171
172
  requirements:
172
- - - ">="
173
+ - - ! '>='
173
174
  - !ruby/object:Gem::Version
174
175
  version: '0'
175
176
  requirements: []
176
177
  rubyforge_project:
177
- rubygems_version: 2.4.4
178
+ rubygems_version: 2.4.3
178
179
  signing_key:
179
180
  specification_version: 4
180
181
  summary: Easily generate fake data