iron_worker_ng 0.3.6 → 0.3.7
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/lib/iron_worker_ng/api_client.rb +45 -54
- metadata +2 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.7
|
@@ -1,7 +1,6 @@
|
|
1
1
|
require 'rest-client'
|
2
2
|
require 'rest'
|
3
3
|
require 'json'
|
4
|
-
require 'yaml'
|
5
4
|
require 'time'
|
6
5
|
|
7
6
|
require_relative 'api_client_error'
|
@@ -19,67 +18,55 @@ module IronWorkerNG
|
|
19
18
|
attr_accessor :user_agent
|
20
19
|
|
21
20
|
def initialize(options = {})
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
if (@token.nil? || @project_id.nil?) && ((not options[:json_config_file].nil?) || (not options['json_config_file'].nil?))
|
30
|
-
load_json_config(options[:json_config_file] || options['json_config_file'])
|
31
|
-
end
|
32
|
-
|
33
|
-
if @token.nil? || @project_id.nil?
|
34
|
-
load_yaml_config('iron.yml')
|
35
|
-
end
|
36
|
-
|
37
|
-
if @token.nil? || @project_id.nil?
|
38
|
-
load_json_config('iron.json')
|
39
|
-
end
|
40
|
-
|
41
|
-
@token ||= ENV['IRON_TOKEN']
|
42
|
-
@project_id ||= ENV['IRON_PROJECT_ID']
|
43
|
-
|
44
|
-
if @token.nil? || @project_id.nil?
|
45
|
-
load_yaml_config('~/.iron.yml')
|
46
|
-
end
|
47
|
-
|
48
|
-
if @token.nil? || @project_id.nil?
|
49
|
-
load_json_config('~/.iron.json')
|
50
|
-
end
|
21
|
+
load_from_hash(options)
|
22
|
+
load_from_config(options[:config_file] || options['config_file'])
|
23
|
+
load_from_config('iron.json')
|
24
|
+
load_from_env('IRON_WORKER')
|
25
|
+
load_from_env('IRON')
|
26
|
+
load_from_config('~/.iron.json')
|
27
|
+
load_from_hash(:scheme => 'https', :host => IronWorkerNG::APIClient::AWS_US_EAST_HOST, :port => 443, :api_version => 2, :user_agent => 'iron_worker_ng-' + IronWorkerNG.version)
|
51
28
|
|
52
29
|
if (not @token) || (not @project_id)
|
53
30
|
IronWorkerNG::Logger.error 'Both iron.io token and project_id must be specified'
|
54
31
|
raise 'Both iron.io token and project_id must be specified'
|
55
32
|
end
|
56
33
|
|
57
|
-
@
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
34
|
+
@rest = Rest::Client.new
|
35
|
+
end
|
36
|
+
|
37
|
+
def load_from_hash(hash)
|
38
|
+
return if hash.nil?
|
62
39
|
|
63
|
-
@
|
40
|
+
@token ||= hash[:token] || hash['token']
|
41
|
+
@project_id ||= hash[:project_id] || hash['project_id']
|
64
42
|
|
65
|
-
@
|
43
|
+
@scheme ||= hash[:scheme] || hash['scheme']
|
44
|
+
@host ||= hash[:host] || hash['host']
|
45
|
+
@port ||= hash[:port] || hash['port']
|
46
|
+
@api_version ||= hash[:api_version] || hash['api_version']
|
47
|
+
@user_agent ||= hash[:user_agent] || hash['user_agent']
|
66
48
|
end
|
67
49
|
|
68
|
-
def
|
69
|
-
|
70
|
-
|
50
|
+
def load_from_env(prefix)
|
51
|
+
@token ||= ENV[prefix + '_TOKEN']
|
52
|
+
@project_id ||= ENV[prefix + '_PROJECT_ID']
|
71
53
|
|
72
|
-
|
73
|
-
|
74
|
-
|
54
|
+
@scheme ||= ENV[prefix + '_SCHEME']
|
55
|
+
@host ||= ENV[prefix + '_HOST']
|
56
|
+
@port ||= ENV[prefix + '_PORT']
|
57
|
+
@api_version ||= ENV[prefix + '_API_VERSION']
|
58
|
+
@user_agent ||= ENV[prefix + '_USER_AGENT']
|
75
59
|
end
|
76
60
|
|
77
|
-
def
|
61
|
+
def load_from_config(config_file)
|
62
|
+
return if config_file.nil?
|
63
|
+
|
78
64
|
if File.exists?(File.expand_path(config_file))
|
79
65
|
config = JSON.load(File.read(File.expand_path(config_file)))
|
80
66
|
|
81
|
-
|
82
|
-
|
67
|
+
load_from_hash(config['iron_worker'])
|
68
|
+
load_from_hash(config['iron'])
|
69
|
+
load_from_hash(config)
|
83
70
|
end
|
84
71
|
end
|
85
72
|
|
@@ -91,14 +78,18 @@ module IronWorkerNG
|
|
91
78
|
}
|
92
79
|
end
|
93
80
|
|
81
|
+
def url
|
82
|
+
"#{scheme}://#{host}:#{port}/#{api_version}/"
|
83
|
+
end
|
84
|
+
|
94
85
|
def get(method, params = {})
|
95
86
|
request_hash = {}
|
96
87
|
request_hash[:headers] = common_request_hash
|
97
88
|
request_hash[:params] = params
|
98
89
|
|
99
|
-
IronWorkerNG::Logger.debug "GET #{
|
90
|
+
IronWorkerNG::Logger.debug "GET #{url + method} with params='#{request_hash.to_s}'"
|
100
91
|
|
101
|
-
@rest.get(
|
92
|
+
@rest.get(url + method, request_hash)
|
102
93
|
end
|
103
94
|
|
104
95
|
def post(method, params = {})
|
@@ -106,9 +97,9 @@ module IronWorkerNG
|
|
106
97
|
request_hash[:headers] = common_request_hash
|
107
98
|
request_hash[:body] = params.to_json
|
108
99
|
|
109
|
-
IronWorkerNG::Logger.debug "POST #{
|
100
|
+
IronWorkerNG::Logger.debug "POST #{url + method} with params='#{request_hash.to_s}'"
|
110
101
|
|
111
|
-
@rest.post(
|
102
|
+
@rest.post(url + method, request_hash)
|
112
103
|
end
|
113
104
|
|
114
105
|
def delete(method, params = {})
|
@@ -116,9 +107,9 @@ module IronWorkerNG
|
|
116
107
|
request_hash[:headers] = common_request_hash
|
117
108
|
request_hash[:params] = params
|
118
109
|
|
119
|
-
IronWorkerNG::Logger.debug "DELETE #{
|
110
|
+
IronWorkerNG::Logger.debug "DELETE #{url + method} with params='#{request_hash.to_s}'"
|
120
111
|
|
121
|
-
@rest.delete(
|
112
|
+
@rest.delete(url + method, request_hash)
|
122
113
|
end
|
123
114
|
|
124
115
|
# FIXME: retries support
|
@@ -128,9 +119,9 @@ module IronWorkerNG
|
|
128
119
|
request_hash[:data] = params.to_json
|
129
120
|
request_hash[:file] = file
|
130
121
|
|
131
|
-
IronWorkerNG::Logger.debug "POST #{
|
122
|
+
IronWorkerNG::Logger.debug "POST #{url + method + "?oauth=" + @token} with params='#{request_hash.to_s}'"
|
132
123
|
|
133
|
-
RestClient.post(
|
124
|
+
RestClient.post(url + method + "?oauth=#{@token}", request_hash)
|
134
125
|
end
|
135
126
|
|
136
127
|
def parse_response(response, parse_json = true)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: iron_worker_ng
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.7
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -156,7 +156,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
156
156
|
version: '0'
|
157
157
|
segments:
|
158
158
|
- 0
|
159
|
-
hash: -
|
159
|
+
hash: -452150865
|
160
160
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
161
161
|
none: false
|
162
162
|
requirements:
|