module LibMmini
Constants
- BACKEND
- BACKEND_BASE
- HTTP
Public Instance Methods
parse_args(argv)
click to toggle source
# File lib/lib_mmini.rb, line 20 def parse_args(argv) options = OpenStruct.new options.url = nil OptionParser.new do |opts| opts.on_tail('-v', '--version', 'Show version') do puts LibVersion::VERSION exit end end.parse! if argv.length != 1 puts 'Only single argument supported' exit end options[:url] = argv.first options.freeze options end
post_url(url)
click to toggle source
# File lib/lib_mmini.rb, line 46 def post_url(url) header = { 'Content-Type': 'application/json' } body = { url: url } req = Net::HTTP::Post.new(BACKEND.request_uri, header) req.body = body.to_json HTTP.request(req) end
run(argv, post_url_fn)
click to toggle source
# File lib/lib_mmini.rb, line 58 def run(argv, post_url_fn) args = parse_args(argv) url = args.url unless valid_url?(url) puts 'URL is invalid: ' + url exit! end response = post_url_fn.call(url) if response.code == '200' id = response.body success = true [success, BACKEND_BASE.to_s + '/' + id] else success = false [success, ''] end end
valid_url?(string)
click to toggle source
# File lib/lib_mmini.rb, line 41 def valid_url?(string) hits = string =~ /\A#{URI::DEFAULT_PARSER.make_regexp}\z/ !hits.nil? && hits.zero? end