gemver 0.0.2

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 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: []