zoho-sdk 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.
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