zoho_hub 0.4.2 → 0.5.0

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: d69358949e8262ad9da808101b0bbb2da5d0eae262d2d34ab032e5097d58f5ba
4
- data.tar.gz: a0b64a4714925fa5a6392e43ecd991aaf71e9b3991e4505a5d2703bca22f8269
3
+ metadata.gz: 590738ab95732c8ebb4af350964263e689a583e0b3ebe16be7fcb0cd684f8b3e
4
+ data.tar.gz: a70d0d3056ae8f66af704bdfbee044e19be5d26f733e948c0c4e48ff0c57c6ee
5
5
  SHA512:
6
- metadata.gz: d02305e21aae61e11f09a010b8f22dab327af638b036ca075abb47e0943eaad1870355e976c208b00c9a5dfa87f05ff82f60754fd50f1eccee97e37a7e3c8967
7
- data.tar.gz: 756fb2bd03d39e70f46fdc04eb34bea1310701b72ba363a3b6c79fab033ccf5defa2b615edcae9af6c86cae45dacf24bcefd59c3c17ff2a4c3b7456f0595b0ed
6
+ metadata.gz: f5ad05319bc38fdb6dfbbfb6d7e2cd4b6786ad40d5316d6bc0f5864df0d3a500d9d2e5cf6f56d8e3ae52831647c8d1f8723dd32342aa352f91bde909b008e16b
7
+ data.tar.gz: 3d726019ef9d08ea3e387cb8eb1755e0ac72bda9e72c4cd5f16ba669752e307a9183601d3e6ddab3436a75fd7689c9c25110c9ef28f7faf9b051b603e150121b
@@ -1,6 +1,9 @@
1
+ ---
1
2
  name: CI
2
3
 
3
- on: [push, pull_request]
4
+ on:
5
+ - push
6
+ - pull_request
4
7
 
5
8
  jobs:
6
9
  lint:
@@ -9,7 +12,7 @@ jobs:
9
12
  - uses: actions/checkout@v2
10
13
  - uses: ruby/setup-ruby@v1
11
14
  with:
12
- ruby-version: '2.5'
15
+ ruby-version: '3.4'
13
16
  bundler-cache: true
14
17
  - name: rubocop version
15
18
  timeout-minutes: 1
@@ -17,15 +20,19 @@ jobs:
17
20
  - name: rubocop
18
21
  timeout-minutes: 5
19
22
  run: bundle exec rubocop -c .rubocop.yml
20
-
21
23
  test:
22
24
  runs-on: ubuntu-latest
23
25
  continue-on-error: ${{ matrix.experimental }}
24
26
  strategy:
25
27
  fail-fast: false
26
28
  matrix:
27
- ruby: ['2.5', '2.6', '2.7', '3.0']
28
- experimental: [false]
29
+ ruby:
30
+ - '3.3'
31
+ - '3.4'
32
+ - '3.5'
33
+ - '4.0'
34
+ experimental:
35
+ - false
29
36
  steps:
30
37
  - uses: actions/checkout@v2
31
38
  - uses: ruby/setup-ruby@v1
data/.rubocop.yml CHANGED
@@ -1,7 +1,10 @@
1
- require: rubocop-rspec
1
+ ---
2
+ plugins: rubocop-rspec
2
3
 
3
4
  AllCops:
4
- TargetRubyVersion: 2.5.1
5
+ TargetRubyVersion: 3.3
6
+ NewCops: enable
7
+ SuggestExtensions: false
5
8
 
6
9
  Gemspec/RequiredRubyVersion:
7
10
  Enabled: false
@@ -19,7 +22,7 @@ Style/SafeNavigation:
19
22
  Enabled: false
20
23
 
21
24
  # A good line length is 100 chars
22
- Metrics/LineLength:
25
+ Layout/LineLength:
23
26
  Max: 100
24
27
  AllowURI: true
25
28
 
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.7.6
1
+ 3.4.5
data/Gemfile CHANGED
@@ -6,3 +6,16 @@ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
6
6
 
7
7
  # Specify your gem's dependencies in zoho_hub.gemspec
8
8
  gemspec
9
+
10
+ group :development, :test do
11
+ gem 'activesupport'
12
+ gem 'bundler'
13
+ gem 'dotenv'
14
+ gem 'pry-byebug'
15
+ gem 'rake'
16
+ gem 'rspec'
17
+ gem 'rubocop'
18
+ gem 'rubocop-rspec'
19
+ gem 'simplecov'
20
+ gem 'webmock'
21
+ end
data/bin/console CHANGED
@@ -8,16 +8,16 @@ require 'dotenv'
8
8
  Dotenv.load
