zoho-sdk 0.1.1 → 0.1.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
  SHA256:
3
- metadata.gz: a308e38cfb8d8537e73e98381f435e08602e91fc6105f7bfed7140cb3bec759a
4
- data.tar.gz: f8ffb50bdf235acfa9ad289f96ed4acd7955ffdb39bef652a0e124e3460bc1ac
3
+ metadata.gz: 85e89249820cbabe7bc43696d07a2348c3e7cd668008998926ec75693d7e96f8
4
+ data.tar.gz: 92f8fbdd810ee95460be4373b40b7f15ec9d06335f43543294114be8aa8ec0f3
5
5
  SHA512:
6
- metadata.gz: 28ac3adf26c702bc56a2427d26fa647f7b599789c86502368e921c10e1587672854bdbf3cdb0d5e9386c6fa28c8b694816035bd65afc9e8ddafe9fe565aad02f
7
- data.tar.gz: 734987e16de5322c6d88aee02df6c3c617d6cdf9cf45e871deadebcf1223d25dcd935d4ceca7cf90dda72b649e85b517096e886fa7698aa44a2fa66dce02c98d
6
+ metadata.gz: 8df3d8ff1363dbcf72f9ed1a0d9a15e9d3cf1d35932333e38b517f8508a7d7544128ef4e84a5803ebf1fe081ebd3b59a6cb198156a0dff67039df0a61ecb47ba
7
+ data.tar.gz: de35dc2a2ce57f9bd0837ffddb77e2818a1a613e068796cfef3161afb1c4ae942237873badc57a655f03336c5d470f3951072f188eb3d5e4f49a957bd83993cf
@@ -53,15 +53,7 @@ module ZohoSdk::Analytics
53
53
  end
54
54
 
55
55
  def get(path: nil, params: {})
56
- parts = [API_BASE_URL, @email]
57
- if !path.nil?
58
- if path[0] == "/"
59
- path = path[1..-1]
60
- end
61
- parts << path
62
- end
63
- url = URI.encode(parts.join("/"))
64
- conn = Faraday.new(url: url)
56
+ conn = Faraday.new(url: url_for(path))
65
57
  res = conn.get do |req|
66
58
  req.params["ZOHO_OUTPUT_FORMAT"] = "JSON"
67
59
  req.params["ZOHO_ERROR_FORMAT"] = "JSON"
@@ -72,5 +64,40 @@ module ZohoSdk::Analytics
72
64
  }
73
65
  end
74
66
  end
67
+
68
+ def post_json(path: nil, io:, params: {})
69
+ conn = Faraday.new(url: url_for(path)) do |conn|
70
+ conn.request :multipart
71
+ conn.adapter :net_http
72
+ conn.headers = {
73
+ 'Content-Type' => 'multipart/form-data'
74
+ }
75
+ end
76
+ res = conn.post do |req|
77
+ payload = {
78
+ "ZOHO_OUTPUT_FORMAT" => "JSON",
79
+ "ZOHO_ERROR_FORMAT" => "JSON",
80
+ "ZOHO_API_VERSION" => "1.0",
81
+ "authtoken" => @auth_token
82
+ }
83
+ params.merge(payload).each { |key, value|
84
+ req.params[key] = value
85
+ }
86
+ req.body = {
87
+ "ZOHO_FILE" => Faraday::FilePart.new(io, "application/json", "ZOHO_FILE.json")
88
+ }
89
+ end
90
+ end
91
+
92
+ def url_for(path = nil)
93
+ parts = [API_BASE_URL, @email]
94
+ if !path.nil?
95
+ if path[0] == "/"
96
+ path = path[1..-1]
97
+ end
98
+ parts << path
99
+ end
100
+ URI.encode(parts.join("/"))
101
+ end
75
102
  end
76
103
  end
@@ -77,7 +77,6 @@ module ZohoSdk::Analytics
77
77
 
78
78
  params = {
79
79
  "ZOHO_ACTION" => "IMPORT",
80
- "ZOHO_IMPORT_DATA" => data.to_json,
81
80
  "ZOHO_IMPORT_TYPE" => IMPORT_TYPES[import_type],
82
81
  "ZOHO_IMPORT_FILETYPE" => "JSON",
83
82
  "ZOHO_ON_IMPORT_ERROR" => "ABORT",
@@ -94,7 +93,7 @@ module ZohoSdk::Analytics
94
93
  params["ZOHO_MATCHING_COLUMNS"] = matching.join(',')
95
94
  end
96
95
 
97
- res = client.get path: "#{workspace.name}/#{name}", params: params
96
+ res = client.post_json path: "#{workspace.name}/#{name}", io: StringIO.new(data.to_json), params: params
98
97
  if res.success?
99
98
  data = JSON.parse(res.body)
100
99
  data.dig("response", "result", "importSummary", "successRowCount")
@@ -1,3 +1,3 @@
1
1
  module ZohoSdk
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zoho-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paul Holden