pipedrive_ruby 1.0.1.pre15
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.codeclimate.yml +30 -0
- data/.gitignore +12 -0
- data/.rspec +2 -0
- data/.rubocop.yml +1156 -0
- data/.travis.yml +8 -0
- data/CODE_OF_CONDUCT.md +49 -0
- data/Gemfile +4 -0
- data/Guardfile +56 -0
- data/LICENSE.txt +21 -0
- data/README.md +59 -0
- data/Rakefile +6 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/doc/Activities.html +138 -0
- data/doc/ActivitiesFields.html +134 -0
- data/doc/ActivitiesTypes.html +141 -0
- data/doc/Authorizations.html +138 -0
- data/doc/Currencies.html +143 -0
- data/doc/DealsFields.html +146 -0
- data/doc/EmailMessages.html +137 -0
- data/doc/EmailThreads.html +136 -0
- data/doc/Estages.html +137 -0
- data/doc/Files.html +139 -0
- data/doc/Filters.html +139 -0
- data/doc/GlobalMessages.html +134 -0
- data/doc/Goals.html +137 -0
- data/doc/NoteFields.html +134 -0
- data/doc/Notes.html +137 -0
- data/doc/OrganizationFields.html +147 -0
- data/doc/OrganizationRelationships.html +135 -0
- data/doc/PermissionSets.html +134 -0
- data/doc/PersonFields.html +146 -0
- data/doc/Persons.html +136 -0
- data/doc/PipedriveRuby/Activities.html +159 -0
- data/doc/PipedriveRuby/ActivitiesFields.html +148 -0
- data/doc/PipedriveRuby/ActivitiesTypes.html +148 -0
- data/doc/PipedriveRuby/ActivityFields.html +148 -0
- data/doc/PipedriveRuby/ActivityTypes.html +148 -0
- data/doc/PipedriveRuby/Authorizations.html +231 -0
- data/doc/PipedriveRuby/Base.html +456 -0
- data/doc/PipedriveRuby/Currencies.html +162 -0
- data/doc/PipedriveRuby/DealFields.html +148 -0
- data/doc/PipedriveRuby/Deals.html +842 -0
- data/doc/PipedriveRuby/HttpFactory.html +1362 -0
- data/doc/PipedriveRuby/Organizations.html +148 -0
- data/doc/PipedriveRuby/PipedriveClient.html +385 -0
- data/doc/PipedriveRuby/Products.html +319 -0
- data/doc/PipedriveRuby/PushNotifications.html +159 -0
- data/doc/PipedriveRuby/Recents.html +159 -0
- data/doc/PipedriveRuby/SearchResults.html +250 -0
- data/doc/PipedriveRuby/UserConnections.html +159 -0
- data/doc/PipedriveRuby/UserSettings.html +159 -0
- data/doc/PipedriveRuby.html +174 -0
- data/doc/Pipelines.html +134 -0
- data/doc/ProductFields.html +147 -0
- data/doc/Products.html +140 -0
- data/doc/PushNotifications.html +141 -0
- data/doc/Recent.html +134 -0
- data/doc/Roles.html +134 -0
- data/doc/SearchResults.html +135 -0
- data/doc/UserConnections.html +134 -0
- data/doc/UserSettings.html +134 -0
- data/doc/Users.html +137 -0
- data/doc/_index.html +425 -0
- data/doc/class_list.html +51 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +58 -0
- data/doc/css/style.css +474 -0
- data/doc/file.README.html +160 -0
- data/doc/file_list.html +56 -0
- data/doc/frames.html +17 -0
- data/doc/index.html +160 -0
- data/doc/js/app.js +243 -0
- data/doc/js/full_list.js +216 -0
- data/doc/js/jquery.js +4 -0
- data/doc/method_list.html +411 -0
- data/doc/top-level-namespace.html +114 -0
- data/lib/http_factory.rb +154 -0
- data/lib/pipedrive_client.rb +24 -0
- data/lib/pipedrive_ruby/version.rb +4 -0
- data/lib/pipedrive_ruby.rb +48 -0
- data/lib/resources/activities.rb +9 -0
- data/lib/resources/activitiy_fields.rb +6 -0
- data/lib/resources/activity_types.rb +11 -0
- data/lib/resources/authorizations.rb +16 -0
- data/lib/resources/base.rb +17 -0
- data/lib/resources/currencies.rb +13 -0
- data/lib/resources/deal_fields.rb +10 -0
- data/lib/resources/deals.rb +72 -0
- data/lib/resources/email_messages.rb +5 -0
- data/lib/resources/email_threads.rb +4 -0
- data/lib/resources/files.rb +4 -0
- data/lib/resources/filters.rb +4 -0
- data/lib/resources/global_messages.rb +3 -0
- data/lib/resources/goals.rb +4 -0
- data/lib/resources/note_fields.rb +3 -0
- data/lib/resources/notes.rb +4 -0
- data/lib/resources/organization_fields.rb +8 -0
- data/lib/resources/organization_relationships.rb +3 -0
- data/lib/resources/organizations.rb +7 -0
- data/lib/resources/permission_sets.rb +3 -0
- data/lib/resources/person_fields.rb +3 -0
- data/lib/resources/persons.rb +4 -0
- data/lib/resources/pipelines.rb +3 -0
- data/lib/resources/product_fields.rb +8 -0
- data/lib/resources/products.rb +29 -0
- data/lib/resources/push_notifications.rb +10 -0
- data/lib/resources/recents.rb +6 -0
- data/lib/resources/roles.rb +3 -0
- data/lib/resources/search_results.rb +14 -0
- data/lib/resources/stages.rb +4 -0
- data/lib/resources/user_connections.rb +7 -0
- data/lib/resources/user_settings.rb +6 -0
- data/lib/resources/users.rb +5 -0
- data/pipedrive_ruby.gemspec +34 -0
- metadata +286 -0
@@ -0,0 +1,24 @@
|
|
1
|
+
# share commum methods for resources
|
2
|
+
module PipedriveRuby
|
3
|
+
# This class is for hold the client informations (API TOKEN, resources)
|
4
|
+
class PipedriveClient
|
5
|
+
|
6
|
+
attr_reader :api_token
|
7
|
+
|
8
|
+
def initialize(api_token)
|
9
|
+
@api_token = api_token
|
10
|
+
end
|
11
|
+
|
12
|
+
# this delegation is only to allow user make PipedriveClient.new("token").resource
|
13
|
+
# where resource could be deals organizations etc...
|
14
|
+
def method_missing(method)
|
15
|
+
begin
|
16
|
+
class_name = 'PipedriveRuby::' + method.to_s.split("_").collect(&:capitalize).join
|
17
|
+
Object.const_get(class_name).new(self)
|
18
|
+
rescue NameError
|
19
|
+
"#{method} class not found"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
require 'pipedrive_ruby/version'
|
2
|
+
require 'http'
|
3
|
+
require 'pipedrive_client'
|
4
|
+
require 'http_factory'
|
5
|
+
require 'resources/base'
|
6
|
+
|
7
|
+
require 'resources/deals'
|
8
|
+
require 'resources/organizations'
|
9
|
+
require 'resources/activities'
|
10
|
+
require 'resources/activitiy_fields'
|
11
|
+
require 'resources/activity_types'
|
12
|
+
require 'resources/authorizations'
|
13
|
+
require 'resources/currencies'
|
14
|
+
require 'resources/deal_fields'
|
15
|
+
require 'resources/push_notifications'
|
16
|
+
require 'resources/recents'
|
17
|
+
require 'resources/search_results'
|
18
|
+
require 'resources/user_settings'
|
19
|
+
require 'resources/users'
|
20
|
+
require 'resources/products'
|
21
|
+
|
22
|
+
|
23
|
+
# TODO (Felipe Borges Ferreira)
|
24
|
+
require 'resources/email_messages'
|
25
|
+
require 'resources/email_threads'
|
26
|
+
require 'resources/files'
|
27
|
+
require 'resources/global_messages'
|
28
|
+
require 'resources/goals'
|
29
|
+
require 'resources/note_fields'
|
30
|
+
require 'resources/notes'
|
31
|
+
require 'resources/organization_fields'
|
32
|
+
require 'resources/organization_relationships'
|
33
|
+
require 'resources/permission_sets'
|
34
|
+
require 'resources/person_fields'
|
35
|
+
require 'resources/persons'
|
36
|
+
require 'resources/pipelines'
|
37
|
+
require 'resources/product_fields'
|
38
|
+
require 'resources/roles'
|
39
|
+
require 'resources/stages'
|
40
|
+
require 'resources/user_connections'
|
41
|
+
#
|
42
|
+
|
43
|
+
# If you need to use the PipedriveAPI
|
44
|
+
# https://developers.pipedrive.com/v1
|
45
|
+
module PipedriveRuby
|
46
|
+
# this is the url for API V1
|
47
|
+
API_URL = 'https://api.pipedrive.com/v1'.freeze
|
48
|
+
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
# Activities are appointments/tasks/events on a calendar that can be associated with a Deal, a Person and an Organization.
|
2
|
+
# Activities can be of different type (such as call, meeting, lunch or a custom type - see ActivityTypes object) and can be assigned to a particular User.
|
3
|
+
# Note that activities can also be created without a specific date/time.
|
4
|
+
module PipedriveRuby
|
5
|
+
# Available calls (all, find, create, update, remove, remove_many)
|
6
|
+
class Activities < PipedriveRuby::Base
|
7
|
+
def_delegators :endpoints, :all, :find, :create, :update, :remove, :remove_many
|
8
|
+
end
|
9
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# ActivityTypes represent different kinds of activities that can be stored.
|
2
|
+
# Each ActivityType is presented to the user with an icon and a name.
|
3
|
+
# Additionally, a color can be defined (not implemented in the Pipedrive app as of today).
|
4
|
+
# ActivityTypes are linked to Activities via ActivityType.key_string = Activity.type.
|
5
|
+
# The key_string will be generated by the API based on the given name of the ActivityType upon creation, and cannot be changed.
|
6
|
+
# ActivityTypes should be presented to the user in an ordered manner, using the ActivityType.order_nr value.
|
7
|
+
module PipedriveRuby
|
8
|
+
class ActivityTypes < PipedriveRuby::Base
|
9
|
+
def_delegators :endpoints, :all, :create, :update, :remove, :remove_many
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# Authorization objects can be fetched without an API token but using an email and password.
|
2
|
+
# Fetching the Authorization objects essentially allows you to authorize users based on their login credentials and retrieve the underlying API tokens associated with the given user.
|
3
|
+
# Note that any given user an Authorization object per each company he/she belongs to.
|
4
|
+
module PipedriveRuby
|
5
|
+
# Returns all authorizations for a particular user.
|
6
|
+
# Authorization objects contain the API tokens the user has with different company accounts in Pipedrive. These can be fetched without an API token but using the email and password of the user.
|
7
|
+
class Authorizations < PipedriveRuby::Base
|
8
|
+
|
9
|
+
def all(authorization)
|
10
|
+
create(authorization)
|
11
|
+
end
|
12
|
+
|
13
|
+
def_delegators :endpoints, :create
|
14
|
+
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module PipedriveRuby
|
2
|
+
# responsable for interface all resources with PipedriveClient
|
3
|
+
class Base
|
4
|
+
extend Forwardable
|
5
|
+
|
6
|
+
attr_reader :client,:endpoints,:base_url
|
7
|
+
|
8
|
+
def initialize(pipedrive_client)
|
9
|
+
class_name = self.class.name
|
10
|
+
@client = pipedrive_client
|
11
|
+
@endpoints = PipedriveRuby::HttpFactory.new(class_name, @client)
|
12
|
+
end
|
13
|
+
|
14
|
+
def_delegators :endpoints, :custom_get, :custom_post, :custom_delete
|
15
|
+
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# Supported currencies which can be used to represent the monetary value of a Deal, or a value of any monetary type custom field.
|
2
|
+
# The Currency.code field must be used to point to a currency.
|
3
|
+
# Currency.code is the ISO-4217 format currency code for non-custom currencies.
|
4
|
+
# You can differentiate custom and non-custom currencies using the is_custom_flag property.
|
5
|
+
# For custom currencies, it is intended that the formatted sums are displayed in the UI using the following format: [sum][non-breaking space character][currency.symbol], for example: 500 users.
|
6
|
+
# Custom currencies cannot be added or removed via the API yet — rather the admin users of the account must configure them from the Pipedrive app
|
7
|
+
module PipedriveRuby
|
8
|
+
# Returns all supported currencies in given account which should be used when saving monetary values with other objects.
|
9
|
+
# The 'code' parameter of the returning objects is the currency code according to ISO 4217 for all non-custom currencies.
|
10
|
+
class Currencies < PipedriveRuby::Base
|
11
|
+
def_delegators :endpoints, :all
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
# DealFields represent the near-complete schema for a Deal in the context of the company of the authorized user.
|
2
|
+
# Each company can have a different schema for their Deals, with various custom fields. In the context of using DealFiels as a schema for defining the data fields of a Deal, it must be kept in mind that some types of custom fields can have additional data fields which are not separate DealFields per se.
|
3
|
+
# Such is the case with monetary, daterange and timerange fields – each of these fields will have one additional data field in addition to the one presented in the context of DealFields.
|
4
|
+
# For example, if there is a monetary field with the key 'ffk9s9' stored on the account, 'ffk9s9' would hold the numeric value of the field, and 'ffk9s9_currency' would hold the ISO currency code that goes along with the numeric value.
|
5
|
+
# To find out which data fields are available, fetch one Deal and list its keys.
|
6
|
+
module PipedriveRuby
|
7
|
+
class DealFields < PipedriveRuby::Base
|
8
|
+
def_delegators :endpoints, :all, :find, :create, :update, :remove, :remove_many
|
9
|
+
end
|
10
|
+
end
|
@@ -0,0 +1,72 @@
|
|
1
|
+
# Deals represent ongoing, lost or won sales to an Organization or to a Person.
|
2
|
+
# Each deal has a monetary value and must be placed in a Stage. Deals can be owned by a User, and followed by one or many Users.
|
3
|
+
# Each Deal consists of standard data fields but can also contain a number of custom fields. The custom fields can be recognized by long hashes as keys.
|
4
|
+
# These hashes can be mapped against DealField.key. The corresponding label for each such custom field can be obtained from DealField.name.
|
5
|
+
module PipedriveRuby
|
6
|
+
# This class should hold all endpoints that are specific of deals
|
7
|
+
class Deals < PipedriveRuby::Base
|
8
|
+
|
9
|
+
def delete_follower(deal, user)
|
10
|
+
end
|
11
|
+
|
12
|
+
def products(deal)
|
13
|
+
custom_get(:path => "#{deal['id']}/products",
|
14
|
+
:params => {:include_product_data => 1}
|
15
|
+
)
|
16
|
+
end
|
17
|
+
|
18
|
+
def add_product(deal, product)
|
19
|
+
end
|
20
|
+
|
21
|
+
def update_product(deal, product)
|
22
|
+
end
|
23
|
+
|
24
|
+
def delete_product(deal, product)
|
25
|
+
end
|
26
|
+
|
27
|
+
def activities(deal)
|
28
|
+
custom_get(:path => "#{deal['id']}/activities")
|
29
|
+
end
|
30
|
+
|
31
|
+
def log(deal)
|
32
|
+
custom_get(:path => "#{deal['id']}/flow")
|
33
|
+
end
|
34
|
+
|
35
|
+
def add_participant(deal, person)
|
36
|
+
end
|
37
|
+
|
38
|
+
def participants(deal)
|
39
|
+
custom_get(:path => "#{deal['id']}/participants")
|
40
|
+
end
|
41
|
+
|
42
|
+
def delete_participant(deal, participant)
|
43
|
+
end
|
44
|
+
|
45
|
+
def emails(deal)
|
46
|
+
custom_get(:path => "#{deal['id']}/emailMessages")
|
47
|
+
end
|
48
|
+
|
49
|
+
def find_by_title(term)
|
50
|
+
find_by(term)
|
51
|
+
end
|
52
|
+
|
53
|
+
def timeline
|
54
|
+
end
|
55
|
+
|
56
|
+
def_delegators :endpoints,
|
57
|
+
:add_follower,
|
58
|
+
:all,
|
59
|
+
:find,
|
60
|
+
:find_by,
|
61
|
+
:files,
|
62
|
+
:followers,
|
63
|
+
:create,
|
64
|
+
:duplicate,
|
65
|
+
:merge,
|
66
|
+
:permitted_users,
|
67
|
+
:remove,
|
68
|
+
:remove_many,
|
69
|
+
:update
|
70
|
+
|
71
|
+
end
|
72
|
+
end
|
@@ -0,0 +1,5 @@
|
|
1
|
+
# EmailMessages represent e-mail messages sent or received through Pipedrive designated e-mail account.
|
2
|
+
# Messages are grouped in threads.
|
3
|
+
# The Mailbox feature must be enabled on the Pipedrive account in order for these APIs to work properly.
|
4
|
+
class EmailMessages
|
5
|
+
end
|
@@ -0,0 +1,4 @@
|
|
1
|
+
# Files are documents of any kind (images, spreadsheets, text files, etc) that are uploaded to Pipedrive, and usually associated with a particular Deal, Person or Organization.
|
2
|
+
# Note that the API currently does not support downloading files although it lets you retrieve file meta info along retrieve a download URL where the file can be downloaded using a standard HTTP GET request.
|
3
|
+
class Files
|
4
|
+
end
|
@@ -0,0 +1,4 @@
|
|
1
|
+
# Each filter is essentially a set of data validation conditions. A filter of the same kind can be applied when fetching list of Deals, Persons, Organizations, Products or Deals in the context of a Pipeline. When applied, only items matching the conditions of the filter are returned.
|
2
|
+
# Detailed definitions of filter conditions and additional functionality is not yet available.
|
3
|
+
class Filters
|
4
|
+
end
|
@@ -0,0 +1,4 @@
|
|
1
|
+
# Notes are pieces of textual (HTML-formatted) information that can be attached to Deals, Persons and Organizations.
|
2
|
+
# Notes are usually displayed in the UI in a chronological order – newest first – and in context with other updates regarding the item they are attached to.
|
3
|
+
class Notes
|
4
|
+
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
# OrganizationFields represent the near-complete schema for an Organization in the context of the company of the authorized user.
|
2
|
+
# Each company can have a different schema for their Organizations, with various custom fields.
|
3
|
+
# In the context of using OrganizationFiels as a schema for defining the data fields of an Organization, it must be kept in mind that some types of custom fields can have additional data fields which are not separate OrganizationFields per se.
|
4
|
+
# Such is the case with monetary, daterange and timerange fields – each of these fields will have one additional data field in addition to the one presented in the context of OrganizationFields.
|
5
|
+
# For example, if there is a monetary field with the key 'ffk9s9' stored on the account, 'ffk9s9' would hold the numeric value of the field, and 'ffk9s9_currency' would hold the ISO currency code that goes along with the numeric value.
|
6
|
+
# To find out which data fields are available, fetch one Organization and list its keys.
|
7
|
+
class OrganizationFields
|
8
|
+
end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
# Organizations are companies and other kinds of organizations you are making Deals with.
|
2
|
+
# Persons can be associated with organizations so that each organization can contain one or more Persons.
|
3
|
+
module PipedriveRuby
|
4
|
+
class Organizations < PipedriveRuby::Base
|
5
|
+
def_delegators :endpoints, :all, :find, :create, :update
|
6
|
+
end
|
7
|
+
end
|
@@ -0,0 +1,3 @@
|
|
1
|
+
# PersonFields represent the near-complete schema for a Person in the context of the company of the authorized user. Each company can have a different schema for their Persons, with various custom fields. In the context of using PersonFields as a schema for defining the data fields of a Person, it must be kept in mind that some types of custom fields can have additional data fields which are not separate PersonFields per se. Such is the case with monetary, daterange and timerange fields – each of these fields will have one additional data field in addition to the one presented in the context of PersonFields. For example, if there is a monetary field with the key 'ffk9s9' stored on the account, 'ffk9s9' would hold the numeric value of the field, and 'ffk9s9_currency' would hold the ISO currency code that goes along with the numeric value. To find out which data fields are available, fetch one Person and list its keys.
|
2
|
+
class PersonFields
|
3
|
+
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
# ProductFields represent the near-complete schema for a Product in the context of the company of the authorized user.
|
2
|
+
# Each company can have a different schema for their Products, with various custom fields.
|
3
|
+
# In the context of using ProductFields as a schema for defining the data fields of a Product, it must be kept in mind that some types of custom fields can have additional data fields which are not separate ProductFields per se.
|
4
|
+
# Such is the case with monetary, daterange and timerange fields – each of these fields will have one additional data field in addition to the one presented in the context of ProductFields.
|
5
|
+
# For example, if there is a monetary field with the key 'ffk9s9' stored on the account, 'ffk9s9' would hold the numeric value of the field, and 'ffk9s9_currency' would hold the ISO currency code that goes along with the numeric value.
|
6
|
+
# To find out which data fields are available, fetch one Product and list its keys.
|
7
|
+
class ProductFields
|
8
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# Products are the goods or services you are dealing with.
|
2
|
+
# Each product can have N different price points - first, each Product can have a price in N different currencies, and secondly, each Product can have N variations of itself, each having N prices different currencies.
|
3
|
+
# Note that only one price per variation per currency is supported.
|
4
|
+
# Products can be instantiated to Deals. In the context of instatiation, a custom price, quantity, duration and discount can be applied.
|
5
|
+
module PipedriveRuby
|
6
|
+
class Products < PipedriveRuby::Base
|
7
|
+
|
8
|
+
def deals(product)
|
9
|
+
custom_get(:path => "#{product['id']}/deals")
|
10
|
+
end
|
11
|
+
|
12
|
+
def find_by_name(term)
|
13
|
+
find_by(term)
|
14
|
+
end
|
15
|
+
|
16
|
+
def_delegators :endpoints,
|
17
|
+
:add_follower,
|
18
|
+
:all,
|
19
|
+
:delete_follower,
|
20
|
+
:find,
|
21
|
+
:find_by,
|
22
|
+
:files,
|
23
|
+
:followers,
|
24
|
+
:create,
|
25
|
+
:permitted_users,
|
26
|
+
:update,
|
27
|
+
:remove
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
# Manage subscriptions of push notifications / web hooks / REST hooks about data changes.
|
2
|
+
# A subscription means a designated HTTP(S) endpoint which will receive a request every time a certain event happens on your Pipedrive account.
|
3
|
+
# E.g. when you have subscribed to receive events about all new deals ('deal.added'), this HTTP(S) will receive a request per each such event.
|
4
|
+
# See https://app.pipedrive.com/push_notifications#dialog:/push_notifications/help for detailed documentation of web hooks.
|
5
|
+
module PipedriveRuby
|
6
|
+
# Returns data about all subscriptions.
|
7
|
+
class PushNotifications < PipedriveRuby::Base
|
8
|
+
def_delegators :endpoints, :all, :find, :create, :remove
|
9
|
+
end
|
10
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module PipedriveRuby
|
2
|
+
# Ordered reference objects, pointing to either Deals, Persons, Organizations, Files or Products.
|
3
|
+
class SearchResults < PipedriveRuby::Base
|
4
|
+
|
5
|
+
# Performs a search from a specific field's values. Results can be either the distinct values of the field (useful for searching autocomplete field values), or actual items IDs (deals, persons, organizations or products).
|
6
|
+
# Works only with the following field types: varchar, varchar_auto, double, address, text, phone, date.
|
7
|
+
def field(params={})
|
8
|
+
options = {:params => params}
|
9
|
+
options[:path] = 'field'
|
10
|
+
custom_get(options)
|
11
|
+
end
|
12
|
+
def_delegators :endpoints, :all, :custom_get
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,5 @@
|
|
1
|
+
# Users are people with access to your Pipedrive account.
|
2
|
+
# A user may belong to one or many Pipedrive accounts, so deleting a user from one Pipedrive account will not remove the user from the data store if he/she is connected to multiple accounts.
|
3
|
+
# Users should not be confused with Persons.
|
4
|
+
class Users
|
5
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'pipedrive_ruby/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "pipedrive_ruby"
|
8
|
+
spec.version = PipedriveRuby::VERSION
|
9
|
+
spec.authors = ["Felipe Borges Ferreira"]
|
10
|
+
spec.email = ["lypborges@gmail.com"]
|
11
|
+
|
12
|
+
spec.summary = %q{Wrapper for Pipedrive API call.}
|
13
|
+
spec.description = %q{Gem for use Pipedrive API for multiple tokens.}
|
14
|
+
spec.homepage = "https://github.com/lypborges/pipedrive_ruby"
|
15
|
+
spec.license = "MIT"
|
16
|
+
|
17
|
+
spec.has_rdoc = 'yard'
|
18
|
+
|
19
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
20
|
+
spec.bindir = "exe"
|
21
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
22
|
+
spec.require_paths = ["lib"]
|
23
|
+
|
24
|
+
spec.add_dependency "http", "~> 2.0"
|
25
|
+
|
26
|
+
spec.add_development_dependency "bundler", "~> 1.12"
|
27
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
28
|
+
spec.add_development_dependency "rspec", "~> 3.0"
|
29
|
+
spec.add_development_dependency "webmock", "~> 2.1"
|
30
|
+
spec.add_development_dependency "vcr", "~> 3.0"
|
31
|
+
spec.add_development_dependency "dotenv", "~> 2.1"
|
32
|
+
spec.add_development_dependency "byebug", "~> 9.0"
|
33
|
+
spec.add_development_dependency "codeclimate-test-reporter", "~>0.6"
|
34
|
+
end
|