KonaLast 0.0.4 → 0.0.5

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.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YTYyYTI4MjU3YjJjZjdlYzk2YjcwMDIxYzNiNDQyOWNmODRiOGRlNw==
4
+ ODg2MmUwNmU1NzE1NmMxNTZlNDBhNzc1OTEzMWFlYTZmNTIzNGFiNg==
5
5
  data.tar.gz: !binary |-
6
- ZDM2NzBhYTA0NDc2YTg0YWYzZTNlYTI1MjUwNDA3ZjgxNDI1NDBhMQ==
6
+ MWVhOWVhMzc1MjZiYzkyNjNmODNjMjQzYmVjNDBiYjU5MDUwMjFlMw==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MjY3YzQ3ZjFiYTFkYzA5ZjQwZmMwN2M2NTY4MmZjMDU5MTFmM2VjZGUyNGRl
10
- M2ZlZWM4ZWYxMTgxZDhkOWZlZmRiNGRkZmYwOWQ4YWUyMmNmYjQ2ZWEzZDJi
11
- YjZmMmNmNzVjYWMyMzdkOGIyOTEwZjg4NGNiNWM5ZmJiMjQ3MTM=
9
+ Nzc5NDEyOWI2YzE3MjkwZGQ3YmY0ODA2OTY3ZWMwYzU1NmUyMTkyOTQ0NmJh
10
+ NmU1OGQxNWEzZWJmNjFhYWZkNWFiZGI5NDA4YmU0MjllNDNlOTBiMGI0ZGYw
11
+ NDQ5ZTZmOWEyYmJjODQ1NGUyNWViZmY5NjU2OTU4MWQ0N2YzYjI=
12
12
  data.tar.gz: !binary |-
13
- NmJmYTA3Nzk0ZWNjYWViNWM1ODQwOTRjNmQ4OWEyNzdhNTIyZmZmYjQ2ZDJj
14
- MDYyODlkZDQ1YThjYmI1OTYwNzVkM2QyNzZjYjg3NDI2MzJkYzI0MDY4Zjg3
15
- NTNkMjMxMmNjYjc0MjZjMWI0YjEyZWJkYzA1NDFhMTFlZmUxM2M=
13
+ NmY5NGE5ZDg2Y2M0MDc1NGUzYWM0ZmUyOTg0ZjQ5NTE2NTE3YTAxNmUyODdj
14
+ YjAxODE2MDFkNjE3MjZlMTBkNWEzOGQ4ZmUwOTA0ODIzYWQ4NzdjYjc5MWIz
15
+ Y2YwOWZjYzNhZWNlYTc0Mjc4MTk3NGU4YWFiZDMyMTExZTA4MmQ=
Binary file
data.tar.gz.sig CHANGED
@@ -1 +1,2 @@
1
- !WXk����~/������#r�����>1��fÈ�U�|v�Ɩ�uP���܀�NSb݉y��́+�ibT���:���aIaPaY��sku B��JS��@jt g~��� @#���Ɲ��Np��:���ѻ6Uc��IT�lf��&��b��x��d}O�9���OO�*���gM����o��|�!c^.4���XNf�穛���o%(XoG���L�"�~�~�Zb/������&
1
+ HY!��R��TQ���R�.�Fa ij�_�|��İ�������XTK��5pJ.h��o'*-��04)'��}�Hr�ǐP( ���^�V�l��;]c�� IGkz !�3J��H�I���@i�U�!59�?[Y���C2BhOq
2
+ Y��趃C]+L2�Ǫ�W?�RH�F���MQj���"A+]�mPdJXe~��p���{a��!�T��B��uD{��SIj5���Kƣ��%H_����T,j
@@ -5,7 +5,7 @@ require 'KonaLast/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = 'KonaLast'
8
- spec.version = KonaLast::VERSION
8
+ spec.version = KonaLast::Version::version
9
9
  spec.authors = ['zeriyu']
10
10
  spec.email = ['serhiy94@gmail.com']
11
11
  spec.summary = %q{Get last x pictures from konachan}
@@ -21,5 +21,4 @@ Gem::Specification.new do |spec|
21
21
  spec.require_paths = ['lib']
22
22
 
23
23
  spec.add_development_dependency 'bundler', '~> 1.7'
24
- #spec.add_runtime_dependency 'slop', '~> 3.6.0'
25
24
  end
@@ -5,7 +5,7 @@ kona = KonaLast::Site.new
5
5
  utils = KonaLast::Utils.new
6
6
 
7
7
 
8
- options = utils.options(ARGV[0])
8
+ options = utils.options(ARGV)
9
9
 
10
10
  reply = kona.ask(options)
11
11
  message = utils.translate(reply)
@@ -0,0 +1 @@
1
+ b654ee6e63aabd756b6420726b1537fa793b2ddf022980adcb131bd54f85e6781aa6c668bcb3bbbffb9981b0ebc8bb7c27d10d6b26fe9339113796c7be21e90a
@@ -1,28 +1,51 @@
1
+ require 'KonaLast/version'
1
2
  require 'net/http'