9
9
 
10
10
  ZohoHub.configure do |config|
11
- config.client_id = ENV['ZOHO_CLIENT_ID']
12
- config.secret = ENV['ZOHO_SECRET']
13
- config.redirect_uri = ENV['ZOHO_REDIRECT_URI']
11
+ config.client_id = ENV.fetch('ZOHO_CLIENT_ID', nil)
12
+ config.secret = ENV.fetch('ZOHO_SECRET', nil)
13
+ config.redirect_uri = ENV.fetch('ZOHO_REDIRECT_URI', nil)
14
14
  config.api_domain = ENV['ZOHO_API_DOMAIN'] if ENV['ZOHO_API_DOMAIN']
15
15
  config.debug = ENV['ZOHO_DEBUG'] || false
16
16
  end
17
17
 
18
18
  # We assume that we already have a refresh token, to make things easier here.
19
19
  puts 'Refreshing token...'
20
- token_params = ZohoHub::Auth.refresh_token(ENV['ZOHO_REFRESH_TOKEN'])
20
+ token_params = ZohoHub::Auth.refresh_token(ENV.fetch('ZOHO_REFRESH_TOKEN', nil))
21
21
  ZohoHub.setup_connection(token_params)
22
22
 
23
23
  send(:include, ZohoHub)
data/bin/read CHANGED
@@ -11,14 +11,14 @@ require 'dotenv'
11
11
  Dotenv.load
12
12
 
13
13
  ZohoHub.configure do |config|
14
- config.client_id = ENV['ZOHO_CLIENT_ID']
15
- config.secret = ENV['ZOHO_SECRET']
14
+ config.client_id = ENV.fetch('ZOHO_CLIENT_ID', nil)
15
+ config.secret = ENV.fetch('ZOHO_SECRET', nil)
16
16
  end
17
17
 
18
- token_params = ZohoHub::Auth.refresh_token(ENV['ZOHO_REFRESH_TOKEN'])
18
+ token_params = ZohoHub::Auth.refresh_token(ENV.fetch('ZOHO_REFRESH_TOKEN', nil))
19
19
  ZohoHub.setup_connection(token_params)
20
20
 
21
- puts "Reading modules for client ID: #{ENV['ZOHO_CLIENT_ID']}..."
21
+ puts "Reading modules for client ID: #{ENV.fetch('ZOHO_CLIENT_ID', nil)}..."
22
22
 
23
23
  modules_hashes = ZohoHub::Settings::Module.all_json
24
24
 
@@ -31,9 +31,7 @@ modules_hashes.each do |hash|
31
31
  FileUtils.mkdir_p(modules_path)
32
32
  file_name = File.join(modules_path, "#{hash[:api_name]}.json")
33
33
 
34
- File.open(file_name, 'w') do |file|
35
- file.write(JSON.pretty_generate(hash))
36
- end
34
+ File.write(file_name, JSON.pretty_generate(hash))
37
35
 
38
36
  next unless hash[:api_supported]
39
37
 
@@ -42,7 +40,5 @@ modules_hashes.each do |hash|
42
40
  FileUtils.mkdir_p(fields_path)
43
41
  file_name = File.join(fields_path, "#{hash[:api_name]}.json")
44
42
 
45
- File.open(file_name, 'w') do |file|
46
- file.write(JSON.pretty_generate(fields_array))
47
- end
43
+ File.write(file_name, JSON.pretty_generate(fields_array))
48
44
  end
data/bin/zoho_hub CHANGED
@@ -31,9 +31,9 @@ end
31
31
 
32
32
  case command
33
33
  when 'callback-server'
34
- ZohoHub::Cli::CallbackServer.new.run(ARGV[1..-1])
34
+ ZohoHub::Cli::CallbackServer.new.run(ARGV[1..])
35
35
  when 'read-modules'
36
- ZohoHub::Cli::ReadModules.new.run(ARGV[1..-1])
36
+ ZohoHub::Cli::ReadModules.new.run(ARGV[1..])
37
37
  else
38
38
  $stdout.puts 'Usage:'
39
39
  $stdout.puts " zoho_hub [command] [options]\n"
data/lib/zoho_hub/auth.rb CHANGED
@@ -2,7 +2,6 @@
2
2
 
3
3
  require 'multi_json'
