biosphere 0.2.2 → 0.2.3

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,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 81c2cd041ce9dde3053f5fe132759eb1b613bca0
4
- data.tar.gz: 3e8b438a25f87f2d0768f95e0b9d869ac4e84e08
3
+ metadata.gz: 2166ef6bb2da626eab94885df92a8b3bb79aa505
4
+ data.tar.gz: 4119e8fc79df78d71dfb9e77f61f83899376e506
5
5
  SHA512:
6
- metadata.gz: c860e5fb498ea64939b51c7ff6b224ba8da60c8e81f3b438152f6d1a7ac88edd3b278c95e9edfc39f9719ad30d907276c59010e763701e6f3a6dcf13db33c710
7
- data.tar.gz: 8e9593ac3d4dad87d535983b2150b5a986c52dc6b16dee8baa7a20a560ea94553de4aced5c91ca42a2fb6a5725aebb5b1981a501fbbad72d5f8675902eaefb9d
6
+ metadata.gz: b5361b142eee09f52c3899b5b173267ebd7e4a50162c3d42cf74ff1122eef2bb04d66fd2dc559419d5e59e971ae4394d95306a23bf19beacdb5a0781fbc07f1a
7
+ data.tar.gz: 46d2b4ad7b982ffaf9eb7f5d4e9ddf4b31c710860fee954d768716741fea224da454bbe11855e7bad364c6e9e1a98e764df247591a5ab8884d453e35169c2646
data/bin/biosphere CHANGED
@@ -63,6 +63,12 @@ if !STDOUT.isatty
63
63
  String.disable_colorization true
64
64
  end
65
65
 
66
+ update_info = Biosphere::CLI::UpdateManager::check_for_update()
67
+ if !update_info[:up_to_date]
68
+ STDERR.puts "Notice. There is a new #{update_info[:latest]} biosphere version available. Your current version is #{update_info[:current]}\n".colorize(:yellow)
69
+ end
70
+
71
+
66
72
  options = BiosphereOpts.parse(ARGV)
67
73
 
68
74
  if ARGV.length == 0
@@ -1,7 +1,7 @@
1
1
  require 'pp'
2
2
  require 'treetop'
3
3
  require 'colorize'
4
- require 'net/http'
4
+ require 'rest-client'
5
5
 
6
6
  class Biosphere
7
7
 
@@ -9,23 +9,31 @@ class Biosphere
9
9
  class UpdateManager
10
10
 
11
11
 
12
- def check_for_update(version = ::Biosphere::Version)
13
- url = URI('https://rubygems.org/api/v1/versions/biosphere/latest.json')
12
+ def self.check_for_update(current_version = ::Biosphere::Version)
13
+ begin
14
+ response = RestClient::Request.execute(method: :get, url: 'https://rubygems.org/api/v1/versions/biosphere/latest.json', timeout: 1)
14
15
 
15
- response = get_response_with_redirect(url)
16
- pp response
16
+ if response.code != 200
17
+ return nil
18
+ end
17
19
 
18
- return info
19
- end
20
+ data = JSON.parse(response.body)
21
+
22
+ info = {
23
+ latest: data["version"],
24
+ current: current_version,
25
+ }
20
26
 
21
- private
22
- def get_response_with_redirect(uri)
23
- r = Net::HTTP.get_response(uri)
24
- if r.code == "301"
25
- r = Net::HTTP.get_response(URI.parse(r.header['location']))
27
+ info[:up_to_date] = Gem::Version.new(info[:current]) == Gem::Version.new(info[:latest])
28
+
29
+ return info
30
+ rescue JSON::ParserError
31
+ return nil
32
+ rescue RestClient::Exceptions::ReadTimeout
33
+ return nil
26
34
  end
27
- r
28
35
  end
36
+
29
37
  end
30
38
  end
31
39
  end
@@ -1,3 +1,3 @@
1
1
  class Biosphere
2
- Version = "0.2.2"
2
+ Version = "0.2.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: biosphere
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juho Mäkinen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-16 00:00:00.000000000 Z
11
+ date: 2017-05-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -150,6 +150,20 @@ dependencies:
150
150
  - - '='
151
151
  - !ruby/object:Gem::Version
152
152
  version: 1.6.8
153
+ - !ruby/object:Gem::Dependency
154
+ name: rest-client
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - '='
158
+ - !ruby/object:Gem::Version
159
+ version: 2.0.2
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - '='
165
+ - !ruby/object:Gem::Version
166
+ version: 2.0.2
153
167
  description: "Terraform's HCL lacks quite many programming features like iterators,
154
168
  true variables, advanced string manipulation, functions etc.\n\n This Ruby tool
155
169
  provides an easy-to-use DSL to define Terraform compatible .json files which can