ruby-cleverdome 0.1.1 → 0.1.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.
@@ -14,12 +14,12 @@ module RubyCleverdome
14
14
  @sso_client = Savon.client(
15
15
  endpoint: sso_endpoint,
16
16
  namespace: 'urn:up-us:sso-service:service:v1',
17
- # proxy: 'http://127.0.0.1:8888',
17
+ #proxy: 'http://127.0.0.1:8888',
18
18
  # log_level: :debug
19
19
  )
20
20
  @widgets_client = Savon.client(
21
21
  wsdl: widgets_path + '?wsdl',
22
- # proxy: 'http://127.0.0.1:8888',
22
+ #proxy: 'http://127.0.0.1:8888',
23
23
  element_form_default: :unqualified,
24
24
  # log_level: :debug
25
25
  )
@@ -50,7 +50,25 @@ module RubyCleverdome
50
50
  def upload_file(session_id, app_id, file_path)
51
51
  data, headers = Multipart::Post.prepare_query(
52
52
  "sessionID" => session_id,
53
- "file" => File.open(file_path),
53
+ "file" => File.open(file_path, 'rb'),
54
+ 'applicationID' => app_id
55
+ )
56
+
57
+ response = @widgets_client.call(
58
+ :upload_file,
59
+ :attributes => {
60
+ 'xmlns' => 'http://tempuri.org/'
61
+ },
62
+ message: {
63
+ inputStream: Base64.encode64(data)
64
+ })
65
+ response.body[:upload_file_response][:upload_file_result]
66
+ end
67
+
68
+ def upload_file_binary(session_id, app_id, filename, binary_data)
69
+ data, headers = Multipart::Post.prepare_query(
70
+ "sessionID" => session_id,
71
+ "file" => { 'filename' => filename, 'data' => binary_data },
54
72
  'applicationID' => app_id
55
73
  )
56
74
 
@@ -31,6 +31,8 @@ module Multipart
31
31
  # Are we trying to make a file parameter?
32
32
  if v.respond_to?(:path) and v.respond_to?(:read) then
33
33
  fp.push(FileParam.new(k, v.path, v.read))
34
+ elsif v.is_a?(Hash) and v.has_key?('filename') and v.has_key?('data') then
35
+ fp.push(FileParam.new(k, v['filename'], v['data']))
34
36
  # We must be trying to make a regular parameter
35
37
  else
36
38
  fp.push(StringParam.new(k, v))
@@ -38,7 +40,7 @@ module Multipart
38
40
  end
39
41
 
40
42
  # Assemble the request body using the special multipart format
41
- query = fp.collect {|p| "--" + BOUNDARY + "\r\n" + p.to_multipart }.join("") + "--" + BOUNDARY + "--"
43
+ query = (fp.collect {|p| "--" + BOUNDARY + "\r\n" + p.to_multipart }.join("") + "--" + BOUNDARY + "--")
42
44
  return query, HEADER
43
45
  end
44
46
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-cleverdome
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: