bitrix24_cloud_api 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/README.md +14 -1
- data/bitrix24_cloud_api.gemspec +1 -0
- data/lib/bitrix24_cloud_api/client.rb +7 -2
- data/lib/bitrix24_cloud_api/hash_conversions.rb +37 -0
- data/lib/bitrix24_cloud_api/version.rb +1 -1
- data/lib/bitrix24_cloud_api.rb +1 -0
- metadata +9 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: b92169a6152fa854ee3bda27b04c58fd53af4d8106797b4d307ecfc8c8a6ce3e
|
4
|
+
data.tar.gz: 48246a7ad48ae1228cd533a45ae1c85a238170e042ad72ddb0ae6e02fdf3d033
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 906d484f88507ff7ac490753c3230b11e0b9fe80855ec5a314c0c73d3683818db8ec0945a85b0a2e83a3e476f3ca7d39a92a3e0ae926eaebb9042b3acdbd9454
|
7
|
+
data.tar.gz: 8f1c16284be468be1be707c215aa3281e47bcf0c3a131651e23b84173a61d2719f31ad90785f94b36d48f1f9439056d8850a93e4df3ebd3933d7387b17a4e65b
|
data/README.md
CHANGED
@@ -50,7 +50,20 @@ To **refresh** oauth2 **access_token** use:
|
|
50
50
|
|
51
51
|
it's response contains a hash with refreshed *oauth2 credentials*.
|
52
52
|
|
53
|
-
If you already **have a valid access_token** add it to the client's attributes `@client.update(access_token: access_token)` or create a new client instance
|
53
|
+
If you already **have a valid access_token** add it to the client's attributes `@client.update(access_token: access_token)` or create a new client instance
|
54
|
+
```
|
55
|
+
@client = Bitrix24CloudApi::Client.new(access_token: access_token, endpoint: api_endpoint).
|
56
|
+
```
|
57
|
+
|
58
|
+
### Aliases
|
59
|
+
|
60
|
+
```
|
61
|
+
B24 == Bitrix24CloudApi
|
62
|
+
B24_CRM == Bitrix24CloudApi::CRM
|
63
|
+
```
|
64
|
+
|
65
|
+
So, `Bitrix24CloudApi::CRM::Lead.add(@client, params)` equals to `B24_CRM::Lead.add(@client, params)`.
|
66
|
+
|
54
67
|
|
55
68
|
### CRM
|
56
69
|
|
data/bitrix24_cloud_api.gemspec
CHANGED
@@ -18,6 +18,7 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.bindir = "exe"
|
19
19
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
20
20
|
spec.require_paths = ["lib"]
|
21
|
+
spec.metadata["source_code_uri"] = "https://github.com/nononoy/bitrix24_cloud_api"
|
21
22
|
|
22
23
|
spec.add_runtime_dependency "oauth2", "~> 1.1"
|
23
24
|
spec.add_runtime_dependency "httparty", "~> 0.13.7"
|
@@ -72,12 +72,17 @@ module Bitrix24CloudApi
|
|
72
72
|
|
73
73
|
def make_get_request(path, params = {})
|
74
74
|
params.merge!(auth: access_token)
|
75
|
-
response = HTTParty.get(path,
|
75
|
+
response = HTTParty.get(path,
|
76
|
+
query: params,
|
77
|
+
query_string_normalizer: ->(query) { Bitrix24CloudApi::HashConversions.to_params(query) })
|
76
78
|
check_response(response)
|
77
79
|
end
|
78
80
|
|
79
81
|
def make_post_request(path, params = {})
|
80
|
-
response = HTTParty.post(path,
|
82
|
+
response = HTTParty.post(path,
|
83
|
+
body: params,
|
84
|
+
query: { auth: access_token },
|
85
|
+
query_string_normalizer: ->(query) { Bitrix24CloudApi::HashConversions.to_params(query) })
|
81
86
|
check_response(response)
|
82
87
|
end
|
83
88
|
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module Bitrix24CloudApi
|
2
|
+
module HashConversions
|
3
|
+
|
4
|
+
def self.to_params(hash)
|
5
|
+
hash.to_hash.map { |k, v| normalize_param(k, v) }.join.chop
|
6
|
+
end
|
7
|
+
|
8
|
+
def self.normalize_param(key, value)
|
9
|
+
param = ''
|
10
|
+
stack = []
|
11
|
+
|
12
|
+
if value.respond_to?(:to_ary)
|
13
|
+
param << if value.empty?
|
14
|
+
"#{key}[]=&"
|
15
|
+
else
|
16
|
+
value.to_ary.map.with_index { |element, index| normalize_param("#{key}[#{index}]", element) }.join
|
17
|
+
end
|
18
|
+
elsif value.respond_to?(:to_hash)
|
19
|
+
stack << [key, value.to_hash]
|
20
|
+
else
|
21
|
+
param << "#{key}=#{ERB::Util.url_encode(value.to_s)}&"
|
22
|
+
end
|
23
|
+
|
24
|
+
stack.each do |parent, hash|
|
25
|
+
hash.each do |k, v|
|
26
|
+
if v.respond_to?(:to_hash)
|
27
|
+
stack << ["#{parent}[#{k}]", v.to_hash]
|
28
|
+
else
|
29
|
+
param << normalize_param("#{parent}[#{k}]", v)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
param
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
data/lib/bitrix24_cloud_api.rb
CHANGED
@@ -2,6 +2,7 @@ require "bitrix24_cloud_api/base"
|
|
2
2
|
require "bitrix24_cloud_api/client"
|
3
3
|
require "bitrix24_cloud_api/common_methods/common_methods"
|
4
4
|
require "bitrix24_cloud_api/crm"
|
5
|
+
require "bitrix24_cloud_api/hash_conversions"
|
5
6
|
require "bitrix24_cloud_api/aliases"
|
6
7
|
require "bitrix24_cloud_api/version"
|
7
8
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bitrix24_cloud_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Viacheslav Gruzdov
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-03-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: oauth2
|
@@ -170,12 +170,14 @@ files:
|
|
170
170
|
- lib/bitrix24_cloud_api/client.rb
|
171
171
|
- lib/bitrix24_cloud_api/common_methods/common_methods.rb
|
172
172
|
- lib/bitrix24_cloud_api/crm.rb
|
173
|
+
- lib/bitrix24_cloud_api/hash_conversions.rb
|
173
174
|
- lib/bitrix24_cloud_api/version.rb
|
174
175
|
homepage: https://github.com/nononoy/bitrix24_cloud_api
|
175
176
|
licenses:
|
176
177
|
- MIT
|
177
|
-
metadata:
|
178
|
-
|
178
|
+
metadata:
|
179
|
+
source_code_uri: https://github.com/nononoy/bitrix24_cloud_api
|
180
|
+
post_install_message:
|
179
181
|
rdoc_options: []
|
180
182
|
require_paths:
|
181
183
|
- lib
|
@@ -190,9 +192,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
190
192
|
- !ruby/object:Gem::Version
|
191
193
|
version: '0'
|
192
194
|
requirements: []
|
193
|
-
|
194
|
-
|
195
|
-
signing_key:
|
195
|
+
rubygems_version: 3.5.6
|
196
|
+
signing_key:
|
196
197
|
specification_version: 4
|
197
198
|
summary: Bitrix24 REST API on Ruby
|
198
199
|
test_files: []
|