4
4
  require 'faraday'
5
- require 'faraday_middleware'
6
5
  require 'addressable'
7
6
 
8
7
  module ZohoHub
@@ -36,7 +36,7 @@ module ZohoHub
36
36
  end
37
37
 
38
38
  def run(argv = ARGV, env = ENV)
39
- exit 1 unless good_run(argv, env)
39
+ exit 1 unless good_run?(argv, env)
40
40
 
41
41
  ZohoHub::OauthCallbackServer.set(:port, @options[:port]) if @options[:port]
42
42
 
@@ -47,8 +47,8 @@ module ZohoHub
47
47
  callback_url = "http://#{bind_address}:#{bind_port}/#{callback_path}"
48
48
 
49
49
  ZohoHub.configure do |config|
50
- config.client_id = @options[:client_id] || ENV['ZOHO_CLIENT_ID']
51
- config.secret = @options[:secret] || ENV['ZOHO_SECRET']
50
+ config.client_id = @options[:client_id] || ENV.fetch('ZOHO_CLIENT_ID', nil)
51
+ config.secret = @options[:secret] || ENV.fetch('ZOHO_SECRET', nil)
52
52
  config.redirect_uri = callback_url
53
53
  end
54
54
 
@@ -70,7 +70,7 @@ module ZohoHub
70
70
  !ZohoHub.configuration.client_id || !ZohoHub.configuration.secret
71
71
  end
72
72
 
73
- def good_run(argv, env)
73
+ def good_run?(argv, env)
74
74
  return false unless parse(argv, env)
75
75
 
76
76
  true
@@ -81,13 +81,12 @@ module ZohoHub
81
81
  true
82
82
  rescue OptionParser::ParseError => e
83
83
  error_output(e)
84
+ false
84
85
  end
85
86
 
86
87
  def error_output(error)
87
88
  warn "Error: #{error}"
88
89
  warn "Try `#{parser.program_name} server --help' for more information"
89
-
90
- false
91
90
  end
92
91
  end
93
92
  end
@@ -33,11 +33,11 @@ module ZohoHub
33
33
  end
34
34
 
35
35
  def run(argv = ARGV, env = ENV)
36
- exit 1 unless good_run(argv, env)
36
+ exit 1 unless good_run?(argv, env)
37
37
 
38
38
  setup_connection
39
39
 
40
- client_id = @options[:client_id] || ENV['ZOHO_CLIENT_ID']
40
+ client_id = @options[:client_id] || ENV.fetch('ZOHO_CLIENT_ID', nil)
41
41
  puts "Reading modules for client ID: #{client_id}..."
42
42
 
43
43
  modules_hashes = ZohoHub::Settings::Module.all_json
@@ -50,7 +50,7 @@ module ZohoHub
50
50
  end
51
51
  end
52
52
 
53
- def good_run(argv, env)
53
+ def good_run?(argv, env)
54
54
  return false unless parse(argv, env)
55
55
 
56
56
  true
@@ -58,11 +58,11 @@ module ZohoHub
58
58
 
59
59
  def setup_connection
60
60
  ZohoHub.configure do |config|
61
- config.client_id = @options[:client_id] || ENV['ZOHO_CLIENT_ID']
62
- config.secret = @options[:secret] || ENV['ZOHO_SECRET']
61
+ config.client_id = @options[:client_id] || ENV.fetch('ZOHO_CLIENT_ID', nil)
62
+ config.secret = @options[:secret] || ENV.fetch('ZOHO_SECRET', nil)
63
63
  end
64
64
 
65
- refresh_token = @options[:refresh_token] || ENV['ZOHO_REFRESH_TOKEN']
65
+ refresh_token = @options[:refresh_token] || ENV.fetch('ZOHO_REFRESH_TOKEN', nil)
66
66
  token_params = ZohoHub::Auth.refresh_token(refresh_token)
67
67
 
68
68
  if configuration_incomplete?(refresh_token)
@@ -84,9 +84,7 @@ module ZohoHub
84
84
  FileUtils.mkdir_p(modules_path)
85
85
  file_name = File.join(modules_path, "#{info[:api_name]}.json")
86
86
 
87
- File.open(file_name, 'w') do |file|
88
- file.write(JSON.pretty_generate(info))
89
- end
87
+ File.write(file_name, JSON.pretty_generate(info))
90
88
 
91
89
  return unless info[:api_supported]
92
90
 
@@ -99,9 +97,7 @@ module ZohoHub
99
97
  FileUtils.mkdir_p(fields_path)
