net-address 0.2.0 → 0.2.2

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
  SHA256:
3
- metadata.gz: dc39be4370950044d0e5f2bb5c0ca1b7a77410894689e757679f768b3aa62022
4
- data.tar.gz: 60a6c90af147d3e6a7d20de2897d286dabdd5314bacaf587f36760f24ac6dccf
3
+ metadata.gz: cdecf23d5adb680caab30c05f6cc499943aebb43b65fd62c21d4cec7ea436e20
4
+ data.tar.gz: e7296ecc0708fbc34014562934ef721d1a4d572cb7239df5b0fcdd370b9e9289
5
5
  SHA512:
6
- metadata.gz: c98fbadf8d8cd07610256fbbeec9137259823f48ed003af09f53265b9e9dedf1dfbdba595f00f21ff2f7a6680208bb6a83f17065792e0d5013b954ee5a1e4348
7
- data.tar.gz: 26a9d42997f61d6c650d2b120db09a03031608ca3d180e1e86f4947a14f6ba54d0556d2af763f9d3aa13353268494f6c3681ab37ddfb5561a722deee50d0a86f
6
+ metadata.gz: 0d3b8ad59a6d40c453ded3e2375aa333348e85ca22e0355127fa221dd29210f4e63c94bcd8b11ccf9283bef0f73f6d0e0ce2c7ba110fcbc6d495d111ca7f8e02
7
+ data.tar.gz: bfa3794ca2baf6ae07f1a9ff9f1f6578d96c9a241921f8189a153fd2388ad21b5c11f4db0adf17b0eb69bce845f97dbce4fd6a8ee9607c7237a832e42ba08d3f
@@ -15,6 +15,13 @@ module Net
15
15
  attr_reader :mask
16
16
 
17
17
  def initialize(address, mask=nil)
18
+ if address.is_a?(String)
19
+ address = begin
20
+ JSON.parse address
21
+ rescue JSON::ParserError
22
+ address
23
+ end
24
+ end
18
25
  parse_address(address)
19
26
  if @mask.nil?
20
27
  @mask = Net::Address::Mask.new(mask.nil? ? 32 : mask)
@@ -47,7 +54,7 @@ module Net
47
54
  }
48
55
  end
49
56
 
50
- def to_json
57
+ def to_json(*params)
51
58
  to_h.to_json
52
59
  end
53
60
 
@@ -88,7 +95,10 @@ module Net
88
95
  private
89
96
 
90
97
  def parse_address(address)
91
- if address.kind_of?(Net::Address::IPv4)
98
+ if address.kind_of?(Hash)
99
+ parse_string(address['address'])
100
+ @mask = Net::Address::Mask.new address['mask']
101
+ elsif address.kind_of?(Net::Address::IPv4)
92
102
  @address = address.to_i
93
103
  @mask = address.mask
94
104
  elsif address.kind_of?(IPAddr)
@@ -1,5 +1,5 @@
1
1
  module Net
2
2
  module Address
3
- VERSION = "0.2.0"
3
+ VERSION = "0.2.2"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: net-address
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Wojcieszonek
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-08-13 00:00:00.000000000 Z
11
+ date: 2023-08-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler