clio_client 0.0.5 → 0.1.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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NDBlZmYwNzdmM2I4MzQ4NzZlMzZhNjEwYWJiZTg0MzQzZTBkNWYzYQ==
4
+ NjJjZjQzMzQwMjdiMzNkNzUwZTlkZTlkZDdlMDk0NTk2NDgwOTc0Mw==
5
5
  data.tar.gz: !binary |-
6
- OGE0NTk3ZTJlNTE4YjRkYzIwN2UxZmYyYzU1OTAyMzgwNGI4Y2Q2MA==
6
+ YTE1YjQ2OTU0ODBlZGRkMjg4ZjU0ZGYwNGEyMjM4NzZlY2U1ZDE3ZA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MGI2N2UyM2UxODUxYjcxZTQ3M2ExNzE4YmExMDFhN2ZmOTk3ZTcwY2QxMDRl
10
- MmRmZDcwMTliMTNjODU5YTdlYzM1MDY2ZjM1NGVhMDg4ZTVmZGIwNWUxNWIw
11
- ZDU2Yjk3ZTc4NTZmMWEzYzg5YzYwNjM1ZjRhZDkxNGQ3OGRiMWY=
9
+ NDAxNGI0MzZmYzZjZjgyMDFmYjViODFkZDY4ZWJjYWY5NmU3OTRjNzk4N2I2
10
+ MTc2NTI5MGVmYWE2MjM0Y2M1MTljNDhiZTM5NmM3ZjEyZjE0MjZhYTUwOGYz
11
+ Y2MxMTZiNmI3ZTE4N2ExYTg2YzIzM2NiNmY0NjcwZjYwNGVjN2Y=
12
12
  data.tar.gz: !binary |-
13
- NDJmOGMzYmU1Nzc1MjE0YTQwYTU5OGJiMmVkMjAwYjFlYTAyMjhlZWRjNWNj
14
- MzA5NDg4MmE0ZjQwNzExNDM2Yjg5OTQ2OTA5N2UyZjEwMzMxOTRkMzBkMTY0
15
- YTg2Mzc3YjMxZTczZjQ1NjFiMDg4Zjk3NGM4ZmQ5ZDMyMDc1NGQ=
13
+ NmI0MjJjZDhiNDQ2MTM0Mjg2MGVkMjc4MmU4NmFlM2MwNTBiN2RjNDMwZTZk
14
+ M2JiMjI4OWY4ZjYzODhkYWFjZjI2NDBlOWIxMmEwMzdmYjYxNWE2ZjZiOTk4
15
+ MmE5N2ZhODhkYTRiODYyYjMyODJjMTc5NGM3NzM1ODAyOGNkZmM=
data/lib/clio_client.rb CHANGED
@@ -14,33 +14,35 @@ module ClioClient
14
14
 
15
15
  # Models
16
16
  {
17
- :Account => 'account',
18
- :Activity => 'activity',
19
- :ActivityDescription => 'activity_description',
20
- :Bill => 'bill',
21
- :CalendarEntry => 'calendar_entry',
22
- :Calendar => 'calendar',
23
- :Communication => 'communication',
24
- :Company => 'company',
25
- :Contact => 'contact',
26
- :CustomFieldSet => 'custom_field_set',
27
- :CustomField => 'custom_field',
28
- :DocumentVersion => 'document_version',
29
- :Document => 'document',
30
- :ExpenseEntry => 'expense_entry',
31
- :EmailCommunication => 'email_communication',
32
- :Group => 'group',
33
- :Matter => 'matter',
34
- :Note => 'note',
35
- :Person => 'person',
36
- :PhoneCommunication => 'phone_communication',
37
- :PracticeArea => 'practice_area',
38
- :TimeEntry => 'time_entry',
39
- :Relationship => 'relationship',
40
- :Task => 'task',
41
- :TimelineEvent => 'timeline_event',
42
- :Timer => 'timer',
43
- :User => 'user'
17
+ :Account => 'account',
18
+ :Activity => 'activity',
19
+ :ActivityDescription => 'activity_description',
20
+ :Bill => 'bill',
21
+ :CalendarEntry => 'calendar_entry',
22
+ :Calendar => 'calendar',
23
+ :ClientConnectPermission => 'client_connect_permission',
24
+ :Communication => 'communication',
25
+ :Company => 'company',
26
+ :Contact => 'contact',
27
+ :CustomFieldSet => 'custom_field_set',
28
+ :CustomField => 'custom_field',
29
+ :DocumentCategory => 'document_category',
30
+ :DocumentVersion => 'document_version',
31
+ :Document => 'document',
32
+ :ExpenseEntry => 'expense_entry',
33
+ :EmailCommunication => 'email_communication',
34
+ :Group => 'group',
35
+ :Matter => 'matter',
36
+ :Note => 'note',
37
+ :Person => 'person',
38
+ :PhoneCommunication => 'phone_communication',
39
+ :PracticeArea => 'practice_area',
40
+ :TimeEntry => 'time_entry',
41
+ :Relationship => 'relationship',
42
+ :Task => 'task',
43
+ :TimelineEvent => 'timeline_event',
44
+ :Timer => 'timer',
45
+ :User => 'user'
44
46
  }.each_pair do |klass, file|
