brainzz 0.0.5 → 0.0.6
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/README.md +31 -7
- data/lib/brainzz.rb +4 -0
- data/lib/brainzz/commands/like_totals_command.rb +1 -1
- data/lib/brainzz/commands/share_count_by_day_command.rb +14 -0
- data/lib/brainzz/commands/share_totals_command.rb +27 -0
- data/lib/brainzz/core.rb +8 -0
- data/lib/brainzz/factories.rb +1 -0
- data/lib/brainzz/factories/share_count.rb +14 -0
- data/lib/brainzz/models/base_model.rb +1 -1
- data/lib/brainzz/models/like_count.rb +0 -2
- data/lib/brainzz/models/share_count.rb +17 -0
- data/lib/brainzz/models/view_count.rb +0 -2
- data/lib/brainzz/responses/share_count_response.rb +5 -0
- metadata +9 -4
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 40016cde2e4bfde7fa826dfd41d7e5a1d2bfb87b
         | 
| 4 | 
            +
              data.tar.gz: 2c4aa4d4abb6313926b9b1963e2ab240d84e4edf
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 2f61c7b4aa8a01ec432c3b8aca5334fbebb870c274859ee12697cf98e186c4d3947f05e412c6026f6dbdf902efbb3dca983ab50ad49cf6224338181a40d85a64
         | 
| 7 | 
            +
              data.tar.gz: 10076c54ca18e873dc0abd0a4c5d54329525b1eb8e56a28e61a473da129a24d43f3a6d2d60bf742f6022f6f615692c9ed3e07ebd91481c3eb7f5eff65c752d6e
         | 
    
        data/README.md
    CHANGED
    
    | @@ -128,16 +128,17 @@ corresponding to the following YouTube referrals: | |
| 128 128 | 
             
            	YT_OTHER_PAGE    = 11
         | 
| 129 129 | 
             
            	YT_SEARCH        = 12
         | 
