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 +4 -4
- data/bin/biosphere +6 -0
- data/lib/biosphere/cli/updatemanager.rb +21 -13
- data/lib/biosphere/version.rb +1 -1
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2166ef6bb2da626eab94885df92a8b3bb79aa505
|
4
|
+
data.tar.gz: 4119e8fc79df78d71dfb9e77f61f83899376e506
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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 '
|
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(
|
13
|
-
|
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
|
-
|
16
|
-
|
16
|
+
if response.code != 200
|
17
|
+
return nil
|
18
|
+
end
|
17
19
|
|
18
|
-
|
19
|
-
|
20
|
+
data = JSON.parse(response.body)
|
21
|
+
|
22
|
+
info = {
|
23
|
+
latest: data["version"],
|
24
|
+
current: current_version,
|
25
|
+
}
|
20
26
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
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
|
data/lib/biosphere/version.rb
CHANGED
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.
|
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-
|
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
|