45
47
  autoload klass, "clio_client/models/#{file}"
46
48
  end
@@ -73,27 +75,29 @@ module ClioClient
73
75
 
74
76
  module Api
75
77
  {
76
- :Base => 'base',
77
- :Activity => 'activity',
78
- :ActivityDescription =>'activity_description',
79
- :Bill => 'bill',
80
- :CalendarEntry => 'calendar_entry',
81
- :Calendar => 'calendar',
82
- :Communication => 'communication',
83
- :Contact => 'contact',
84
- :CustomFieldSet => 'custom_field_set',
85
- :CustomField => 'custom_field',
86
- :DocumentVersion => 'document_version',
87
- :Document => 'document',
88
- :Group => 'group',
89
- :Matter => 'matter',
90
- :Note => 'note',
91
- :PracticeArea => 'practice_area',
92
- :Relationship => 'relationship',
93
- :Task => 'task',
94
- :TimelineEvent => 'timeline_event',
95
- :Timer => 'timer',
96
- :User => 'user',
78
+ :Base => 'base',
79
+ :Activity => 'activity',
80
+ :ActivityDescription => 'activity_description',
81
+ :Bill => 'bill',
82
+ :CalendarEntry => 'calendar_entry',
83
+ :Calendar => 'calendar',
84
+ :ClientConnectPermission => 'client_connect_permission',
85
+ :Communication => 'communication',
86
+ :Contact => 'contact',
87
+ :CustomFieldSet => 'custom_field_set',
88
+ :CustomField => 'custom_field',
89
+ :DocumentCategory => 'document_category',
90
+ :DocumentVersion => 'document_version',
91
+ :Document => 'document',
92
+ :Group => 'group',
93
+ :Matter => 'matter',
94
+ :Note => 'note',
95
+ :PracticeArea => 'practice_area',
96
+ :Relationship => 'relationship',
97
+ :Task => 'task',
98
+ :TimelineEvent => 'timeline_event',
99
+ :Timer => 'timer',
100
+ :User => 'user',
97
101
 
98
102
  :Crudable => 'crudable',
99
103
  :Findable => 'findable',
@@ -9,8 +9,11 @@ module ClioClient
9
9
  private
10
10
  def data_klass(attributes)
11
11
  accepted_types = %w(TimeEntry ExpenseEntry)
12
- if accepted_types.include? attributes["type"]
13
- ClioClient.const_get attributes["type"].intern
12
+ type = attributes["type"] || attriutes[:type]
13
+ if accepted_types.include? type
14
+ ClioClient.const_get type
15
+ else
16
+ ClioClient::Activity
14
17
  end
15
18
  end
16
19
 
@@ -0,0 +1,20 @@
1
+ module ClioClient
2
+ module Api
3
+ class ClientConnectPermission < Base
4
+
5
+ include ClioClient::Api::Listable
6
+ include ClioClient::Api::Findable
7
+ include ClioClient::Api::Crudable
8
+
9
+ private
10
+ def data_klass(*args)
11
+ ClioClient::ClientConnectPermission
12
+ end
13
+
14
+ def end_point_url; 'client_connect_permissions'; end
15
+ def plural_resource; 'client_connect_permissions'; end
16
+ def singular_resource; 'client_connect_permission'; end
17
+
18
+ end
19
+ end
20
+ end
@@ -9,8 +9,11 @@ module ClioClient
9
9
  private
10
10
  def data_klass(attributes)
11
11
  accepted_types = %w(Person Company)
12
- if accepted_types.include? attributes["type"]
13
- ClioClient.const_get attributes["type"].intern
12
+ type = attributes["type"] || attriutes[:type]
13
+ if accepted_types.include? type
14
+ ClioClient.const_get type
15
+ else
16
+ ClioClient::Contact
14
17
  end
15
18
  end
16
19
 
@@ -7,17 +7,40 @@ module ClioClient
7
7
  end
8
8
 
9
9
  def create(params = {})
10
- response = session.post(end_point_url, {singular_resource => params}.to_json)
11
- data_item(response[singular_resource])
10
+ begin
11
+ resource = params.is_a?(Array) ? create_plural(params) : create_singular(params)
12
+ rescue ClioClient::UnknownResponse
13
+ false
14
+ end
12
15
  end
13
16
 
14
17
  def update(id, params = {})
15
- response = session.put("#{end_point_url}/#{id}", {singular_resource => params}.to_json)
16
- data_item(response[singular_resource])
18
+ begin
19
+ response = session.put("#{end_point_url}/#{id}", {singular_resource => params}.to_json)
20
+ data_item(response[singular_resource])
21
+ rescue ClioClient::UnknownResponse
22
+ false
23
+ end
17
24
  end
18
25
 
19
26
  def destroy(id)
20
- session.delete("#{end_point_url}/#{id}", false)
27
+ begin
28
+ session.delete("#{end_point_url}/#{id}", false)
29
+ rescue ClioClient::UnknownResponse
30
+ false
31
+ end
32
+ end
33
+
34
+ private
35
+
36
+ def create_singular(params)
37
+ response = session.post(end_point_url, {singular_resource => params}.to_json)
38
+ data_item(response[singular_resource])
39
+ end
40
+
41
+ def create_plural(params)
42
+ response = session.post(end_point_url, {plural_resource => params}.to_json)
43
+ response[plural_resource].map { |resource| data_item(resource) }
21
44
  end
22
45
 
23
46
  end
@@ -0,0 +1,19 @@
1
+ module ClioClient
2
+ module Api
3
+ class DocumentCategory < Base
4
+
5
+ include ClioClient::Api::Listable
6
+ include ClioClient::Api::Findable
7
+
8
+ private
9
+ def data_klass(*args)
10
+ ClioClient::DocumentCategory
11
+ end
12
+
13
+ def end_point_url; 'document_categories'; end
14
+ def plural_resource; 'document_categories'; end
15
+ def singular_resource; 'document_category'; end
16
+
17
+ end
18
+ end
19
+ end
@@ -6,7 +6,7 @@ module ClioClient
6
6
  begin
7
7
  response = session.get("#{end_point_url}/#{id}")
8
8
  data_item(response[singular_resource])
9
- rescue ClioClient::ResourceNotFound
9
+ rescue ClioClient::ResourceNotFound, ClioClient::UnknownResponse
10
10
  nil
11
11
  end
12
12
  end
@@ -9,12 +9,16 @@ module ClioClient
9
9
  end
10
10
 
11
11
  def list(params = {})
12
- response = session.get(end_point_url, params)
13
- @pagination_details = {last_query: params, records: 0, next_offset: response["next_offset"],
14
- total_records: response["total_records"]
15
- }
16
- @pagination_details[:records] += response["records"] || 0
17
- response[plural_resource].collect{ |r| data_item(r) }
12
+ begin
13
+ response = session.get(end_point_url, params)
14
+ @pagination_details = {last_query: params, records: 0, next_offset: response["next_offset"],
15
+ total_records: response["total_records"]
16
+ }
17
+ @pagination_details[:records] += response["records"] || 0
18
+ response[plural_resource].collect{ |r| data_item(r) }
19
+ rescue ClioClient::UnknownResponse
20
+ []
21
+ end
18
22
  end
19
23
 
20
24
  def next_page
@@ -3,6 +3,15 @@ module ClioClient
3
3
  class TimelineEvent < Base
4
4
 
5
5
  include ClioClient::Api::Listable
6
+ include ClioClient::Api::Crudable
7
+
8
+ def update
9
+ raise NotImplementedError
10
+ end
11
+
12
+ def destroy
13
+ raise NotImplementedError
14
+ end
6
15
 
7
16
  private
8
17
 
@@ -1,8 +1,9 @@
1
1
  module ClioClient
2
2
 
3
- class Unauthorized < Exception; end
4
- class ResourceNotFound < Exception; end
5
- class BadRequest < Exception; end
3
+ class Unauthorized < StandardError; end
4
+ class ResourceNotFound < StandardError; end
5
+ class BadRequest < StandardError; end
6
+ class UnknownResponse < StandardError; end
6
7
 
7
8
  module Http
8
9
 
@@ -48,7 +49,7 @@ module ClioClient
48
49
  end
49
50
 
50
51
  def make_api_request(req, uri, parse = true)
51
- return nil if self.access_token.nil? || self.access_token.empty?
52
+ raise ClioClient::Unauthorized if self.access_token.nil? || self.access_token.empty?
52
53
  req.add_field("Authorization", "Bearer #{self.access_token}")
53
54
  make_request(req, uri, parse)
54
55
  end
@@ -64,27 +65,33 @@ module ClioClient
64
65
  end
65
66
 
66
67
  def parse_response(res, parse)
67
- if res.body !~ /^\s*$/ && !res.body.nil?
68
- body = parse ? JSON.parse(res.body) : res.body
69
- end
70
-
71
68
  case res
72
69
  when Net::HTTPNotFound
73
- raise ClioClient::ResourceNotFound.new(body["message"])
70
+ raise ClioClient::ResourceNotFound.new(parse_body(res.body)["message"])
74
71
  when Net::HTTPSuccess
75
- body
72
+ parse ? parse_body(res.body) : res.body
76
73
  when Net::HTTPUnauthorized
77
- raise ClioClient::Unauthorized.new(body["message"])
74
+ begin
75
+ message = parse_body(res.body)["message"]
76
+ rescue JSON::ParserError
77
+ message = res.body
78
+ end
79
+ raise ClioClient::Unauthorized.new(message)
78
80
  when Net::HTTPBadRequest
79
- raise ClioClient::BadRequest.new(body["message"])
81
+ raise ClioClient::BadRequest.new(parse_body(res.body)["message"])
80
82
  when Net::HTTPSeeOther
81
83
  res["Location"]
82
84
  else
83
- raise "Unknown #{res.class} response. #{body["message"]}"
85
+ raise UnknownResponse.new(res.body)
84
86
  end
85
87
  end
86
88
 
87
89
  private
90
+ def parse_body(body)
91
+ if body !~ /^\s*$/ && !body.nil?
92
+ JSON.parse(body)
93
+ end
94
+ end
88
95
  def api_prefix; "/api/v2"; end
89
96
 
90
97
  end
@@ -6,7 +6,9 @@ module ClioClient
6
6
  created_at: {type: :datetime, readonly: true},
7
7
  updated_at: {type: :datetime, readonly: true},
8
8
  maildrop_address: {type: :string},
9
- name: {type: :string, readonly: true}
9
+ name: {type: :string, readonly: true},
10
+ date_format: {type: :string, readonly: true},
11
+ time_format: {type: :string, readonly: true}
10
12
  )
