string_tools 0.3.0 → 0.3.1

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZDQzNWJhM2NkOTkyMzVlYWQ4N2Y2YWM4OTEwZjQ3MTZjMjMyYzc0Ng==
4
+ YzBlZjNmZjE3MDVkYTFjZmQ2ZjY2YTcwM2I3MTRlMGY2ZmFkYTY1YQ==
5
5
  data.tar.gz: !binary |-
6
- MTZmZTMyYjcwY2NmYjcwMzZlZjg4MTk0NDU0ODAzZDY3NmVjZDQyNQ==
6
+ OGNjM2E4MzczODYwNDk1YjI1NDBjZmUwZTMyZjg4M2YxMzUyMDgyYg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ODUyNWM1ODVkZDYxMzhlZTk5OTlhNjRhOTNjZTI5NTA5OTAzYTZiMjMwMmZk
10
- ZmFjYmI3MTEzOTM4NWU0NDkzNTk1NzkxMDNmNGQ4YjgzNjg1ZDRmOGE3YmUx
11
- YmJiM2RlMDUwMWVlZjJlMGNhZGYzNjdmNTYwOGZjNTRhMWI4ZTM=
9
+ YWZkYTdhZWFkMjI4OWI3NWQwN2U2M2NlODMzODI3ZDZhMDYxMWU0MTI5YjMz
10
+ NWNmNjY3YzM4OTlkN2NkYTM1ZGNkZmQxZGU5OTUxYmNiNDY4M2VmMGYwODI2
11
+ OWI1MThjMDE4YWE5N2UxNDdkMzQyZmNlNTc0NDM1YWEwZDhkM2U=
12
12
  data.tar.gz: !binary |-
13
- YTUzNGZiYmY2MGQ2NmYwNzk4ZDk2OWY4YTVmMThhNDFiZDE1NTEzNTU2ZDlh
14
- YjlmNTc4MjA2YmZhNTkxMGExZWMwNWIyMWJhMDFlMDZlZWU2M2NlNWMzYjJj
15
- OGQ3ZDQ5MWU2MjM1YWU1MDY0ZmNiNTliZTZjMTk2ZGI2ZDk2ODY=
13
+ YzU2YjNjYTM3ZTI3NjUwZmU5YjJhYjc1NDU3NGU5NjM0Yjk3ZjdmN2YxODBl
14
+ MWJlMDI4ODAwNjhmZWNjMmQ1MzcyNDYwYjNkZTBlNWEwMjhiNzdlZjA1MzM0
15
+ NzhiYTAyOTBjMjJjNDIyZDc5MDJmOGY0YjFmYzRlOTljNDAzMzU=
data/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
 
2
2
  #### [Current]
3
+
4
+
5
+ #### v3.0.1
6
+ * 2015-12-21 [ed85f26](../../commit/ed85f26) - __(Salahutdinov Dmitry)__ Release 3.0.1
7
+ * 2015-12-16 [d310cbf](../../commit/d310cbf) - __(Maxim Derbenev)__ feature(string_tools): add params concatenation method
8
+ * 2015-11-12 [f665c33](../../commit/f665c33) - __(Konstantin Lazarev)__ feature: перенос методов очистки от html-разметки
9
+
10
+ #### v0.3.0
11
+ * 2015-10-28 [a3ca238](../../commit/a3ca238) - __(Sergey D)__ Release 0.3.0
3
12
  * 2015-10-26 [62ce841](../../commit/62ce841) - __(Dmitry Bochkarev)__ feature(html): удаление ссылок без хоста по-умолчанию
4
13
  * 2015-10-23 [8fe4384](../../commit/8fe4384) - __(Dmitry Bochkarev)__ fix(sanitizer): нормализация ссылок в юникоде
5
14
  * 2015-10-23 [4017e3d](../../commit/4017e3d) - __(Dmitry Bochkarev)__ fix(html): кириллические ссылки в урлах
data/lib/string_tools.rb CHANGED
@@ -105,6 +105,40 @@ module StringTools
105
105
  def clear_control_characters(string)
106
106
  string.tr("\u0000-\u001f", '')
107
107
  end
108
+
109
+ # Public: вычищает все html тэги и пробельные символы
110
+ #
111
+ # string - String строка для очистки
112
+ #
113
+ # Examples
114
+ #
115
+ # strip_all_tags_and_entities("<a>ссылка с&nbsp;пробелом</a><p>параграф&#9;с\tтабуляцией</p>")
116
+ # # => "ссылкаспробелом параграфстабуляцией "
117
+ #
118
+ # Returns String
119
+ def strip_all_tags_and_entities(string)
120
+ Sanitize.fragment(string.gsub(/&#([0-9]|10|11|12|13);|&nbsp;|\xc2\xa0|\s/, ''))
121
+ end
122
+
123
+ # Public: вычищает html тэги кроме переносов
124
+ #
125
+ # string - String строка для очистки
126
+ #
127
+ # Examples
128
+ #
129
+ # strip_tags_leave_br("<a></a><ul><li>элемент списка</li></ul><p>параграф</p>просто перенос<br>")
130
+ # # => "<br />элемент списка<br /><br />параграф<br />просто перенос<br>"
131
+ #
132
+ # Returns String
133
+ def strip_tags_leave_br(string)
134
+ sanitized = Sanitize.fragment(string, remove_contents: %w(style javascript), elements: %w(p ul li br blockquote))
135
+
136
+ sanitized.gsub!(/<(p|li|blockquote)[^>]*>/, '')
137
+ sanitized.gsub!(%r{<(br /|ul[^>]*|/[^>]*)>}, '<br />')
138
+ sanitized.gsub!(/<br \/>(\s|\302\240)+/, '<br />')
139
+
140
+ sanitized
141
+ end
108
142
  end
109
143
  extend Sanitizing
110
144
 
@@ -182,4 +216,14 @@ module StringTools
182
216
  end
183
217
  end
184
218
  extend SumInWords
219
+
220
+ module Uri
221
+ def add_params_to_url(url, params = nil)
222
+ uri = Addressable::URI.parse(url)
223
+ uri = Addressable::URI.parse("http://#{url}") unless uri.scheme
224
+ uri.query_values = (uri.query_values || {}).merge!(params.stringify_keys) if params.present?
225
+ uri.normalize.to_s
226
+ end
227
+ end
228
+ extend Uri
185
229
  end
@@ -1,3 +1,3 @@
1
1
  module StringTools
2
- VERSION = '0.3.0'
2
+ VERSION = '0.3.1'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: string_tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sergey D.