st_tools 0.3.6 → 0.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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