st_tools 0.3.6 → 0.3.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +10 -0
- data/lib/st_tools/string.rb +19 -12
- data/lib/st_tools/version.rb +1 -1
- data/test/string_lib_spec.rb +11 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9db3fa6dd4099dfcecfe2d25cd33aad9a2d0af51
|
4
|
+
data.tar.gz: 16898f9a9f298572600b11c61220bfa8ccfbb117
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 15e8352e574b673a287db3c7a83b91ac9fddc368b50584caf0b138616127b91caffed2a1395695456056c65cd704e6dc02f37c974f1c4261844a2494d808914a
|
7
|
+
data.tar.gz: 8c92502e4e9c7e5b3e1ce931a644e96145febac502d1f74ded2e58a2d1d7cd8a0506ffcdfe4614056b65acd043a8e25a2fd7c4f20f8bd3cd96d6d85946c3d6b2
|
data/README.md
CHANGED
@@ -193,6 +193,16 @@ StTools::String.to_bool("oFF") # => false
|
|
193
193
|
StTools::String.to_bool("0") # => false
|
194
194
|
```
|
195
195
|
|
196
|
+
Когда в Rails-приложение передается массив params, то значение bool обычно выглдяит строкой. При этом часть значений
|
197
|
+
опциональные, то есть пользователь может не ввести его. Для этого можно использовать второй параметр функции, по
|
198
|
+
умолчанию имеющий значение false.
|
199
|
+
|
200
|
+
```
|
201
|
+
params = { opt1: true }
|
202
|
+
StTools::String.to_bool(params[:opt1], false) #=> true
|
203
|
+
StTools::String.to_bool(params[:opt2], true) #=> true
|
204
|
+
```
|
205
|
+
|
196
206
|
Если пользователь введет в качестве входного параметра перечисление, следующий метод разобъет его на токены,
|
197
207
|
с нормализацией при необходимости
|
198
208
|
|
data/lib/st_tools/string.rb
CHANGED
@@ -181,20 +181,27 @@ module StTools
|
|
181
181
|
# Метод конвертирует строку в тип boolean
|
182
182
|
#
|
183
183
|
# @param [String] text исходная строка, содержащая 'true/false', 'on/off', '1/0'
|
184
|
+
# @param [Boolean] default значение по умолчанию для строк, имеющих значение nil
|
184
185
|
# @return [Boolean] true или false
|
185
186
|
# @example Примеры использования
|
186
|
-
# StTools::String.to_bool("True")
|
187
|
-
# StTools::String.to_bool("trUE")
|
188
|
-
# StTools::String.to_bool("on")
|
189
|
-
# StTools::String.to_bool("1")
|
190
|
-
# StTools::String.to_bool("Да")
|
191
|
-
# StTools::String.to_bool("Yes")
|
192
|
-
# StTools::String.to_bool("false")
|
193
|
-
# StTools::String.to_bool("fALse")
|
194
|
-
# StTools::String.to_bool("oFF")
|
195
|
-
# StTools::String.to_bool("0")
|
196
|
-
|
197
|
-
|
187
|
+
# StTools::String.to_bool("True") #=> true
|
188
|
+
# StTools::String.to_bool("trUE") #=> true
|
189
|
+
# StTools::String.to_bool("on") #=> true
|
190
|
+
# StTools::String.to_bool("1") #=> true
|
191
|
+
# StTools::String.to_bool("Да") #=> true
|
192
|
+
# StTools::String.to_bool("Yes") #=> true
|
193
|
+
# StTools::String.to_bool("false") #=> false
|
194
|
+
# StTools::String.to_bool("fALse") #=> false
|
195
|
+
# StTools::String.to_bool("oFF") #=> false
|
196
|
+
# StTools::String.to_bool("0") #=> false
|
197
|
+
# StTools::String.to_bool(nil, true) #=> true
|
198
|
+
# StTools::String.to_bool(nil, false) #=> false
|
199
|
+
#
|
200
|
+
# params = { opt1: true }
|
201
|
+
# StTools::String.to_bool(params[:opt1], false) #=> true
|
202
|
+
# StTools::String.to_bool(params[:opt2], true) #=> true
|
203
|
+
def self.to_bool(text, default = false)
|
204
|
+
return default if text.nil?
|
198
205
|
return true if ['true', 'on', '1', 'да', 'yes'].include?(self.downcase(text.to_s))
|
199
206
|
false
|
200
207
|
end
|
data/lib/st_tools/version.rb
CHANGED
data/test/string_lib_spec.rb
CHANGED
@@ -96,4 +96,15 @@ describe 'Проверка методов StTools::String.*' do
|
|
96
96
|
expect(test).to eq(false)
|
97
97
|
end
|
98
98
|
|
99
|
+
it 'to_bool(nil, true)' do
|
100
|
+
test = ::StTools::String.to_bool(nil, true)
|
101
|
+
expect(test).to eq(true)
|
102
|
+
end
|
103
|
+
|
104
|
+
it 'to_bool(nil, true)' do
|
105
|
+
test = ::StTools::String.to_bool(nil, false)
|
106
|
+
expect(test).to eq(false)
|
107
|
+
end
|
108
|
+
|
109
|
+
|
99
110
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: st_tools
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stan Zhuravlev
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-05-
|
11
|
+
date: 2015-05-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|