pilha 0.1.6 → 0.1.7
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/pilha.rb +18 -19
- data/lib/pilha/stack_overflow/answer.rb +0 -5
- data/lib/pilha/stack_overflow/badge.rb +1 -6
- data/lib/pilha/stack_overflow/base.rb +7 -4
- data/lib/pilha/stack_overflow/comment.rb +0 -5
- data/lib/pilha/stack_overflow/question.rb +20 -5
- data/lib/pilha/stack_overflow/statistics.rb +3 -10
- data/lib/pilha/stack_overflow/user.rb +0 -7
- data/pilha.gemspec +1 -1
- data/spec/fixtures/all_tags.json +287 -0
- data/spec/fixtures/all_tags.json.gz +0 -0
- data/spec/fixtures/favorite_questions_by_user_id.json +496 -0
- data/spec/fixtures/favorite_questions_by_user_id.json.gz +0 -0
- data/spec/fixtures/post_comments.json +6 -0
- data/spec/fixtures/questions_tagged_gwt_and_googleappengine.json +901 -0
- data/spec/fixtures/questions_tagged_gwt_and_googleappengine.json.gz +0 -0
- data/spec/fixtures/questions_tagged_ruby.json +877 -0
- data/spec/fixtures/questions_tagged_ruby.json.gz +0 -0
- data/spec/fixtures/questions_unanswered.json +845 -0
- data/spec/fixtures/questions_unanswered.json.gz +0 -0
- data/spec/fixtures/revisions_by_id.json +25 -0
- data/spec/fixtures/search_intitle_ruby.json +872 -0
- data/spec/fixtures/search_tagged_ruby_rails.json +877 -0
- data/spec/fixtures/tags_by_user_id.json +357 -0
- data/spec/fixtures/tags_by_user_id.json.gz +0 -0
- data/spec/fixtures/user_tags.json +357 -0
- data/spec/pilha/stack_overflow/badge_spec.rb +0 -4
- data/spec/pilha/stack_overflow/question_spec.rb +65 -0
- data/spec/pilha/stack_overflow/statistics_spec.rb +0 -4
- data/spec/spec_helper.rb +6 -0
- metadata +20 -3
@@ -60,4 +60,69 @@ describe StackExchange::StackOverflow::Question do
|
|
60
60
|
question.title.should == "Getting rid of gcc shift by negative warning"
|
61
61
|
question.owner.id.should == 333
|
62
62
|
end
|
63
|
+
|
64
|
+
it 'should find questions favorite to a user identified by id' do
|
65
|
+
response = StackOverflow::Question.find_favorites_by_user_id 549
|
66
|
+
response.total.should == 17
|
67
|
+
response.page.should == 1
|
68
|
+
response.pagesize.should == 30
|
69
|
+
|
70
|
+
questions = response.questions
|
71
|
+
|
72
|
+
question = response.questions.first
|
73
|
+
|
74
|
+
question.tags.should == ['nhibernate']
|
75
|
+
question.answer_count.should == 7
|
76
|
+
question.question_timeline_url.should == "/questions/451664/timeline"
|
77
|
+
question.question_comments_url.should == "/questions/451664/comments"
|
78
|
+
question.question_answers_url.should == "/questions/451664/answers"
|
79
|
+
question.id.should == 451664
|
80
|
+
|
81
|
+
owner = question.owner
|
82
|
+
owner.id.should == 52390
|
83
|
+
owner.user_type.should == "registered"
|
84
|
+
owner.display_name.should == "Przemek"
|
85
|
+
owner.reputation.should == 360
|
86
|
+
owner.email_hash.should == "46ee3f5f203756778eb8af634bbbfb7e"
|
87
|
+
|
88
|
+
question.creation_date.should == 1232134747
|
89
|
+
question.last_activity_date.should == 1274935956
|
90
|
+
question.up_vote_count.should == 2
|
91
|
+
question.down_vote_count.should be_zero
|
92
|
+
question.view_count.should == 886
|
93
|
+
question.score.should == 2
|
94
|
+
question.community_owned.should be_false
|
95
|
+
question.title.should == "Is there any NHibernate book?"
|
96
|
+
end
|
97
|
+
|
98
|
+
|
99
|
+
|
100
|
+
it 'should get questions by tag' do
|
101
|
+
response = StackOverflow::Question.find_by_tags('ruby')
|
102
|
+
response.total.should == 10153
|
103
|
+
|
104
|
+
questions = response.questions
|
105
|
+
questions.each do |question|
|
106
|
+
question.tags.should include 'ruby'
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
it 'should get questions containing multiple tags' do
|
111
|
+
response = StackOverflow::Question.find_by_tags('gwt', 'google-app-engine')
|
112
|
+
|
113
|
+
questions = response.questions
|
114
|
+
questions.each do |question|
|
115
|
+
question.tags.should include 'gwt'
|
116
|
+
question.tags.should include 'google-app-engine'
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
120
|
+
it 'should get unanswered questions' do
|
121
|
+
response = StackOverflow::Question.unanswered
|
122
|
+
response.total.should == 110617
|
123
|
+
response.questions.size.should == response.pagesize
|
124
|
+
|
125
|
+
response.questions.first.id.should == 2965530
|
126
|
+
response.questions.first.tags.should == ['javascript', 'twitter', 'twitterapi']
|
127
|
+
end
|
63
128
|
end
|
@@ -2,10 +2,6 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe StackExchange::StackOverflow::Statistics do
|
4
4
|
|
5
|
-
before do
|
6
|
-
StackExchange::StackOverflow::Client.config
|
7
|
-
end
|
8
|
-
|
9
5
|
describe 'when querying for statistics' do
|
10
6
|
it "should return the stack overflow's statistics" do
|
11
7
|
response = StackOverflow::Statistics.all
|
data/spec/spec_helper.rb
CHANGED
@@ -46,3 +46,9 @@ register(:url => 'users/555/', :body => 'users_by_id')
|
|
46
46
|
register(:url => 'users/549/comments/', :body => 'comments_by_user_id')
|
47
47
|
register(:url => 'users/549/mentioned/', :body => 'comments_by_mentioned_user_id')
|
48
48
|
register(:url => 'users/77814/comments/549/', :body => 'comments_by_user_to_mentioned_user')
|
49
|
+
register(:url => 'users/549/favorites/', :body => 'favorite_questions_by_user_id')
|
50
|
+
register(:url => 'questions/?tagged=ruby', :body => 'questions_tagged_ruby')
|
51
|
+
register(:url => 'questions/?tagged=gwt+google-app-engine', :body => 'questions_tagged_gwt_and_googleappengine')
|
52
|
+
register(:url => 'questions/unanswered/', :body => 'questions_unanswered')
|
53
|
+
register(:url => 'tags/', :body => 'all_tags')
|
54
|
+
register(:url => 'users/549/tags/', :body => 'tags_by_user_id')
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
8
|
+
- 7
|
9
|
+
version: 0.1.7
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Dalto Curvelano Junior
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-
|
17
|
+
date: 2010-06-03 00:00:00 -03:00
|
18
18
|
default_executable:
|
19
19
|
dependencies: []
|
20
20
|
|
@@ -50,19 +50,30 @@ files:
|
|
50
50
|
- spec/fixtures/question_by_user_id.json.gz
|
51
51
|
- spec/fixtures/users_by_id.json
|
52
52
|
- spec/fixtures/badges.json
|
53
|
+
- spec/fixtures/questions_unanswered.json
|
54
|
+
- spec/fixtures/questions_tagged_ruby.json.gz
|
53
55
|
- spec/fixtures/comments_by_user_to_mentioned_user.json
|
54
56
|
- spec/fixtures/answer_with_comments.json
|
55
57
|
- spec/fixtures/answers_by_id.json.gz
|
58
|
+
- spec/fixtures/search_tagged_ruby_rails.json
|
56
59
|
- spec/fixtures/stats.json
|
57
60
|
- spec/fixtures/answer_with_comments.json.gz
|
61
|
+
- spec/fixtures/user_tags.json
|
58
62
|
- spec/fixtures/badges_name.json
|
59
63
|
- spec/fixtures/answers_by_question_id.json.gz
|
60
64
|
- spec/fixtures/badges_tag_based.json
|
61
65
|
- spec/fixtures/badges.json.gz
|
62
66
|
- spec/fixtures/comments.json
|
63
67
|
- spec/fixtures/question_by_id.json
|
68
|
+
- spec/fixtures/tags_by_user_id.json.gz
|
69
|
+
- spec/fixtures/search_intitle_ruby.json
|
64
70
|
- spec/fixtures/question_by_id_with_body.json.gz
|
71
|
+
- spec/fixtures/favorite_questions_by_user_id.json.gz
|
72
|
+
- spec/fixtures/questions_unanswered.json.gz
|
65
73
|
- spec/fixtures/question_by_id.json.gz
|
74
|
+
- spec/fixtures/revisions_by_id.json
|
75
|
+
- spec/fixtures/all_tags.json.gz
|
76
|
+
- spec/fixtures/questions_tagged_ruby.json
|
66
77
|
- spec/fixtures/comments_by_user_to_mentioned_user_id.json.gz
|
67
78
|
- spec/fixtures/answer_comments.json
|
68
79
|
- spec/fixtures/questions.json
|
@@ -74,18 +85,24 @@ files:
|
|
74
85
|
- spec/fixtures/users.json
|
75
86
|
- spec/fixtures/comments_by_mentioned_user_id.json.gz
|
76
87
|
- spec/fixtures/comments_by_user_id.json.gz
|
88
|
+
- spec/fixtures/questions_tagged_gwt_and_googleappengine.json
|
77
89
|
- spec/fixtures/users_answers.json
|
78
90
|
- spec/fixtures/questions_by_user_id.json.gz
|
79
91
|
- spec/fixtures/users_answers.json.gz
|
80
92
|
- spec/fixtures/badges_by_id.json
|
81
93
|
- spec/fixtures/comments_by_question_id.json
|
82
94
|
- spec/fixtures/badges_by_id.json.gz
|
95
|
+
- spec/fixtures/favorite_questions_by_user_id.json
|
83
96
|
- spec/fixtures/badges_tag_based.json.gz
|
97
|
+
- spec/fixtures/tags_by_user_id.json
|
84
98
|
- spec/fixtures/comments_by_user_id.json
|
99
|
+
- spec/fixtures/questions_tagged_gwt_and_googleappengine.json.gz
|
85
100
|
- spec/fixtures/questions.json.gz
|
86
101
|
- spec/fixtures/questions_by_user_id.json
|
87
102
|
- spec/fixtures/question_by_id_with_body.json
|
88
103
|
- spec/fixtures/answers_by_question_id.json
|
104
|
+
- spec/fixtures/post_comments.json
|
105
|
+
- spec/fixtures/all_tags.json
|
89
106
|
- spec/fixtures/questions.part
|
90
107
|
- spec/fixtures/comments_by_mentioned_user_id.json
|
91
108
|
- spec/fixtures/badges_by_id_page2.json.gz
|