Sha256: c81692d2306d96131a58fae406b8920bed52f1d23dc9066ac4408e38d7299246

Contents?: true

Size: 513 Bytes

Versions: 6

Compression:

Stored size: 513 Bytes

Contents

# Inventory array helper
class Array
    # This array is treated as a list of hashes, with
    # certain command key or name fields that you can
    # search by.

    def find_key(key, value)
        keys = [key, key.upcase, key.downcase, key.capitalize]
        keys.concat(keys.map &:intern)
        self.find do |hash|
            keys.any? { |key| hash[key] == value }
        end
    end

    def bykey(key)
        find_key 'key', key
    end

    def byname(name)
        find_key 'name', name
    end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
bjn_inventory-1.7.1 lib/bjn_inventory/array.rb
bjn_inventory-1.7.0 lib/bjn_inventory/array.rb
bjn_inventory-1.6.1 lib/bjn_inventory/array.rb
bjn_inventory-1.5.1 lib/bjn_inventory/array.rb
bjn_inventory-1.3.1 lib/bjn_inventory/array.rb
bjn_inventory-1.3.0 lib/bjn_inventory/array.rb