brainzz 0.0.12 → 0.0.13

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.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/lib/brainzz.rb +17 -1
  3. data/lib/brainzz/commands/analytics_command.rb +0 -4
  4. data/lib/brainzz/commands/annotations_clickable_by_day_command.rb +1 -1
  5. data/lib/brainzz/commands/annotations_clicked_by_day_command.rb +1 -1
  6. data/lib/brainzz/commands/channel_stats_command.rb +27 -0
  7. data/lib/brainzz/commands/channel_subscribers_gained_by_day_command.rb +8 -0
  8. data/lib/brainzz/commands/channel_subscribers_gained_totals_command.rb +15 -0
  9. data/lib/brainzz/commands/channel_subscribers_lost_by_day_command.rb +7 -0
  10. data/lib/brainzz/commands/channel_subscribers_lost_totals_command.rb +15 -0
  11. data/lib/brainzz/commands/comment_count_by_day_command.rb +1 -1
  12. data/lib/brainzz/commands/dislike_count_by_day_command.rb +1 -1
  13. data/lib/brainzz/commands/like_count_by_day_command.rb +1 -1
  14. data/lib/brainzz/commands/share_count_by_day_command.rb +1 -1
  15. data/lib/brainzz/commands/{video_stats_by_day_command.rb → stats_by_day_command.rb} +1 -1
  16. data/lib/brainzz/commands/stats_command.rb +19 -0
  17. data/lib/brainzz/commands/subscribers_gained_by_day_command.rb +1 -1
  18. data/lib/brainzz/commands/subscribers_lost_by_day_command.rb +1 -1
  19. data/lib/brainzz/commands/video_stats_command.rb +4 -8
  20. data/lib/brainzz/commands/view_count_by_day_command.rb +1 -1
  21. data/lib/brainzz/commands/view_durations_by_day_command.rb +1 -1
  22. data/lib/brainzz/commands/view_percentages_by_day_command.rb +1 -1
  23. data/lib/brainzz/core.rb +20 -0
  24. data/lib/brainzz/factories/sequences.rb +1 -0
  25. data/lib/brainzz/models/channel_stat.rb +17 -0
  26. data/lib/brainzz/models/channel_subscribers_gained_count.rb +5 -0
  27. data/lib/brainzz/models/channel_subscribers_lost_count.rb +5 -0
  28. data/lib/brainzz/models/stat.rb +29 -0
  29. data/lib/brainzz/models/subscribers_gained_count.rb +1 -13
  30. data/lib/brainzz/models/subscribers_gained_mixin.rb +16 -0
  31. data/lib/brainzz/models/subscribers_lost_count.rb +1 -13
  32. data/lib/brainzz/models/subscribers_lost_mixin.rb +16 -0
  33. data/lib/brainzz/models/video_stat.rb +3 -20
  34. data/lib/brainzz/params/channel_stats_params.rb +14 -0
  35. data/lib/brainzz/params/stats_params.rb +20 -0
  36. data/lib/brainzz/params/video_stats_params.rb +1 -18
  37. data/lib/brainzz/responses/channel_subscribers_gained_response.rb +5 -0
  38. data/lib/brainzz/responses/channel_subscribers_lost_response.rb +5 -0
  39. metadata +19 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1b5f82f5036c28151473f2fcebbffc4f602748de
4
- data.tar.gz: 205663e5cbe802ead27977f180dc1ce55b940e77
3
+ metadata.gz: 2a671d124176c1959b3197fd55e6637c610a5ae7
4
+ data.tar.gz: 1b9ab27231a0fb1983816d84a5774243d303a7fe
5
5
  SHA512:
6
- metadata.gz: 7b464322f717393ab637cf9fd3f8022a38d7d9c6ee824b161ab6edb751fc55ae36e51383a4fd96ed10737f9de69f809ddc959520260d70434871a9a8f117be02
7
- data.tar.gz: f7dccc5ae1fb0ac178c6d6d7ddf07db73126d57a958c0578d2dfde0d0e3a2843ffceb6ce0019f655fa21d6ccab615bd4ead0936460f72e36bd31fb3f47f27e74
6
+ metadata.gz: 26065917c46b2207eb9d79ed1a5af5338aca388aaca4283946222ca601ef220c19b2e0ac96760ad070b3dceb48e0478ce51db5f820f6d58a65b03574155e1199
7
+ data.tar.gz: 3ebbc06bedd1e8689c3fce27ca2417c89bfbf04b702ee0173069047f52f0eec613fa52ed9758f554be7dc04dfa99e12054e438bd6c62eb8a01aaf25759d6dde1
@@ -10,14 +10,20 @@ require_relative 'brainzz/enums/view_source_enum'
10
10
 
