more_core_extensions 3.4.0 → 3.5.0

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
- SHA1:
3
- metadata.gz: 413a7851ecc9b2985a2186985d125319d91d7260
4
- data.tar.gz: d8b660b117dca1de5e71a21184e75485942c8406
2
+ SHA256:
3
+ metadata.gz: 9fbc683524ab095292135f1e72a3821081619dacd00c22f288cb0be196805fcf
4
+ data.tar.gz: d3ecf6bf8139048d076dcdde8cbb0131de4e32b16a0639546e8ed6c973f05b69
5
5
  SHA512:
6
- metadata.gz: ec665edef944f6aab6555c17bdb2c6e2ead4a0c782a107b45c096d3fd89a4aad81cf5fa54c9921a24048a70bdbcb3197d7e83ac4f48f0a672f1bfd6a7bebbf4d
7
- data.tar.gz: baba9a0b258fc9097bb6759ca4af9d753a8fbc8e0475b9ef50676e464247df8bb5252fd8f92cf0abb23b72c52c884704c106d847625bfbf9ac5e9442f67b0d35
6
+ metadata.gz: 4d52dd55d311849be201414a061eb3950c7976ca69118d941238680c3e5162e9a8aaf8a292ddc17dd5d2681fd0ae5fc8e575485c5f91e2f8ae0527683d79524d
7
+ data.tar.gz: 175c56d081ec129ada8b131d135a880b680301eb50f96fde6f3b804e52587bc42219ba607cc1b1ffd963f7a88c22aa38b7def00aee8fa1e207c1761bb029be5d
data/CHANGELOG.md CHANGED
@@ -4,6 +4,10 @@ This project adheres to [Semantic Versioning](http://semver.org/).
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [3.5.0] - 2017-12-29
8
+ ### Added
9
+ - Added String#hostname? [[#58](https://github.com/ManageIQ/more_core_extensions/pull/58)]
10
+
7
11
  ## [3.4.0] - 2017-08-11
8
12
  ### Added
9
13
  - Added Module#cache_with_timeout [[#51](https://github.com/ManageIQ/more_core_extensions/pull/51)]
@@ -53,7 +57,8 @@ This project adheres to [Semantic Versioning](http://semver.org/).
53
57
  - Upgraded to RSpec 3 [[#16](https://github.com/ManageIQ/more_core_extensions/pull/16)]
54
58
  - Added the Change Log!
55
59
 
56
- [Unreleased]: https://github.com/ManageIQ/more_core_extensions/compare/v3.4.0...HEAD
60
+ [Unreleased]: https://github.com/ManageIQ/more_core_extensions/compare/v3.5.0...HEAD
61
+ [3.5.0]: https://github.com/ManageIQ/more_core_extensions/compare/v3.4.0...v3.5.0
57
62
  [3.4.0]: https://github.com/ManageIQ/more_core_extensions/compare/v3.3.0...v3.4.0
58
63
  [3.3.0]: https://github.com/ManageIQ/more_core_extensions/compare/v3.2.0...v3.3.0
59
64
  [3.2.0]: https://github.com/ManageIQ/more_core_extensions/compare/v3.1.1...v3.2.0
data/README.md CHANGED
@@ -92,6 +92,7 @@ MoreCoreExtensions are a set of core extensions beyond those provided by ActiveS
92
92
  * core_ext/string/formats.rb
93
93
  * `#email?` - Returns whether or not the String is an= valid email
94
94
  * `#domain_name?` - Returns whether or not the String is a valid domain name
95
+ * `#hostname?` - Returns whether or not the String is a valid hostname
95
96
  * `#ipv4?` - Returns whether or not the String is an IPv4 address
96
97
  * `#ipv6?` - Returns whether or not the String is an IPv6 address
97
98
  * `#ipaddress?` - Returns whether or not the String is an IPv4 or IPv6 address
@@ -13,6 +13,12 @@ module MoreCoreExtensions
13
13
  !!(self =~ RE_DOMAINNAME)
14
14
  end
15
15
 
16
+ # Based on RFC 1034
17
+ RE_HOSTNAME = %r{^((?![0-9]*$)+(?![0-9]*\.))(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])$}i
18
+ def hostname?
19
+ !!(self =~ RE_HOSTNAME)
20
+ end
21
+
16
22
  # From: Regular Expression Cookbook: 7.16 Matching IPv4 Addresses
17
23
  RE_IPV4 = %r{^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$}
18
24
  def ipv4?
@@ -1,3 +1,3 @@
1
1
  module MoreCoreExtensions
2
- VERSION = "3.4.0".freeze
2
+ VERSION = "3.5.0".freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: more_core_extensions
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.0
4
+ version: 3.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jason Frey
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2017-08-11 00:00:00.000000000 Z
12
+ date: 2017-12-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -188,7 +188,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
188
188
  version: '0'
189
189
  requirements: []
190
190
  rubyforge_project:
191
- rubygems_version: 2.6.11
191
+ rubygems_version: 2.7.2
192
192
  signing_key:
193
193
  specification_version: 4
194
194
  summary: MoreCoreExtensions are a set of core extensions beyond those provided by