summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMike Mackintosh <m@zyp.io>2015-03-23 16:55:21 -0400
committerMike Mackintosh <m@zyp.io>2015-03-23 16:55:21 -0400
commitad087f8fac02c9de49ef78263a376d20e442ac2a (patch)
tree15d77797a9b7137a5e3140d6e48b504bc6d94d10 /lib
parent1f207635f6aa1672789902429cd877aaf843be93 (diff)
downloadipaddress-ad087f8fac02c9de49ef78263a376d20e442ac2a.tar.gz
added IPv4#[]= to fix #24
Diffstat (limited to 'lib')
-rw-r--r--lib/ipaddress/ipv4.rb15
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/ipaddress/ipv4.rb b/lib/ipaddress/ipv4.rb
index 500531a..7d8e0d3 100644
--- a/lib/ipaddress/ipv4.rb
+++ b/lib/ipaddress/ipv4.rb
@@ -286,6 +286,21 @@ module IPAddress;
@octets[index]
end
alias_method :octet, :[]
+
+ #
+ # Updated the octet specified at index
+ #
+ # ip = IPAddress("172.16.100.50/24")
+ # ip[2] = 200
+ #
+ # #=> #<IPAddress::IPv4:0x00000000000000 @address="172.16.200.1",
+ # #=> @prefix=32, @octets=[172, 16, 200, 1], @u32=2886780929>
+ #
+ def []=(index, value)
+ @octets[index] = value.to_i
+ initialize("#{@octets.join('.')}/#{prefix}")
+ end
+ alias_method :octet=, :[]=
#
# Returns the address portion of an IP in binary format,