11
13
 
12
14
  has_association :owner, ClioClient::User
@@ -17,6 +17,7 @@ module ClioClient
17
17
 
18
18
 
19
19
  has_association :user, ClioClient::User
20
+ has_association :bill, ClioClient::Bill
20
21
  has_association :matter, ClioClient::Matter
21
22
  has_association :activity_description, ClioClient::ActivityDescription
22
23
  has_association :communication, ClioClient::Communication
@@ -0,0 +1,25 @@
1
+ module ClioClient
2
+ class ClientConnectPermission < Resource
3
+
4
+ set_attributes(id: {type: :int, readonly: true},
5
+ created_at: {type: :datetime, readonly: true},
6
+ updated_at: {type: :datetime, readonly: true},
7
+ client_connect_user_id: {type: :int, readonly: true},
8
+ resource_type: {type: :string},
9
+ )
10
+
11
+ has_association :contact, ClioClient::Contact
12
+ has_association :user, ClioClient::User
13
+ has_association :matter, ClioClient::Matter
14
+ has_association(:resource, ClioClient::Resource,
15
+ :polymorphic => true,
16
+ :accepted_types => %w(Bill Document Task Matter CalendarEntry))
17
+
18
+ private
19
+
20
+ def api
21
+ session.client_connect_permissions
22
+ end
23
+
24
+ end
25
+ end
@@ -9,7 +9,9 @@ module ClioClient
9
9
  prefix: {type: :string },
