conflux 1.0.1 → 1.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 +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
|