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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4dedf4fc8ccd753d54214b62ff8438fb370da178
4
- data.tar.gz: 697d2055b03e5e4c044ad6edd4066336199eaeb9
3
+ metadata.gz: 9db3fa6dd4099dfcecfe2d25cd33aad9a2d0af51
4
+ data.tar.gz: 16898f9a9f298572600b11c61220bfa8ccfbb117
5
5
  SHA512:
6
- metadata.gz: c823535f25da3a3b8c278684c1bea45ebfcdfe37db55395a2e462edb3ee446c5d3c03b99f85d546414d4f350a2cc3ef239237636f402a1b359a8822c3322fcf9
7
- data.tar.gz: 6a8b3d1c4c5479dcd2b6c9501d99adb9a193777fe2e307e3e5d031bced63822b28e08fcf7680da783b9ac1c050c84cafcc65687999bc6c17986381373a04ee39
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
 
@@ -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") #=> true
187
- # StTools::String.to_bool("trUE") #=> true
188
- # StTools::String.to_bool("on") #=> true
189
- # StTools::String.to_bool("1") #=> true
190
- # StTools::String.to_bool("Да") #=> true
191
- # StTools::String.to_bool("Yes") #=> true
192
- # StTools::String.to_bool("false") #=> false
193
- # StTools::String.to_bool("fALse") #=> false
194
- # StTools::String.to_bool("oFF") #=> false
195
- # StTools::String.to_bool("0") #=> false
196
- def self.to_bool(text)
197
- return false if text.nil?
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
@@ -1,3 +1,3 @@
1
1
  module StTools
2
- VERSION = '0.3.6'
2
+ VERSION = '0.3.7'
3
3
  end
@@ -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.6
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-19 00:00:00.000000000 Z
11
+ date: 2015-05-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler