Sha256: 149d8a4cec8bd9b58855c7b2337ac29807f371c66e98ab684282ee4c96e4d3fe

Contents?: true

Size: 1.45 KB

Versions: 21

Compression:

Stored size: 1.45 KB

Contents

require "bundler/gem_tasks"
require "rspec/core/rake_task"
require "rake/extensiontask"
require "rubygems/package_task"
require "bundler"

CROSS_PLATFORMS = %w[
  aarch64-linux
  arm64-darwin
  x64-mingw32
  x86_64-darwin
  x86_64-linux
  x86_64-linux-musl
]

spec = Bundler.load_gemspec("rucaptcha.gemspec")

Gem::PackageTask.new(spec).define

Rake::ExtensionTask.new("rucaptcha", spec) do |ext|
  ext.lib_dir = "lib/rucaptcha"
  ext.source_pattern = "*.{rs,toml}"
  ext.cross_compile = true
  ext.cross_platform = CROSS_PLATFORMS
end

RSpec::Core::RakeTask.new(:spec)
task default: :spec

def create_captcha(length = 5, difficulty = 5)
  require "rucaptcha"
  RuCaptchaCore.create(length, difficulty, false, false, "png")
end

task :preview do
  require "rucaptcha"
  res = create_captcha()
  warn "-------------------------\n#{res[0]}"
  puts res[1].pack("c*")
end

task :memory do
  require "rucaptcha"
  require "memory_profiler"

  create_captcha()

  report = MemoryProfiler.report do
    1000.times do
      create_captcha()
    end
  end

  GC.start
  report.pretty_print

  puts "------------------------- Result Guide -------------------------"
  puts "If [Total retained] have any bytes, there will have memory leak."
end

task :benchmark do
  require "rucaptcha"
  require "benchmark/ips"

  RuCaptchaCore.create(5, 5, true, true, "png")

  Benchmark.ips do |x|
    x.report("Generate image") { RuCaptchaCore.create(5, 5, true, true, "png") }
    x.compare!
  end
end

Version data entries

21 entries across 21 versions & 2 rubygems

Version Path
rucaptcha-3.2.3 Rakefile
rucaptcha-3.2.3-x86_64-linux Rakefile
rucaptcha-3.2.3-x86_64-linux-musl Rakefile
rucaptcha-3.2.3-x86_64-darwin Rakefile
rucaptcha-3.2.3-arm64-darwin Rakefile
rucaptcha-3.2.3-aarch64-linux Rakefile
rucaptcha-3.2.2 Rakefile
rucaptcha-3.2.2-x86_64-linux-musl Rakefile
rucaptcha-3.2.2-x86_64-linux Rakefile
rucaptcha-3.2.2-x86_64-darwin Rakefile
rucaptcha-3.2.2-arm64-darwin Rakefile
rucaptcha-3.2.2-aarch64-linux Rakefile
daqing_rucaptcha-3.2.2 Rakefile
daqing_rucaptcha-3.2.1 Rakefile
rucaptcha-3.2.1-x86_64-linux Rakefile
rucaptcha-3.2.1-x86_64-linux-musl Rakefile
rucaptcha-3.2.1-x86_64-darwin Rakefile
rucaptcha-3.2.1-arm64-darwin Rakefile
rucaptcha-3.2.1-aarch64-linux Rakefile
rucaptcha-3.2.1 Rakefile