brainzz 0.0.12 → 0.0.13

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