| 130 130 |  | 
| 131 | 
            -
            The constants are defined in `Brainzz::ViewCountEnum | 
| 131 | 
            +
            The constants are defined in `Brainzz::ViewCountEnum`.
         | 
| 132 132 |  | 
| 133 133 | 
             
            ### view_totals_for
         | 
| 134 134 |  | 
| 135 135 | 
             
            #### Parameters
         | 
| 136 | 
            -
             | 
| 136 | 
            +
            Same as views_by_day_for.
         | 
| 137 137 |  | 
| 138 138 | 
             
            #### Result
         | 
| 139 | 
            -
             | 
| 140 | 
            -
             | 
| 139 | 
            +
            Same as views_by_day_for except date values are nil.
         | 
| 140 | 
            +
             | 
| 141 | 
            +
            Views for date range are aggregated per source type.
         | 
| 141 142 |  | 
| 142 143 | 
             
            ### likes_by_day_for
         | 
| 143 144 |  | 
| @@ -154,11 +155,34 @@ An array of `Brainzz::LikeCount` objects ordered by date in ascending order. | |
| 154 155 | 
             
            ### like_totals_for
         | 
| 155 156 |  | 
| 156 157 | 
             
            #### Parameters
         | 
| 157 | 
            -
             | 
| 158 | 
            +
            Same as likes_by_day_for.
         | 
| 159 | 
            +
             | 
| 160 | 
            +
            #### Result
         | 
| 161 | 
            +
            Same as likes_by_day_for except date values are nil.
         | 
| 162 | 
            +
             | 
| 163 | 
            +
            Likes for date range are aggregated.
         | 
| 164 | 
            +
             | 
| 165 | 
            +
            ### shares_by_day_for
         | 
| 166 | 
            +
             | 
| 167 | 
            +
            #### Parameters
         | 
| 168 | 
            +
             | 
| 169 | 
            +
            * video id      (String)
         | 
| 170 | 
            +
            * start date    (DateTime)
         | 
| 171 | 
            +
            * end date      (DateTime)
         | 
| 172 | 
            +
             | 
| 173 | 
            +
            #### Result
         | 
| 174 | 
            +
             | 
| 175 | 
            +
            An array of `Brainzz::ShareCount` objects ordered by date in ascending order.
         | 
| 176 | 
            +
             | 
| 177 | 
            +
            ### share_totals_for
         | 
| 178 | 
            +
             | 
| 179 | 
            +
            #### Parameters
         | 
| 180 | 
            +
            Same as shares_by_day_for.
         | 
| 158 181 |  | 
| 159 182 | 
             
            #### Result
         | 
| 160 | 
            -
             | 
| 161 | 
            -
             | 
| 183 | 
            +
            Same as shares_by_day_for except date values are nil.
         | 
| 184 | 
            +
             | 
| 185 | 
            +
            Shares for date range are aggregated.
         | 
| 162 186 |  | 
| 163 187 | 
             
            Factories
         | 
| 164 188 | 
             
            ---------
         | 
    
        data/lib/brainzz.rb
    CHANGED
    
    | @@ -13,6 +13,7 @@ require_relative 'brainzz/models/video' | |
| 13 13 | 
             
            require_relative 'brainzz/models/video_stat'
         | 
| 14 14 | 
             
            require_relative 'brainzz/models/view_count'
         | 
| 15 15 | 
             
            require_relative 'brainzz/models/like_count'
         | 
| 16 | 
            +
            require_relative 'brainzz/models/share_count'
         | 
| 16 17 | 
             
            require_relative 'brainzz/models/playlist_item'
         | 
| 17 18 | 
             
            require_relative 'brainzz/models/playlist_items_wrapper'
         | 
| 18 19 |  | 
| @@ -29,6 +30,7 @@ require_relative 'brainzz/responses/video_details_response' | |
| 29 30 | 
             
            require_relative 'brainzz/responses/video_stats_response'
         | 
| 30 31 | 
             
            require_relative 'brainzz/responses/view_count_response'
         | 
| 31 32 | 
             
            require_relative 'brainzz/responses/like_count_response'
         | 
| 33 | 
            +
            require_relative 'brainzz/responses/share_count_response'
         | 
| 32 34 |  | 
| 33 35 | 
             
            require_relative 'brainzz/commands/base_command'
         | 
| 34 36 | 
             
            require_relative 'brainzz/commands/data_command'
         | 
| @@ -40,6 +42,8 @@ require_relative 'brainzz/commands/view_totals_command' | |
| 40 42 | 
             
            require_relative 'brainzz/commands/view_count_by_day_command'
         | 
| 41 43 | 
             
            require_relative 'brainzz/commands/like_totals_command'
         | 
| 42 44 | 
             
            require_relative 'brainzz/commands/like_count_by_day_command'
         | 
| 45 | 
            +
            require_relative 'brainzz/commands/share_totals_command'
         | 
| 46 | 
            +
            require_relative 'brainzz/commands/share_count_by_day_command'
         | 
| 43 47 |  | 
| 44 48 | 
             
            require_relative 'brainzz/core'
         | 
| 45 49 |  | 
| @@ -0,0 +1,27 @@ | |
| 1 | 
            +
            module Brainzz
         | 
| 2 | 
            +
              class ShareTotalsCommand < VideoStatsCommand
         | 
| 3 | 
            +
                class << self
         | 
| 4 | 
            +
                  def execute(video_id, start_date, end_date)
         | 
| 5 | 
            +
                    video_stats_params = VideoStatsParams.new ({
         | 
| 6 | 
            +
                      :video_id   => video_id,
         | 
| 7 | 
            +
                      :start_date => start_date,
         | 
| 8 | 
            +
                      :end_date   => end_date,
         | 
| 9 | 
            +
                    })
         | 
| 10 | 
            +
             | 
| 11 | 
            +
                    if video_stats_params.valid?
         | 
| 12 | 
            +
                      ShareCountResponse.new get(video_stats_params)
         | 
| 13 | 
            +
                    else
         | 
| 14 | 
            +
                      ShareCountResponse.new
         | 
| 15 | 
            +
                    end
         | 
| 16 | 
            +
                  end
         | 
| 17 | 
            +
             | 
| 18 | 
            +
                  private
         | 
| 19 | 
            +
             | 
| 20 | 
            +
                  def params(video_stats_params)
         | 
| 21 | 
            +
                    super.merge({
         | 
| 22 | 
            +
                      'metrics' => 'shares',
         | 
| 23 | 
            +
                    })
         | 
| 24 | 
            +
                  end
         | 
| 25 | 
            +
                end
         | 
| 26 | 
            +
              end
         | 
| 27 | 
            +
            end
         | 
    
        data/lib/brainzz/core.rb
    CHANGED
    
    | @@ -25,5 +25,13 @@ module Brainzz | |
| 25 25 | 
             
                def like_totals_for(video_id, start_date, end_date)
         | 
| 26 26 | 
             
                  LikeTotalsCommand.execute video_id, start_date, end_date
         | 
| 27 27 | 
             
                end
         | 
| 28 | 
            +
             | 
| 29 | 
            +
                def shares_by_day_for(video_id, start_date, end_date)
         | 
| 30 | 
            +
                  ShareCountByDayCommand.execute video_id, start_date, end_date
         | 
| 31 | 
            +
                end
         | 
| 32 | 
            +
             | 
| 33 | 
            +
                def share_totals_for(video_id, start_date, end_date)
         | 
| 34 | 
            +
                  ShareTotalsCommand.execute video_id, start_date, end_date
         | 
| 35 | 
            +
                end
         | 
| 28 36 | 
             
              end
         | 
| 29 37 | 
             
            end
         | 
    
        data/lib/brainzz/factories.rb
    CHANGED
    
    
| @@ -0,0 +1,14 @@ | |
| 1 | 
            +
            FactoryGirl.define do
         | 
| 2 | 
            +
              factory :brainzz_share_count, :class => Brainzz::ShareCount do
         | 
| 3 | 
            +
                shares  { rand(1_000_000) + 1 }
         | 
| 4 | 
            +
                day    { DateTime.parse((DateTime.now - rand(100)).strftime('%F')) }
         | 
| 5 | 
            +
             | 
| 6 | 
            +
                factory :brainzz_aggregate_share_count do
         | 
| 7 | 
            +
                  day nil
         | 
| 8 | 
            +
                end
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                initialize_with do
         | 
| 11 | 
            +
                  Brainzz::ShareCount.new({})
         | 
| 12 | 
            +
                end
         | 
| 13 | 
            +
              end
         | 
| 14 | 
            +
            end
         | 
| @@ -0,0 +1,17 @@ | |
| 1 | 
            +
            module Brainzz
         | 
| 2 | 
            +
              class ShareCount < VideoStat
         | 
| 3 | 
            +
                attr_accessor :shares
         | 
| 4 | 
            +
             | 
| 5 | 
            +
                def initialize(hash)
         | 
| 6 | 
            +
                  super
         | 
| 7 | 
            +
             | 
| 8 | 
            +
                  @shares  = normalize_stat(shares_data)
         | 
| 9 | 
            +
                end
         | 
| 10 | 
            +
             | 
| 11 | 
            +
                private
         | 
| 12 | 
            +
             | 
| 13 | 
            +
                def shares_data
         | 
| 14 | 
            +
                  data && keys['shares'] && data[keys['shares']]
         | 
| 15 | 
            +
                end
         | 
| 16 | 
            +
              end
         | 
| 17 | 
            +
            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. | 
| 4 | 
            +
              version: 0.0.6
         | 
| 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-04- | 
| 13 | 
            +
            date: 2015-04-10 00:00:00.000000000 Z
         | 
| 14 14 | 
             
            dependencies:
         | 
| 15 15 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 16 16 | 
             
              name: faraday
         | 
| @@ -144,14 +144,14 @@ dependencies: | |
| 144 144 | 
             
                requirements:
         | 
| 145 145 | 
             
                - - "~>"
         | 
| 146 146 | 
             
                  - !ruby/object:Gem::Version
         | 
| 147 | 
            -
                    version: ' | 
| 147 | 
            +
                    version: '2'
         | 
| 148 148 | 
             
              type: :development
         | 
| 149 149 | 
             
              prerelease: false
         | 
| 150 150 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 151 151 | 
             
                requirements:
         | 
| 152 152 | 
             
                - - "~>"
         | 
| 153 153 | 
             
                  - !ruby/object:Gem::Version
         | 
| 154 | 
            -
                    version: ' | 
| 154 | 
            +
                    version: '2'
         | 
| 155 155 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 156 156 | 
             
              name: factory_girl
         | 
| 157 157 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -184,6 +184,8 @@ files: | |
| 184 184 | 
             
            - lib/brainzz/commands/like_count_by_day_command.rb
         | 
| 185 185 | 
             
            - lib/brainzz/commands/like_totals_command.rb
         | 
| 186 186 | 
             
            - lib/brainzz/commands/playlist_items_command.rb
         | 
| 187 | 
            +
            - lib/brainzz/commands/share_count_by_day_command.rb
         | 
| 188 | 
            +
            - lib/brainzz/commands/share_totals_command.rb
         | 
| 187 189 | 
             
            - lib/brainzz/commands/video_details_command.rb
         | 
| 188 190 | 
             
            - lib/brainzz/commands/video_stats_command.rb
         | 
| 189 191 | 
             
            - lib/brainzz/commands/view_count_by_day_command.rb
         | 
| @@ -195,12 +197,14 @@ files: | |
| 195 197 | 
             
            - lib/brainzz/factories/playlist_item.rb
         | 
| 196 198 | 
             
            - lib/brainzz/factories/playlist_items_wrapper.rb
         | 
| 197 199 | 
             
            - lib/brainzz/factories/sequences.rb
         | 
| 200 | 
            +
            - lib/brainzz/factories/share_count.rb
         | 
| 198 201 | 
             
            - lib/brainzz/factories/video.rb
         | 
| 199 202 | 
             
            - lib/brainzz/factories/view_count.rb
         | 
| 200 203 | 
             
            - lib/brainzz/models/base_model.rb
         | 
| 201 204 | 
             
            - lib/brainzz/models/like_count.rb
         | 
| 202 205 | 
             
            - lib/brainzz/models/playlist_item.rb
         | 
| 203 206 | 
             
            - lib/brainzz/models/playlist_items_wrapper.rb
         | 
| 207 | 
            +
            - lib/brainzz/models/share_count.rb
         | 
| 204 208 | 
             
            - lib/brainzz/models/video.rb
         | 
| 205 209 | 
             
            - lib/brainzz/models/video_stat.rb
         | 
| 206 210 | 
             
            - lib/brainzz/models/view_count.rb
         | 
| @@ -211,6 +215,7 @@ files: | |
| 211 215 | 
             
            - lib/brainzz/params/video_stats_params.rb
         | 
| 212 216 | 
             
            - lib/brainzz/responses/like_count_response.rb
         | 
| 213 217 | 
             
            - lib/brainzz/responses/playlist_items_response.rb
         | 
| 218 | 
            +
            - lib/brainzz/responses/share_count_response.rb
         | 
| 214 219 | 
             
            - lib/brainzz/responses/video_details_response.rb
         | 
| 215 220 | 
             
            - lib/brainzz/responses/video_stats_response.rb
         | 
| 216 221 | 
             
            - lib/brainzz/responses/view_count_response.rb
         |