Sha256: 043e2a225e4b7c47eed30b68612297d1118504593c759ad5c214436f19f560a1

Contents?: true

Size: 1.19 KB

Versions: 1

Compression:

Stored size: 1.19 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

      class << self
        attr_reader :client

        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 initialize(hash)
        @struct = OpenStruct.new hash
      end

      def id
        @struct.answer_id
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pilha-0.1.6 lib/pilha/stack_overflow/answer.rb