Sha256: a4677582db2ab1b91cd1a15580da97c1a3f0c6f0cfe51c747f992788e21ca15a

Contents?: true

Size: 1.84 KB

Versions: 5

Compression:

Stored size: 1.84 KB

Contents

# Copyright 2019 Pixar

#
#    Licensed under the Apache License, Version 2.0 (the "Apache License")
#    with the following modification; you may not use this file except in
#    compliance with the Apache License and the following modification to it:
#    Section 6. Trademarks. is deleted and replaced with:
#
#    6. Trademarks. This License does not grant permission to use the trade
#       names, trademarks, service marks, or product names of the Licensor
#       and its affiliates, except as required to comply with Section 4(c) of
#       the License and to reproduce the content of the NOTICE file.
#
#    You may obtain a copy of the Apache License at
#
#        http://www.apache.org/licenses/LICENSE-2.0
#
#    Unless required by applicable law or agreed to in writing, software
#    distributed under the Apache License with the above modification is
#    distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
#    KIND, either express or implied. See the Apache License for the specific
#    language governing permissions and limitations under the Apache License.
#
#

# The module
module Jamf

  # handle nils and IPAddrs
  # def new(an_ip, cnx: nil)
  #   return nil if an_ip.nil?
  #   an_ip = an_ip.to_s if an_ip.is_a? IPAddr
  #   super an_ip, cnx: cnx
  # end

  # A wrapper for IPAddr - allowing initialize to take an unused cnx:
  # and providing #to_jamf
  #
  class IPAddress < IPAddr

    # @param an_ip[String,IPAddr]
    #
    # @param cnx [void] unused, but required
    #
    def initialize(an_ip, cnx: nil)
      cnx.to_s # shutup rubocop.

      if an_ip.nil?
        @empty_ip = true
        return
      end

      super an_ip
    end

    # @return [String] the IP formatted for passing to the API as a string.
    #
    def to_jamf
      return Jamf::BLANK if @empty_ip
      to_s
    end


  end # class  Timestamp

end # module

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
ruby-jss-1.2.6 lib/jamf/api/attribute_classes/ip_address.rb
ruby-jss-1.2.4a4 lib/jamf/api/attribute_classes/ip_address.rb
ruby-jss-1.2.4a3 lib/jamf/api/attribute_classes/ip_address.rb
ruby-jss-1.2.4a2 lib/jamf/api/attribute_classes/ip_address.rb
ruby-jss-1.2.4a1 lib/jamf/api/attribute_classes/ip_address.rb