massdebator_api 0.0.3 → 0.0.5

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.
Files changed (56) hide show
  1. data/Gemfile +12 -1
  2. data/Gemfile.lock +94 -8
  3. data/Rakefile +3 -3
  4. data/VERSION +1 -1
  5. data/config/masdebator.yml +0 -0
  6. data/config/massdebator.yml +8 -0
  7. data/lib/massdebator_api.rb +4 -0
  8. data/lib/massdebator_api/debate.rb +5 -0
  9. data/lib/massdebator_api/service.rb +94 -73
  10. data/massdebator_api.gemspec +62 -13
  11. data/pkg/massdebator_api-0.0.4.gem +0 -0
  12. data/spec/massdebator_api/debate_spec.rb +22 -0
  13. data/spec/massdebator_api/service_spec.rb +46 -0
  14. data/spec/spec_helper.rb +7 -1
  15. data/vendor/cache/abstract-1.0.0.gem +0 -0
  16. data/vendor/cache/actionmailer-3.0.7.gem +0 -0
  17. data/vendor/cache/actionpack-3.0.7.gem +0 -0
  18. data/vendor/cache/activemodel-3.0.7.gem +0 -0
  19. data/vendor/cache/activerecord-3.0.7.gem +0 -0
  20. data/vendor/cache/activeresource-3.0.7.gem +0 -0
  21. data/vendor/cache/activesupport-3.0.7.gem +0 -0
  22. data/vendor/cache/arel-2.0.9.gem +0 -0
  23. data/vendor/cache/builder-2.1.2.gem +0 -0
  24. data/vendor/cache/columnize-0.3.2.gem +0 -0
  25. data/vendor/cache/diff-lcs-1.1.2.gem +0 -0
  26. data/vendor/cache/erubis-2.6.6.gem +0 -0
  27. data/vendor/cache/factory_girl-1.3.3.gem +0 -0
  28. data/vendor/cache/factory_girl_rails-1.0.1.gem +0 -0
  29. data/vendor/cache/git-1.2.5.gem +0 -0
  30. data/vendor/cache/i18n-0.5.0.gem +0 -0
  31. data/vendor/cache/jeweler-1.5.2.gem +0 -0
  32. data/vendor/cache/linecache-0.43.gem +0 -0
  33. data/vendor/cache/mail-2.2.17.gem +0 -0
  34. data/vendor/cache/mime-types-1.16.gem +0 -0
  35. data/vendor/cache/mocha-0.9.8.gem +0 -0
  36. data/vendor/cache/polyglot-0.3.1.gem +0 -0
  37. data/vendor/cache/rack-1.2.2.gem +0 -0
  38. data/vendor/cache/rack-mount-0.6.14.gem +0 -0
  39. data/vendor/cache/rack-test-0.5.7.gem +0 -0
  40. data/vendor/cache/rails-3.0.7.gem +0 -0
  41. data/vendor/cache/railties-3.0.7.gem +0 -0
  42. data/vendor/cache/rake-0.8.7.gem +0 -0
  43. data/vendor/cache/rcov-0.9.9.gem +0 -0
  44. data/vendor/cache/rspec-2.5.0.gem +0 -0
  45. data/vendor/cache/rspec-core-2.5.1.gem +0 -0
  46. data/vendor/cache/rspec-expectations-2.5.0.gem +0 -0
  47. data/vendor/cache/rspec-mocks-2.5.0.gem +0 -0
  48. data/vendor/cache/rspec-rails-2.5.0.gem +0 -0
  49. data/vendor/cache/ruby-debug-0.10.4.gem +0 -0
  50. data/vendor/cache/ruby-debug-base-0.10.4.gem +0 -0
  51. data/vendor/cache/shoulda-2.11.3.gem +0 -0
  52. data/vendor/cache/thor-0.14.6.gem +0 -0
  53. data/vendor/cache/treetop-1.4.9.gem +0 -0
  54. data/vendor/cache/tzinfo-0.3.26.gem +0 -0
  55. metadata +86 -41
  56. data/spec/massdebator_api_spec.rb +0 -7
data/Gemfile CHANGED
@@ -5,9 +5,20 @@ source "http://rubygems.org"
5
5
 
6
6
  # Add dependencies to develop your gem here.
7
7
  # Include everything needed to run rake, tests, features, etc.
8
+ gem 'rails'
9
+
8
10
  group :development do
9
- gem "rspec", "~> 2.3.0"
11
+ gem 'rspec-rails', '2.5.0'
10
12
  gem "bundler", "~> 1.0.0"