11
11
  require_relative 'brainzz/models/base_model'
12
12
  require_relative 'brainzz/models/video'
13
+ require_relative 'brainzz/models/stat'
13
14
  require_relative 'brainzz/models/video_stat'
15
+ require_relative 'brainzz/models/channel_stat'
14
16
  require_relative 'brainzz/models/view_count'
15
17
  require_relative 'brainzz/models/like_count'
16
18
  require_relative 'brainzz/models/share_count'
17
19
  require_relative 'brainzz/models/dislike_count'
18
20
  require_relative 'brainzz/models/comment_count'
21
+ require_relative 'brainzz/models/subscribers_gained_mixin'
19
22
  require_relative 'brainzz/models/subscribers_gained_count'
23
+ require_relative 'brainzz/models/subscribers_lost_mixin'
20
24
  require_relative 'brainzz/models/subscribers_lost_count'
25
+ require_relative 'brainzz/models/channel_subscribers_lost_count'
26
+ require_relative 'brainzz/models/channel_subscribers_gained_count'
21
27
  require_relative 'brainzz/models/annotations_clickable_count'
22
28
  require_relative 'brainzz/models/annotations_clicked_count'
23
29
  require_relative 'brainzz/models/view_percentage'
@@ -29,8 +35,10 @@ require_relative 'brainzz/services/access_token_service'
29
35
 
30
36
  require_relative 'brainzz/params/base_params'
31
37
  require_relative 'brainzz/params/analytics_params'
38
+ require_relative 'brainzz/params/stats_params'
32
39
  require_relative 'brainzz/params/video_details_params'
33
40
  require_relative 'brainzz/params/video_stats_params'
41
+ require_relative 'brainzz/params/channel_stats_params'
34
42
  require_relative 'brainzz/params/playlist_items_params'
35
43
 
36
44
  require_relative 'brainzz/responses/playlist_items_response'
@@ -43,6 +51,8 @@ require_relative 'brainzz/responses/dislike_count_response'
43
51
  require_relative 'brainzz/responses/comment_count_response'
44
52
  require_relative 'brainzz/responses/subscribers_gained_response'
45
53
  require_relative 'brainzz/responses/subscribers_lost_response'
54
+ require_relative 'brainzz/responses/channel_subscribers_lost_response'
55
+ require_relative 'brainzz/responses/channel_subscribers_gained_response'
46
56
  require_relative 'brainzz/responses/annotations_clickable_response'
47
57
  require_relative 'brainzz/responses/annotations_clicked_response'
48
58
  require_relative 'brainzz/responses/view_percentage_response'
@@ -53,8 +63,10 @@ require_relative 'brainzz/commands/data_command'
53
63
  require_relative 'brainzz/commands/playlist_items_command'
54
64
  require_relative 'brainzz/commands/video_details_command'
55
65
  require_relative 'brainzz/commands/analytics_command'
66
+ require_relative 'brainzz/commands/stats_command'
56
67
  require_relative 'brainzz/commands/video_stats_command'
57
- require_relative 'brainzz/commands/video_stats_by_day_command'
68
+ require_relative 'brainzz/commands/channel_stats_command'
69
+ require_relative 'brainzz/commands/stats_by_day_command'
58
70
  require_relative 'brainzz/commands/view_totals_command'
59
71
  require_relative 'brainzz/commands/view_count_by_day_command'
60
72
  require_relative 'brainzz/commands/like_totals_command'
@@ -69,6 +81,10 @@ require_relative 'brainzz/commands/subscribers_gained_totals_command'
69
81
  require_relative 'brainzz/commands/subscribers_gained_by_day_command'
70
82
  require_relative 'brainzz/commands/subscribers_lost_totals_command'
71
83
  require_relative 'brainzz/commands/subscribers_lost_by_day_command'
