rfauxfactory 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 479a4e1571b9372bb214ae7eb814d508f79931b5
4
- data.tar.gz: 480f1241c25681d53aecf8222e0d6e254e705b91
3
+ metadata.gz: 02b7bd9150e8aa01992540564645e23515e8ef63
4
+ data.tar.gz: 4b58b11c07cfd47cbcba4b0934fd006cb945f440
5
5
  SHA512:
6
- metadata.gz: 1473769795591cfacd25494d7b792fb1c7851aa0dbb93d76e5ee877f7d3ad06d398440ab2358ac94ca269af3784473b19b06e7eb2987acb90db64f903607d850
7
- data.tar.gz: a50d2a0fae2383f52d25bce68342a17b05bda60a3bb43ada34cd69e022d54da3dc277489db90985e2034b01a3ab4f0f4d70b137fb610265e4dbc052243c3eed2
6
+ metadata.gz: c697b35fbedcf5c67ce07b066f94bc448637f86f36f2dd23740ac8756fb4b8de0bbd895a0e75141ddcc1226512ce7ab671080ae60160c9cff224981ad6e8bb0e
7
+ data.tar.gz: 5701b714feded6ff6d557bb9caf5803d95160143aae8e2c60759429b9fd3738c1eca739045560822447d216e67d7a03852cb6bfd3e75f9634512b65eca9d1a8d
data/README.rst CHANGED
@@ -74,6 +74,81 @@ allowed string types are:
74
74
 
75
75
  RFauxFactory.gen_string :alpha, 20 => "TuxtvmNwrfbuGaaQSEnM"
76
76
 
77
+ Generate Strings of all the supported types
78
+ +++++++++++++++++++++++++++++++++++++++++++
79
+
80
+ - With default fixed length 10:
81
+
82
+ .. code-block:: ruby
83
+
84
+ RFauxFactory.gen_strings
85
+ => {:alpha=>"RoRHnHUkPO",
86
+ :alphanumeric=>"nr6SVx2up1",
87
+ :cjk=>"勷笃儽痖跂飣煾籄綔庋",
88
+ :cyrillic=>"ҕФҒқьѾљһІЏ",
89
+ :html=>"<big>YhtxODnoFs</big>",
90
+ :latin1=>"ÝäÈØÓÌãÝÙÌ",
91
+ :numeric=>"6684366145",
92
+ :utf8=>"㓆녵냔𫣾𝝙𦚾쬠𗧛䰢쭱",
93
+ :punctuation=>"{<;%-:\\<_]"}
94
+
95
+
96
+ - With custom fixed length:
97
+
98
+ .. code-block:: ruby
99
+
100
+ RFauxFactory.gen_strings 20
101
+ => {:alpha=>"tXuyblxhHVvxSStxHRqe",
102
+ :alphanumeric=>"EbBUUPl7xZP7OC1uZi5B",
103
+ :cjk=>"圠黄炵鍁寥礟瓢丽粐遵暋歞乽匨霜謟姈迴楩螯",
104
+ :cyrillic=>"ѻҢӍҩӷѣӼ҈ңФфѡӮЖѽҧѴџӋҎ",
105
+ :html=>"<span>YMDuJumImvDvxKocHUwE</span>",
106
+ :latin1=>"ïõêáÃÁÄÃõäêúÈÀÛÃúýïå",
107
+ :numeric=>"66662825266228221074",
108
+ :utf8=>"𠲹橝𨖟𐌿𬩱𡁲𤅽㺷𪯠𨨮𢡙𪵾獄𦩸𑈂𤉪𗔋妶ꯡಖ",
109
+ :punctuation=>"\\,&{($|>`@_^!_{&$=]>"}
110
+
111
+ - With custom range length:
112
+
113
+ .. code-block:: ruby
114
+
115
+ RFauxFactory.gen_strings (3..30)
116
+ => {:alpha=>"humyNICJnf",
117
+ :alphanumeric=>"hWraGEsBPrELdKI0x0CVpRMak",
118
+ :cjk=>"烩稟醎渍葼釃枆鄴锐窫角菧妻慗饏镂鮺镬嬦",
119
+ :cyrillic=>"хђѫӬӷӮюЕѸ",
120
+ :html=>"<blink>yweAKvPxpTQAzRWCDAmxiyJ</blink>",
121
+ :latin1=>"ÁóÁ",
122
+ :numeric=>"626134543753572648033525",
123
+ :utf8=>"ⱴ嫆𡋹𡗸",
124
+ :punctuation=>"&@;??}:|\\@\"`[.+\\+|"}
125
+
126
+ - With excluding some string types:
127
+
128
+ .. code-block:: ruby
129
+
130
+ RFauxFactory.gen_strings exclude: [:html, :punctuation]
131
+ => {:alpha=>"IBlbvJkYQP",
132
+ :alphanumeric=>"3KZHRSgbcB",
133
+ :cjk=>"儫魹咳崙訔船鲓撊郸猡",
134
+ :cyrillic=>"ӡҁӇѯӇӫэЗыѳ",
135
+ :latin1=>"ìÜóÌáÓÛéÀâ",
136
+ :numeric=>"8140474314",
137
+ :utf8=>"𫐖𦷘𣒣瑩竰誎請𠼎粢裤"}
138
+
139
+
140
+ - We can also combine length and exclude options:
141
+
142
+ .. code-block:: ruby
143
+
144
+ RFauxFactory.gen_strings (3..30), exclude: [:html, :punctuation]
145
+ => {:alpha=>"aLc",
146
+ :alphanumeric=>"wbfFxoQrL4TOpd8r5",
147
+ :cjk=>"灢汍袌姩饇狶肌胃穨煍灔舨纡訴鷂彜窟趫",
148
+ :cyrillic=>"ҥӤѪѦҫОПӿ",
149
+ :latin1=>"ÌÙÕðñúÚõáÌÉ",
150
+ :numeric=>"01526437887562321",
151
+ :utf8=>"柚ᖹ𪮅捰Ʋ"}
77
152
 
