conflux 1.0.1 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/conflux.gemspec +0 -2
- data/lib/conflux/helpers.rb +41 -9
- data/lib/conflux/version.rb +1 -1
- data/lib/conflux.rb +6 -12
- data/lib/tasks/conflux.rake +31 -23
- metadata +1 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4533ef01b7d5dc2cc743aaa716445df8de04c613
|
4
|
+
data.tar.gz: ce5771a9a3bf263fb77218b04f77d82331b63e5b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a60d89dcf5de27b4f7d806a5e72dd32e8e163b02ff7d29280305d27f5bb02b2e856710f049c0cc745b047a553e8d8312951a18c68c442b5b2edc653af96c1910
|
7
|
+
data.tar.gz: 8c97aa0bf79dbce7a395daf30a05400bb4659692d3b0f492dec62a8e24accf36cee6fa765a1b5a42c0114dbb8be9625c21d0c6e4dc196eb06a3693288b08b0a1
|
data/conflux.gemspec
CHANGED
@@ -17,8 +17,6 @@ Gem::Specification.new do |spec|
|
|
17
17
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
18
18
|
spec.require_paths = ["lib"]
|
19
19
|
|
20
|
-
spec.add_dependency "rest-client", "1.6.8"
|
21
|
-
|
22
20
|
spec.add_development_dependency "rails", "~> 4.0"
|
23
21
|
spec.add_development_dependency "bundler", "~> 1.11"
|
24
22
|
spec.add_development_dependency "rake", "~> 10.0"
|
data/lib/conflux/helpers.rb
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
require 'net/http'
|
2
|
+
require 'net/https'
|
3
|
+
require 'uri'
|
4
|
+
require 'json'
|
5
|
+
|
1
6
|
module Conflux
|
2
7
|
module Helpers
|
3
8
|
extend self
|
@@ -80,14 +85,6 @@ module Conflux
|
|
80
85
|
RUBY_PLATFORM =~ /mswin32|mingw32/
|
81
86
|
end
|
82
87
|
|
83
|
-
def url(route)
|
84
|
-
"#{host_url}/api#{route}"
|
85
|
-
end
|
86
|
-
|
87
|
-
def host_url
|
88
|
-
ENV['CONFLUX_HOST'] || 'http://api.goconflux.com'
|
89
|
-
end
|
90
|
-
|
91
88
|
def prompt_user_to_select_app(apps_map)
|
92
89
|
answer = nil
|
93
90
|
question = "\nWhich Conflux app does this project belong to?\n"
|
@@ -134,8 +131,43 @@ module Conflux
|
|
134
131
|
exit(1)
|
135
132
|
end
|
136
133
|
|
134
|
+
def host_url
|
135
|
+
ENV['CONFLUX_HOST'] || 'http://api.goconflux.com'
|
136
|
+
end
|
137
|
+
|
138
|
+
def http
|
139
|
+
uri = URI.parse(host_url)
|
140
|
+
Net::HTTP.new(uri.host, uri.port)
|
141
|
+
end
|
142
|
+
|
143
|
+
def form_request(net_obj, route, data, headers, error_message)
|
144
|
+
data ||= {}
|
145
|
+
headers ||= {}
|
146
|
+
route = data.empty? ? route : "#{route}?#{URI.encode_www_form(data)}"
|
147
|
+
request = net_obj.new("/api#{route}")
|
148
|
+
request.add_field('Content-Type', 'application/x-www-form-urlencoded')
|
149
|
+
add_headers(request, headers)
|
150
|
+
response = http.request(request)
|
151
|
+
handle_json_response(response, error_message)
|
152
|
+
end
|
153
|
+
|
154
|
+
def json_request(net_obj, route, data, headers, error_message)
|
155
|
+
data ||= {}
|
156
|
+
headers ||= {}
|
157
|
+
request = net_obj.new("/api#{route}")
|
158
|
+
request.add_field('Content-Type', 'application/json')
|
159
|
+
add_headers(request, headers)
|
160
|
+
request.body = data.to_json
|
161
|
+
response = http.request(request)
|
162
|
+
handle_json_response(response, error_message)
|
163
|
+
end
|
164
|
+
|
165
|
+
def add_headers(request, headers)
|
166
|
+
headers.each { |key, val| request.add_field(key, val) }
|
167
|
+
end
|
168
|
+
|
137
169
|
def handle_json_response(response, error_message)
|
138
|
-
if response.code == 200
|
170
|
+
if response.code.to_i == 200
|
139
171
|
JSON.parse(response.body) rescue {}
|
140
172
|
else
|
141
173
|
error(error_message)
|
data/lib/conflux/version.rb
CHANGED
data/lib/conflux.rb
CHANGED
@@ -1,17 +1,15 @@
|
|
1
1
|
require 'conflux/version'
|
2
|
-
require '
|
2
|
+
require 'conflux/helpers'
|
3
3
|
require 'json'
|
4
4
|
|
5
5
|
module Conflux
|
6
6
|
require 'conflux/railtie' if defined?(Rails)
|
7
7
|
extend self
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
if File.exists?(config_vars_path)
|
9
|
+
if File.exists?('../configs.yml')
|
12
10
|
require 'yaml'
|
13
|
-
configs = YAML::load_file(
|
14
|
-
configs.each { |key, val|
|
11
|
+
configs = YAML::load_file('../configs.yml') rescue {}
|
12
|
+
(configs || {}).each { |key, val|
|
15
13
|
ENV[key] = val if !ENV.key?(key)
|
16
14
|
}
|
17
15
|
end
|
@@ -54,12 +52,8 @@ module Conflux
|
|
54
52
|
end
|
55
53
|
|
56
54
|
def fetch_configs
|
57
|
-
|
58
|
-
|
59
|
-
configs = JSON.parse(response.body) rescue []
|
60
|
-
set_configs(configs, !@creds_preset)
|
61
|
-
end
|
62
|
-
end
|
55
|
+
configs = Conflux::Helpers.form_request(Net::HTTP::Get, '/keys', {}, headers, 'Error fetching Conflux configs')
|
56
|
+
set_configs(configs, !@creds_preset)
|
63
57
|
end
|
64
58
|
|
65
59
|
def set_configs(configs_map, add_to_yml)
|
data/lib/tasks/conflux.rake
CHANGED
@@ -10,31 +10,39 @@ namespace :conflux do
|
|
10
10
|
helpers = Conflux::Helpers
|
11
11
|
creds = helpers.ask_for_basic_creds
|
12
12
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
13
|
+
auth_response_body = helpers.json_request(
|
14
|
+
Net::HTTP::Post,
|
15
|
+
'/users/apps_basic_auth',
|
16
|
+
creds,
|
17
|
+
nil,
|
18
|
+
'Authentication failed.'
|
19
|
+
)
|
20
|
+
|
21
|
+
# Ask which app the user wants to use:
|
22
|
+
app_slug = helpers.prompt_user_to_select_app(auth_response_body['apps_map'])
|
23
|
+
|
24
|
+
manifest_response_body = helpers.form_request(
|
25
|
+
Net::HTTP::Get,
|
26
|
+
'/apps/manifest',
|
27
|
+
{ app_slug: app_slug },
|
28
|
+
{ 'Conflux-User' => auth_response_body['token'] },
|
29
|
+
'Connecting to Conflux app failed.'
|
30
|
+
)
|
31
|
+
|
32
|
+
manifest_json = manifest_response_body['manifest']
|
33
|
+
|
34
|
+
# Create .conflux/ folder if doesn't already exist
|
35
|
+
FileUtils.mkdir_p(helpers.conflux_folder_path) if !File.exists?(helpers.conflux_folder_path)
|
36
|
+
|
37
|
+
puts 'Configuring manifest.json...'
|
38
|
+
|
39
|
+
# Write this app info to a new manifest.json file for the user
|
40
|
+
File.open(helpers.conflux_manifest_path, 'w+') do |f|
|
41
|
+
f.write(JSON.pretty_generate(manifest_json))
|
36
42
|
end
|
37
43
|
|
44
|
+
puts "Successfully connected project to conflux app: #{app_slug}"
|
45
|
+
puts "The 'conflux' ruby gem wasn't automatically installed...Make sure it's installed if it's not already."
|
38
46
|
end
|
39
47
|
|
40
48
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: conflux
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Whittle
|
@@ -10,20 +10,6 @@ bindir: exe
|
|
10
10
|
cert_chain: []
|
11
11
|
date: 2016-07-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: rest-client
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - '='
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 1.6.8
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - '='
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: 1.6.8
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: rails
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|