factory-helper 1.6.5 → 1.6.6

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