78
153
  Generate bool values:
79
154
  +++++++++++++++++++++
@@ -1,3 +1,3 @@
1
1
  module RFauxFactory
2
- VERSION = "0.1.3".freeze
2
+ VERSION = "0.1.4".freeze
3
3
  end
data/lib/rfauxfactory.rb CHANGED
@@ -32,9 +32,20 @@ module RFauxFactory
32
32
  end.join
33
33
  end
34
34
 
35
- def positive_int!(length)
36
- raise TypeError, 'length is not of type Integer' unless length.is_a? Integer
37
- raise ArgumentError, 'length must be a positive integer' if length <= 0
35
+ def positive_int!(length, name: 'length')
36
+ raise TypeError, "#{name} is not of type Integer" unless length.is_a?(Integer)
37
+ raise ArgumentError, "#{name} must be a positive integer" unless length > 0
38
+ end
39
+
40
+ def positive_int_or_range!(length)
41
+ raise TypeError, "length must be Integer or Range" unless length.is_a?(Integer) || length.is_a?(Range)
42
+ if length.is_a?(Integer)
43
+ positive_int! length
44
+ else
45
+ raise ArgumentError, "Bad length range" if length.size.nil? || length.size.zero?
46
+ positive_int! length.first, name: 'length.first'
47
+ positive_int! length.last, name: 'length.last'
48
+ end
38
49
  end
39
50
 
40
51
  public
@@ -100,13 +111,12 @@ module RFauxFactory
100
111
  end
101
112
 
102
113
  # Generates a list of different input strings.
103
- def gen_strings(length = nil, exclude: [], min_length: 3, max_length: 30)
104
- raise ArgumentError, "exclude must be an Array" unless exclude.is_a?(Array)
105
- positive_int! min_length
106
- positive_int! max_length
107
- raise ArgumentError, "max_length must be greater than min_length" unless max_length > min_length
108
- RFauxFactory::STRING_TYPES.keys.reject { |str_type| exclude.include?(str_type) }.map do |str_type|
109
- str_length = length.nil? ? rand((min_length..max_length)) : length
114
+ def gen_strings(length = 10, exclude: [])
115
+ positive_int_or_range! length
116
+ raise TypeError, "exclude must be an Array" unless exclude.is_a?(Array)
117
+ str_types = RFauxFactory::STRING_TYPES.keys.reject { |str_type| exclude.include?(str_type) }
118
+ str_types.map do |str_type|
119
+ str_length = length.is_a?(Range) ? rand(length) : length
110
120
  [str_type, gen_string(str_type, str_length)]
111
121
  end.to_h
112
122
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rfauxfactory
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Og Maciel
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-03-01 00:00:00.000000000 Z
11
+ date: 2018-03-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler