Sha256: 0b121c6bc70658263e3b601646ef295c920bac2e42c656c1882d5e3e79eaedc6

Contents?: true

Size: 1.35 KB

Versions: 4

Compression:

Stored size: 1.35 KB

Contents

require 'bundler/gem_tasks'

begin
  require 'rspec/core/rake_task'
  RSpec::Core::RakeTask.new(:spec)
  task :default => :spec
rescue LoadError
  # no rspec available
end

desc 'Download the latest copy of the wireshark manufacturers database'
task :update_wireshark => [:environment] do
  require 'net/http'

  begin
    new_file = Net::HTTP.get(URI('https://gitlab.com/wireshark/wireshark/raw/master/manuf'))
    File.write(Louis::ORIGINAL_OUI_FILE, new_file)
    puts 'Update complete'
  rescue => err
    puts "An error occurred while downloading the file: #{err.class} -> #{err.message}"
  end
end

desc 'Pre-parse the source file into the parsed file'
task :parse_data_file => [:environment] do
  lookup_table = {}

  File.open(Louis::ORIGINAL_OUI_FILE).each_line do |line|
    next unless (res = Louis::Helpers.line_parser(line))

    lookup_table[res['mask']] ||= {}
    lookup_table[res['mask']][res['prefix'].to_s] = {
      's' => res['short_vendor'],
      'l' => res['long_vendor']
    }.compact
  end

  File.write(Louis::PARSED_DATA_FILE, JSON.generate(lookup_table))
end

task :environment do
  base_path = File.expand_path(File.join(File.dirname(__FILE__), 'lib'))
  $LOAD_PATH.unshift(base_path) unless $LOAD_PATH.include?(base_path)

  require 'louis'
end

desc 'Start a pry session with the code loaded'
task :console => [:environment] do
  require 'pry'
  pry
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
louis-2.3.1 Rakefile
louis-2.2.6 Rakefile
louis-2.2.5 Rakefile
louis-2.2.4 Rakefile