contactually-ruby 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE.txt +22 -0
- data/README.md +80 -0
- data/Rakefile +7 -0
- data/lib/contactually-ruby.rb +38 -0
- data/lib/contactually/accounts.rb +22 -0
- data/lib/contactually/api.rb +87 -0
- data/lib/contactually/buckets.rb +49 -0
- data/lib/contactually/contact_groupings.rb +16 -0
- data/lib/contactually/contacts.rb +54 -0
- data/lib/contactually/contents.rb +30 -0
- data/lib/contactually/errors.rb +21 -0
- data/lib/contactually/groupings.rb +36 -0
- data/lib/contactually/middleware/error_detector.rb +31 -0
- data/lib/contactually/notes.rb +31 -0
- data/lib/contactually/representer/account_representer.rb +15 -0
- data/lib/contactually/representer/bucket_representer.rb +16 -0
- data/lib/contactually/representer/contact_representer.rb +48 -0
- data/lib/contactually/representer/content_representer.rb +18 -0
- data/lib/contactually/representer/grouping_representer.rb +30 -0
- data/lib/contactually/representer/grouping_statistic_representer.rb +14 -0
- data/lib/contactually/representer/note_representer.rb +15 -0
- data/lib/contactually/representer/task_representer.rb +21 -0
- data/lib/contactually/tasks.rb +49 -0
- data/lib/contactually/utils.rb +44 -0
- data/lib/contactually/version.rb +3 -0
- data/spec/accounts_spec.rb +58 -0
- data/spec/api_spec.rb +125 -0
- data/spec/buckets_spec.rb +97 -0
- data/spec/contact_groupings_spec.rb +44 -0
- data/spec/contacts_spec.rb +133 -0
- data/spec/contents_spec.rb +80 -0
- data/spec/error_detector_spec.rb +24 -0
- data/spec/fixtures/account.json +10 -0
- data/spec/fixtures/accounts_index.json +19 -0
- data/spec/fixtures/bucket.json +8 -0
- data/spec/fixtures/buckets_index.json +41 -0
- data/spec/fixtures/contact.json +38 -0
- data/spec/fixtures/contacts_index.json +172 -0
- data/spec/fixtures/content.json +10 -0
- data/spec/fixtures/contents_index.json +29 -0
- data/spec/fixtures/grouping.json +19 -0
- data/spec/fixtures/groupings_index.json +28 -0
- data/spec/fixtures/note.json +7 -0
- data/spec/fixtures/note_destroy.json +4 -0
- data/spec/fixtures/notes_index.json +30 -0
- data/spec/fixtures/task.json +27 -0
- data/spec/fixtures/tasks_index.json +41 -0
- data/spec/groupings_spec.rb +85 -0
- data/spec/notes_spec.rb +85 -0
- data/spec/spec_helper.rb +14 -0
- data/spec/tasks_spec.rb +127 -0
- metadata +205 -0
@@ -0,0 +1,27 @@
|
|
1
|
+
{
|
2
|
+
"id": 123123,
|
3
|
+
"title": "Lolokopter",
|
4
|
+
"due_date": "2015-10-01T00:00:00Z",
|
5
|
+
"interaction_type": null,
|
6
|
+
"completed_at": null,
|
7
|
+
"deleted_at": null,
|
8
|
+
"is_follow_up": false,
|
9
|
+
"last_contacted": null,
|
10
|
+
"contact_id": 1234,
|
11
|
+
"ignored": null,
|
12
|
+
"completed_via": null,
|
13
|
+
"user_id": 12345,
|
14
|
+
"approval_data": {
|
15
|
+
"approval_type": false,
|
16
|
+
"approval_text": false,
|
17
|
+
"approval_url": false,
|
18
|
+
"approval_template": false,
|
19
|
+
"approval_account_id": false
|
20
|
+
},
|
21
|
+
"contact_program_step_id": null,
|
22
|
+
"unresponded_followup_id": null,
|
23
|
+
"user_bucket": {
|
24
|
+
"id": 12312,
|
25
|
+
"name": "Colleague"
|
26
|
+
}
|
27
|
+
}
|
@@ -0,0 +1,41 @@
|
|
1
|
+
{
|
2
|
+
"meta": {
|
3
|
+
"total": 1,
|
4
|
+
"next_page": null,
|
5
|
+
"previous_page": null
|
6
|
+
},
|
7
|
+
"data": [
|
8
|
+
{
|
9
|
+
"id": 123123,
|
10
|
+
"title": "Lolokopter",
|
11
|
+
"due_date": "2015-10-01T00:00:00Z",
|
12
|
+
"interaction_type": null,
|
13
|
+
"completed_at": null,
|
14
|
+
"deleted_at": null,
|
15
|
+
"is_follow_up": false,
|
16
|
+
"last_contacted": null,
|
17
|
+
"contact_id": 1234,
|
18
|
+
"ignored": null,
|
19
|
+
"completed_via": null,
|
20
|
+
"user_id": 12345,
|
21
|
+
"approval_data": {
|
22
|
+
"approval_type": false,
|
23
|
+
"approval_text": false,
|
24
|
+
"approval_url": false,
|
25
|
+
"approval_template": false,
|
26
|
+
"approval_account_id": false
|
27
|
+
},
|
28
|
+
"contact_program_step_id": null,
|
29
|
+
"unresponded_followup_id": null,
|
30
|
+
"user_bucket": {
|
31
|
+
"id": 12312,
|
32
|
+
"name": "Colleague"
|
33
|
+
}
|
34
|
+
}
|
35
|
+
],
|
36
|
+
"weekly_progress": [
|
37
|
+
0,
|
38
|
+
7
|
39
|
+
],
|
40
|
+
"on_due_date": true
|
41
|
+
}
|
@@ -0,0 +1,85 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Contactually::Groupings do
|
4
|
+
|
5
|
+
let(:groupings_index_json) { File.read(File.join(File.dirname(__FILE__),"fixtures/groupings_index.json")) }
|
6
|
+
let(:grouping_json) { File.read(File.join(File.dirname(__FILE__),"fixtures/grouping.json")) }
|
7
|
+
|
8
|
+
before(:all) do
|
9
|
+
Contactually.configure { |c| c.access_token = 'VALID_ACCESS_TOKEN' }
|
10
|
+
@master = Contactually::API.new
|
11
|
+
end
|
12
|
+
|
13
|
+
subject { described_class.new @master }
|
14
|
+
|
15
|
+
describe '#initialize' do
|
16
|
+
specify do
|
17
|
+
expect(subject).to be_kind_of Contactually::Groupings
|
18
|
+
end
|
19
|
+
|
20
|
+
specify do
|
21
|
+
expect(subject.instance_variable_get(:@master)).to be_kind_of Contactually::API
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
describe '#index' do
|
26
|
+
it 'calls the api with correct params' do
|
27
|
+
allow(@master).to receive(:call).with('groupings.json', :get, { foo: :bar }).and_return({ 'data' => [] })
|
28
|
+
subject.index({ foo: :bar })
|
29
|
+
expect(@master).to have_received(:call)
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'returns groupings from json response' do
|
33
|
+
allow(@master).to receive(:call).with('groupings.json', :get, {}).and_return(JSON.load(groupings_index_json))
|
34
|
+
expect(subject.index({})).to be_kind_of Array
|
35
|
+
expect(subject.index({})[0]).to be_kind_of Contactually::Grouping
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
describe '#create' do
|
40
|
+
it 'calls the api with correct params' do
|
41
|
+
allow(@master).to receive(:call).with('groupings.json', :post, { grouping: { foo: :bar }}).and_return({ 'id' => 1234 })
|
42
|
+
subject.create({ grouping: { foo: :bar }})
|
43
|
+
expect(@master).to have_received(:call)
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'returns groupings from json response' do
|
47
|
+
allow(@master).to receive(:call).with('groupings.json', :post, { grouping: { foo: :bar }}).and_return(JSON.load(grouping_json))
|
48
|
+
expect(subject.create({ grouping: { foo: :bar }})).to be_kind_of Contactually::Grouping
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
describe '#destroy' do
|
53
|
+
it 'calls the api with correct params' do
|
54
|
+
allow(@master).to receive(:call).with('groupings/1.json', :delete, {})
|
55
|
+
subject.destroy(1)
|
56
|
+
expect(@master).to have_received(:call)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
describe '#show' do
|
61
|
+
it 'calls the api with correct params' do
|
62
|
+
allow(@master).to receive(:call).with('groupings/1.json', :get, { foo: :bar }).and_return({ id: 1234 })
|
63
|
+
subject.show(1, { foo: :bar })
|
64
|
+
expect(@master).to have_received(:call)
|
65
|
+
end
|
66
|
+
|
67
|
+
it 'returns a grouping from json response' do
|
68
|
+
allow(@master).to receive(:call).with('groupings/1.json', :get, { foo: :bar }).and_return(JSON.load(grouping_json))
|
69
|
+
expect(subject.show(1, { foo: :bar })).to be_kind_of Contactually::Grouping
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
describe '#update' do
|
74
|
+
it 'calls the api with correct params' do
|
75
|
+
allow(@master).to receive(:call).with('groupings/1.json', :put, { grouping: { foo: :bar }}).and_return({ id: 1234 })
|
76
|
+
subject.update(1, { grouping: { foo: :bar }})
|
77
|
+
expect(@master).to have_received(:call)
|
78
|
+
end
|
79
|
+
|
80
|
+
it 'returns a grouping from json response' do
|
81
|
+
allow(@master).to receive(:call).with('groupings/1.json', :put, { grouping: { foo: :bar }}).and_return(JSON.load(grouping_json))
|
82
|
+
expect(subject.update(1, { grouping: { foo: :bar }})).to be_kind_of Contactually::Grouping
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
data/spec/notes_spec.rb
ADDED
@@ -0,0 +1,85 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Contactually::Notes do
|
4
|
+
|
5
|
+
let(:notes_index_json) { File.read(File.join(File.dirname(__FILE__),"fixtures/notes_index.json")) }
|
6
|
+
let(:note_json) { File.read(File.join(File.dirname(__FILE__),"fixtures/note.json")) }
|
7
|
+
|
8
|
+
before(:all) do
|
9
|
+
Contactually.configure { |c| c.access_token = 'VALID_ACCESS_TOKEN' }
|
10
|
+
@master = Contactually::API.new
|
11
|
+
end
|
12
|
+
|
13
|
+
subject { described_class.new @master }
|
14
|
+
|
15
|
+
describe '#initialize' do
|
16
|
+
specify do
|
17
|
+
expect(subject).to be_kind_of Contactually::Notes
|
18
|
+
end
|
19
|
+
|
20
|
+
specify do
|
21
|
+
expect(subject.instance_variable_get(:@master)).to be_kind_of Contactually::API
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
describe '#index' do
|
26
|
+
it 'calls the api with correct params' do
|
27
|
+
allow(@master).to receive(:call).with('notes.json', :get, { foo: :bar }).and_return({ 'data' => [] })
|
28
|
+
subject.index({ foo: :bar })
|
29
|
+
expect(@master).to have_received(:call)
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'returns notes from json response' do
|
33
|
+
allow(@master).to receive(:call).with('notes.json', :get, {}).and_return(JSON.load(notes_index_json))
|
34
|
+
expect(subject.index({})).to be_kind_of Array
|
35
|
+
expect(subject.index({})[0]).to be_kind_of Contactually::Note
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
describe '#show' do
|
40
|
+
it 'calls the api with correct params' do
|
41
|
+
allow(@master).to receive(:call).with('notes/1.json', :get, { foo: :bar }).and_return(JSON.load(note_json))
|
42
|
+
subject.show(1, { foo: :bar })
|
43
|
+
expect(@master).to have_received(:call)
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'returns a note' do
|
47
|
+
allow(@master).to receive(:call).with('notes/1.json', :get, { foo: :bar }).and_return(JSON.load(note_json))
|
48
|
+
expect(subject.show(1, { foo: :bar })).to be_kind_of Contactually::Note
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
describe '#create' do
|
53
|
+
it 'calls the api with correct params' do
|
54
|
+
allow(@master).to receive(:call).with('notes.json', :post, { note: { foo: :bar }}).and_return(JSON.load(note_json))
|
55
|
+
subject.create({ note: { foo: :bar }})
|
56
|
+
expect(@master).to have_received(:call)
|
57
|
+
end
|
58
|
+
|
59
|
+
it 'returns a note' do
|
60
|
+
allow(@master).to receive(:call).with('notes.json', :post, { note: { foo: :bar }}).and_return(JSON.load(note_json))
|
61
|
+
expect(subject.create({ note: { foo: :bar }})).to be_kind_of Contactually::Note
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
describe '#update' do
|
66
|
+
it 'calls the api with correct params' do
|
67
|
+
allow(@master).to receive(:call).with('notes/1.json', :put, { note: { foo: :bar }}).and_return(JSON.load(note_json))
|
68
|
+
subject.update(1, { note: { foo: :bar }})
|
69
|
+
expect(@master).to have_received(:call)
|
70
|
+
end
|
71
|
+
|
72
|
+
it 'returns a note' do
|
73
|
+
allow(@master).to receive(:call).with('notes/1.json', :put, { note: { foo: :bar }}).and_return(JSON.load(note_json))
|
74
|
+
expect(subject.update(1, { note: { foo: :bar }})).to be_kind_of Contactually::Note
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
describe '#destroy' do
|
79
|
+
it 'calls the api with correct params' do
|
80
|
+
allow(@master).to receive(:call).with('notes/1.json', :delete, { foo: :bar })
|
81
|
+
subject.destroy(1, { foo: :bar })
|
82
|
+
expect(@master).to have_received(:call)
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
2
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
3
|
+
|
4
|
+
require 'rspec'
|
5
|
+
require 'pry-byebug'
|
6
|
+
require 'contactually-ruby'
|
7
|
+
|
8
|
+
# Requires supporting files with custom matchers and macros, etc,
|
9
|
+
# in ./support/ and its subdirectories.
|
10
|
+
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
|
11
|
+
|
12
|
+
RSpec.configure do |config|
|
13
|
+
config.color = true
|
14
|
+
end
|
data/spec/tasks_spec.rb
ADDED
@@ -0,0 +1,127 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Contactually::Tasks do
|
4
|
+
|
5
|
+
let(:task_json) { File.read(File.join(File.dirname(__FILE__),"fixtures/task.json")) }
|
6
|
+
let(:tasks_index_json) { File.read(File.join(File.dirname(__FILE__),"fixtures/tasks_index.json")) }
|
7
|
+
|
8
|
+
before(:all) do
|
9
|
+
Contactually.configure { |c| c.access_token = 'VALID_ACCESS_TOKEN' }
|
10
|
+
@master = Contactually::API.new
|
11
|
+
end
|
12
|
+
|
13
|
+
subject { described_class.new @master }
|
14
|
+
describe '#initialize' do
|
15
|
+
specify do
|
16
|
+
expect(subject).to be_kind_of Contactually::Tasks
|
17
|
+
end
|
18
|
+
|
19
|
+
specify do
|
20
|
+
expect(subject.instance_variable_get(:@master)).to be_kind_of Contactually::API
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
describe '#show' do
|
25
|
+
it 'calls the api with correct params' do
|
26
|
+
allow(@master).to receive(:call).with('tasks/1.json', :get, { foo: :bar }).and_return(JSON.load(task_json))
|
27
|
+
subject.show(1, { foo: :bar })
|
28
|
+
expect(@master).to have_received(:call)
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'returns a task' do
|
32
|
+
allow(@master).to receive(:call).with('tasks/1.json', :get, { foo: :bar }).and_return(JSON.load(task_json))
|
33
|
+
expect(subject.show(1, { foo: :bar })).to be_kind_of Contactually::Task
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
describe '#complete' do
|
38
|
+
it 'calls the api with correct params' do
|
39
|
+
allow(@master).to receive(:call).with('tasks/1/complete.json', :post, { foo: :bar }).and_return(JSON.load(task_json))
|
40
|
+
subject.complete(1, { foo: :bar })
|
41
|
+
expect(@master).to have_received(:call)
|
42
|
+
end
|
43
|
+
|
44
|
+
it 'returns a task' do
|
45
|
+
allow(@master).to receive(:call).with('tasks/1/complete.json', :post, { foo: :bar }).and_return(JSON.load(task_json))
|
46
|
+
expect(subject.complete(1, { foo: :bar })).to be_kind_of Contactually::Task
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
describe '#create' do
|
51
|
+
it 'calls the api with correct params' do
|
52
|
+
allow(@master).to receive(:call).with('tasks.json', :post, { foo: :bar }).and_return(JSON.load(task_json))
|
53
|
+
subject.create({ foo: :bar })
|
54
|
+
expect(@master).to have_received(:call)
|
55
|
+
end
|
56
|
+
|
57
|
+
it 'returns a new task' do
|
58
|
+
allow(@master).to receive(:call).with('tasks.json', :post, { foo: :bar }).and_return(JSON.load(task_json))
|
59
|
+
expect(subject.create({ foo: :bar })).to be_kind_of Contactually::Task
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
describe '#update' do
|
64
|
+
it 'calls the api with correct params' do
|
65
|
+
allow(@master).to receive(:call).with('tasks/1.json', :put, { foo: :bar }).and_return(JSON.load(task_json))
|
66
|
+
subject.update(1, { foo: :bar })
|
67
|
+
expect(@master).to have_received(:call)
|
68
|
+
end
|
69
|
+
|
70
|
+
it 'returns a new task' do
|
71
|
+
allow(@master).to receive(:call).with('tasks/1.json', :put, { foo: :bar }).and_return(JSON.load(task_json))
|
72
|
+
expect(subject.update(1, { foo: :bar })).to be_kind_of Contactually::Task
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
describe '#destroy' do
|
77
|
+
it 'calls the api with correct params' do
|
78
|
+
allow(@master).to receive(:call).with('tasks/1.json', :delete, { foo: :bar }).and_return(JSON.load('{ "deleted": true }'))
|
79
|
+
subject.destroy(1, { foo: :bar })
|
80
|
+
expect(@master).to have_received(:call)
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
describe '#generate_followups' do
|
85
|
+
it 'calls the api with correct params' do
|
86
|
+
allow(@master).to receive(:call).with('tasks/generate_followups.json', :post, { foo: :bar }).and_return(JSON.load('{ "deleted": true }'))
|
87
|
+
subject.generate_followups({ foo: :bar })
|
88
|
+
expect(@master).to have_received(:call)
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
describe '#generate_followups' do
|
93
|
+
it 'calls the api with correct params' do
|
94
|
+
allow(@master).to receive(:call).with('tasks/1/snooze.json', :post, { foo: :bar }).and_return(JSON.load('{ "snooze": true }'))
|
95
|
+
subject.snooze(1, { foo: :bar })
|
96
|
+
expect(@master).to have_received(:call)
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
100
|
+
describe '#ignore' do
|
101
|
+
it 'calls the api with correct params' do
|
102
|
+
allow(@master).to receive(:call).with('tasks/1/ignore.json', :post, { foo: :bar }).and_return(JSON.load(task_json))
|
103
|
+
subject.ignore(1, { foo: :bar })
|
104
|
+
expect(@master).to have_received(:call)
|
105
|
+
end
|
106
|
+
|
107
|
+
it 'returns a new task' do
|
108
|
+
allow(@master).to receive(:call).with('tasks/1/ignore.json', :post, { foo: :bar }).and_return(JSON.load(task_json))
|
109
|
+
expect(subject.ignore(1, { foo: :bar })).to be_kind_of Contactually::Task
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
113
|
+
describe '#index' do
|
114
|
+
it 'calls the api with correct params' do
|
115
|
+
allow(@master).to receive(:call).with('tasks.json', :get, { foo: :bar }).and_return({ 'data' => [] })
|
116
|
+
subject.index({ foo: :bar })
|
117
|
+
expect(@master).to have_received(:call)
|
118
|
+
end
|
119
|
+
|
120
|
+
it 'returns tasks from json response' do
|
121
|
+
allow(@master).to receive(:call).with('tasks.json', :get, {}).and_return(JSON.load(tasks_index_json))
|
122
|
+
expect(subject.index({})).to be_kind_of Array
|
123
|
+
expect(subject.index({})[0]).to be_kind_of Contactually::Task
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
127
|
+
end
|
metadata
ADDED
@@ -0,0 +1,205 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: contactually-ruby
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.2
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Tim Segraves
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-07-13 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: activesupport
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ~>
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '4.1'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '4.1'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: faraday
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ~>
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0.9'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ~>
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0.9'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: roar
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ~>
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0.12'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0.12'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: pry-byebug
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '2.0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ~>
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '2.0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rake
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ~>
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '10'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ~>
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '10'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rspec
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ~>
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '3'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ~>
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '3'
|
97
|
+
description: This is a simple wrapper for the contactually api.
|
98
|
+
email:
|
99
|
+
- tim@revaluate.com
|
100
|
+
executables: []
|
101
|
+
extensions: []
|
102
|
+
extra_rdoc_files: []
|
103
|
+
files:
|
104
|
+
- LICENSE.txt
|
105
|
+
- README.md
|
106
|
+
- Rakefile
|
107
|
+
- lib/contactually-ruby.rb
|
108
|
+
- lib/contactually/accounts.rb
|
109
|
+
- lib/contactually/api.rb
|
110
|
+
- lib/contactually/buckets.rb
|
111
|
+
- lib/contactually/contact_groupings.rb
|
112
|
+
- lib/contactually/contacts.rb
|
113
|
+
- lib/contactually/contents.rb
|
114
|
+
- lib/contactually/errors.rb
|
115
|
+
- lib/contactually/groupings.rb
|
116
|
+
- lib/contactually/middleware/error_detector.rb
|
117
|
+
- lib/contactually/notes.rb
|
118
|
+
- lib/contactually/representer/account_representer.rb
|
119
|
+
- lib/contactually/representer/bucket_representer.rb
|
120
|
+
- lib/contactually/representer/contact_representer.rb
|
121
|
+
- lib/contactually/representer/content_representer.rb
|
122
|
+
- lib/contactually/representer/grouping_representer.rb
|
123
|
+
- lib/contactually/representer/grouping_statistic_representer.rb
|
124
|
+
- lib/contactually/representer/note_representer.rb
|
125
|
+
- lib/contactually/representer/task_representer.rb
|
126
|
+
- lib/contactually/tasks.rb
|
127
|
+
- lib/contactually/utils.rb
|
128
|
+
- lib/contactually/version.rb
|
129
|
+
- spec/accounts_spec.rb
|
130
|
+
- spec/api_spec.rb
|
131
|
+
- spec/buckets_spec.rb
|
132
|
+
- spec/contact_groupings_spec.rb
|
133
|
+
- spec/contacts_spec.rb
|
134
|
+
- spec/contents_spec.rb
|
135
|
+
- spec/error_detector_spec.rb
|
136
|
+
- spec/fixtures/account.json
|
137
|
+
- spec/fixtures/accounts_index.json
|
138
|
+
- spec/fixtures/bucket.json
|
139
|
+
- spec/fixtures/buckets_index.json
|
140
|
+
- spec/fixtures/contact.json
|
141
|
+
- spec/fixtures/contacts_index.json
|
142
|
+
- spec/fixtures/content.json
|
143
|
+
- spec/fixtures/contents_index.json
|
144
|
+
- spec/fixtures/grouping.json
|
145
|
+
- spec/fixtures/groupings_index.json
|
146
|
+
- spec/fixtures/note.json
|
147
|
+
- spec/fixtures/note_destroy.json
|
148
|
+
- spec/fixtures/notes_index.json
|
149
|
+
- spec/fixtures/task.json
|
150
|
+
- spec/fixtures/tasks_index.json
|
151
|
+
- spec/groupings_spec.rb
|
152
|
+
- spec/notes_spec.rb
|
153
|
+
- spec/spec_helper.rb
|
154
|
+
- spec/tasks_spec.rb
|
155
|
+
homepage: https://github.com/revaluate/contactually-ruby
|
156
|
+
licenses:
|
157
|
+
- MIT
|
158
|
+
metadata: {}
|
159
|
+
post_install_message:
|
160
|
+
rdoc_options: []
|
161
|
+
require_paths:
|
162
|
+
- lib
|
163
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
164
|
+
requirements:
|
165
|
+
- - '>='
|
166
|
+
- !ruby/object:Gem::Version
|
167
|
+
version: '2.0'
|
168
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
169
|
+
requirements:
|
170
|
+
- - '>='
|
171
|
+
- !ruby/object:Gem::Version
|
172
|
+
version: '0'
|
173
|
+
requirements: []
|
174
|
+
rubyforge_project:
|
175
|
+
rubygems_version: 2.4.8
|
176
|
+
signing_key:
|
177
|
+
specification_version: 4
|
178
|
+
summary: A wrapper for the contactually.com V2 api
|
179
|
+
test_files:
|
180
|
+
- spec/accounts_spec.rb
|
181
|
+
- spec/api_spec.rb
|
182
|
+
- spec/buckets_spec.rb
|
183
|
+
- spec/contact_groupings_spec.rb
|
184
|
+
- spec/contacts_spec.rb
|
185
|
+
- spec/contents_spec.rb
|
186
|
+
- spec/error_detector_spec.rb
|
187
|
+
- spec/fixtures/account.json
|
188
|
+
- spec/fixtures/accounts_index.json
|
189
|
+
- spec/fixtures/bucket.json
|
190
|
+
- spec/fixtures/buckets_index.json
|
191
|
+
- spec/fixtures/contact.json
|
192
|
+
- spec/fixtures/contacts_index.json
|
193
|
+
- spec/fixtures/content.json
|
194
|
+
- spec/fixtures/contents_index.json
|
195
|
+
- spec/fixtures/grouping.json
|
196
|
+
- spec/fixtures/groupings_index.json
|
197
|
+
- spec/fixtures/note.json
|
198
|
+
- spec/fixtures/note_destroy.json
|
199
|
+
- spec/fixtures/notes_index.json
|
200
|
+
- spec/fixtures/task.json
|
201
|
+
- spec/fixtures/tasks_index.json
|
202
|
+
- spec/groupings_spec.rb
|
203
|
+
- spec/notes_spec.rb
|
204
|
+
- spec/spec_helper.rb
|
205
|
+
- spec/tasks_spec.rb
|