11
13
  gem "jeweler", "~> 1.5.2"
12
14
  gem "rcov", ">= 0"
13
15
  end
16
+
17
+ group :test do
18
+ gem 'rspec', '2.5.0'
19
+ gem 'shoulda', '2.11.3'
20
+ gem 'factory_girl_rails', '1.0.1'
21
+ gem "mocha"
22
+ gem 'ruby-debug'
23
+ end
24
+
data/Gemfile.lock CHANGED
@@ -1,28 +1,114 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
+ abstract (1.0.0)
5
+ actionmailer (3.0.7)
6
+ actionpack (= 3.0.7)
7
+ mail (~> 2.2.15)
8
+ actionpack (3.0.7)
9
+ activemodel (= 3.0.7)
10
+ activesupport (= 3.0.7)
11
+ builder (~> 2.1.2)
12
+ erubis (~> 2.6.6)
13
+ i18n (~> 0.5.0)
14
+ rack (~> 1.2.1)
15
+ rack-mount (~> 0.6.14)
16
+ rack-test (~> 0.5.7)
17
+ tzinfo (~> 0.3.23)
18
+ activemodel (3.0.7)
19
+ activesupport (= 3.0.7)
20
+ builder (~> 2.1.2)
21
+ i18n (~> 0.5.0)
22
+ activerecord (3.0.7)
23
+ activemodel (= 3.0.7)
24
+ activesupport (= 3.0.7)
25
+ arel (~> 2.0.2)
26
+ tzinfo (~> 0.3.23)
27
+ activeresource (3.0.7)
28
+ activemodel (= 3.0.7)
29
+ activesupport (= 3.0.7)
30
+ activesupport (3.0.7)
31
+ arel (2.0.9)
32
+ builder (2.1.2)
33
+ columnize (0.3.2)
4
34
  diff-lcs (1.1.2)
35
+ erubis (2.6.6)
36
+ abstract (>= 1.0.0)
37
+ factory_girl (1.3.3)
38
+ factory_girl_rails (1.0.1)
39
+ factory_girl (~> 1.3)
40
+ railties (>= 3.0.0)
5
41
  git (1.2.5)
42
+ i18n (0.5.0)
6
43
  jeweler (1.5.2)
7
44
  bundler (~> 1.0.0)
8
45
  git (>= 1.2.5)
9
46
  rake
47
+ linecache (0.43)
48
+ mail (2.2.17)
49
+ activesupport (>= 2.3.6)
50
+ i18n (>= 0.4.0)
51
+ mime-types (~> 1.16)
52
+ treetop (~> 1.4.8)
53
+ mime-types (1.16)
54
+ mocha (0.9.8)
55
+ rake
56
+ polyglot (0.3.1)
57
+ rack (1.2.2)
58
+ rack-mount (0.6.14)
59
+ rack (>= 1.0.0)
60
+ rack-test (0.5.7)
61
+ rack (>= 1.0)
62
+ rails (3.0.7)
63
+ actionmailer (= 3.0.7)
64
+ actionpack (= 3.0.7)
65
+ activerecord (= 3.0.7)
66
+ activeresource (= 3.0.7)
67
+ activesupport (= 3.0.7)
68
+ bundler (~> 1.0)
69
+ railties (= 3.0.7)
70
+ railties (3.0.7)
71
+ actionpack (= 3.0.7)
72
+ activesupport (= 3.0.7)
73
+ rake (>= 0.8.7)
74
+ thor (~> 0.14.4)
10
75
  rake (0.8.7)
11
76
  rcov (0.9.9)
12
- rspec (2.3.0)
13
- rspec-core (~> 2.3.0)
14
- rspec-expectations (~> 2.3.0)
15
- rspec-mocks (~> 2.3.0)
16
- rspec-core (2.3.1)
17
- rspec-expectations (2.3.0)
77
+ rspec (2.5.0)
78
+ rspec-core (~> 2.5.0)
79
+ rspec-expectations (~> 2.5.0)
80
+ rspec-mocks (~> 2.5.0)
81
+ rspec-core (2.5.1)
82
+ rspec-expectations (2.5.0)
18
83
  diff-lcs (~> 1.1.2)
