gemver 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: cf678a80127cb38a64b5b6fff63712b3a3768c07
4
+ data.tar.gz: 0c5d64e0e39eff1b8c89a744a8dff94d4994357b
5
+ SHA512:
6
+ metadata.gz: 5c96c72c797e40de10b7e01c7537d590c2da0158c33fdf425350cfc83c57ff6754e87468ea79ef56ecbdb886746ce24bd057e157c40bec0ce4183b6fe6c8d237
7
+ data.tar.gz: 94591199805192bec5ea59fdd1194a7de8766e484ca3eac67355fd38428f8645f69ad5fbdf0d7f27cfff0fd1abb2e98310d509af0d0d1b94e159121ce18a4eff
data/bin/gemver ADDED
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'gemver'
4
+ puts Gemver.run(ARGV[0])
@@ -0,0 +1,14 @@
1
+ # class Gemver::Translator
2
+ # def initialize(language)
3
+ # @language = language
4
+ # end
5
+
6
+ # def run
7
+ # case @language
8
+ # when "spanish"
9
+ # "hola mundo"
10
+ # else
11
+ # "hello world"
12
+ # end
13
+ # end
14
+ # end
data/lib/gemver.rb ADDED
@@ -0,0 +1,48 @@
1
+ class Gemver
2
+ UNKNOWN_VERSION = 'unknown'
3
+ def self.run(gemname)
4
+ if gemname.nil?
5
+ puts "ERR: Please specify gem name!"
6
+ puts "`gemver rails` for an example"
7
+ return
8
+ end
9
+
10
+ begin
11
+ response = Net::HTTP.get_response(URI("https://rubygems.org/api/v1/versions/#{gemname}/latest1.json"))
12
+ unless response.is_a?(Net::HTTPSuccess)
13
+ puts response.header&.message
14
+ return
15
+ end
16
+
17
+ body = JSON.parse(response.body)
18
+ version = body['version']
19
+ # puts response.body
20
+ # puts version
21
+ if version == UNKNOWN_VERSION
22
+ raise 'Your gem name return an unknown version number. Please verify that the gem exists!'
23
+ return
24
+ end
25
+ puts "Latest version of #{gemname} is #{version}"
26
+
27
+ self.write_gem_file("gem '#{gemname}', '~> #{version}'")
28
+ rescue => e
29
+ puts e
30
+ end
31
+ end
32
+
33
+ def self.write_gem_file(text)
34
+ begin
35
+ file = File.open("Gemfile", "a+")
36
+ file.write("\n" + text)
37
+ puts "Write successfully"
38
+ rescue IOError => e
39
+ puts e
40
+ ensure
41
+ file.close unless file.nil?
42
+ end
43
+ end
44
+ end
45
+
46
+ require 'gemver/translator'
47
+ require 'net/http'
48
+ require 'json'
metadata ADDED
@@ -0,0 +1,47 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: gemver
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
5
+ platform: ruby
6
+ authors:
7
+ - Eugene
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-02-02 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Simple gem to add gem version without going to Gemfile
14
+ email: cuongnm265@gmail.com
15
+ executables:
16
+ - gemver
17
+ extensions: []
18
+ extra_rdoc_files: []
19
+ files:
20
+ - bin/gemver
21
+ - lib/gemver.rb
22
+ - lib/gemver/translator.rb
23
+ homepage: http://rubygems.org/gems/gemver
24
+ licenses:
25
+ - MIT
26
+ metadata: {}
27
+ post_install_message:
28
+ rdoc_options: []
29
+ require_paths:
30
+ - lib
31
+ required_ruby_version: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: '0'
36
+ required_rubygems_version: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ requirements: []
42
+ rubyforge_project:
43
+ rubygems_version: 2.6.14
44
+ signing_key:
45
+ specification_version: 4
46
+ summary: Gemver!
47
+ test_files: []