Sha256: 0ddec8f05f6d6081e54813e6152a7579abd2c0e4e70345d362287aecd8937386

Contents?: true

Size: 1.88 KB

Versions: 2

Compression:

Stored size: 1.88 KB

Contents

#
#--
# Ronin - A Ruby platform designed for information security and data
# exploration tasks.
#
# Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
#++
#

require 'ronin/cache/overlay'
require 'ronin/cache/extension'

module Ronin
  module Cache
    #
    # See Overlay.cache.
    #
    def Cache.overlays
      Overlay.cache
    end

    #
    # See Extension.names.
    #
    def Cache.extension_names
      Extension.names
    end

    #
    # See Overlay.has_extension?.
    #
    def Cache.has_extension?(name)
      Overlay.has_extension?(name)
    end

    #
    # Returns a +Hash+ of all loaded extensions. Extensions can be loaded
    # on-the-fly by accessing the +Hash+.
    #
    #   Cache.extensions['shellcode'] # => Cache::Extension
    #
    def Cache.extensions
      Extension.cache
    end

    #
    # Returns +true+ if the extension with the specified _name_ has been
    # loaded, returns +false+ otherwise.
    #
    def Cache.extension_loaded?(name)
      Extension.cache.has_extension?(name)
    end

    #
    # See Cache.extensions.
    #
    def Cache.extension(name,&block)
      ext = Cache.extensions[name]

      block.call(ext) if block
      return ext
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ronin-0.1.4 lib/ronin/cache/cache.rb
ronin-0.1.3 lib/ronin/cache/cache.rb