19
- rspec-mocks (2.3.0)
84
+ rspec-mocks (2.5.0)
85
+ rspec-rails (2.5.0)
86
+ actionpack (~> 3.0)
87
+ activesupport (~> 3.0)
88
+ railties (~> 3.0)
89
+ rspec (~> 2.5.0)
90
+ ruby-debug (0.10.4)
91
+ columnize (>= 0.1)
92
+ ruby-debug-base (~> 0.10.4.0)
93
+ ruby-debug-base (0.10.4)
94
+ linecache (>= 0.3)
95
+ shoulda (2.11.3)
96
+ thor (0.14.6)
97
+ treetop (1.4.9)
98
+ polyglot (>= 0.3.1)
99
+ tzinfo (0.3.26)
20
100
 
21
101
  PLATFORMS
22
102
  ruby
23
103
 
24
104
  DEPENDENCIES
25
105
  bundler (~> 1.0.0)
106
+ factory_girl_rails (= 1.0.1)
26
107
  jeweler (~> 1.5.2)
108
+ mocha
109
+ rails
27
110
  rcov
28
- rspec (~> 2.3.0)
111
+ rspec (= 2.5.0)
112
+ rspec-rails (= 2.5.0)
113
+ ruby-debug
114
+ shoulda (= 2.11.3)
data/Rakefile CHANGED
@@ -13,12 +13,12 @@ require 'jeweler'
13
13
  Jeweler::Tasks.new do |gem|
14
14
  # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
15
15
  gem.name = "massdebator_api"
16
- gem.homepage = "http://github.com/railzbiz/massdebator_api"
16
+ gem.homepage = "http://github.com/cmavromoustakos/massdebator_api"
17
17
  gem.license = "MIT"
18
18
  gem.summary = %Q{Massdebator API gem}
19
- gem.description = %Q{Massdebator API create and manage debates on massdebator.com}
19
+ gem.description = %Q{Massdebator api gem. Connect to the massdebator API and create and manage debates for your organization}
20
20
  gem.email = "c4-enterprise@googlegroups.com"
21
- gem.authors = ["Railzbiz"]
21
+ gem.authors = ["Constantine Mavromoustakos"]
22
22
  # Include your dependencies below. Runtime dependencies are required when using your gem,
23
23
  # and development dependencies are only needed for development (ie running rake tasks, tests, etc)
24
24
  # gem.add_runtime_dependency 'jabber4r', '> 0.1'
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.3
1
+ 0.0.5
File without changes
@@ -0,0 +1,8 @@
1
+ development: &development
2
+ host: massdebator.local
3
+ token: 'abc123'
4
+ secret: 'def456'
5
+ port: 80
6
+
7
+ test:
8
+ <<: *development
@@ -1 +1,5 @@
1
+ require 'rails'
2
+ require 'active_resource'
3
+
1
4
  require 'massdebator_api/service'
5
+ require 'massdebator_api/debate'
@@ -0,0 +1,5 @@
1
+ module MassdebatorApi
2
+ class Debate < Service
3
+
4
+ end
5
+ end
@@ -1,7 +1,7 @@
1
1
  module MassdebatorApi
2
- mattr_accesor :config_hash
2
+ class Service < ActiveResource::Base
3
+ mattr_accessor :config_hash
3
4
 
4
- class Service
5
5
  def self.base_path
6
6
  "/api/v1"
7
7
  end
@@ -11,7 +11,11 @@ module MassdebatorApi
11
11
  end
12
12
 
13
13
  def self.configuration_hash
14
- @@config_hash ||= YAML.load_file("#{Rails.root}/config/massdebator.yml")
14
+ if Rails.root
15
+ @@config_hash ||= YAML.load_file("#{Rails.root}/config/massdebator.yml")
16
+ else
17
+ @@config_hash ||= YAML.load_file("config/massdebator.yml")
18
+ end
15
19
  end
16
20
 
17
21
  def self.host
@@ -30,77 +34,94 @@ module MassdebatorApi
30
34
  self.configuration_hash[Rails.env]['port']
31
35
  end
32
36
 
