clio_client 0.0.5 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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