drewolson-diggr 0.1.5 → 0.1.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.
- data/History.txt +6 -0
- data/lib/diggr/api.rb +5 -1
- data/lib/diggr/request.rb +3 -2
- data/test/test_request.rb +16 -15
- metadata +1 -1
data/History.txt
CHANGED
data/lib/diggr/api.rb
CHANGED
@@ -5,9 +5,13 @@ need { 'request' }
|
|
5
5
|
|
6
6
|
module Diggr
|
7
7
|
class API
|
8
|
+
def initialize(app_key = Diggr::Constants::APP_KEY)
|
9
|
+
@app_key = app_key
|
10
|
+
end
|
11
|
+
|
8
12
|
Diggr::Constants::VALID_ROOT_METHODS.each do |method|
|
9
13
|
define_method(method) do |*args|
|
10
|
-
request = Diggr::Request.new
|
14
|
+
request = Diggr::Request.new(@app_key)
|
11
15
|
request.send(method,*args)
|
12
16
|
end
|
13
17
|
end
|
data/lib/diggr/request.rb
CHANGED
@@ -10,9 +10,10 @@ module Diggr
|
|
10
10
|
class Request
|
11
11
|
include Enumerable
|
12
12
|
|
13
|
-
def initialize
|
13
|
+
def initialize(app_key)
|
14
14
|
@end_point = ''
|
15
15
|
@options = ''
|
16
|
+
@app_key = app_key
|
16
17
|
end
|
17
18
|
|
18
19
|
def options(params)
|
@@ -65,7 +66,7 @@ module Diggr
|
|
65
66
|
end
|
66
67
|
|
67
68
|
def path
|
68
|
-
@end_point + "?appkey=#{cleanse(
|
69
|
+
@end_point + "?appkey=#{cleanse(@app_key)}" + @options
|
69
70
|
end
|
70
71
|
end
|
71
72
|
end
|
data/test/test_request.rb
CHANGED
@@ -3,6 +3,7 @@ require 'test/unit'
|
|
3
3
|
require 'mocha'
|
4
4
|
require 'need'
|
5
5
|
need { '../lib/diggr/request' }
|
6
|
+
need { '../lib/diggr/constants' }
|
6
7
|
need { '../lib/diggr/response_classes/story' }
|
7
8
|
need { '../lib/diggr/constants' }
|
8
9
|
need { '../lib/diggr/json_parser' }
|
@@ -10,80 +11,80 @@ need { '../lib/diggr/json_parser' }
|
|
10
11
|
class TestRequest < Test::Unit::TestCase
|
11
12
|
def test_request_instantiation
|
12
13
|
assert_nothing_raised do
|
13
|
-
Diggr::Request.new
|
14
|
+
Diggr::Request.new(Diggr::Constants::APP_KEY)
|
14
15
|
end
|
15
16
|
end
|
16
17
|
|
17
18
|
def test_simple_end_point
|
18
|
-
request = Diggr::Request.new
|
19
|
+
request = Diggr::Request.new(Diggr::Constants::APP_KEY)
|
19
20
|
request.media
|
20
21
|
|
21
22
|
assert_equal '/media', request.send(:instance_variable_get,"@end_point")
|
22
23
|
end
|
23
24
|
|
24
25
|
def test_simple_end_point_with_args
|
25
|
-
request = Diggr::Request.new
|
26
|
+
request = Diggr::Request.new(Diggr::Constants::APP_KEY)
|
26
27
|
request.error('123')
|
27
28
|
|
28
29
|
assert_equal '/error/123', request.send(:instance_variable_get,"@end_point")
|
29
30
|
end
|
30
31
|
|
31
32
|
def test_complex_end_point
|
32
|
-
request = Diggr::Request.new
|
33
|
+
request = Diggr::Request.new(Diggr::Constants::APP_KEY)
|
33
34
|
request.stories.popular
|
34
35
|
|
35
36
|
assert_equal '/stories/popular', request.send(:instance_variable_get,"@end_point")
|
36
37
|
end
|
37
38
|
|
38
39
|
def test_complex_end_point_with_args
|
39
|
-
request = Diggr::Request.new
|
40
|
+
request = Diggr::Request.new(Diggr::Constants::APP_KEY)
|
40
41
|
request.stories.topic("technology").hot
|
41
42
|
|
42
43
|
assert_equal '/stories/topic/technology/hot', request.send(:instance_variable_get,"@end_point")
|
43
44
|
end
|
44
45
|
|
45
46
|
def test_request_with_options
|
46
|
-
request = Diggr::Request.new
|
47
|
+
request = Diggr::Request.new(Diggr::Constants::APP_KEY)
|
47
48
|
request.topics.options(:count => 5, :offset => 3)
|
48
49
|
|
49
50
|
assert_equal '&count=5&offset=3', request.send(:instance_variable_get,"@options")
|
50
51
|
end
|
51
52
|
|
52
53
|
def test_cleanse_string_with_forward_slash
|
53
|
-
request = Diggr::Request.new
|
54
|
+
request = Diggr::Request.new(Diggr::Constants::APP_KEY)
|
54
55
|
|
55
56
|
assert_equal '%2F', request.send(:cleanse,"/")
|
56
57
|
end
|
57
58
|
|
58
59
|
def test_cleanse_number
|
59
|
-
request = Diggr::Request.new
|
60
|
+
request = Diggr::Request.new(Diggr::Constants::APP_KEY)
|
60
61
|
|
61
62
|
assert_equal 2, request.send(:cleanse,2)
|
62
63
|
end
|
63
64
|
|
64
65
|
def test_simple_path
|
65
|
-
request = Diggr::Request.new
|
66
|
+
request = Diggr::Request.new(Diggr::Constants::APP_KEY)
|
66
67
|
request.stories
|
67
68
|
|
68
69
|
assert_equal '/stories?appkey=http%3A%2F%2Fdiggr.rubyforge.org', request.send(:path)
|
69
70
|
end
|
70
71
|
|
71
72
|
def test_simple_path_with_options
|
72
|
-
request = Diggr::Request.new
|
73
|
+
request = Diggr::Request.new(Diggr::Constants::APP_KEY)
|
73
74
|
request.stories.options(:count => 3)
|
74
75
|
|
75
76
|
assert_equal '/stories?appkey=http%3A%2F%2Fdiggr.rubyforge.org&count=3', request.send(:path)
|
76
77
|
end
|
77
78
|
|
78
79
|
def test_complex_path
|
79
|
-
request = Diggr::Request.new
|
80
|
+
request = Diggr::Request.new(Diggr::Constants::APP_KEY)
|
80
81
|
request.story(1).diggs
|
81
82
|
|
82
83
|
assert_equal '/story/1/diggs?appkey=http%3A%2F%2Fdiggr.rubyforge.org', request.send(:path)
|
83
84
|
end
|
84
85
|
|
85
86
|
def test_comma_seperated_args_product_correct_endpoint
|
86
|
-
request = Diggr::Request.new
|
87
|
+
request = Diggr::Request.new(Diggr::Constants::APP_KEY)
|
87
88
|
request.stories(1,2,3,4)
|
88
89
|
|
89
90
|
assert_equal '/stories/1,2,3,4', request.send(:instance_variable_get,"@end_point")
|
@@ -92,7 +93,7 @@ class TestRequest < Test::Unit::TestCase
|
|
92
93
|
def test_fetch
|
93
94
|
story = Diggr::Story.new
|
94
95
|
Diggr::JSONParser.any_instance.stubs(:parse).with(story).returns(story)
|
95
|
-
request = Diggr::Request.new
|
96
|
+
request = Diggr::Request.new(Diggr::Constants::APP_KEY)
|
96
97
|
request.stubs(:make_request).returns(story)
|
97
98
|
|
98
99
|
assert_equal story, request.fetch
|
@@ -101,7 +102,7 @@ class TestRequest < Test::Unit::TestCase
|
|
101
102
|
def test_each
|
102
103
|
stories = [Diggr::Story.new,Diggr::Story.new]
|
103
104
|
Diggr::JSONParser.any_instance.stubs(:parse).with(stories).returns(stories)
|
104
|
-
request = Diggr::Request.new
|
105
|
+
request = Diggr::Request.new(Diggr::Constants::APP_KEY)
|
105
106
|
request.stubs(:make_request).returns(stories)
|
106
107
|
|
107
108
|
request.each do |item|
|
@@ -112,7 +113,7 @@ class TestRequest < Test::Unit::TestCase
|
|
112
113
|
def test_each_with_singular_response
|
113
114
|
story = Diggr::Story.new
|
114
115
|
Diggr::JSONParser.any_instance.stubs(:parse).with(story).returns(story)
|
115
|
-
request = Diggr::Request.new
|
116
|
+
request = Diggr::Request.new(Diggr::Constants::APP_KEY)
|
116
117
|
request.stubs(:make_request).returns(story)
|
117
118
|
|
118
119
|
request.each do |item|
|