Sha256: 416ee247c28abf03951b0bbe11c24a83fcc4ebf3a51a86f0a57afeca0d60f610

Contents?: true

Size: 1.09 KB

Versions: 2

Compression:

Stored size: 1.09 KB

Contents

module StackExchange
  module StackOverflow
    class Answer < Base
      extend Forwardable
      
      def_delegators :@struct, :answer_id, :accepted, :answer_comments_url, :question_id,
                     :owner, :creation_date, :last_activity_date, :up_vote_count, :down_vote_count,
                     :view_count, :score, :community_owned, :title, :comments, :body

      class << self

        def find(id, options = {})
          request('/answers/:id', id, options).answers.first
        end

        def find_by_user_id(id, options = {})
          request('/users/:id/answers', id, options)
        end

        def find_by_question_id(id, options = {})
          request('/questions/:id/answers', id, options)
        end

        def parse(response)
          response['answers'].each do |answer|
            parse_with_class(answer, 'comments', Comment)
            parse_with_class(answer, 'owner', User)
          end
          parse_with_class(response, 'answers', Answer)
          OpenStruct.new response
        end
      end

      def id
        @struct.answer_id
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
pilha-0.2.1 lib/pilha/stack_overflow/answer.rb
pilha-0.2.0 lib/pilha/stack_overflow/answer.rb