Sha256: c45e2656d4181d1af6b2602384e71d3763da0c3c99d2498cf78e52ea032b3052

Contents?: true

Size: 1.67 KB

Versions: 1

Compression:

Stored size: 1.67 KB

Contents

module Rubyoverflow
  class Statistics < Base
  
    attr_reader :total_questions, :total_badges, :total_unanswered, :total_votes, :total_comments, :total_answers, :site,
      :total_users, :questions_per_minute, :answers_per_minute, :badges_per_minute, :views_per_day, :api_version, :total_accepted

    def initialize(hash, request_path = '')
      dash = StatisticsDash.new hash
    
      @total_questions = dash.total_questions
      @total_accepted = dash.total_accepted
      @total_badges = dash.total_badges
      @total_unanswered = dash.total_unanswered
      @total_votes = dash.total_votes
      @total_comments = dash.total_comments
      @total_answers = dash.total_answers
      @total_users = dash.total_users
      @questions_per_minute = dash.questions_per_minute
      @answers_per_minute = dash.answers_per_minute
      @badges_per_minute = dash.badges_per_minute
      @views_per_day = dash.views_per_day
      @site = ApiSite.new dash.site
      @api_version = ApiVersion.new dash.api_version
    end

  
    class << self
    
      #Retrieves the stats for the domain
      #
      #Maps to 'stats'
      def retrieve
        hash, url = request('stats')
        Statistics.new hash['statistics'].first, url
      end
    end

  
  end

  class StatisticsDash < BaseDash
    property :total_questions
    property :total_badges
    property :total_unanswered
    property :total_votes
    property :total_comments
    property :total_answers
    property :total_users
    property :total_accepted
    property :questions_per_minute
    property :answers_per_minute
    property :badges_per_minute
    property :views_per_day
    property :api_version
    property :site
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rubyoverflow-1.0.2 lib/rubyoverflow/statistics.rb