randwordjp 0.1.1 → 0.1.2

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: c27b7abca81bf87781479dab0f010da194d635cd
4
- data.tar.gz: ac26c32e4eb117cf6ed6f9500c51acf2d7e8c495
3
+ metadata.gz: ae03ea7c29932954807b070703055f045a452f0f
4
+ data.tar.gz: a2adadaffd38b29b9d444c7eb74e27cc7b227bf4
5
5
  SHA512:
6
- metadata.gz: 470d761e1579dedbb65a500ef2f63df66905f242b035d8156ae48489ced34144993e637be54da63aa11928868a82cb19739c1903ee8a78e51bb588b8626ff42f
7
- data.tar.gz: 9483103e3a4b02a36fb6602cc4d46e1482a596ad13ee258a6f4ae18f4a25d81d07ea044b3cc31b3a7f61f9571704929ba11c38d07b1f6857613d8251d2fef971
6
+ metadata.gz: 665f77124a0a00724ee3a349f317807e11e338e0d159faf1e0c630f1219fa98376c3d231bbe0953b2c4c790149a493a3881ffa126feef16745717c6cf493dfa6
7
+ data.tar.gz: 2c534505590db0ef6a0b503d813406a691225f0b4209f7e0a0a172c26d5dc043f5095bba99f281f3801f761fafed0371fbab7127fc4606c32b6a50760705ce63
@@ -2,5 +2,5 @@
2
2
  # ランダムで日本語文字列などを生成するライブラリとなります。
3
3
  # can get random words(sentence).
4
4
  module Randwordjp
5
- VERSION = '0.1.1'
5
+ VERSION = '0.1.2'
6
6
  end
data/lib/randwordjp.rb CHANGED
@@ -96,11 +96,25 @@ module Randwordjp
96
96
 
97
97
  # ローマ字の文字列を取得する。
98
98
  # @param [Integer] length 文字列長
99
+ # @param [Boolean] opts オプション設定
100
+ # @option opts [Boolean] :char_case 文字の大小を制限する。
99
101
  # @return [String] lengthで指定した文字列長の文字列
100
- def self.alphabet(length = 10)
102
+ def self.alphabet(length = 10, opts = { char_case: :all })
101
103
  words = []
102
- base = ('a'..'z').to_a
104
+ base = []
105
+ case opts[:char_case]
106
+ when :upper
107
+ base += ('A'..'Z').to_a
108
+ when :lower
109
+ base += ('a'..'z').to_a
110
+ when :all
111
+ base += ('A'..'Z').to_a + ('a'..'z').to_a
112
+ else
113
+ puts "char_case can set :lower or :upper, :all."
114
+ return false
115
+ end
103
116
  length.times do
117
+
104
118
  words << base.sample
105
119
  end
106
120
  words.join
@@ -108,11 +122,24 @@ module Randwordjp
108
122
 
109
123
  # 数字+ローマ字の文字列を取得する。
110
124
  # @param [Integer] length 文字列長
125
+ # @param [Boolean] opts オプション設定
126
+ # @option opts [Boolean] :char_case 文字の大小を制限する。
111
127
  # @return [String] lengthで指定した文字列長の文字列
112
- def self.alphanumeric(length = 10)
128
+ def self.alphanumeric(length = 10, opts = { char_case: :all })
113
129
  words = []
114
- base = ('0'..'9').to_a + ('a'..'z').to_a
115
- words << alphabet(1)
130
+ base = []
131
+ case opts[:char_case]
132
+ when :upper
133
+ base += ('A'..'Z').to_a
134
+ when :lower
135
+ base += ('a'..'z').to_a
136
+ when :all
137
+ base += ('A'..'Z').to_a + ('a'..'z').to_a
138
+ else
139
+ puts "char_case can set :lower or :upper, :all."
140
+ return false
141
+ end
142
+ base += ('0'..'9').to_a
116
143
  length.times do
117
144
  words << base.sample
118
145
  end
@@ -121,10 +148,24 @@ module Randwordjp
121
148
 
122
149
  # 数字+ローマ字+記号(-_)の文字列を取得する。
123
150
  # @param [Integer] length 文字列長
151
+ # @param [Boolean] opts オプション設定
152
+ # @option opts [Boolean] :char_case 文字の大小を制限する。
124
153
  # @return [String] lengthで指定した文字列長の文字列
125
- def self.alphanumeric_plus(length = 10)
154
+ def self.alphanumeric_plus(length = 10, opts = { char_case: :all })
126
155
  words = []
127
- base = ('0'..'9').to_a + ('a'..'z').to_a + ['-', '_']
156
+ base = []
157
+ case opts[:char_case]
158
+ when :upper
159
+ base += ('A'..'Z').to_a
160
+ when :lower
161
+ base += ('a'..'z').to_a
162
+ when :all
163
+ base += ('A'..'Z').to_a + ('a'..'z').to_a
164
+ else
165
+ puts "char_case can set :lower or :upper, :all."
166
+ return false
167
+ end
168
+ base += ('0'..'9').to_a + ['-', '_']
128
169
  words << alphabet(1)
129
170
  (length - 1).times do
130
171
  words << base.sample
@@ -139,8 +180,8 @@ module Randwordjp
139
180
  # @option opts [String] :randword トップレベルドメインの文字列を指定する。
140
181
  # @return [String] メールアドレスを取得する 
141
182
  def self.mail_address(opts ={domain: 'rand', local_length: 10, domain_length: 10})
142
- local_part = alphanumeric_plus(rand(opts[:local_length]) + 1)
143
- domain_part = alphanumeric(rand(opts[:domain_length]) + 1) + '.' + opts[:domain]
183
+ local_part = alphanumeric_plus(rand(opts[:local_length]) + 1, char_case: :lower)
184
+ domain_part = alphanumeric(rand(opts[:domain_length]) + 1, char_case: :lower) + '.' + opts[:domain]
144
185
  local_part + '@' + domain_part
145
186
  end
146
187
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: randwordjp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - inpwjp
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-15 00:00:00.000000000 Z
11
+ date: 2015-11-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sequel