patient_zero 0.5.0 → 0.5.1

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,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ce71c0439f0fe87f14660f320fc6cbde9a4fe9dc
4
- data.tar.gz: 55b5fe0d9fd823d7e547f77e5395d7e88d73a484
3
+ metadata.gz: d49fd07bcd3e866faa256583f312e87355d168bd
4
+ data.tar.gz: 250cae91773b9306b66b2f5ed7a78ab91d3f6c97
5
5
  SHA512:
6
- metadata.gz: 32961c40e4712bbcf9d023ebd6cc5ae390648717df4818ddd80df2a9a4629ea6a93210e2c7d695b62984fb903719328c866b0cd14c56ad1cce0c18de9661eb19
7
- data.tar.gz: 89b559a859c5ea756a4f57502bff911c3b1bc87e86975aff46862de3fb59e094574ba153a8d67e17ef6886870d013e4e0b65758139acf5094d1955b86ee5a1f2
6
+ metadata.gz: 1ae97e94c882a4de4e9e8496804e6dfc2e142a8a3b080cf73c7257ee1c36adae843e03fcaa8a6344d3a4e8db4d8c5f82220f1cf4fb8d5c064cd2dcd4543bbc13
7
+ data.tar.gz: aeab5f6d030dfa727dfccbd8242c758fd5b435511d1cf8c6c2c2501c13f80672bfde8640f31a02beeef9520a95595a446fe88e6de060b05b0e07a5f19a808243
@@ -0,0 +1,32 @@
1
+ module PatientZero
2
+ module Monitoring
3
+ class Twitter
4
+ include Client
5
+
6
+ VALID_DAYS = [1,7,30]
7
+ attr_reader :profile_id, :days
8
+
9
+ def initialize profile_id:, days: nil
10
+ @profile_id = profile_id
11
+ @days = set_to_valid_days days
12
+ end
13
+
14
+ def top_cities
15
+ statistical_data['top_cities']
16
+ end
17
+
18
+ private
19
+
20
+ def set_to_valid_days days
21
+ VALID_DAYS.fetch(VALID_DAYS.index(days) || VALID_DAYS.index(30))
22
+ end
23
+
24
+ def statistical_data
25
+ @statistical_data ||= get '/social/api/monitoring/twitter/stats', api_key: PatientZero.api_key,
26
+ profile_id: profile_id,
27
+ days: days
28
+ @statistical_data['stats']
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1 @@
1
+ require 'patient_zero/monitoring/twitter'
@@ -1,3 +1,3 @@
1
1
  module PatientZero
2
- VERSION = '0.5.0'
2
+ VERSION = '0.5.1'
3
3
  end
data/lib/patient_zero.rb CHANGED
@@ -10,6 +10,7 @@ require 'patient_zero/analytics'
10
10
  require 'patient_zero/source'
11
11
  require 'patient_zero/message'
12
12
  require 'patient_zero/profile'
13
+ require 'patient_zero/monitoring'
13
14
 
14
15
  module PatientZero
15
16
  extend PatientZero::Configurable
@@ -0,0 +1,31 @@
1
+ module PatientZero
2
+ module Monitoring
3
+ describe Twitter do
4
+ let(:profile_id) { 1 }
5
+ let(:days) { 1 }
6
+ let(:twitter_object) { Twitter.new(profile_id: profile_id, days: days) }
7
+ let(:twitter_response) { { 'top_cities' => { 'San Diego' => 121212 } } }
8
+ let(:twitter_response_with_body) { response_with_body stats: twitter_response }
9
+
10
+ describe '#initialize' do
11
+ it 'news up an object' do
12
+ expect(twitter_object).to be_a Twitter
13
+ end
14
+
15
+ context 'invalid days' do
16
+ let(:days) { 2 }
17
+ it 'sets default days of 30 for invalid days' do
18
+ expect(twitter_object.days).to eql 30
19
+ end
20
+ end
21
+ end
22
+
23
+ describe '#top_cities' do
24
+ before { allow(Twitter.connection).to receive(:get).with('/social/api/monitoring/twitter/stats', anything) { twitter_response_with_body } }
25
+ it 'returns the top cities' do
26
+ expect(twitter_object.top_cities).to eql twitter_response['top_cities']
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: patient_zero
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Zaninovich
@@ -138,6 +138,8 @@ files:
138
138
  - lib/patient_zero/message/facebook.rb
139
139
  - lib/patient_zero/message/instagram.rb
140
140
  - lib/patient_zero/message/twitter.rb
141
+ - lib/patient_zero/monitoring.rb
142
+ - lib/patient_zero/monitoring/twitter.rb
141
143
  - lib/patient_zero/organization.rb
142
144
  - lib/patient_zero/profile.rb
143
145
  - lib/patient_zero/source.rb
@@ -154,6 +156,7 @@ files:
154
156
  - spec/patient_zero/message/instagram_spec.rb
155
157
  - spec/patient_zero/message/twitter_spec.rb
156
158
  - spec/patient_zero/message_spec.rb
159
+ - spec/patient_zero/monitoring/twitter_spec.rb
157
160
  - spec/patient_zero/organization_spec.rb
158
161
  - spec/patient_zero/profile_spec.rb
159
162
  - spec/patient_zero/source_spec.rb
@@ -178,7 +181,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
178
181
  version: '0'
179
182
  requirements: []
180
183
  rubyforge_project:
181
- rubygems_version: 2.2.2
184
+ rubygems_version: 2.4.5
182
185
  signing_key:
183
186
  specification_version: 4
184
187
  summary: A gem to use the Viral Heat API
@@ -194,6 +197,7 @@ test_files:
194
197
  - spec/patient_zero/message/instagram_spec.rb
195
198
  - spec/patient_zero/message/twitter_spec.rb
196
199
  - spec/patient_zero/message_spec.rb
200
+ - spec/patient_zero/monitoring/twitter_spec.rb
197
201
  - spec/patient_zero/organization_spec.rb
198
202
  - spec/patient_zero/profile_spec.rb
199
203
  - spec/patient_zero/source_spec.rb