33
- private
34
-
35
- def self.get(path, options = {})
36
- response = request(:get, path, options)
37
- JSON.parse(response.body)
38
- rescue JSON::JSONError
39
- {}
40
- end
41
-
42
- def self.post(path, options = {})
43
- request(:post, path, options)
44
- end
45
-
46
- def self.put(path, options = {})
47
- request(:put, path, options)
48
- end
49
-
50
- def self.delete(path, options = {})
51
- request(:delete, path, options)
52
- end
53
-
54
- def self.post_with_response(*args)
55
- response = post(*args)
56
- JSON.parse(response.body)
57
- rescue JSON::JSONError
58
- {}
59
- end
60
-
61
- def self.put_with_response(*args)
62
- response = put(*args)
63
- JSON.parse(response.body)
64
- rescue JSON::JSONError
65
- {}
66
- end
67
-
68
- def self.request(http_verb, path, options = {})
69
- verb_type = case http_verb.to_sym
70
- when :get then Net::HTTP::Get
71
- when :post then Net::HTTP::Post
72
- when :put then Net::HTTP::Put
73
- when :delete then Net::HTTP::Delete
74
- end
75
-
76
- request_path = "#{self.base_path}#{path}"
77
- request_body = nil
78
-
79
- if verb_type == Net::HTTP::Get
80
- query = options.to_query
81
- request_path += "?#{query}" if query.present?
82
- else
83
- request_body = options.to_json
37
+ self.site = self.base_uri
38
+ MassdebatorApi::Service.headers['massdebator-token'] = token
39
+ MassdebatorApi::Service.headers['massdebator-secret'] = secret
40
+ self.format = :json
41
+
42
+ class << self
43
+ # If headers are not defined in a given subclass, then obtain
44
+ # headers from the superclass.
45
+ def headers
46
+ if defined?(@headers)
47
+ @headers
48
+ elsif superclass != Object && superclass.headers
49
+ superclass.headers
50
+ end
84
51
  end
