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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1f67875c84e257fe44a6ed4174eb7634184f3b4b
4
- data.tar.gz: b856d38da6d97155b9e86b8e31117240c1b1307f
3
+ metadata.gz: 4533ef01b7d5dc2cc743aaa716445df8de04c613
4
+ data.tar.gz: ce5771a9a3bf263fb77218b04f77d82331b63e5b
5
5
  SHA512:
6
- metadata.gz: 020df88471311d0569fa8b04532dc1bc1e313c9464f0f082172eca02bedfacd77f3cad015f43544a53a6776d17706cf790ec3c6980fb667a7bcdc3aa664ea206
7
- data.tar.gz: 77e632c1244039970938c13504316975c86f891c4b6cf86b6380338482821d2fb961aad4b07176765147b010ed8f7102770c1aa24a5d4bd8d178f924d2ac964d
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"
@@ -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)
@@ -1,3 +1,3 @@
1
1
  module Conflux
2
- VERSION = '1.0.1'
2
+ VERSION = '1.0.2'
3
3
  end
data/lib/conflux.rb CHANGED
@@ -1,17 +1,15 @@
1
1
  require 'conflux/version'
2
- require 'rest-client'
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
- config_vars_path = File.join(Dir.pwd, 'configs.yml')
10
-
11
- if File.exists?(config_vars_path)
9
+ if File.exists?('../configs.yml')
12
10
  require 'yaml'
13
- configs = YAML::load_file(config_vars_path) rescue {}
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
- RestClient.get("#{conflux_url}/api/keys", headers) do |response|
58
- if response.code == 200
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)
@@ -10,31 +10,39 @@ namespace :conflux do
10
10
  helpers = Conflux::Helpers
11
11
  creds = helpers.ask_for_basic_creds
12
12
 
13
- RestClient.post(helpers.url('/users/apps_basic_auth'), creds) do |response|
14
- body = helpers.handle_json_response(response, 'Authentication failed.')
15
-
16
- # Ask which app user wants to use:
17
- app_slug = helpers.prompt_user_to_select_app(body['apps_map'])
18
-
19
- RestClient.get(helpers.url("/apps/manifest?app_slug=#{app_slug}"), { 'Conflux-User' => body['token'] }) do |response|
20
- resp = helpers.handle_json_response(response, 'Request failed.')
21
- manifest_json = resp['manifest']
22
-
23
- # Create .conflux/ folder if doesn't already exist
24
- FileUtils.mkdir_p(helpers.conflux_folder_path) if !File.exists?(helpers.conflux_folder_path)
25
-
26
- puts 'Configuring manifest.json...'
27
-
28
- # Write this app info to a new manifest.json file for the user
29
- File.open(helpers.conflux_manifest_path, 'w+') do |f|
30
- f.write(JSON.pretty_generate(manifest_json))
31
- end
32
-
33
- puts "Successfully connected project to conflux app: #{app_slug}"
34
- puts "The 'conflux' ruby gem wasn't automatically installed...Make sure it's installed if you haven't already done so."
35
- end
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.1
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