Sha256: 678cecc76c0473156d8c8bbfe329b26436e5109edfe0484d5b7af48b8e765da8
Contents?: true
Size: 1.87 KB
Versions: 3
Compression:
Stored size: 1.87 KB
Contents
#!/usr/bin/env ruby $:.unshift(File.expand_path('../../lib', __FILE__)) %w{embedly json optparse ostruct}.each {|l| require l} options = OpenStruct.new({ :hostname => nil, :key => ENV['EMBEDLY_KEY'] == '' ? nil : ENV['EMBEDLY_KEY'], :verbose => false, :args => {}, :headers => {} }) action = File.basename(__FILE__)[/embedly_(\w+)/, 1] opts = OptionParser.new do |opts| opts.banner = <<-DOC Fetch JSON from the embedly #{action} service. Usage #{action} [OPTIONS] <url> [url] .. DOC opts.separator "" opts.separator "Options:" opts.on("-H", "--hostname ENDPOINT", "Embedly host. Default is api.embed.ly.") do |e| options.hostname = e end opts.on("--header NAME=VALUE", "HTTP header to send with requests.") do |header| n,v = header.split '=' options.headers[n] = v end opts.on("-k", "--key KEY", "Embedly key [default: " + "EMBEDLY_KEY environmental variable]") do |k| options.key = k end opts.on("-N", "--no-key", "Ignore EMBEDLY_KEY environmental variable") do options.key = nil end opts.on("-o", "--option NAME=VALUE", "Set option to be passed as " + "query param.") do |o| k,v = o.split('=') options.args[k] = v end opts.separator "" opts.separator "Common Options:" opts.on("-v", "--verbose", "Run verbosely") do options.verbose = true end opts.on("-h", "--help", "Display this message") do puts opts exit end opts.separator "" opts.separator "Bob Corsaro <bob@embed.ly>" end opts.parse! if ARGV.size < 1 $stderr.puts "ERROR: url required" $stderr.puts opts exit 1 end Embedly::Config.logging = true if options.verbose options.args[:urls] = ARGV api = Embedly::API.new options.marshal_dump objs = [api.send(action.to_sym, options.args)].flatten.collect{|o| o.marshal_dump} puts JSON.pretty_generate(objs)
Version data entries
3 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
embedly-1.0.0 | bin/embedly_objectify |
embedly-1.0.0 | bin/embedly_oembed |
embedly-1.0.0 | bin/embedly_preview |