84
+ require_relative 'brainzz/commands/channel_subscribers_lost_totals_command'
85
+ require_relative 'brainzz/commands/channel_subscribers_lost_by_day_command'
86
+ require_relative 'brainzz/commands/channel_subscribers_gained_totals_command'
87
+ require_relative 'brainzz/commands/channel_subscribers_gained_by_day_command'
72
88
  require_relative 'brainzz/commands/annotations_clickable_totals_command'
73
89
  require_relative 'brainzz/commands/annotations_clickable_by_day_command'
74
90
  require_relative 'brainzz/commands/annotations_clicked_totals_command'
@@ -36,10 +36,6 @@ module Brainzz
36
36
  })
37
37
  end
38
38
 
39
- def dimensions
40
- super << 'video'
41
- end
42
-
43
39
  def content_owner
44
40
  ENV['BRAINZZ_CONTENT_OWNER']
45
41
  end
@@ -1,6 +1,6 @@
1
1
  module Brainzz
2
2
  class AnnotationsClickableByDayCommand < AnnotationsClickableTotalsCommand
3
- extend VideoStatsByDayCommand
3
+ extend StatsByDayCommand
4
4
 
5
5
  make_with_response AnnotationsClickableResponse
6
6
  end
@@ -1,6 +1,6 @@
1
1
  module Brainzz
2
2
  class AnnotationsClickedByDayCommand < AnnotationsClickedTotalsCommand
3
- extend VideoStatsByDayCommand
3
+ extend StatsByDayCommand
4
4
 
5
5
  make_with_response AnnotationsClickedResponse
6
6
  end
@@ -0,0 +1,27 @@
1
+ module Brainzz
2
+ class ChannelStatsCommand < StatsCommand
3
+ class << self
4
+ private
5
+
6
+ def on_execute(channel_ids, start_date, end_date)
7
+ channel_stats_params = ChannelStatsParams.new({
8
+ :channel_ids => channel_ids,
9
+ :start_date => start_date,
10
+ :end_date => end_date,
11
+ })
12
+
13
+ make_request_with_params(channel_stats_params)
14
+ end
15
+
16
+ def dimensions
17
+ super << 'channel'
18
+ end
19
+
20
+ def params(channel_stats_params)
21
+ super.merge({
22
+ 'filters' => "channel==#{channel_stats_params.channel_ids.join(',')}",
23
+ })
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,8 @@
1
+ module Brainzz
2
+ class ChannelSubscribersGainedByDayCommand <
3
+ ChannelSubscribersGainedTotalsCommand
4
+ extend StatsByDayCommand
5
+
6
+ make_with_response ChannelSubscribersGainedResponse
7
+ end
8
+ end
@@ -0,0 +1,15 @@
1
+ module Brainzz
2
+ class ChannelSubscribersGainedTotalsCommand < ChannelStatsCommand
3
+ make_with_response ChannelSubscribersGainedResponse
4
+
5
+ class << self
6
+ private
7
+
8
+ def params(channel_stats_params)
9
+ super.merge({
10
+ 'metrics' => 'subscribersGained',
11
+ })
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,7 @@
1
+ module Brainzz
2
+ class ChannelSubscribersLostByDayCommand < ChannelSubscribersLostTotalsCommand
3
+ extend StatsByDayCommand
4
+
5
+ make_with_response ChannelSubscribersLostResponse
6
+ end
7
+ end
@@ -0,0 +1,15 @@
1
+ module Brainzz
2
+ class ChannelSubscribersLostTotalsCommand < ChannelStatsCommand
3
+ make_with_response ChannelSubscribersLostResponse
4
+
5
+ class << self
6
+ private
7
+
8
+ def params(channel_stats_params)
9
+ super.merge({
10
+ 'metrics' => 'subscribersLost',
11
+ })
12
+ end
13
+ end
14
+ end
15
+ end
@@ -1,6 +1,6 @@
1
1
  module Brainzz
2
2
  class CommentCountByDayCommand < CommentTotalsCommand
3
- extend VideoStatsByDayCommand
3
+ extend StatsByDayCommand
4
4
 
5
5
  make_with_response CommentCountResponse
6
6
  end
@@ -1,6 +1,6 @@
1
1
  module Brainzz
