capsule_crm 1.4.0 → 1.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 +4 -4
- data/.rspec +1 -1
- data/CHANGELOG.md +5 -0
- data/Guardfile +2 -4
- data/capsule_crm.gemspec +1 -1
- data/lib/capsule_crm/address.rb +1 -1
- data/lib/capsule_crm/associations/belongs_to.rb +2 -1
- data/lib/capsule_crm/attachment.rb +1 -1
- data/lib/capsule_crm/case.rb +1 -1
- data/lib/capsule_crm/country.rb +1 -1
- data/lib/capsule_crm/currency.rb +1 -1
- data/lib/capsule_crm/custom_field.rb +1 -1
- data/lib/capsule_crm/custom_field_definition.rb +1 -1
- data/lib/capsule_crm/email.rb +1 -1
- data/lib/capsule_crm/history.rb +1 -1
- data/lib/capsule_crm/milestone.rb +1 -1
- data/lib/capsule_crm/opportunity.rb +1 -1
- data/lib/capsule_crm/participant.rb +1 -1
- data/lib/capsule_crm/party.rb +1 -1
- data/lib/capsule_crm/phone.rb +1 -1
- data/lib/capsule_crm/tag.rb +1 -1
- data/lib/capsule_crm/task.rb +3 -8
- data/lib/capsule_crm/task_category.rb +32 -0
- data/lib/capsule_crm/track.rb +1 -1
- data/lib/capsule_crm/user.rb +1 -1
- data/lib/capsule_crm/version.rb +1 -1
- data/lib/capsule_crm/website.rb +1 -1
- data/lib/capsule_crm.rb +1 -0
- data/spec/lib/capsule_crm/associations/belongs_to_association_spec.rb +1 -1
- data/spec/lib/capsule_crm/associations/belongs_to_spec.rb +1 -1
- data/spec/lib/capsule_crm/associations/has_many_association_spec.rb +1 -1
- data/spec/lib/capsule_crm/associations/has_many_proxy_spec.rb +2 -2
- data/spec/lib/capsule_crm/associations_spec.rb +1 -1
- data/spec/lib/capsule_crm/custom_field_spec.rb +0 -2
- data/spec/lib/capsule_crm/serializer_spec.rb +2 -2
- data/spec/lib/capsule_crm/taggable_spec.rb +2 -2
- data/spec/lib/capsule_crm/task_category_spec.rb +7 -0
- data/spec/lib/capsule_crm/task_spec.rb +0 -12
- data/spec/support/{task_categories.json → all_categories.json} +0 -0
- data/spec/support/no_categories.json +5 -0
- metadata +11 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0e6d24bb7037a3d119bccf9122b99dcc4c637a76
|
4
|
+
data.tar.gz: d3963ea029b318ad0e730ef6d7fd8d37fe42a758
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d7e0f36ec559f8d5473f50050c2751b5ec4e3c91cbd0cd210ba1e65ab2342dc15e961ff3a2792baa346b2e249931a2601bdd96588e234e355cf875614b10a324
|
7
|
+
data.tar.gz: 2afd21361071265d65f897c386dd83d845d835e45edb5be1e9e6ec283486ca1ec10e81764a3ff63a33ada828ec4ba86de2d0cb261a7a9d06861867337e45f731
|
data/.rspec
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
--color
|
2
|
-
--format
|
2
|
+
--format progress
|
data/CHANGELOG.md
CHANGED
data/Guardfile
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
|
4
4
|
notification :tmux
|
5
5
|
|
6
|
-
guard 'rspec', all_on_start: true, all_after_pass: true,
|
6
|
+
guard 'rspec', all_on_start: true, all_after_pass: true, failed_mode: :keep do
|
7
7
|
watch(%r{^spec/.+_spec\.rb$})
|
8
8
|
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
|
9
9
|
watch('spec/spec_helper.rb') { "spec" }
|
@@ -17,7 +17,5 @@ end
|
|
17
17
|
|
18
18
|
|
19
19
|
guard 'bundler' do
|
20
|
-
watch(
|
21
|
-
# Uncomment next line if Gemfile contain `gemspec' command
|
22
|
-
# watch(/^.+\.gemspec/)
|
20
|
+
watch(/^.+\.gemspec/)
|
23
21
|
end
|
data/capsule_crm.gemspec
CHANGED
@@ -23,7 +23,7 @@ Gem::Specification.new do |gem|
|
|
23
23
|
gem.add_runtime_dependency('activesupport')
|
24
24
|
gem.add_runtime_dependency('faraday')
|
25
25
|
gem.add_runtime_dependency('faraday_middleware')
|
26
|
-
gem.add_runtime_dependency('virtus', '~> 0.
|
26
|
+
gem.add_runtime_dependency('virtus', '~> 1.0.0')
|
27
27
|
|
28
28
|
gem.add_development_dependency('coveralls')
|
29
29
|
gem.add_development_dependency('cucumber')
|
data/lib/capsule_crm/address.rb
CHANGED
@@ -42,7 +42,8 @@ module CapsuleCRM
|
|
42
42
|
|
43
43
|
(class << self; self; end).instance_eval do
|
44
44
|
define_method "_for_#{association_name}" do |id|
|
45
|
-
CapsuleCRM::Associations::BelongsToFinder.new(association).
|
45
|
+
CapsuleCRM::Associations::BelongsToFinder.new(association).
|
46
|
+
call(id)
|
46
47
|
end
|
47
48
|
end
|
48
49
|
|
data/lib/capsule_crm/case.rb
CHANGED
data/lib/capsule_crm/country.rb
CHANGED
data/lib/capsule_crm/currency.rb
CHANGED
data/lib/capsule_crm/email.rb
CHANGED
data/lib/capsule_crm/history.rb
CHANGED
data/lib/capsule_crm/party.rb
CHANGED
data/lib/capsule_crm/phone.rb
CHANGED
data/lib/capsule_crm/tag.rb
CHANGED
data/lib/capsule_crm/task.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
module CapsuleCRM
|
2
2
|
class Task
|
3
|
-
include Virtus
|
3
|
+
include Virtus.model
|
4
4
|
|
5
5
|
extend ActiveModel::Naming
|
6
6
|
include ActiveModel::Conversion
|
@@ -19,7 +19,6 @@ module CapsuleCRM
|
|
19
19
|
attribute :id, Integer
|
20
20
|
attribute :due_date, Date
|
21
21
|
attribute :due_date_time, DateTime
|
22
|
-
attribute :category, String
|
23
22
|
attribute :description, String
|
24
23
|
attribute :detail, String
|
25
24
|
|
@@ -27,6 +26,8 @@ module CapsuleCRM
|
|
27
26
|
belongs_to :opportunity
|
28
27
|
belongs_to :case
|
29
28
|
belongs_to :owner, class_name: 'CapsuleCRM::User', serializable_key: :owner
|
29
|
+
belongs_to :category, class_name: 'CapsuleCRM::TaskCategory',
|
30
|
+
serializable_key: :category
|
30
31
|
|
31
32
|
validates :id, numericality: { allow_blank: true }
|
32
33
|
validates :description, presence: true
|
@@ -73,12 +74,6 @@ module CapsuleCRM
|
|
73
74
|
self
|
74
75
|
end
|
75
76
|
|
76
|
-
# TODO Change this to an embedded association, like custom fields
|
77
|
-
def self.categories
|
78
|
-
CapsuleCRM::Connection.
|
79
|
-
get('/api/task/categories')['taskCategories']['taskCategory']
|
80
|
-
end
|
81
|
-
|
82
77
|
def create_url
|
83
78
|
if party_id
|
84
79
|
"party/#{party_id}/task"
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module CapsuleCRM
|
2
|
+
class TaskCategory
|
3
|
+
include Virtus.model
|
4
|
+
|
5
|
+
include ActiveModel::Naming
|
6
|
+
include ActiveModel::Conversion
|
7
|
+
include ActiveModel::Validations
|
8
|
+
|
9
|
+
include CapsuleCRM::Associations
|
10
|
+
include CapsuleCRM::Querying::Configuration
|
11
|
+
include CapsuleCRM::Querying::FindAll
|
12
|
+
include CapsuleCRM::Serializable
|
13
|
+
|
14
|
+
queryable_config do |config|
|
15
|
+
config.plural = 'task/categories'
|
16
|
+
end
|
17
|
+
|
18
|
+
serializable_config do |config|
|
19
|
+
config.collection_root = 'taskCategories'
|
20
|
+
config.root = 'taskCategory'
|
21
|
+
config.attribute_to_assign = :name
|
22
|
+
end
|
23
|
+
|
24
|
+
attribute :name
|
25
|
+
|
26
|
+
validates :name, presence: true
|
27
|
+
|
28
|
+
has_many :tasks
|
29
|
+
|
30
|
+
def id; name; end
|
31
|
+
end
|
32
|
+
end
|
data/lib/capsule_crm/track.rb
CHANGED
data/lib/capsule_crm/user.rb
CHANGED
data/lib/capsule_crm/version.rb
CHANGED
data/lib/capsule_crm/website.rb
CHANGED
data/lib/capsule_crm.rb
CHANGED
@@ -42,6 +42,7 @@ require 'capsule_crm/organization'
|
|
42
42
|
require 'capsule_crm/participant'
|
43
43
|
require 'capsule_crm/person'
|
44
44
|
require 'capsule_crm/milestone'
|
45
|
+
require 'capsule_crm/task_category'
|
45
46
|
require 'capsule_crm/track'
|
46
47
|
require 'capsule_crm/version'
|
47
48
|
require 'capsule_crm/faraday/middleware/raise_error'
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
class Parent
|
4
|
-
include Virtus
|
4
|
+
include Virtus.model
|
5
5
|
include CapsuleCRM::Associations
|
6
6
|
include CapsuleCRM::Querying::Configuration
|
7
7
|
|
@@ -22,7 +22,7 @@ class Parent
|
|
22
22
|
end
|
23
23
|
|
24
24
|
class Child
|
25
|
-
include Virtus
|
25
|
+
include Virtus.model
|
26
26
|
include CapsuleCRM::Associations
|
27
27
|
include CapsuleCRM::Querying::Configuration
|
28
28
|
include CapsuleCRM::Serializable
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
class SerializableTest
|
4
|
-
include Virtus
|
4
|
+
include Virtus.model
|
5
5
|
include CapsuleCRM::Associations
|
6
6
|
|
7
7
|
attribute :id, Integer
|
@@ -11,7 +11,7 @@ class SerializableTest
|
|
11
11
|
end
|
12
12
|
|
13
13
|
class SerializableInverse
|
14
|
-
include Virtus
|
14
|
+
include Virtus.model
|
15
15
|
include CapsuleCRM::Associations
|
16
16
|
end
|
17
17
|
|
@@ -2,7 +2,7 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
class TaggableItem
|
4
4
|
include CapsuleCRM::Taggable
|
5
|
-
include Virtus
|
5
|
+
include Virtus.model
|
6
6
|
|
7
7
|
attribute :id
|
8
8
|
end
|
@@ -87,7 +87,7 @@ describe CapsuleCRM::Taggable do
|
|
87
87
|
|
88
88
|
describe '#api_singular_name' do
|
89
89
|
it 'turns the class name into appropriate api name' do
|
90
|
-
TaggableItem.new.api_singular_name.should == 'taggableitem'
|
90
|
+
TaggableItem.new.api_singular_name.should == 'taggableitem'
|
91
91
|
end
|
92
92
|
|
93
93
|
it 'gives the superclass unless Object to work with Organization/Person subclassing of Party' do
|
@@ -74,18 +74,6 @@ describe CapsuleCRM::Task do
|
|
74
74
|
it { should be_persisted }
|
75
75
|
end
|
76
76
|
|
77
|
-
describe '.categories' do
|
78
|
-
subject { CapsuleCRM::Task.categories }
|
79
|
-
before do
|
80
|
-
stub_request(:get, /\/api\/task\/categories$/).
|
81
|
-
to_return(body: File.read('spec/support/task_categories.json'))
|
82
|
-
end
|
83
|
-
|
84
|
-
it do
|
85
|
-
expect(subject).to eql(%w(Call Email Follow-up Meeting Milestone Send))
|
86
|
-
end
|
87
|
-
end
|
88
|
-
|
89
77
|
describe '#to_capsule_json' do
|
90
78
|
let(:task) { Fabricate.build(:task) }
|
91
79
|
|
File without changes
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capsule_crm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Beedle
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-01-
|
11
|
+
date: 2014-01-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemodel
|
@@ -72,14 +72,14 @@ dependencies:
|
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0.
|
75
|
+
version: 1.0.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: 0.
|
82
|
+
version: 1.0.0
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: coveralls
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -303,6 +303,7 @@ files:
|
|
303
303
|
- lib/capsule_crm/tag.rb
|
304
304
|
- lib/capsule_crm/taggable.rb
|
305
305
|
- lib/capsule_crm/task.rb
|
306
|
+
- lib/capsule_crm/task_category.rb
|
306
307
|
- lib/capsule_crm/track.rb
|
307
308
|
- lib/capsule_crm/user.rb
|
308
309
|
- lib/capsule_crm/version.rb
|
@@ -341,11 +342,13 @@ files:
|
|
341
342
|
- spec/lib/capsule_crm/serializer_spec.rb
|
342
343
|
- spec/lib/capsule_crm/tag_spec.rb
|
343
344
|
- spec/lib/capsule_crm/taggable_spec.rb
|
345
|
+
- spec/lib/capsule_crm/task_category_spec.rb
|
344
346
|
- spec/lib/capsule_crm/task_spec.rb
|
345
347
|
- spec/lib/capsule_crm/track_spec.rb
|
346
348
|
- spec/lib/capsule_crm/user_spec.rb
|
347
349
|
- spec/spec_helper.rb
|
348
350
|
- spec/support/all_cases.json
|
351
|
+
- spec/support/all_categories.json
|
349
352
|
- spec/support/all_countries.json
|
350
353
|
- spec/support/all_currencies.json
|
351
354
|
- spec/support/all_customfields.json
|
@@ -364,6 +367,7 @@ files:
|
|
364
367
|
- spec/support/helpers.rb
|
365
368
|
- spec/support/history.json
|
366
369
|
- spec/support/no_cases.json
|
370
|
+
- spec/support/no_categories.json
|
367
371
|
- spec/support/no_countries.json
|
368
372
|
- spec/support/no_currencies.json
|
369
373
|
- spec/support/no_customfields.json
|
@@ -384,7 +388,6 @@ files:
|
|
384
388
|
- spec/support/shared_examples/persistable.rb
|
385
389
|
- spec/support/single_person.json
|
386
390
|
- spec/support/task.json
|
387
|
-
- spec/support/task_categories.json
|
388
391
|
homepage: ''
|
389
392
|
licenses: []
|
390
393
|
metadata: {}
|
@@ -444,11 +447,13 @@ test_files:
|
|
444
447
|
- spec/lib/capsule_crm/serializer_spec.rb
|
445
448
|
- spec/lib/capsule_crm/tag_spec.rb
|
446
449
|
- spec/lib/capsule_crm/taggable_spec.rb
|
450
|
+
- spec/lib/capsule_crm/task_category_spec.rb
|
447
451
|
- spec/lib/capsule_crm/task_spec.rb
|
448
452
|
- spec/lib/capsule_crm/track_spec.rb
|
449
453
|
- spec/lib/capsule_crm/user_spec.rb
|
450
454
|
- spec/spec_helper.rb
|
451
455
|
- spec/support/all_cases.json
|
456
|
+
- spec/support/all_categories.json
|
452
457
|
- spec/support/all_countries.json
|
453
458
|
- spec/support/all_currencies.json
|
454
459
|
- spec/support/all_customfields.json
|
@@ -467,6 +472,7 @@ test_files:
|
|
467
472
|
- spec/support/helpers.rb
|
468
473
|
- spec/support/history.json
|
469
474
|
- spec/support/no_cases.json
|
475
|
+
- spec/support/no_categories.json
|
470
476
|
- spec/support/no_countries.json
|
471
477
|
- spec/support/no_currencies.json
|
472
478
|
- spec/support/no_customfields.json
|
@@ -487,4 +493,3 @@ test_files:
|
|
487
493
|
- spec/support/shared_examples/persistable.rb
|
488
494
|
- spec/support/single_person.json
|
489
495
|
- spec/support/task.json
|
490
|
-
- spec/support/task_categories.json
|