10
10
  first_name: {type: :string },
11
11
  last_name: {type: :string },
12
- title: {type: :string }
12
+ title: {type: :string },
13
+ clio_connect_email: {type: :string, readonly: true},
14
+ email: {type: :string, readonly: true}
13
15
  )
14
16
 
15
17
  has_many_association :phone_numbers, ClioClient::PhoneNumber
@@ -8,12 +8,14 @@ module ClioClient
8
8
  category: {type: :string, readonly: true},
9
9
  content_type: {type: :string, readonly: true},
10
10
  filename: {type: :string, readonly: true},
11
+ number: {type: :int, readonly: true},
11
12
  size: {type: :int, readonly: true},
12
- last_modified: {type: :datetime},
13
+ last_modified_at: {type: :datetime},
13
14
  )
14
15
 
15
16
  has_association :matter, ClioClient::Matter
16
17
  has_association :user, ClioClient::User
18
+ has_association :document_category, ClioClient::DocumentCategory
17
19
  has_many_association :document_versions, ClioClient::DocumentVersion
18
20
 
19
21
  def document_versions=(arr)
@@ -0,0 +1,14 @@
1
+ module ClioClient
2
+
3
+ class DocumentCategory < Resource
4
+
5
+ set_attributes(id: {type: :int, readonly: true},
6
+ account_id: {type: :int, readonly: true},
7
+ created_at: {type: :datetime, readonly: true},
8
+ updated_at: {type: :datetime, readonly: true},
9
+ name: {type: :string, readonly: true}
10
+ )
11
+
12
+ end
13
+
14
+ end
@@ -8,7 +8,7 @@ module ClioClient
8
8
  updated_at: {type: :datetime, readonly: true},