2
3
  require 'net/https'
3
4
  require 'json'
4
- # require 'slop'
5
- # too easy
6
- # require 'googl'
5
+ require 'optparse'
6
+
7
7
  module KonaLast
8
+
8
9
  class Utils
10
+ MAX_IMGS = 100
11
+
12
+ # @return [Hash] with options
13
+ def options(args)
14
+ options = {}
15
+ # defaults
16
+ # @todo: load defaults from file
17
+ options[:limit] = '5'
18
+ options[:api] = URI('http://konachan.com/post.json')
19
+ parser = OptionParser.new do |o|
20
+
21
+ o.on('-n', '--number', '=[OPTIONAL]', Integer,'Num of images to be retrieved. Integer.') do |number|
22
+ if number > MAX_IMGS
23
+ warn "#{number} is too much, I'll give you just 5"
24
+ number = 5
25
+ end
26
+ options[:limit] = number.to_s
27
+ end
28
+
29
+ # @todo: validate input url
30
+ o.on('--url', '=[OPTIONAL]', 'API\'s URL, dont validates yet. Be careful') do |url|
31
+ options[:api] = URI(url)
32
+ end
9
33
 
10
- # return [Hash] with options
11
- def options(limit, url='http://konachan.com/post.json')
12
- if limit.nil?
13
- num = '100'
14
- else
15
- if limit.to_i > 100
16
- warn "#{limit} is too much, I'll give you just 5"
17
- num = '5'
18
- else
19
- num = limit
34
+ o.on_tail('--version', 'Show version.') do
35
+ KonaLast::Version.show_version(true)
36
+ exit
20
37
  end
38
+
39
+ o.on_tail('-h', '--help', 'Show this helpful message.') do
40
+ puts o
41
+ exit
42
+ end
43
+
21
44
  end
22
- {
23
- :api => URI(url),
24
- :limit => num
25
- }
45
+
46
+ parser.parse!(args)
47
+ options
48
+
26
49
  end
27
50
 
28
51
  # @return [Hash] translated from JSON
@@ -43,10 +66,13 @@ module KonaLast
43
66
  uri = URI.parse('https://www.googleapis.com/urlshortener/v1/url')
44
67
  googl_san = Net::HTTP.new(uri.host, uri.port)
45
68
  googl_san.use_ssl = true
69
+ # rubymine gives me a warning about OpenSSL::SSL::VERIFY_NONE
70
+ # fu.
46
71
  googl_san.verify_mode = OpenSSL::SSL::VERIFY_NONE
47
72
 
48
73
  # rubymine gives me a "String as hash key" warning
49
74
  # fu.
75
+ # fu again.
50
76
  initheader = {'Content-Type' =>'application/json'}
51
77
 
52
78
  question = Net::HTTP::Post.new(uri.request_uri, initheader)
@@ -54,8 +80,6 @@ module KonaLast
54
80
  response = googl_san.request(question)
55
81
  translate(response.body)['id']
56
82
 
57
- # easy way is easy
58
- # Googl.shorten(long_url).short_url
59
83
  end
60
84
  end
61
85
 
@@ -1,3 +1,16 @@
1
1
  module KonaLast
2
- VERSION = '0.0.4'
2
+ class Version
3
+ VERSION = '0.0.5'
4
+ RELEASE = 'alpha'
5
+ def self.version
6
+ VERSION
7
+ end
8
+ def self.show_version(color = false)
9
+ if color
10
+ puts "#{VERSION} (\033[31m#{RELEASE}\033[0m)"
11
+ else
12
+ puts "#{VERSION} #{RELEASE}"
13
+ end
14
+ end
15
+ end
3
16
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: KonaLast
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - zeriyu
@@ -35,7 +35,7 @@ cert_chain:
35
35
  UHVhV1Y1dTBxbmxoTlEraENzTUVxMUIvc20xcFRpd00KSDRLaVdsSHJBdDg5
36
36
  SnhoekFYSVJRanFWZ0dnTStSU3grblcyL3Q2SlhlZkkxaE1Kam1jSGZsWXdM
37
37
  blZ4a3pkRgpvTEdxbFU2bgotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
38
- date: 2014-09-20 00:00:00.000000000 Z
38
+ date: 2014-09-21 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: bundler
@@ -62,13 +62,13 @@ files:
62
62
  - .gitignore
63
63
  - .idea/dictionaries/Serhiy.xml
64
64
  - Gemfile
65
- - KonaLast-0.0.3.gem
66
65
  - KonaLast.gemspec
67
66
  - LICENSE.txt
68
67
  - README.md
69
68
  - bin/kona-ask
70
69
  - certs/zeriyu.pem
71
70
  - checksum/KonaLast-0.0.3.gem.sha512
71
+ - checksum/KonaLast-0.0.4.gem.sha512
72
72
  - lib/KonaLast.rb
73
73
  - lib/KonaLast/version.rb
74
74
  homepage: http://zeriyu.github.io
metadata.gz.sig CHANGED
Binary file
Binary file