drewolson-diggr 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,9 @@
1
+ === 0.1.6 / 2009-06-26
2
+
3
+ * 1 minor feature
4
+
5
+ * Added support for providing your own app key
6
+
1
7
  === 0.1.5 / 2009-06-25
2
8
 
3
9
  * 1 minor feature
@@ -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
@@ -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(Diggr::Constants::APP_KEY)}" + @options
69
+ @end_point + "?appkey=#{cleanse(@app_key)}" + @options
69
70
  end
70
71
  end
71
72
  end
@@ -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|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: drewolson-diggr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Drew Olson