9
9
  size: {type: :int, readonly: true},
10
10
  content_type: {type: :string, readonly: true},
11
- last_modified: {type: :datetime},
11
+ last_modified_at: {type: :datetime},
12
12
  filename: {type: :string}
13
13
  )
14
14
 
@@ -15,6 +15,7 @@ module ClioClient
15
15
  close_date: {type: :date},
16
16
  billable: {type: :boolean},
17
17
  maildrop_address: {type: :int, readonly: true},
18
+ group_id: {type: :int},
18
19
  )
19
20
 
20
21
  alias_method :name, :display_number
@@ -11,9 +11,15 @@ module ClioClient
11
11
  last_name: {type: :string, readonly: true},
12
12
  email: {type: :string, readonly: true},
13
13
  enabled: {type: :boolean, readonly: true},
14
- name: {type: :string, readonly: true}
14
+ name: {type: :string, readonly: true},
15
+ clio_connect: {type: :boolean, readonly: true},
16
+ has_avatar: {type: :boolean, readonly: true},
17
+ co_counsel: {type: :boolean, readonly: true}
15
18
  )
16
19
 
20
+ has_association(:contact, ClioClient::Contact,
21
+ :polymorphic => true, :accepted_types => %w(Person Company))
22
+
17
23
  def avatar
18
24
  api.avatar(id)
19
25
  end
@@ -71,6 +71,7 @@ module ClioClient
71
71
  write_attribute("#{name}_id", attributes["id"])
72
72
  if options[:polymorphic]
73
73
  obj = polymorphic_object(attributes, options[:accepted_types])
74
+ obj ||= klass.new(attributes, session)
74
75
  else
75
76
  obj = klass.new(attributes, session)
76
77
  end
@@ -84,7 +85,8 @@ module ClioClient
84
85
  define_method "#{name}=" do |arr|
85
86
  many = arr.collect do |attributes|
86
87
  if options[:polymorphic]
87
- polymorphic_object(attributes, options[:accepted_types])
88
+ obj = polymorphic_object(attributes, options[:accepted_types])
89
+ obj ||= klass.new(attributes, session)
88
90
  else
89
91
  klass.new(attributes, session)
90
92
  end
@@ -167,7 +169,7 @@ module ClioClient
167
169
  when :decimal
168
170
  val.to_f
169
171
  when :boolean
170
- val == "true"
172
+ val == true || val == "true"
171
173
  when :datetime
172
174
  val.kind_of?(DateTime) ? val : DateTime.parse(val)
173
175
  when :datetime
@@ -23,26 +23,28 @@ module ClioClient
23
23
  self.end_points = {}
24
24
  end
25
25
 
