Sha256: c80a2b5aa9189edcd9fcffa1c5a206b349a6761fac4147f44f4b9792580fec38

Contents?: true

Size: 1.72 KB

Versions: 1

Compression:

Stored size: 1.72 KB

Contents

#
#--
# Ronin Exploits - A Ruby library for Ronin that provides exploitation and
# payload crafting functionality.
#
# Copyright (c) 2007-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/arch'

module Ronin
  module Model
    module TargetsArch
      def self.included(base)
        base.module_eval do
          # The targeted architecture
          belongs_to :arch

          #
          # Returns the current targeted arch if no _name_ is given. If a
          # _name_ is given, a new Arch object will be created with the
          # given _name_ and associated with the target.
          #
          #   target.arch
          #   # => nil
          #
          #   target.arch :i686
          #   # => #<Ronin::Arch type=Ronin::Arch id=nil name="i686"
          #   # endian="little" address_length=4>
          #
          def arch(name=nil)
            if name
              return self.arch = Arch[name]
            else
              return arch_association
            end
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ronin-exploits-0.2.1 lib/ronin/model/targets_arch.rb