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.
@@ -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