st_tools 0.3.5 → 0.3.6

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: 6d2662c1a06d73922fabd749d9526d853b7c8ae5
4
- data.tar.gz: cfc47d401aa0bbdfce4ffff5042820795b38b18f
3
+ metadata.gz: 4dedf4fc8ccd753d54214b62ff8438fb370da178
4
+ data.tar.gz: 697d2055b03e5e4c044ad6edd4066336199eaeb9
5
5
  SHA512:
6
- metadata.gz: c865a7df12ce6b060cec21ec1ca6de7685790857813ef66aee19f8bdb6b07ae4db56c4f2fd25618e514b15cdf22b23b9d06cd24d5fb437e5d4c7f237be1b4c34
7
- data.tar.gz: c1adba89cd3f957f456dd55327e26bbdabcb0f98237f93e423740051ce0dce9937ba519d4a0b03388eb1fa45589a9591ba01cec493cbfab294abcf55815cdcb0
6
+ metadata.gz: c823535f25da3a3b8c278684c1bea45ebfcdfe37db55395a2e462edb3ee446c5d3c03b99f85d546414d4f350a2cc3ef239237636f402a1b359a8822c3322fcf9
7
+ data.tar.gz: 6a8b3d1c4c5479dcd2b6c9501d99adb9a193777fe2e307e3e5d031bced63822b28e08fcf7680da783b9ac1c050c84cafcc65687999bc6c17986381373a04ee39
data/README.md CHANGED
@@ -161,6 +161,14 @@ StTools::String.normalize(' Москва ') # => "москва"
161
161
 
162
162
  ```ruby
163
163
  StTools::String.caps('санКТ-петерБург') # => "Санкт-Петербург"
164
+ StTools::String.caps('1-Я владимирская') # => "1-я Владимирская"
165
+ StTools::String.caps('stan.zhuravlev@mail.ru') # => "Stan.Zhuravlev@mail.Ru"
166
+ StTools::String.caps('а.с. ПУШКИН') # => "А.С. Пушкин"
167
+ StTools::String.caps('ivan_petrov') # => "Ivan_Petrov"
168
+ StTools::String.caps('н.а.римский-корсаков') # => "Н.А.Римский-Корсаков"
169
+
170
+ StTools::String.caps('н.а.римский-корсаков пришел в гости к в.и. ленину на улицу героев 1812-го года')
171
+ #=> "Н.А.Римский-Корсаков Пришел В Гости К В.И. Ленину На Улицу Героев 1812-го Года"
164
172
  ```
165
173
 
166
174
  Для реализации деморежимов различных приложений иногда надо скрыть реальный результат.
data/lib/st_tools.rb CHANGED
@@ -1,12 +1,12 @@
1
- # $LOAD_PATH.unshift File.join(__dir__, *%w[.. lib])
1
+ $LOAD_PATH.unshift File.join(__dir__, *%w[.. lib])
2
2
 
3
- require "#{__dir__}/st_tools/version"
3
+ require "st_tools/version"
4
4
 
5
5
  require 'ruby-progressbar'
6
6
  require 'yaml'
7
7
 
8
8
  module StTools
9
- require "#{__dir__}/st_tools/common"
9
+ require "st_tools/common"
10
10
  require 'st_tools/system'
11
11
  require 'st_tools/human'
12
12
  require 'st_tools/fias'
@@ -169,12 +169,10 @@ module StTools
169
169
  # StTools::String.caps("саНКТ-петеРБург") #=> "Санкт-Петербург"
170
170
  def self.caps(text)
171
171
  return nil if text.nil?
172
- str = self.downcase(text).split(/[\-\s]/).map { |x| self.upcase(x[0]) + x[1,x.length] }
173
- str = str.join(' ')
174
- for i in 0..str.length
175
- str[i] = '-' if (text.to_s[i,1] == '-')
172
+ str = self.downcase(text)
173
+ str.gsub!(/(^[а-яa-z]|[а-яa-z\s]-[а-яa-z]|[\.\s\_][а-яa-z])/) do |part|
174
+ part.gsub(/.\b$/) { |x| self.upcase(x) }
176
175
  end
177
-
178
176
  return str
179
177
  rescue
180
178
  return text
@@ -33,8 +33,9 @@ module StTools
33
33
  lines.each do |one|
34
34
  res = one unless one.match(/grep/)
35
35
  end
36
- res = res.split(' ').last
37
- File.basename(res)
36
+ res = res.split(/\d{1,2}\:\d{1,2}\.\d{0,100}/).last
37
+ res = File.basename(res)
38
+ res.split(' ').first
38
39
  end
39
40
 
40
41
  end
@@ -1,3 +1,3 @@
1
1
  module StTools
2
- VERSION = '0.3.5'
2
+ VERSION = '0.3.6'
3
3
  end
@@ -0,0 +1,25 @@
1
+ require 'rspec'
2
+ require 'st_tools'
3
+
4
+ describe 'Проверка методов StTools::String.caps' do
5
+
6
+ class String
7
+ include ::StTools::Module::String
8
+ end
9
+
10
+ test = Hash.new
11
+ test['stan.zhuravlev'] = 'Stan.Zhuravlev'
12
+ test['н.а.римский-корсаков'] = 'Н.А.Римский-Корсаков'
13
+ test['а.с. ПУШКИН'] = 'А.С. Пушкин'
14
+ test['1-я владимирская улица'] = '1-я Владимирская Улица'
15
+ test['ivan_petrov'] = 'Ivan_Petrov'
16
+
17
+
18
+ test.each do |input, result|
19
+ it input do
20
+ test = ::StTools::String.caps(input)
21
+ expect(test).to eq(result)
22
+ end
23
+ end
24
+
25
+ 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.5
4
+ version: 0.3.6
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-03 00:00:00.000000000 Z
11
+ date: 2015-05-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -100,6 +100,7 @@ files:
100
100
  - test/fias_lib_spec.rb
101
101
  - test/human_lib_spec.rb
102
102
  - test/progress_bar_lib_spec.rb
103
+ - test/string_caps_lib_spec.rb
103
104
  - test/string_lib_spec.rb
104
105
  - test/system_lib_spec.rb
105
106
  homepage: https://github.com/StanZhuravlev/st_tools