85
-
86
- response = Net::HTTP.start(self.host, self.port || 80) do |http|
87
- http_req = verb_type.new(request_path)
88
-
89
- http_req.add_field "Content-Length", request_body.size if request_body
90
- http_req.add_field "Content-Type", "application/json"
91
- http_req.add_field "massdebator-token", self.token
92
- http_req.add_field "massdebator-secret", self.secret
93
-
94
- http.request(http_req, request_body)
95
- end
96
-
97
- if [Net::HTTPClientError, Net::HTTPServerError].any? {|resp| response.is_a?(resp) }
98
- message = %{Error communicating with Massdebator (#{response.code}): #{request_path}}
99
- exception = Net::HTTPBadResponse.new(message)
100
- raise exception
101
- end
102
-
103
- response
104
52
  end
53
+
54
+ # private
55
+ #
56
+ # def self.get(path, options = {})
57
+ # response = request(:get, path, options)
58
+ # JSON.parse(response.body)
59
+ # rescue JSON::JSONError
60
+ # {}
61
+ # end
62
+ #
63
+ # def self.post(path, options = {})
64
+ # request(:post, path, options)
65
+ # end
66
+ #
67
+ # def self.put(path, options = {})
68
+ # request(:put, path, options)
69
+ # end
70
+ #
71
+ # def self.delete(path, options = {})
72
+ # request(:delete, path, options)
73
+ # end
74
+ #
75
+ # def self.post_with_response(*args)
76
+ # response = post(*args)
77
+ # JSON.parse(response.body)
78
+ # rescue JSON::JSONError
79
+ # {}
80
+ # end
81
+ #
82
+ # def self.put_with_response(*args)
83
+ # response = put(*args)
84
+ # JSON.parse(response.body)
85
+ # rescue JSON::JSONError
86
+ # {}
87
+ # end
88
+ #
89
+ # def self.request(http_verb, path, options = {})
90
+ # verb_type = case http_verb.to_sym
91
+ # when :get then Net::HTTP::Get
92
+ # when :post then Net::HTTP::Post
93
+ # when :put then Net::HTTP::Put
94
+ # when :delete then Net::HTTP::Delete
95
+ # end
96
+ #
97
+ # request_path = "#{self.base_path}#{path}"
98
+ # request_body = nil
99
+ #
100
+ # if verb_type == Net::HTTP::Get
101
+ # query = options.to_query
102
+ # request_path += "?#{query}" if query.present?
103
+ # else
104
+ # request_body = options.to_json
105
+ # end
106
+ #
107
+ # response = Net::HTTP.start(self.host, self.port || 80) do |http|
108
+ # http_req = verb_type.new(request_path)
109
+ #
110
+ # http_req.add_field "Content-Length", request_body.size if request_body
111
+ # http_req.add_field "Content-Type", "application/json"
112
+ # http_req.add_field "massdebator-token", self.token
113
+ # http_req.add_field "massdebator-secret", self.secret
114
+ #
115
+ # http.request(http_req, request_body)
116
+ # end
117
+ #
118
+ # if [Net::HTTPClientError, Net::HTTPServerError].any? {|resp| response.is_a?(resp) }
119
+ # message = %{Error communicating with Massdebator (#{response.code}): #{request_path}}
120
+ # exception = Net::HTTPBadResponse.new(message)
121
+ # raise exception
122
+ # end
123
+ #
124
+ # response
125
+ # end
105
126
  end
106
127
  end
@@ -5,12 +5,12 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{massdebator_api}
8
- s.version = "0.0.3"
8
+ s.version = "0.0.5"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Railzbiz"]
12
- s.date = %q{2011-04-18}
13
- s.description = %q{Massdebator API create and manage debates on massdebator.com}
11
+ s.authors = ["Constantine Mavromoustakos"]
12
+ s.date = %q{2011-04-23}
13
+ s.description = %q{Massdebator api gem. Connect to the massdebator API and create and manage debates for your organization}
14
14
  s.email = %q{c4-enterprise@googlegroups.com}
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE.txt",
@@ -25,19 +25,65 @@ Gem::Specification.new do |s|
25
25
  "README.rdoc",
26
26
  "Rakefile",
27
27
  "VERSION",
28
+ "config/masdebator.yml",
29
+ "config/massdebator.yml",
28
30
  "lib/massdebator_api.rb",
31
+ "lib/massdebator_api/debate.rb",
29
32
  "lib/massdebator_api/service.rb",
30
33
  "massdebator_api.gemspec",
31
- "spec/massdebator_api_spec.rb",
32
- "spec/spec_helper.rb"
34
+ "pkg/massdebator_api-0.0.4.gem",
35
+ "spec/massdebator_api/debate_spec.rb",
36
+ "spec/massdebator_api/service_spec.rb",
37
+ "spec/spec_helper.rb",
38
+ "vendor/cache/abstract-1.0.0.gem",
39
+ "vendor/cache/actionmailer-3.0.7.gem",
40
+ "vendor/cache/actionpack-3.0.7.gem",
41
+ "vendor/cache/activemodel-3.0.7.gem",
42
+ "vendor/cache/activerecord-3.0.7.gem",
43
+ "vendor/cache/activeresource-3.0.7.gem",
44
+ "vendor/cache/activesupport-3.0.7.gem",
45
+ "vendor/cache/arel-2.0.9.gem",
46
+ "vendor/cache/builder-2.1.2.gem",
47
+ "vendor/cache/columnize-0.3.2.gem",
48
+ "vendor/cache/diff-lcs-1.1.2.gem",
49
+ "vendor/cache/erubis-2.6.6.gem",
50
+ "vendor/cache/factory_girl-1.3.3.gem",
51
+ "vendor/cache/factory_girl_rails-1.0.1.gem",
52
+ "vendor/cache/git-1.2.5.gem",
53
+ "vendor/cache/i18n-0.5.0.gem",
54
+ "vendor/cache/jeweler-1.5.2.gem",
55
+ "vendor/cache/linecache-0.43.gem",
56
+ "vendor/cache/mail-2.2.17.gem",
57
+ "vendor/cache/mime-types-1.16.gem",
58
+ "vendor/cache/mocha-0.9.8.gem",
59
+ "vendor/cache/polyglot-0.3.1.gem",
60
+ "vendor/cache/rack-1.2.2.gem",
61
+ "vendor/cache/rack-mount-0.6.14.gem",
62
+ "vendor/cache/rack-test-0.5.7.gem",
63
+ "vendor/cache/rails-3.0.7.gem",
64
+ "vendor/cache/railties-3.0.7.gem",
65
+ "vendor/cache/rake-0.8.7.gem",
66
+ "vendor/cache/rcov-0.9.9.gem",
67
+ "vendor/cache/rspec-2.5.0.gem",
68
+ "vendor/cache/rspec-core-2.5.1.gem",
69
+ "vendor/cache/rspec-expectations-2.5.0.gem",
70
+ "vendor/cache/rspec-mocks-2.5.0.gem",
71
+ "vendor/cache/rspec-rails-2.5.0.gem",
72
+ "vendor/cache/ruby-debug-0.10.4.gem",
73
+ "vendor/cache/ruby-debug-base-0.10.4.gem",
74
+ "vendor/cache/shoulda-2.11.3.gem",
75
+ "vendor/cache/thor-0.14.6.gem",
76
+ "vendor/cache/treetop-1.4.9.gem",
77
+ "vendor/cache/tzinfo-0.3.26.gem"
33
78
  ]
34
- s.homepage = %q{http://github.com/railzbiz/massdebator_api}
79
+ s.homepage = %q{http://github.com/cmavromoustakos/massdebator_api}
35
80
  s.licenses = ["MIT"]
36
81
  s.require_paths = ["lib"]
37
- s.rubygems_version = %q{1.3.7}
82
+ s.rubygems_version = %q{1.3.6}
38
83
  s.summary = %q{Massdebator API gem}
39
84
  s.test_files = [
40
- "spec/massdebator_api_spec.rb",
85
+ "spec/massdebator_api/debate_spec.rb",
86
+ "spec/massdebator_api/service_spec.rb",
41
87
  "spec/spec_helper.rb"
42
88
  ]
43
89
 
@@ -45,19 +91,22 @@ Gem::Specification.new do |s|
45
91
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
46
92
  s.specification_version = 3
47
93
 
48
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
49
- s.add_development_dependency(%q<rspec>, ["~> 2.3.0"])
94
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
95
+ s.add_runtime_dependency(%q<rails>, [">= 0"])
96
+ s.add_development_dependency(%q<rspec-rails>, ["= 2.5.0"])
50
97
  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
51
98
  s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
52
99
  s.add_development_dependency(%q<rcov>, [">= 0"])
53
100
  else
54
- s.add_dependency(%q<rspec>, ["~> 2.3.0"])
101
+ s.add_dependency(%q<rails>, [">= 0"])
102
+ s.add_dependency(%q<rspec-rails>, ["= 2.5.0"])
55
103
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
56
104
  s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
57
105
  s.add_dependency(%q<rcov>, [">= 0"])
58
106
  end
59
107
  else
60
- s.add_dependency(%q<rspec>, ["~> 2.3.0"])
108
+ s.add_dependency(%q<rails>, [">= 0"])
109
+ s.add_dependency(%q<rspec-rails>, ["= 2.5.0"])
61
110
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
62
111
  s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
63
112
  s.add_dependency(%q<rcov>, [">= 0"])
Binary file
@@ -0,0 +1,22 @@
1
+ require 'spec_helper'
2
+
3
+ describe MassdebatorApi::Debate, "class defaults" do
4
+ subject { MassdebatorApi::Debate}
5
+ let(:config_hash) do
6
+ {
7
+ "test" => {
8
+ "host" => "localhost",
9
+ "port" => 80,
10
+ "token" => "abc123",
11
+ "secret" => "def456"
12
+ }
13
+ }
14
+ end
15
+
16
+ it "returns the headers" do
17
+ subject.headers.should == {
18
+ "massdebator-token" => config_hash['test']['token'],
19
+ "massdebator-secret" => config_hash['test']['secret']
20
+ }
21
+ end
22
+ end
@@ -0,0 +1,46 @@
1
+ require 'spec_helper'
2
+
3
+ describe MassdebatorApi::Service, "class defaults" do
4
+ subject { MassdebatorApi::Service }
5
+ let(:config_hash) do
6
+ {
7
+ "test" => {
8
+ "host" => "localhost",
9
+ "port" => 80,
10
+ "token" => "abc123",
11
+ "secret" => "def456"
12
+ }
13
+ }
14
+ end
15
+
16
+ before do
17
+ MassdebatorApi::Service.stubs(:configuration_hash => config_hash)
18
+ end
19
+
20
+ it "returns the correct path for the api" do
21
+ subject.base_path.should == "/api/v1"
22
+ end
23
+
24
+ it "returns the base uri" do
25
+ subject.base_uri.should == "http://#{config_hash['test']['host']}#{subject.base_path}"
26
+ end
27
+
28
+ it "returns the token" do
29
+ subject.token.should == config_hash['test']['token']
30
+ end
31
+
32
+ it "returns the secret" do
33
+ subject.secret.should == config_hash['test']['secret']
34
+ end
35
+
36
+ it "returns the port" do
37
+ subject.port.should == config_hash['test']['port']
38
+ end
39
+
40
+ it "returns the headers" do
41
+ subject.headers.should == {
42
+ "massdebator-token" => config_hash['test']['token'],
43
+ "massdebator-secret" => config_hash['test']['secret']
44
+ }
45
+ end
46
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,12 +1,18 @@
1
+ ENV["RAILS_ENV"] ||= 'test'
2
+
1
3
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
4
  $LOAD_PATH.unshift(File.dirname(__FILE__))
5
+
3
6
  require 'rspec'
4
7
  require 'massdebator_api'
8
+ require 'shoulda'
9
+ require 'shoulda/integrations/rspec'
10
+ require 'factory_girl'
5
11
 
6
12
  # Requires supporting files with custom matchers and macros, etc,
7
13
  # in ./support/ and its subdirectories.
8
14
  Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
9
15
 
10
16
  RSpec.configure do |config|
11
-
17
+ config.mock_with :mocha
12
18
  end
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
metadata CHANGED
@@ -1,86 +1,89 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: massdebator_api
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
5
4
  prerelease: false
6
5
  segments:
7
6
  - 0
8
7
  - 0
9
- - 3
10
- version: 0.0.3
8
+ - 5
9
+ version: 0.0.5
11
10
  platform: ruby
12
11
  authors:
13
- - Railzbiz
12
+ - Constantine Mavromoustakos
14
13
  autorequire:
15
14
  bindir: bin
16
15
  cert_chain: []
17
16
 
18
- date: 2011-04-18 00:00:00 -04:00
17
+ date: 2011-04-23 00:00:00 -04:00
19
18
  default_executable:
20
19
  dependencies:
21
20
  - !ruby/object:Gem::Dependency
21
+ requirement: &id001 !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - ">="
24
+ - !ruby/object:Gem::Version
25
+ segments:
26
+ - 0
27
+ version: "0"
22
28
  prerelease: false
23
- type: :development
24
- name: rspec
25
- version_requirements: &id001 !ruby/object:Gem::Requirement
26
- none: false
29
+ type: :runtime
30
+ name: rails
31
+ version_requirements: *id001
32
+ - !ruby/object:Gem::Dependency
33
+ requirement: &id002 !ruby/object:Gem::Requirement
27
34
  requirements:
28
- - - ~>
35
+ - - "="
29
36
  - !ruby/object:Gem::Version
30
- hash: 3
31
37
  segments:
32
38
  - 2
33
- - 3
39
+ - 5
34
40
  - 0
35
- version: 2.3.0
36
- requirement: *id001
37
- - !ruby/object:Gem::Dependency
41
+ version: 2.5.0
38
42
  prerelease: false
39
43
  type: :development
40
- name: bundler
41
- version_requirements: &id002 !ruby/object:Gem::Requirement
42
- none: false
44
+ name: rspec-rails
45
+ version_requirements: *id002
46
+ - !ruby/object:Gem::Dependency
47
+ requirement: &id003 !ruby/object:Gem::Requirement
43
48
  requirements:
44
49
  - - ~>
45
50
  - !ruby/object:Gem::Version
46
- hash: 23
47
51
  segments:
48
52
  - 1
49
53
  - 0
50
54
  - 0
51
55
  version: 1.0.0
52
- requirement: *id002
53
- - !ruby/object:Gem::Dependency
54
56
  prerelease: false
55
57
  type: :development
56
- name: jeweler
57
- version_requirements: &id003 !ruby/object:Gem::Requirement
58
- none: false
58
+ name: bundler
59
+ version_requirements: *id003
60
+ - !ruby/object:Gem::Dependency
61
+ requirement: &id004 !ruby/object:Gem::Requirement
59
62
  requirements:
60
63
  - - ~>
61
64
  - !ruby/object:Gem::Version
62
- hash: 7
63
65
  segments:
64
66
  - 1
65
67
  - 5
66
68
  - 2
67
69
  version: 1.5.2
68
- requirement: *id003
69
- - !ruby/object:Gem::Dependency
70
70
  prerelease: false
71
71
  type: :development
72
- name: rcov
73
- version_requirements: &id004 !ruby/object:Gem::Requirement
74
- none: false
72
+ name: jeweler
73
+ version_requirements: *id004
74
+ - !ruby/object:Gem::Dependency
75
+ requirement: &id005 !ruby/object:Gem::Requirement
75
76
  requirements:
76
77
  - - ">="
77
78
  - !ruby/object:Gem::Version
78
- hash: 3
79
79
  segments:
80
80
  - 0
81
81
  version: "0"
82
- requirement: *id004
83
- description: Massdebator API create and manage debates on massdebator.com
82
+ prerelease: false
83
+ type: :development
84
+ name: rcov
85
+ version_requirements: *id005
86
+ description: Massdebator api gem. Connect to the massdebator API and create and manage debates for your organization
84
87
  email: c4-enterprise@googlegroups.com
85
88
  executables: []
86
89
 
@@ -98,13 +101,58 @@ files:
98
101
  - README.rdoc
99
102
  - Rakefile
100
103
  - VERSION
104
+ - config/masdebator.yml
105
+ - config/massdebator.yml
101
106
  - lib/massdebator_api.rb
107
+ - lib/massdebator_api/debate.rb
102
108
  - lib/massdebator_api/service.rb
103
109
  - massdebator_api.gemspec
104
- - spec/massdebator_api_spec.rb
110
+ - pkg/massdebator_api-0.0.4.gem
111
+ - spec/massdebator_api/debate_spec.rb
112
+ - spec/massdebator_api/service_spec.rb
105
113
  - spec/spec_helper.rb
114
+ - vendor/cache/abstract-1.0.0.gem
115
+ - vendor/cache/actionmailer-3.0.7.gem
116
+ - vendor/cache/actionpack-3.0.7.gem
117
+ - vendor/cache/activemodel-3.0.7.gem
118
+ - vendor/cache/activerecord-3.0.7.gem
119
+ - vendor/cache/activeresource-3.0.7.gem
120
+ - vendor/cache/activesupport-3.0.7.gem
121
+ - vendor/cache/arel-2.0.9.gem
122
+ - vendor/cache/builder-2.1.2.gem
123
+ - vendor/cache/columnize-0.3.2.gem
124
+ - vendor/cache/diff-lcs-1.1.2.gem
125
+ - vendor/cache/erubis-2.6.6.gem
126
+ - vendor/cache/factory_girl-1.3.3.gem
127
+ - vendor/cache/factory_girl_rails-1.0.1.gem
128
+ - vendor/cache/git-1.2.5.gem
129
+ - vendor/cache/i18n-0.5.0.gem
130
+ - vendor/cache/jeweler-1.5.2.gem
131
+ - vendor/cache/linecache-0.43.gem
132
+ - vendor/cache/mail-2.2.17.gem
133
+ - vendor/cache/mime-types-1.16.gem
134
+ - vendor/cache/mocha-0.9.8.gem
135
+ - vendor/cache/polyglot-0.3.1.gem
136
+ - vendor/cache/rack-1.2.2.gem
137
+ - vendor/cache/rack-mount-0.6.14.gem
138
+ - vendor/cache/rack-test-0.5.7.gem
139
+ - vendor/cache/rails-3.0.7.gem
140
+ - vendor/cache/railties-3.0.7.gem
141
+ - vendor/cache/rake-0.8.7.gem
142
+ - vendor/cache/rcov-0.9.9.gem
143
+ - vendor/cache/rspec-2.5.0.gem
144
+ - vendor/cache/rspec-core-2.5.1.gem
145
+ - vendor/cache/rspec-expectations-2.5.0.gem
146
+ - vendor/cache/rspec-mocks-2.5.0.gem
147
+ - vendor/cache/rspec-rails-2.5.0.gem
148
+ - vendor/cache/ruby-debug-0.10.4.gem
149
+ - vendor/cache/ruby-debug-base-0.10.4.gem
150
+ - vendor/cache/shoulda-2.11.3.gem
151
+ - vendor/cache/thor-0.14.6.gem
152
+ - vendor/cache/treetop-1.4.9.gem
153
+ - vendor/cache/tzinfo-0.3.26.gem
106
154
  has_rdoc: true
107
- homepage: http://github.com/railzbiz/massdebator_api
155
+ homepage: http://github.com/cmavromoustakos/massdebator_api
108
156
  licenses:
109
157
  - MIT
110
158
  post_install_message:
@@ -113,30 +161,27 @@ rdoc_options: []
113
161
  require_paths:
114
162
  - lib
115
163
  required_ruby_version: !ruby/object:Gem::Requirement
116
- none: false
117
164
  requirements:
118
165
  - - ">="
119
166
  - !ruby/object:Gem::Version
120
- hash: 3
121
167
  segments:
122
168
  - 0
123
169
  version: "0"
124
170
  required_rubygems_version: !ruby/object:Gem::Requirement
125
- none: false
126
171
  requirements:
127
172
  - - ">="
128
173
  - !ruby/object:Gem::Version
129
- hash: 3
130
174
  segments:
131
175
  - 0
132
176
  version: "0"
133
177
  requirements: []
134
178
 
135
179
  rubyforge_project:
136
- rubygems_version: 1.3.7
180
+ rubygems_version: 1.3.6
137
181
  signing_key:
138
182
  specification_version: 3
139
183
  summary: Massdebator API gem
140
184
  test_files:
141
- - spec/massdebator_api_spec.rb
185
+ - spec/massdebator_api/debate_spec.rb
186
+ - spec/massdebator_api/service_spec.rb
142
187
  - spec/spec_helper.rb
@@ -1,7 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
-
3
- describe "MassdebatorApi" do
4
- it "fails" do
5
- fail "hey buddy, you should probably rename this file and start specing for real"
6
- end
7
- end