26
- { activities: ClioClient::Api::Activity,
27
- activity_descriptions: ClioClient::Api::ActivityDescription,
28
- bills: ClioClient::Api::Bill,
29
- calendar_entries: ClioClient::Api::CalendarEntry,
30
- calendars: ClioClient::Api::Calendar,
31
- communications: ClioClient::Api::Communication,
32
- contacts: ClioClient::Api::Contact,
33
- custom_field_sets: ClioClient::Api::CustomFieldSet,
34
- custom_fields: ClioClient::Api::CustomField,
35
- document_versions: ClioClient::Api::DocumentVersion,
36
- documents: ClioClient::Api::Document,
37
- groups: ClioClient::Api::Group,
38
- matters: ClioClient::Api::Matter,
39
- notes: ClioClient::Api::Note,
40
- practice_areas: ClioClient::Api::PracticeArea,
41
- relationships: ClioClient::Api::Relationship,
42
- tasks: ClioClient::Api::Task,
43
- timeline_events: ClioClient::Api::TimelineEvent,
44
- timer: ClioClient::Api::Timer,
45
- users: ClioClient::Api::User
26
+ { activities: ClioClient::Api::Activity,
27
+ activity_descriptions: ClioClient::Api::ActivityDescription,
28
+ bills: ClioClient::Api::Bill,
29
+ calendar_entries: ClioClient::Api::CalendarEntry,
30
+ calendars: ClioClient::Api::Calendar,
31
+ client_connect_permissions: ClioClient::Api::ClientConnectPermission,
32
+ communications: ClioClient::Api::Communication,
33
+ contacts: ClioClient::Api::Contact,
34
+ custom_field_sets: ClioClient::Api::CustomFieldSet,
35
+ custom_fields: ClioClient::Api::CustomField,
36
+ document_versions: ClioClient::Api::DocumentVersion,
37
+ documents: ClioClient::Api::Document,
38
+ document_categories: ClioClient::Api::DocumentCategory,
39
+ groups: ClioClient::Api::Group,
40
+ matters: ClioClient::Api::Matter,
41
+ notes: ClioClient::Api::Note,
42
+ practice_areas: ClioClient::Api::PracticeArea,
43
+ relationships: ClioClient::Api::Relationship,
44
+ tasks: ClioClient::Api::Task,
45
+ timeline_events: ClioClient::Api::TimelineEvent,
46
+ timer: ClioClient::Api::Timer,
47
+ users: ClioClient::Api::User
46
48
  }.each_pair do |method, klass|
47
49
  define_method method do
48
50
  end_points[method] ||= klass.new(self)
@@ -5,7 +5,8 @@ module ClioClient
5
5
  created_at: {type: :datetime, readonly: true},
6
6
  updated_at: {type: :datetime, readonly: true},
7
7
  name: {type: :string},
8
- address: {type: :string}
8
+ address: {type: :string},
9
+ default_email: {type: :boolean}
9
10
  )
10
11
 
11
12
  end
@@ -1,3 +1,3 @@
1
1
  module ClioClient
2
- VERSION = "0.0.5"
2
+ VERSION = "0.1.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: clio_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kyle d'Oliveira
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-15 00:00:00.000000000 Z
11
+ date: 2014-09-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -100,12 +100,14 @@ files:
100
100
  - lib/clio_client/api/bill.rb
101
101
  - lib/clio_client/api/calendar.rb
102
102
  - lib/clio_client/api/calendar_entry.rb
103
+ - lib/clio_client/api/client_connect_permission.rb
103
104
  - lib/clio_client/api/communication.rb
104
105
  - lib/clio_client/api/contact.rb
105
106
  - lib/clio_client/api/crudable.rb
106
107
  - lib/clio_client/api/custom_field.rb
107
108
  - lib/clio_client/api/custom_field_set.rb
108
109
  - lib/clio_client/api/document.rb
110
+ - lib/clio_client/api/document_category.rb
109
111
  - lib/clio_client/api/document_version.rb
110
112
  - lib/clio_client/api/findable.rb
111
113
  - lib/clio_client/api/group.rb
@@ -126,12 +128,14 @@ files:
126
128
  - lib/clio_client/models/bill.rb
127
129
  - lib/clio_client/models/calendar.rb
128
130
  - lib/clio_client/models/calendar_entry.rb
131
+ - lib/clio_client/models/client_connect_permission.rb
129
132
  - lib/clio_client/models/communication.rb
130
133
  - lib/clio_client/models/company.rb
131
134
  - lib/clio_client/models/contact.rb
132
135
  - lib/clio_client/models/custom_field.rb
133
136
  - lib/clio_client/models/custom_field_set.rb
134
137
  - lib/clio_client/models/document.rb
138
+ - lib/clio_client/models/document_category.rb
135
139
  - lib/clio_client/models/document_version.rb
136
140
  - lib/clio_client/models/email_communication.rb
137
141
  - lib/clio_client/models/expense_entry.rb