Module: OneGadget::Fetchers::ClassMethods
- Included in:
- OneGadget::Fetchers
- Defined in:
- lib/one_gadget/fetchers.rb
Overview
Define class methods here.
Instance Method Summary collapse
-
#from_build_id(build_id, remote: true, level: 0) ⇒ Array<OneGadget::Gadget::Gadget>?
Fetch one-gadget offsets of this build id.
-
#from_file(file, level: 0) ⇒ Array<OneGadget::Gadget::Gadget>
Fetch one-gadget offsets from file.
Instance Method Details
#from_build_id(build_id, remote: true, level: 0) ⇒ Array<OneGadget::Gadget::Gadget>?
Fetch one-gadget offsets of this build id.
28 29 30 31 32 |
# File 'lib/one_gadget/fetchers.rb', line 28 def from_build_id(build_id, remote: true, level: 0) OneGadget::Helper.verify_build_id!(build_id) gadgets = OneGadget::Gadget.builds(build_id, remote:) gadgets && for_level(gadgets, level) end |
#from_file(file, level: 0) ⇒ Array<OneGadget::Gadget::Gadget>
Fetch one-gadget offsets from file.
43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/one_gadget/fetchers.rb', line 43 def from_file(file, level: 0) arch = OneGadget::Helper.architecture(file) klass = { aarch64: OneGadget::Fetchers::AArch64, amd64: OneGadget::Fetchers::Amd64, arm: OneGadget::Fetchers::Arm, i386: OneGadget::Fetchers::I386 }[arch] raise Error::UnsupportedArchitectureError, arch if klass.nil? for_level(klass.new(file).find, level) end |