Class: Ievkit::Client
- Inherits:
-
Object
- Object
- Ievkit::Client
- Defined in:
- lib/ievkit/client.rb
Instance Attribute Summary collapse
-
#iev_url_jobs ⇒ Object
readonly
Returns the value of attribute iev_url_jobs.
-
#iev_url_prefix ⇒ Object
readonly
Returns the value of attribute iev_url_prefix.
-
#iev_url_suffix ⇒ Object
readonly
Returns the value of attribute iev_url_suffix.
-
#referential ⇒ Object
readonly
Returns the value of attribute referential.
Instance Method Summary collapse
- #init_connection(url) ⇒ Object
- #init_files(options) ⇒ Object
-
#initialize(referential) ⇒ Client
constructor
A new instance of Client.
- #prepare_post_request(type, options) ⇒ Object
- #prepare_request(url, http_method) ⇒ Object
Constructor Details
#initialize(referential) ⇒ Client
Returns a new instance of Client.
5 6 7 8 9 10 |
# File 'lib/ievkit/client.rb', line 5 def initialize(referential) @payload = {} @referential = referential @iev_url_prefix = init_iev_url_prefix @iev_url_jobs = init_iev_url_jobs end |
Instance Attribute Details
#iev_url_jobs ⇒ Object (readonly)
Returns the value of attribute iev_url_jobs.
3 4 5 |
# File 'lib/ievkit/client.rb', line 3 def iev_url_jobs @iev_url_jobs end |
#iev_url_prefix ⇒ Object (readonly)
Returns the value of attribute iev_url_prefix.
3 4 5 |
# File 'lib/ievkit/client.rb', line 3 def iev_url_prefix @iev_url_prefix end |
#iev_url_suffix ⇒ Object (readonly)
Returns the value of attribute iev_url_suffix.
3 4 5 |
# File 'lib/ievkit/client.rb', line 3 def iev_url_suffix @iev_url_suffix end |
#referential ⇒ Object (readonly)
Returns the value of attribute referential.
3 4 5 |
# File 'lib/ievkit/client.rb', line 3 def referential @referential end |
Instance Method Details
#init_connection(url) ⇒ Object
36 37 38 39 40 41 42 43 |
# File 'lib/ievkit/client.rb', line 36 def init_connection(url) @connection = Faraday.new(url: url) do |conn| conn.request :multipart if @payload.any? conn.headers = headers conn.response :json, content_type: 'application/json' conn.adapter Faraday.default_adapter end end |
#init_files(options) ⇒ Object
45 46 47 48 49 50 51 52 |
# File 'lib/ievkit/client.rb', line 45 def init_files() return unless iev_file = [:iev_file] @payload[:file[0]] = Faraday::UploadIO.new([:iev_params], 'application/json', 'parameters.json') return unless iev_file filename = File.basename(iev_file) @payload[:file[1]] = Faraday::UploadIO.new(iev_file, 'application/zip', filename) end |
#prepare_post_request(type, options) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/ievkit/client.rb', line 12 def prepare_post_request(type, ) init_files() @iev_url_suffix = init_iev_url_suffix(type) init_connection(iev_url_prefix) begin response = @connection.post(@iev_url_suffix, @payload) parse_response(response) rescue => e Ievkit::Log.logger.fatal("Unable to contact IEV server: #{e.message}") return false end end |
#prepare_request(url, http_method) ⇒ Object
25 26 27 28 29 30 31 32 33 34 |
# File 'lib/ievkit/client.rb', line 25 def prepare_request(url, http_method) init_connection(url) begin response = @connection.send(http_method) parse_response(response) rescue => e Ievkit::Log.logger.fatal("Unable to contact IEV server: #{e.message}") return false end end |