Sha256: 2736d5d9bf8850334a7e0b279c7530b26360ac9d7b3d6b5ed9f71a8693373df3

Contents?: true

Size: 2 KB

Versions: 1

Compression:

Stored size: 2 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/ui/command_line/command'
require 'ronin/platform/overlay'

module Ronin
  module UI
    module CommandLine
      module Commands
        class Update < Command

          def defaults
            @cache = nil
            @verbose = false
          end

          def define_options(opts)
            opts.usage = '[NAME ...] [options]'

            opts.options do
              opts.on('-C','--cache DIR','Specify an alternate overlay cache') do |dir|
                @cache = dir
              end

              opts.on('-v','--verbose','Enable verbose output') do
                @verbose = true
              end
            end

            opts.arguments(
              'NAME' => 'The overlay to update'
            )

            opts.summary('Updates all or the specified repositories')
          end

          def arguments(*args)
            Platform.load_overlays(@cache) if @cache

            if args.empty?
              Platform.overlays.each_overlay { |overlay| overlay.update }
            else
              args.each { |name| Platform.overlays.update(name) }
            end
          end

        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ronin-0.2.1 lib/ronin/ui/command_line/commands/update.rb