100
98
  file_name = File.join(fields_path, "#{info[:api_name]}.json")
101
99
 
102
- File.open(file_name, 'w') do |file|
103
- file.write(JSON.pretty_generate(fields_array))
104
- end
100
+ File.write(file_name, JSON.pretty_generate(fields_array))
105
101
  end
106
102
 
107
103
  def parse(argv, _env)
@@ -109,13 +105,12 @@ module ZohoHub
109
105
  true
110
106
  rescue OptionParser::ParseError => e
111
107
  error_output(e)
108
+ false
112
109
  end
113
110
 
114
111
  def error_output(error)
115
112
  warn "Error: #{error}"
116
113
  warn "Try `#{parser.program_name} server --help' for more information"
117
-
118
- false
119
114
  end
120
115
  end
121
116
  end
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'faraday'
4
- require 'faraday_middleware'
5
4
  require 'rainbow'
6
5
  require 'addressable'
7
6
 
@@ -116,8 +115,7 @@ module ZohoHub
116
115
  def adapter
117
116
  Faraday.new(url: base_url) do |conn|
118
117
  conn.headers = authorization_header if access_token?
119
- conn.use FaradayMiddleware::EncodeJson
120
- conn.use FaradayMiddleware::ParseJson
118
+ conn.request :json
121
119
  conn.response :json, parser_options: { symbolize_names: true }
122
120
  conn.response :logger if ZohoHub.configuration.debug?
123
121
  conn.adapter Faraday.default_adapter
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ZohoHub
4
- VERSION = '0.4.2'
4
+ VERSION = '0.5.0'
5
5
  end
@@ -52,7 +52,7 @@ module ZohoHub
52
52
  end
53
53
 
54
54
  def zoho_key_translation
55
- @attribute_translation.to_a.map(&:rotate).to_h
55
+ @attribute_translation.to_a.to_h { |k, v| [v, k] }
56
56
  end
57
57
  end
58
58
 
data/zoho_hub.gemspec CHANGED
@@ -27,21 +27,11 @@ Gem::Specification.new do |spec|
27
27
 
28
28
  spec.add_dependency 'addressable'
29
29
  spec.add_dependency 'backports'
30
- spec.add_dependency 'faraday'
31
- spec.add_dependency 'faraday_middleware'
30
+ spec.add_dependency 'faraday', '~> 2.0'
32
31
  spec.add_dependency 'launchy'
33
32
  spec.add_dependency 'multi_json'
34
33
  spec.add_dependency 'rainbow'
35
34
  spec.add_dependency 'sinatra'
36
35
 
37
- spec.add_development_dependency 'activesupport'
38
- spec.add_development_dependency 'bundler'
39
- spec.add_development_dependency 'dotenv'
40
- spec.add_development_dependency 'pry-byebug'
41
- spec.add_development_dependency 'rake'
42
- spec.add_development_dependency 'rspec'
43
- spec.add_development_dependency 'rubocop'
44
- spec.add_development_dependency 'rubocop-rspec'
45
- spec.add_development_dependency 'simplecov'
46
- spec.add_development_dependency 'webmock'
36
+ spec.metadata['rubygems_mfa_required'] = 'true'
47
37
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zoho_hub
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ricardo Otero
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2022-05-30 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: addressable
@@ -42,30 +41,16 @@ dependencies:
42
41
  name: faraday
43
42
  requirement: !ruby/object:Gem::Requirement
44
43
  requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: faraday_middleware
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
44
+ - - "~>"
60
45
  - !ruby/object:Gem::Version
61
- version: '0'
46
+ version: '2.0'
62
47
  type: :runtime
63
48
  prerelease: false
64
49
  version_requirements: !ruby/object:Gem::Requirement
65
50
  requirements:
66
- - - ">="
51
+ - - "~>"
67
52
  - !ruby/object:Gem::Version
68
- version: '0'
53
+ version: '2.0'
69
54
  - !ruby/object:Gem::Dependency
70
55
  name: launchy
71
56
  requirement: !ruby/object:Gem::Requirement
@@ -122,146 +107,6 @@ dependencies:
122
107
  - - ">="
123
108
  - !ruby/object:Gem::Version
124
109
  version: '0'
