zoho_hub 0.1.25 → 0.2.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 +4 -4
- data/.gitignore +1 -1
- data/.rspec +1 -0
- data/.rubocop.yml +4 -0
- data/.ruby-version +1 -1
- data/.travis.yml +5 -2
- data/README.md +91 -7
- data/bin/console +5 -6
- data/bin/read +44 -0
- data/bin/setup +0 -2
- data/bin/zoho_hub +62 -0
- data/lib/zoho_hub.rb +20 -19
- data/lib/zoho_hub/auth.rb +37 -47
- data/lib/zoho_hub/base_record.rb +122 -0
- data/lib/zoho_hub/configuration.rb +3 -4
- data/lib/zoho_hub/connection.rb +10 -17
- data/lib/zoho_hub/{records → deprecated_and_only_for_reference_records}/account.rb +0 -0
- data/lib/zoho_hub/{records → deprecated_and_only_for_reference_records}/campaign.rb +0 -0
- data/lib/zoho_hub/{records → deprecated_and_only_for_reference_records}/contact.rb +2 -4
- data/lib/zoho_hub/deprecated_and_only_for_reference_records/funder.rb +9 -0
- data/lib/zoho_hub/{records → deprecated_and_only_for_reference_records}/potential.rb +1 -7
- data/lib/zoho_hub/deprecated_and_only_for_reference_records/product.rb +9 -0
- data/lib/zoho_hub/deprecated_and_only_for_reference_records/quote.rb +34 -0
- data/lib/zoho_hub/errors.rb +0 -3
- data/lib/zoho_hub/module_builder.rb +61 -0
- data/lib/zoho_hub/oauth_callback_server.rb +26 -0
- data/lib/zoho_hub/response.rb +1 -7
- data/lib/zoho_hub/settings/field.rb +33 -0
- data/lib/zoho_hub/settings/module.rb +49 -0
- data/lib/zoho_hub/string_utils.rb +34 -0
- data/lib/zoho_hub/version.rb +1 -1
- data/lib/zoho_hub/views/variables.erb +72 -0
- data/lib/zoho_hub/with_attributes.rb +74 -0
- data/lib/zoho_hub/with_connection.rb +36 -0
- data/zoho_hub.gemspec +21 -17
- metadata +103 -78
- data/lib/zoho_hub/records/attachment.rb +0 -104
- data/lib/zoho_hub/records/base_record.rb +0 -189
- data/lib/zoho_hub/records/product.rb +0 -35
- data/lib/zoho_hub/records/quote.rb +0 -42
- data/lib/zoho_hub/records/vendor.rb +0 -34
@@ -0,0 +1,33 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'zoho_hub/with_connection'
|
4
|
+
require 'zoho_hub/with_attributes'
|
5
|
+
|
6
|
+
module ZohoHub
|
7
|
+
module Settings
|
8
|
+
class Field
|
9
|
+
include WithConnection
|
10
|
+
include WithAttributes
|
11
|
+
|
12
|
+
REQUEST_PATH = 'settings/fields'
|
13
|
+
|
14
|
+
attributes :custom_field, :lookup, :convert_mapping, :visible, :field_label, :length,
|
15
|
+
:view_type, :read_only, :api_name, :unique, :data_type, :formula, :currency, :id,
|
16
|
+
:decimal_place, :pick_list_values, :auto_number
|
17
|
+
|
18
|
+
def self.all_for(module_name)
|
19
|
+
fields = all_json_for(module_name)
|
20
|
+
fields.map { |json| new(json) }
|
21
|
+
end
|
22
|
+
|
23
|
+
def self.all_json_for(module_name)
|
24
|
+
response = get(REQUEST_PATH, module: module_name)
|
25
|
+
response[:fields]
|
26
|
+
end
|
27
|
+
|
28
|
+
def initialize(json = {})
|
29
|
+
attributes.each { |attr| send("#{attr}=", json[attr]) }
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'zoho_hub/with_connection'
|
4
|
+
require 'zoho_hub/with_attributes'
|
5
|
+
|
6
|
+
require 'zoho_hub/settings/field'
|
7
|
+
|
8
|
+
module ZohoHub
|
9
|
+
module Settings
|
10
|
+
# Zoho CRM has standard modules such as, Leads, Accounts, Contacts, Deals, Forecasts,
|
11
|
+
# Activities, etc,. Using Zoho CRM REST API, you can retrieve the list of available modules.
|
12
|
+
#
|
13
|
+
# convertable: Describes if the user can convert the record into another type of record.
|
14
|
+
# For example: Convert Leads in to Deals.
|
15
|
+
# creatable: Checks if the user can create a record in the current module.
|
16
|
+
# generated_type: Describes the type of module which would be generated by the user. There are
|
17
|
+
# 4 types: default, web, custom, linking.
|
18
|
+
# api_supported: The modules which are currently not accessible by APIs have value as "false".
|
19
|
+
# If the modules are supported in the future, the value automatically changes
|
20
|
+
# to "true".
|
21
|
+
# modified_time: The date and time of changes made by the user.
|
22
|
+
#
|
23
|
+
# More details: https://www.zoho.com/crm/help/api/v2/#Modules-APIs
|
24
|
+
class Module
|
25
|
+
include WithConnection
|
26
|
+
include WithAttributes
|
27
|
+
|
28
|
+
REQUEST_PATH = 'settings/modules'
|
29
|
+
|
30
|
+
attributes :convertable, :editable, :deletable, :web_link, :singular_label, :modified_time,
|
31
|
+
:viewable, :api_supported, :creatable, :plural_label, :api_name, :modified_by,
|
32
|
+
:generated_type, :id, :module_name, :fields
|
33
|
+
|
34
|
+
def self.all
|
35
|
+
modules = all_json
|
36
|
+
modules.map { |json| new(json) }
|
37
|
+
end
|
38
|
+
|
39
|
+
def self.all_json
|
40
|
+
response = get(REQUEST_PATH)
|
41
|
+
response[:modules]
|
42
|
+
end
|
43
|
+
|
44
|
+
def initialize(json = {})
|
45
|
+
attributes.each { |attr| send("#{attr}=", json[attr]) }
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module ZohoHub
|
4
|
+
class StringUtils
|
5
|
+
class << self
|
6
|
+
def demodulize(text)
|
7
|
+
text.split('::').last
|
8
|
+
end
|
9
|
+
|
10
|
+
def pluralize(text)
|
11
|
+
"#{text}s"
|
12
|
+
end
|
13
|
+
|
14
|
+
def camelize(text)
|
15
|
+
result = text.split(/[_\s]/)
|
16
|
+
|
17
|
+
return result.first if result.size == 1
|
18
|
+
|
19
|
+
result.map(&:capitalize).join
|
20
|
+
end
|
21
|
+
|
22
|
+
def underscore(text)
|
23
|
+
return text unless text =~ /[A-Z-]/
|
24
|
+
|
25
|
+
result = text.dup
|
26
|
+
result.gsub!(/([A-Z\d]+)([A-Z][a-z])/, '\1_\2')
|
27
|
+
result.gsub!(/([a-z\d])([A-Z])/, '\1_\2')
|
28
|
+
result.tr!('-', '_')
|
29
|
+
result.downcase!
|
30
|
+
result
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
data/lib/zoho_hub/version.rb
CHANGED
@@ -0,0 +1,72 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en" dir="ltr">
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<title>Zoho CRM authentication</title>
|
6
|
+
<style media="screen">
|
7
|
+
body {
|
8
|
+
font-family: sans-serif;
|
9
|
+
padding: 20px 50px;
|
10
|
+
}
|
11
|
+
|
12
|
+
ul.variables {
|
13
|
+
padding: 20px;
|
14
|
+
background-color: #eaeaea;
|
15
|
+
font-family: monospace;
|
16
|
+
list-style: none;
|
17
|
+
line-height: 1.5em;
|
18
|
+
margin-bottom: 50px;
|
19
|
+
}
|
20
|
+
|
21
|
+
li.error {
|
22
|
+
color: #aa0000;
|
23
|
+
}
|
24
|
+
|
25
|
+
div.config {
|
26
|
+
padding: 20px;
|
27
|
+
background-color: #eaeaea;
|
28
|
+
font-family: monospace;
|
29
|
+
line-height: 1.5em;
|
30
|
+
}
|
31
|
+
|
32
|
+
pre {
|
33
|
+
margin: 0;
|
34
|
+
padding: 0;
|
35
|
+
}
|
36
|
+
|
37
|
+
code {
|
38
|
+
padding: 0;
|
39
|
+
margin: 0;
|
40
|
+
}
|
41
|
+
</style>
|
42
|
+
</head>
|
43
|
+
|
44
|
+
<body>
|
45
|
+
<h2>Here's what you have to add to your environment variables:</h2>
|
46
|
+
|
47
|
+
<ul class="variables">
|
48
|
+
<li>ZOHO_CLIENT_ID=<%= ZohoHub.configuration.client_id %></li>
|
49
|
+
<li>ZOHO_SECRET=<%= ZohoHub.configuration.secret %></li>
|
50
|
+
<li>ZOHO_API_DOMAIN=<%= @variables[:api_domain] %></li>
|
51
|
+
<% if @variables[:refresh_token] %>
|
52
|
+
<li>ZOHO_REFRESH_TOKEN=<%= @variables[:refresh_token] %></li>
|
53
|
+
<% else %>
|
54
|
+
<li class="error">
|
55
|
+
ZOHO_REFRESH_TOKEN=zoho didn't send the refresh token. Please review your configuration.
|
56
|
+
Check <a href="https://github.com/rikas/zoho_hub">the documentation</a> to understand why
|
57
|
+
this is important and how to solve the problem.
|
58
|
+
</li>
|
59
|
+
<% end %>
|
60
|
+
</ul>
|
61
|
+
|
62
|
+
<h2>Then you need a configuration block like this one:</h2>
|
63
|
+
<div class="config">
|
64
|
+
<pre><code>ZohoHub.configure do |config|
|
65
|
+
config.client_id = ENV['ZOHO_CLIENT_ID']
|
66
|
+
config.secret = ENV['ZOHO_SECRET']
|
67
|
+
config.api_domain = ENV['ZOHO_API_DOMAIN']
|
68
|
+
config.refresh_token = ENV['ZOHO_REFRESH_TOKEN']
|
69
|
+
end</code></pre>
|
70
|
+
</div>
|
71
|
+
</body>
|
72
|
+
</html>
|
@@ -0,0 +1,74 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module ZohoHub
|
4
|
+
# Allows adding attributes to a class, as <tt>attr_accessors</tt> that can then be listed from the
|
5
|
+
# class or an instance of that class.
|
6
|
+
#
|
7
|
+
# === Example
|
8
|
+
#
|
9
|
+
# class User
|
10
|
+
# include ZohoHub::WithAttributes
|
11
|
+
#
|
12
|
+
# attributes :first_name, :last_name, :email
|
13
|
+
# end
|
14
|
+
#
|
15
|
+
# User.attributes # => [:first_name, :last_name, :email]
|
16
|
+
# User.new.attributes # => [:first_name, :last_name, :email]
|
17
|
+
#
|
18
|
+
# user = User.new
|
19
|
+
# user.first_name = 'Ricardo'
|
20
|
+
# user.last_name = 'Otero'
|
21
|
+
# user.first_name # => "Ricardo"
|
22
|
+
module WithAttributes
|
23
|
+
def self.included(base)
|
24
|
+
base.extend ClassMethods
|
25
|
+
end
|
26
|
+
|
27
|
+
module ClassMethods
|
28
|
+
def attributes(*attributes)
|
29
|
+
@attributes ||= []
|
30
|
+
|
31
|
+
return @attributes unless attributes
|
32
|
+
|
33
|
+
attr_accessor(*attributes)
|
34
|
+
|
35
|
+
@attributes += attributes
|
36
|
+
end
|
37
|
+
|
38
|
+
def attribute_translation(translation = nil)
|
39
|
+
@attribute_translation ||= {}
|
40
|
+
|
41
|
+
return @attribute_translation unless translation
|
42
|
+
|
43
|
+
@attribute_translation = translation
|
44
|
+
end
|
45
|
+
|
46
|
+
def zoho_key_translation
|
47
|
+
@attribute_translation.to_a.map(&:rotate).to_h
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
# Returns the list of attributes defined for the instance class.
|
52
|
+
def attributes
|
53
|
+
self.class.attributes
|
54
|
+
end
|
55
|
+
|
56
|
+
private
|
57
|
+
|
58
|
+
def attr_to_zoho_key(attr_name)
|
59
|
+
translations = self.class.attribute_translation
|
60
|
+
|
61
|
+
return translations[attr_name.to_sym] if translations.key?(attr_name.to_sym)
|
62
|
+
|
63
|
+
attr_name.to_s.split('_').map(&:capitalize).join('_').to_sym
|
64
|
+
end
|
65
|
+
|
66
|
+
def zoho_key_to_attr(zoho_key)
|
67
|
+
translations = self.class.zoho_key_translation
|
68
|
+
|
69
|
+
return translations[zoho_key.to_sym] if translations.key?(zoho_key.to_sym)
|
70
|
+
|
71
|
+
zoho_key.to_sym
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module ZohoHub
|
4
|
+
# Adds the ability to do API requests (GET / PUT and POST requests) when included in a class.
|
5
|
+
module WithConnection
|
6
|
+
def self.included(base)
|
7
|
+
base.extend ClassMethods
|
8
|
+
end
|
9
|
+
|
10
|
+
module ClassMethods
|
11
|
+
def get(path, params = {})
|
12
|
+
ZohoHub.connection.get(path, params)
|
13
|
+
end
|
14
|
+
|
15
|
+
def post(path, params = {})
|
16
|
+
ZohoHub.connection.post(path, params.to_json)
|
17
|
+
end
|
18
|
+
|
19
|
+
def put(path, params = {})
|
20
|
+
ZohoHub.connection.put(path, params.to_json)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def get(path, params = {})
|
25
|
+
self.class.get(path, params)
|
26
|
+
end
|
27
|
+
|
28
|
+
def post(path, params = {})
|
29
|
+
self.class.post(path, params)
|
30
|
+
end
|
31
|
+
|
32
|
+
def put(path, params = {})
|
33
|
+
self.class.put(path, params)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
data/zoho_hub.gemspec
CHANGED
@@ -19,23 +19,27 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
20
20
|
f.match(%r{^(test|spec|features)/})
|
21
21
|
end
|
22
|
-
spec.bindir = '
|
23
|
-
spec.executables =
|
22
|
+
spec.bindir = 'bin'
|
23
|
+
spec.executables = ['zoho_hub']
|
24
24
|
spec.require_paths = ['lib']
|
25
25
|
|
26
|
-
spec.
|
27
|
-
|
28
|
-
spec.add_dependency '
|
29
|
-
spec.add_dependency '
|
30
|
-
spec.add_dependency '
|
31
|
-
spec.add_dependency '
|
32
|
-
|
33
|
-
spec.
|
34
|
-
spec.
|
35
|
-
spec.
|
36
|
-
|
37
|
-
spec.add_development_dependency '
|
38
|
-
spec.add_development_dependency '
|
39
|
-
spec.add_development_dependency '
|
40
|
-
spec.add_development_dependency '
|
26
|
+
spec.required_ruby_version = '>= 2.1.0'
|
27
|
+
|
28
|
+
spec.add_dependency 'addressable'
|
29
|
+
spec.add_dependency 'backports' if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.3.0')
|
30
|
+
spec.add_dependency 'faraday'
|
31
|
+
spec.add_dependency 'faraday_middleware'
|
32
|
+
spec.add_dependency 'launchy'
|
33
|
+
spec.add_dependency 'multi_json'
|
34
|
+
spec.add_dependency 'rainbow'
|
35
|
+
spec.add_dependency 'sinatra'
|
36
|
+
|
37
|
+
spec.add_development_dependency 'bundler'
|
38
|
+
spec.add_development_dependency 'dotenv'
|
39
|
+
spec.add_development_dependency 'pry-byebug'
|
40
|
+
spec.add_development_dependency 'rake'
|
41
|
+
spec.add_development_dependency 'rspec'
|
42
|
+
spec.add_development_dependency 'rubocop'
|
43
|
+
spec.add_development_dependency 'rubocop-rspec'
|
44
|
+
spec.add_development_dependency 'simplecov'
|
41
45
|
end
|
metadata
CHANGED
@@ -1,215 +1,230 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zoho_hub
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ricardo Otero
|
8
|
-
autorequire:
|
9
|
-
bindir:
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-12-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: addressable
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: faraday
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: faraday_middleware
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '0
|
47
|
+
version: '0'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '0
|
54
|
+
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: launchy
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '0
|
61
|
+
version: '0'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '0
|
68
|
+
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: multi_json
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
75
|
+
version: '0'
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
82
|
+
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: rainbow
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - "
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: sinatra
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
88
102
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
103
|
+
version: '0'
|
90
104
|
type: :runtime
|
91
105
|
prerelease: false
|
92
106
|
version_requirements: !ruby/object:Gem::Requirement
|
93
107
|
requirements:
|
94
|
-
- - "
|
108
|
+
- - ">="
|
95
109
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
110
|
+
version: '0'
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: bundler
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
100
114
|
requirements:
|
101
|
-
- - "
|
115
|
+
- - ">="
|
102
116
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
117
|
+
version: '0'
|
104
118
|
type: :development
|
105
119
|
prerelease: false
|
106
120
|
version_requirements: !ruby/object:Gem::Requirement
|
107
121
|
requirements:
|
108
|
-
- - "
|
122
|
+
- - ">="
|
109
123
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
124
|
+
version: '0'
|
111
125
|
- !ruby/object:Gem::Dependency
|
112
126
|
name: dotenv
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
114
128
|
requirements:
|
115
|
-
- - "
|
129
|
+
- - ">="
|
116
130
|
- !ruby/object:Gem::Version
|
117
|
-
version: '
|
131
|
+
version: '0'
|
118
132
|
type: :development
|
119
133
|
prerelease: false
|
120
134
|
version_requirements: !ruby/object:Gem::Requirement
|
121
135
|
requirements:
|
122
|
-
- - "
|
136
|
+
- - ">="
|
123
137
|
- !ruby/object:Gem::Version
|
124
|
-
version: '
|
138
|
+
version: '0'
|
125
139
|
- !ruby/object:Gem::Dependency
|
126
140
|
name: pry-byebug
|
127
141
|
requirement: !ruby/object:Gem::Requirement
|
128
142
|
requirements:
|
129
|
-
- - "
|
143
|
+
- - ">="
|
130
144
|
- !ruby/object:Gem::Version
|
131
|
-
version: '
|
145
|
+
version: '0'
|
132
146
|
type: :development
|
133
147
|
prerelease: false
|
134
148
|
version_requirements: !ruby/object:Gem::Requirement
|
135
149
|
requirements:
|
136
|
-
- - "
|
150
|
+
- - ">="
|
137
151
|
- !ruby/object:Gem::Version
|
138
|
-
version: '
|
152
|
+
version: '0'
|
139
153
|
- !ruby/object:Gem::Dependency
|
140
154
|
name: rake
|
141
155
|
requirement: !ruby/object:Gem::Requirement
|
142
156
|
requirements:
|
143
|
-
- - "
|
157
|
+
- - ">="
|
144
158
|
- !ruby/object:Gem::Version
|
145
|
-
version: '
|
159
|
+
version: '0'
|
146
160
|
type: :development
|
147
161
|
prerelease: false
|
148
162
|
version_requirements: !ruby/object:Gem::Requirement
|
149
163
|
requirements:
|
150
|
-
- - "
|
164
|
+
- - ">="
|
151
165
|
- !ruby/object:Gem::Version
|
152
|
-
version: '
|
166
|
+
version: '0'
|
153
167
|
- !ruby/object:Gem::Dependency
|
154
168
|
name: rspec
|
155
169
|
requirement: !ruby/object:Gem::Requirement
|
156
170
|
requirements:
|
157
|
-
- - "
|
171
|
+
- - ">="
|
158
172
|
- !ruby/object:Gem::Version
|
159
|
-
version: '
|
173
|
+
version: '0'
|
160
174
|
type: :development
|
161
175
|
prerelease: false
|
162
176
|
version_requirements: !ruby/object:Gem::Requirement
|
163
177
|
requirements:
|
164
|
-
- - "
|
178
|
+
- - ">="
|
165
179
|
- !ruby/object:Gem::Version
|
166
|
-
version: '
|
180
|
+
version: '0'
|
167
181
|
- !ruby/object:Gem::Dependency
|
168
182
|
name: rubocop
|
169
183
|
requirement: !ruby/object:Gem::Requirement
|
170
184
|
requirements:
|
171
|
-
- - "
|
185
|
+
- - ">="
|
172
186
|
- !ruby/object:Gem::Version
|
173
|
-
version: '0
|
187
|
+
version: '0'
|
174
188
|
type: :development
|
175
189
|
prerelease: false
|
176
190
|
version_requirements: !ruby/object:Gem::Requirement
|
177
191
|
requirements:
|
178
|
-
- - "
|
192
|
+
- - ">="
|
179
193
|
- !ruby/object:Gem::Version
|
180
|
-
version: '0
|
194
|
+
version: '0'
|
181
195
|
- !ruby/object:Gem::Dependency
|
182
196
|
name: rubocop-rspec
|
183
197
|
requirement: !ruby/object:Gem::Requirement
|
184
198
|
requirements:
|
185
|
-
- - "
|
199
|
+
- - ">="
|
186
200
|
- !ruby/object:Gem::Version
|
187
|
-
version: '
|
201
|
+
version: '0'
|
188
202
|
type: :development
|
189
203
|
prerelease: false
|
190
204
|
version_requirements: !ruby/object:Gem::Requirement
|
191
205
|
requirements:
|
192
|
-
- - "
|
206
|
+
- - ">="
|
193
207
|
- !ruby/object:Gem::Version
|
194
|
-
version: '
|
208
|
+
version: '0'
|
195
209
|
- !ruby/object:Gem::Dependency
|
196
210
|
name: simplecov
|
197
211
|
requirement: !ruby/object:Gem::Requirement
|
198
212
|
requirements:
|
199
|
-
- - "
|
213
|
+
- - ">="
|
200
214
|
- !ruby/object:Gem::Version
|
201
|
-
version: '0
|
215
|
+
version: '0'
|
202
216
|
type: :development
|
203
217
|
prerelease: false
|
204
218
|
version_requirements: !ruby/object:Gem::Requirement
|
205
219
|
requirements:
|
206
|
-
- - "
|
220
|
+
- - ">="
|
207
221
|
- !ruby/object:Gem::Version
|
208
|
-
version: '0
|
222
|
+
version: '0'
|
209
223
|
description: Simple gem to connect to Zoho CRM API V2
|
210
224
|
email:
|
211
225
|
- oterosantos@gmail.com
|
212
|
-
executables:
|
226
|
+
executables:
|
227
|
+
- zoho_hub
|
213
228
|
extensions: []
|
214
229
|
extra_rdoc_files: []
|
215
230
|
files:
|
@@ -223,29 +238,39 @@ files:
|
|
223
238
|
- README.md
|
224
239
|
- Rakefile
|
225
240
|
- bin/console
|
241
|
+
- bin/read
|
226
242
|
- bin/setup
|
243
|
+
- bin/zoho_hub
|
244
|
+
- cache/.git_keep
|
227
245
|
- lib/zoho_hub.rb
|
228
246
|
- lib/zoho_hub/auth.rb
|
247
|
+
- lib/zoho_hub/base_record.rb
|
229
248
|
- lib/zoho_hub/configuration.rb
|
230
249
|
- lib/zoho_hub/connection.rb
|
250
|
+
- lib/zoho_hub/deprecated_and_only_for_reference_records/account.rb
|
251
|
+
- lib/zoho_hub/deprecated_and_only_for_reference_records/campaign.rb
|
252
|
+
- lib/zoho_hub/deprecated_and_only_for_reference_records/contact.rb
|
253
|
+
- lib/zoho_hub/deprecated_and_only_for_reference_records/funder.rb
|
254
|
+
- lib/zoho_hub/deprecated_and_only_for_reference_records/potential.rb
|
255
|
+
- lib/zoho_hub/deprecated_and_only_for_reference_records/product.rb
|
256
|
+
- lib/zoho_hub/deprecated_and_only_for_reference_records/quote.rb
|
231
257
|
- lib/zoho_hub/errors.rb
|
232
|
-
- lib/zoho_hub/
|
233
|
-
- lib/zoho_hub/
|
234
|
-
- lib/zoho_hub/records/base_record.rb
|
235
|
-
- lib/zoho_hub/records/campaign.rb
|
236
|
-
- lib/zoho_hub/records/contact.rb
|
237
|
-
- lib/zoho_hub/records/potential.rb
|
238
|
-
- lib/zoho_hub/records/product.rb
|
239
|
-
- lib/zoho_hub/records/quote.rb
|
240
|
-
- lib/zoho_hub/records/vendor.rb
|
258
|
+
- lib/zoho_hub/module_builder.rb
|
259
|
+
- lib/zoho_hub/oauth_callback_server.rb
|
241
260
|
- lib/zoho_hub/response.rb
|
261
|
+
- lib/zoho_hub/settings/field.rb
|
262
|
+
- lib/zoho_hub/settings/module.rb
|
263
|
+
- lib/zoho_hub/string_utils.rb
|
242
264
|
- lib/zoho_hub/version.rb
|
265
|
+
- lib/zoho_hub/views/variables.erb
|
266
|
+
- lib/zoho_hub/with_attributes.rb
|
267
|
+
- lib/zoho_hub/with_connection.rb
|
243
268
|
- zoho_hub.gemspec
|
244
269
|
homepage: https://github.com/rikas/zoho_hub
|
245
270
|
licenses:
|
246
271
|
- MIT
|
247
272
|
metadata: {}
|
248
|
-
post_install_message:
|
273
|
+
post_install_message:
|
249
274
|
rdoc_options: []
|
250
275
|
require_paths:
|
251
276
|
- lib
|
@@ -253,16 +278,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
253
278
|
requirements:
|
254
279
|
- - ">="
|
255
280
|
- !ruby/object:Gem::Version
|
256
|
-
version:
|
281
|
+
version: 2.1.0
|
257
282
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
258
283
|
requirements:
|
259
284
|
- - ">="
|
260
285
|
- !ruby/object:Gem::Version
|
261
286
|
version: '0'
|
262
287
|
requirements: []
|
263
|
-
rubyforge_project:
|
288
|
+
rubyforge_project:
|
264
289
|
rubygems_version: 2.7.6
|
265
|
-
signing_key:
|
290
|
+
signing_key:
|
266
291
|
specification_version: 4
|
267
292
|
summary: Simple gem to connect to Zoho CRM API V2
|
268
293
|
test_files: []
|