2
2
  class DislikeCountByDayCommand < DislikeTotalsCommand
3
- extend VideoStatsByDayCommand
3
+ extend StatsByDayCommand
4
4
 
5
5
  make_with_response DislikeCountResponse
6
6
  end
@@ -1,6 +1,6 @@
1
1
  module Brainzz
2
2
  class LikeCountByDayCommand < LikeTotalsCommand
3
- extend VideoStatsByDayCommand
3
+ extend StatsByDayCommand
4
4
 
5
5
  make_with_response LikeCountResponse
6
6
  end
@@ -1,6 +1,6 @@
1
1
  module Brainzz
2
2
  class ShareCountByDayCommand < ShareTotalsCommand
3
- extend VideoStatsByDayCommand
3
+ extend StatsByDayCommand
4
4
 
5
5
  make_with_response ShareCountResponse
6
6
  end
@@ -1,5 +1,5 @@
1
1
  module Brainzz
2
- module VideoStatsByDayCommand
2
+ module StatsByDayCommand
3
3
  private
4
4
 
5
5
  def dimensions
@@ -0,0 +1,19 @@
1
+ module Brainzz
2
+ class StatsCommand < AnalyticsCommand
3
+ class << self
4
+ private
5
+
6
+ def make_request_with_params(params)
7
+ if params.valid?
8
+ @response_class.new get(params)
9
+ else
10
+ @response_class.new
11
+ end
12
+ end
13
+
14
+ def make_with_response(response)
15
+ @response_class = response
16
+ end
17
+ end
18
+ end
19
+ end
@@ -1,6 +1,6 @@
1
1
  module Brainzz
2
2
  class SubscribersGainedByDayCommand < SubscribersGainedTotalsCommand
3
- extend VideoStatsByDayCommand
3
+ extend StatsByDayCommand
4
4
 
5
5
  make_with_response SubscribersGainedResponse
6
6
  end
@@ -1,6 +1,6 @@
1
1
  module Brainzz
2
2
  class SubscribersLostByDayCommand < SubscribersLostTotalsCommand
3
- extend VideoStatsByDayCommand
3
+ extend StatsByDayCommand
4
4
 
5
5
  make_with_response SubscribersLostResponse
6
6
  end
@@ -1,5 +1,5 @@
1
1
  module Brainzz
2
- class VideoStatsCommand < AnalyticsCommand
2
+ class VideoStatsCommand < StatsCommand
3
3
  class << self
4
4
  private
5
5
 
@@ -10,15 +10,11 @@ module Brainzz
10
10
  :end_date => end_date,
11
11
  })
12
12
 
13
- if video_stats_params.valid?
14
- @response_class.new get(video_stats_params)
15
- else
16
- @response_class.new
17
- end
13
+ make_request_with_params(video_stats_params)
18
14
  end
19
15
 
20
- def make_with_response(response)
21
- @response_class = response
16
+ def dimensions
17
+ super << 'video'
22
18
  end
23
19
 
24
20
  def params(video_stats_params)
@@ -1,6 +1,6 @@
1
1
  module Brainzz
2
2
  class ViewCountByDayCommand < ViewTotalsCommand
3
- extend VideoStatsByDayCommand
3
+ extend StatsByDayCommand
4
4
  make_with_response ViewCountResponse
5
5
  end
6
6
  end
@@ -1,6 +1,6 @@
1
1
  module Brainzz
2
2
  class ViewDurationsByDayCommand < ViewDurationTotalsCommand
3
- extend VideoStatsByDayCommand
3
+ extend StatsByDayCommand
4
4
 
5
5
  make_with_response ViewDurationResponse
6
6
  end
@@ -1,6 +1,6 @@
1
1
  module Brainzz
2
2
  class ViewPercentagesByDayCommand < ViewPercentageTotalsCommand
3
- extend VideoStatsByDayCommand
3
+ extend StatsByDayCommand
4
4
 
5
5
  make_with_response ViewPercentageResponse
6
6
  end
@@ -97,5 +97,25 @@ module Brainzz
97
97
  def view_duration_totals_for(video_ids, start_date, end_date)
98
98
  ViewDurationTotalsCommand.execute video_ids, start_date, end_date
99
99
  end
