module CapCap
Constants
- VERSION
Public Class Methods
run()
click to toggle source
# File lib/cap_cap.rb, line 25 def CapCap.run opts = {headers: []} opt = OptionParser.new opt.banner = "Usage: capcap [options] <url> [<url>...]" opt.on("-o", "--output=VAL", "Output capturing image to specific path. If ommited, output to tempfile.") {|v| opts[:output] = v } opt.on("-s", "--selector=VAL", "Capture only element specified by css selector. If ommited, capture entire page.") {|v| opts[:selector] = v } opt.on("-H", "--header=VAL", "Add extra HTTP-header to use when getting a web page.") {|v| opts[:headers] << v } opt.on("--size=VAL", "Specify rendering page size. If ommited, it may be default size. e.g., `--size 320x480`") {|v| opts[:size] = v.split(?x).map(&:to_i) } opt.on("--open", "If specified, invoke `open` command to preview captured image.") {|v| opts[:invoke_open] = v } opt.parse! ARGV main = Main.new main.resize *opts[:size] unless opts[:size].nil? if opts[:headers].size > 0 main.add_headers Hash[opts[:headers].map {|v| v.split(?:).map{|kv| kv.strip } }] end if ARGV.empty? puts opt.help exit elsif ARGV.size == 1 output = main.capture ARGV.first, opts[:output], selector: opts[:selector] main.invoke_open output if opts[:invoke_open] else outputs = ARGV.map {|url| main.capture url, selector: opts[:selector] } output = main.capture_combined outputs, opts[:output] main.invoke_open output if opts[:invoke_open] end end