mmini 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/lib_mmini.rb +27 -6
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8a8d7c1ca38bb1819dc211f702c7ba5ecf43bf40baef9a95ff0263fcfc1355d6
4
- data.tar.gz: ded85f3f690442112ca28a1c4d14db077a61360da3fc3a9d9133cc6847d05dc8
3
+ metadata.gz: de96e832a7b8180c0c596469f8a0d136902ace7d97bd7a58306ea387792cfef8
4
+ data.tar.gz: 1a6bff66eb7bdbe53733245a5b0108829df17cd79dfeb8b78dd8f7f54857f77c
5
5
  SHA512:
6
- metadata.gz: bd6f8cb44b877558d0d00aaace396747f1e5667bbfac5d7742e74eabd7bcbccd275956d26e9ec355e1911b622f5e90a96ee217d4c4545bbe9f4435be9efa05ef
7
- data.tar.gz: a205d7541eabdb5a0e4757a6bc3440ee5a26ed287750bcfda7db6300a5490528684d68fe26d93f70df5abc42731c413632f6d241446f4320f6b15ca473539c78
6
+ metadata.gz: 1c1251cac2d8297b8eb428aba9b57c12757b512a7bec72262404e36a777bdd7442c2109604d01edc5d21c3a00c8f55afa87d89ebbaaa25df44a3cf81f4644a11
7
+ data.tar.gz: db61f583ab6d7281a22fc38f08197479395249a3e46bdd935f096e33cd0fa914f3e307eb9f63c81a9031046a8b7290a7abc2f644b8f31a456813df4adde457af
@@ -3,6 +3,9 @@
3
3
  require 'cgi'
4
4
  require 'json'
5
5
  require 'net/http'
6
+ require 'optparse'
7
+ require 'ostruct'
8
+ require 'rubygems'
6
9
  require 'uri'
7
10
 
8
11
  module LibMmini
@@ -10,6 +13,28 @@ module LibMmini
10
13
  BACKEND = URI.parse(BACKEND_BASE + '/minify')
11
14
  HTTP = Net::HTTP.new(BACKEND.host, BACKEND.port = nil)
12
15
 
16
+ def parse_args(argv)
17
+ options = OpenStruct.new
18
+ options.url = nil
19
+
20
+ OptionParser.new do |opts|
21
+ opts.on_tail('-v', '--version', 'Show version') do
22
+ spec = Gem::Specification.load('mmini.gemspec')
23
+ puts spec.version
24
+ exit
25
+ end
26
+ end.parse!
27
+
28
+ if argv.length != 1
29
+ puts 'Only single argument supported'
30
+ exit
31
+ end
32
+
33
+ options[:url] = argv.first
34
+ options.freeze
35
+ options
36
+ end
37
+
13
38
  def valid_url?(string)
14
39
  hits = string =~ /\A#{URI::DEFAULT_PARSER.make_regexp}\z/
15
40
  !hits.nil? && hits.zero?
@@ -28,12 +53,8 @@ module LibMmini
28
53
  end
29
54
 
30
55
  def run(argv, post_url_fn)
31
- if argv.length != 1
32
- puts 'Only single argument supported'
33
- exit!
34
- end
35
-
36
- url = argv.first
56
+ args = parse_args(argv)
57
+ url = args.url
37
58
 
38
59
  unless valid_url?(url)
39
60
  puts 'URL is invalid: ' + url
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mmini
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Simon Egersand