100
+
101
+ def channel_subscribers_lost_by_day_for(channel_ids, start_date, end_date)
102
+ ChannelSubscribersLostByDayCommand
103
+ .execute channel_ids, start_date, end_date
104
+ end
105
+
106
+ def channel_subscribers_lost_totals_for(channel_ids, start_date, end_date)
107
+ ChannelSubscribersLostTotalsCommand
108
+ .execute channel_ids, start_date, end_date
109
+ end
110
+
111
+ def channel_subscribers_gained_by_day_for(channel_ids, start_date, end_date)
112
+ ChannelSubscribersGainedByDayCommand
113
+ .execute channel_ids, start_date, end_date
114
+ end
115
+
116
+ def channel_subscribers_gained_totals_for(channel_ids, start_date, end_date)
117
+ ChannelSubscribersGainedTotalsCommand
118
+ .execute channel_ids, start_date, end_date
119
+ end
100
120
  end
101
121
  end
@@ -2,6 +2,7 @@ FactoryGirl.define do
2
2
  sequence(:brainzz_fake_string) { ['foo', 'bar', 'baz'].sample }
3
3
 
4
4
  sequence(:brainzz_video_id) { |n| "video-id-#{n}" }
5
+ sequence(:brainzz_channel_id) { |n| "channel-id-#{n}" }
5
6
  sequence(:brainzz_video_title) do
6
7
  "video-title-#{FactoryGirl.generate(:brainzz_fake_string)}"
7
8
  end
@@ -0,0 +1,17 @@
1
+ module Brainzz
2
+ class ChannelStat < Stat
3
+ attr_accessor :channel_id
4
+
5
+ def initialize(hash)
6
+ super
7
+
8
+ @channel_id = transform(channel_id_data)
9
+ end
10
+
11
+ private
12
+
13
+ def channel_id_data
14
+ data && keys['channel'] && data[keys['channel']]
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,5 @@
1
+ module Brainzz
2
+ class ChannelSubscribersGainedCount < ChannelStat
3
+ include SubscribersGainedMixin
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ module Brainzz
2
+ class ChannelSubscribersLostCount < ChannelStat
3
+ include SubscribersLostMixin
4
+ end
5
+ end
@@ -0,0 +1,29 @@
1
+ module Brainzz
2
+ class Stat < BaseModel
3
+ attr_accessor :day
4
+
5
+ def initialize(hash)
6
+ @hash = hash
7
+
8
+ @day = transform_date(day_data)
9
+ end
10
+
11
+ private
12
+
13
+ def data
14
+ @hash['data'] || @hash[:data]
15
+ end
16
+
17
+ def keys
18
+ @hash['keys'] || @hash[:keys]
19
+ end
20
+
21
+ def day_data
22
+ data && keys['day'] && data[keys['day']]
23
+ end
24
+
25
+ def normalize_stat(stat)
26
+ stat.to_i if stat
27
+ end
28
+ end
29
+ end
@@ -1,17 +1,5 @@
1
1
  module Brainzz
2
2
  class SubscribersGainedCount < VideoStat
3
- attr_accessor :subscribers_gained
4
-
5
- def initialize(hash)
6
- super
7
-
8
- @subscribers_gained = normalize_stat(subscribers_gained_data)
9
- end
10
-
11
- private
12
-
13
- def subscribers_gained_data
14
- data && keys['subscribersGained'] && data[keys['subscribersGained']]
15
- end
3
+ include SubscribersGainedMixin
16
4
  end
17
5
  end
@@ -0,0 +1,16 @@
1
+ module Brainzz
2
+ module SubscribersGainedMixin
3
+ attr_accessor :subscribers_gained
4
+ def initialize(hash)
5
+ super
6
+
7
+ @subscribers_gained = normalize_stat(subscribers_gained_data)
8
+ end
9
+
10
+ private
11
+
12
+ def subscribers_gained_data
13
+ data && keys['subscribersGained'] && data[keys['subscribersGained']]
14
+ end
15
+ end
16
+ end
@@ -1,17 +1,5 @@
1
1
  module Brainzz
2
2
  class SubscribersLostCount < VideoStat