125
- - !ruby/object:Gem::Dependency
126
- name: activesupport
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- version: '0'
139
- - !ruby/object:Gem::Dependency
140
- name: bundler
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - ">="
144
- - !ruby/object:Gem::Version
145
- version: '0'
146
- type: :development
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - ">="
151
- - !ruby/object:Gem::Version
152
- version: '0'
153
- - !ruby/object:Gem::Dependency
154
- name: dotenv
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - ">="
158
- - !ruby/object:Gem::Version
159
- version: '0'
160
- type: :development
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - ">="
165
- - !ruby/object:Gem::Version
166
- version: '0'
167
- - !ruby/object:Gem::Dependency
168
- name: pry-byebug
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - ">="
172
- - !ruby/object:Gem::Version
173
- version: '0'
174
- type: :development
175
- prerelease: false
176
- version_requirements: !ruby/object:Gem::Requirement
177
- requirements:
178
- - - ">="
179
- - !ruby/object:Gem::Version
180
- version: '0'
181
- - !ruby/object:Gem::Dependency
182
- name: rake
183
- requirement: !ruby/object:Gem::Requirement
184
- requirements:
185
- - - ">="
186
- - !ruby/object:Gem::Version
187
- version: '0'
188
- type: :development
189
- prerelease: false
190
- version_requirements: !ruby/object:Gem::Requirement
191
- requirements:
192
- - - ">="
193
- - !ruby/object:Gem::Version
194
- version: '0'
195
- - !ruby/object:Gem::Dependency
196
- name: rspec
197
- requirement: !ruby/object:Gem::Requirement
198
- requirements:
199
- - - ">="
200
- - !ruby/object:Gem::Version
201
- version: '0'
202
- type: :development
203
- prerelease: false
204
- version_requirements: !ruby/object:Gem::Requirement
205
- requirements:
206
- - - ">="
207
- - !ruby/object:Gem::Version
208
- version: '0'
209
- - !ruby/object:Gem::Dependency
210
- name: rubocop
211
- requirement: !ruby/object:Gem::Requirement
212
- requirements:
213
- - - ">="
214
- - !ruby/object:Gem::Version
215
- version: '0'
216
- type: :development
217
- prerelease: false
218
- version_requirements: !ruby/object:Gem::Requirement
219
- requirements:
220
- - - ">="
221
- - !ruby/object:Gem::Version
222
- version: '0'
223
- - !ruby/object:Gem::Dependency
224
- name: rubocop-rspec
225
- requirement: !ruby/object:Gem::Requirement
226
- requirements:
227
- - - ">="
228
- - !ruby/object:Gem::Version
229
- version: '0'
230
- type: :development
231
- prerelease: false
232
- version_requirements: !ruby/object:Gem::Requirement
233
- requirements:
234
- - - ">="
235
- - !ruby/object:Gem::Version
236
- version: '0'
237
- - !ruby/object:Gem::Dependency
238
- name: simplecov
239
- requirement: !ruby/object:Gem::Requirement
240
- requirements:
241
- - - ">="
242
- - !ruby/object:Gem::Version
243
- version: '0'
244
- type: :development
245
- prerelease: false
246
- version_requirements: !ruby/object:Gem::Requirement
247
- requirements:
248
- - - ">="
249
- - !ruby/object:Gem::Version
250
- version: '0'
251
- - !ruby/object:Gem::Dependency
252
- name: webmock
253
- requirement: !ruby/object:Gem::Requirement
254
- requirements:
255
- - - ">="
256
- - !ruby/object:Gem::Version
257
- version: '0'
258
- type: :development
259
- prerelease: false
260
- version_requirements: !ruby/object:Gem::Requirement
261
- requirements:
262
- - - ">="
263
- - !ruby/object:Gem::Version
264
- version: '0'
265
110
  description: Simple gem to connect to Zoho CRM API V2
266
111
  email:
267
112
  - oterosantos@gmail.com
@@ -315,8 +160,8 @@ files:
315
160
  homepage: https://github.com/rikas/zoho_hub
316
161
  licenses:
317
162
  - MIT
318
- metadata: {}
319
- post_install_message:
163
+ metadata:
164
+ rubygems_mfa_required: 'true'
320
165
  rdoc_options: []
321
166
  require_paths:
322
167
  - lib
@@ -331,8 +176,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
331
176
  - !ruby/object:Gem::Version
332
177
  version: '0'
333
178
  requirements: []
334
- rubygems_version: 3.1.6
335
- signing_key:
179
+ rubygems_version: 3.6.9
336
180
  specification_version: 4
337
181
  summary: Simple gem to connect to Zoho CRM API V2
338
182
  test_files: []