3
- attr_accessor :subscribers_lost
4
-
5
- def initialize(hash)
6
- super
7
-
8
- @subscribers_lost = normalize_stat(subscribers_lost_data)
9
- end
10
-
11
- private
12
-
13
- def subscribers_lost_data
14
- data && keys['subscribersLost'] && data[keys['subscribersLost']]
15
- end
3
+ include SubscribersLostMixin
16
4
  end
17
5
  end
@@ -0,0 +1,16 @@
1
+ module Brainzz
2
+ module SubscribersLostMixin
3
+ attr_accessor :subscribers_lost
4
+ def initialize(hash)
5
+ super
6
+
7
+ @subscribers_lost = normalize_stat(subscribers_lost_data)
8
+ end
9
+
10
+ private
11
+
12
+ def subscribers_lost_data
13
+ data && keys['subscribersLost'] && data[keys['subscribersLost']]
14
+ end
15
+ end
16
+ end
@@ -1,34 +1,17 @@
1
1
  module Brainzz
2
- class VideoStat < BaseModel
3
- attr_accessor :day, :video_id
2
+ class VideoStat < Stat
3
+ attr_accessor :video_id
4
4
 
5
5
  def initialize(hash)
6
- @hash = hash
6
+ super
7
7
 
8
- @day = transform_date(day_data)
9
8
  @video_id = transform(video_id_data)
10
9
  end
11
10
 
12
11
  private
13
12
 
14
- def data
15
- @hash['data'] || @hash[:data]
16
- end
17
-
18
- def keys
19
- @hash['keys'] || @hash[:keys]
20
- end
21
-
22
- def day_data
23
- data && keys['day'] && data[keys['day']]
24
- end
25
-
26
13
  def video_id_data
27
14
  data && keys['video'] && data[keys['video']]
28
15
  end
29
-
30
- def normalize_stat(stat)
31
- stat.to_i if stat
32
- end
33
16
  end
34
17
  end
@@ -0,0 +1,14 @@
1
+ module Brainzz
2
+ class ChannelStatsParams < StatsParams
3
+ attr_reader :channel_ids
4
+
5
+ def initialize(params)
6
+ super
7
+ @channel_ids = normalize(params[:channel_ids])
8
+ end
9
+
10
+ def valid?
11
+ !!(super && !channel_ids.empty?)
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,20 @@
1
+ module Brainzz
2
+ class StatsParams < AnalyticsParams
3
+ private
4
+
5
+ def normalize(object_ids)
6
+ object_ids = [object_ids] if object_ids.is_a?(String)
7
+
8
+ return [] unless object_ids
9
+
10
+ ids = []
11
+
12
+ object_ids.each do |object_id|
13
+ id = super(object_id)
14
+ ids << id if id
15
+ end
16
+
17
+ ids
18
+ end
19
+ end
20
+ end
@@ -1,5 +1,5 @@
1
1
  module Brainzz
2
- class VideoStatsParams < AnalyticsParams
2
+ class VideoStatsParams < StatsParams
3
3
  attr_reader :video_ids
4
4
 
5
5
  def initialize(params)
@@ -10,22 +10,5 @@ module Brainzz
10
10
  def valid?
11
11
  !!(super && !video_ids.empty?)
12
12
  end
13
-
14
- private
15
-
16
- def normalize(video_ids)
17
- video_ids = [video_ids] if video_ids.is_a?(String)
18
-
19
- return [] unless video_ids
20
-
21
- ids = []
22
-
23
- video_ids.each do |video_id|
24
- id = super(video_id)
25
- ids << id if id
26
- end
27
-
28
- ids
29
- end
30
13
  end
31
14
  end
@@ -0,0 +1,5 @@
1
+ module Brainzz
2
+ class ChannelSubscribersGainedResponse < VideoStatsResponse
3
+ make_with_model ChannelSubscribersGainedCount
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ module Brainzz
2
+ class ChannelSubscribersLostResponse < VideoStatsResponse
3
+ make_with_model ChannelSubscribersLostCount
4
+ end
5
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: brainzz
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.12
4
+ version: 0.0.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Travis Herrick
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2015-06-27 00:00:00.000000000 Z
13
+ date: 2015-07-06 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: faraday
@@ -184,6 +184,11 @@ files:
184
184
  - lib/brainzz/commands/annotations_clicked_by_day_command.rb
185
185
  - lib/brainzz/commands/annotations_clicked_totals_command.rb
186
186
  - lib/brainzz/commands/base_command.rb
187
+ - lib/brainzz/commands/channel_stats_command.rb
188
+ - lib/brainzz/commands/channel_subscribers_gained_by_day_command.rb
189
+ - lib/brainzz/commands/channel_subscribers_gained_totals_command.rb
190
+ - lib/brainzz/commands/channel_subscribers_lost_by_day_command.rb
191
+ - lib/brainzz/commands/channel_subscribers_lost_totals_command.rb
187
192
  - lib/brainzz/commands/comment_count_by_day_command.rb
188
193
  - lib/brainzz/commands/comment_totals_command.rb
189
194
  - lib/brainzz/commands/data_command.rb
@@ -194,12 +199,13 @@ files:
194
199
  - lib/brainzz/commands/playlist_items_command.rb
195
200
  - lib/brainzz/commands/share_count_by_day_command.rb
196
201
  - lib/brainzz/commands/share_totals_command.rb
202
+ - lib/brainzz/commands/stats_by_day_command.rb
203
+ - lib/brainzz/commands/stats_command.rb
197
204
  - lib/brainzz/commands/subscribers_gained_by_day_command.rb
198
205
  - lib/brainzz/commands/subscribers_gained_totals_command.rb
199
206
  - lib/brainzz/commands/subscribers_lost_by_day_command.rb
200
207
  - lib/brainzz/commands/subscribers_lost_totals_command.rb
201
208
  - lib/brainzz/commands/video_details_command.rb
202
- - lib/brainzz/commands/video_stats_by_day_command.rb
203
209
  - lib/brainzz/commands/video_stats_command.rb
204
210
  - lib/brainzz/commands/view_count_by_day_command.rb
205
211
  - lib/brainzz/commands/view_duration_totals_command.rb
@@ -228,14 +234,20 @@ files:
228
234
  - lib/brainzz/models/annotations_clickable_count.rb
229
235
  - lib/brainzz/models/annotations_clicked_count.rb
230
236
  - lib/brainzz/models/base_model.rb
237
+ - lib/brainzz/models/channel_stat.rb
238
+ - lib/brainzz/models/channel_subscribers_gained_count.rb
239
+ - lib/brainzz/models/channel_subscribers_lost_count.rb
231
240
  - lib/brainzz/models/comment_count.rb
232
241
  - lib/brainzz/models/dislike_count.rb
233
242
  - lib/brainzz/models/like_count.rb
234
243
  - lib/brainzz/models/playlist_item.rb
235
244
  - lib/brainzz/models/playlist_items_wrapper.rb
236
245
  - lib/brainzz/models/share_count.rb
246
+ - lib/brainzz/models/stat.rb
237
247
  - lib/brainzz/models/subscribers_gained_count.rb
248
+ - lib/brainzz/models/subscribers_gained_mixin.rb
238
249
  - lib/brainzz/models/subscribers_lost_count.rb
250
+ - lib/brainzz/models/subscribers_lost_mixin.rb
239
251
  - lib/brainzz/models/video.rb
240
252
  - lib/brainzz/models/video_stat.rb
241
253
  - lib/brainzz/models/view_count.rb
@@ -243,11 +255,15 @@ files:
243
255
  - lib/brainzz/models/view_percentage.rb
244
256
  - lib/brainzz/params/analytics_params.rb
245
257
  - lib/brainzz/params/base_params.rb
258
+ - lib/brainzz/params/channel_stats_params.rb
246
259
  - lib/brainzz/params/playlist_items_params.rb
260
+ - lib/brainzz/params/stats_params.rb
247
261
  - lib/brainzz/params/video_details_params.rb
248
262
  - lib/brainzz/params/video_stats_params.rb
249
263
  - lib/brainzz/responses/annotations_clickable_response.rb
250
264
  - lib/brainzz/responses/annotations_clicked_response.rb
265
+ - lib/brainzz/responses/channel_subscribers_gained_response.rb
266
+ - lib/brainzz/responses/channel_subscribers_lost_response.rb
251
267
  - lib/brainzz/responses/comment_count_response.rb
252
268
  - lib/brainzz/responses/dislike_count_response.rb
253
269
  - lib/brainzz/responses/like_count_response.rb