Skip to content

Commit a8d36ad

Browse files
author
Michael Bleigh
committed
Updating gemspec and such.
1 parent 9f62410 commit a8d36ad

File tree

3 files changed

+41
-8
lines changed

3 files changed

+41
-8
lines changed

grape.gemspec

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55

66
Gem::Specification.new do |s|
77
s.name = %q{grape}
8-
s.version = "0.0.0.alpha.2"
8+
s.version = "0.0.0.beta.1"
99

1010
s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
1111
s.authors = ["Michael Bleigh"]
12-
s.date = %q{2010-08-30}
12+
s.date = %q{2010-11-11}
1313
s.description = %q{A Ruby framework for rapid API development with great conventions.}
1414
s.email = %q{[email protected]}
1515
s.extra_rdoc_files = [
@@ -30,18 +30,25 @@ Gem::Specification.new do |s|
3030
"autotest/discover.rb",
3131
"grape.gemspec",
3232
"lib/grape.rb",
33+
"lib/grape/api.rb",
34+
"lib/grape/endpoint.rb",
35+
"lib/grape/middleware/auth/basic.rb",
3336
"lib/grape/middleware/auth/oauth2.rb",
3437
"lib/grape/middleware/base.rb",
3538
"lib/grape/middleware/error.rb",
3639
"lib/grape/middleware/formatter.rb",
3740
"lib/grape/middleware/prefixer.rb",
3841
"lib/grape/middleware/versioner.rb",
42+
"lib/grape/middleware_stack.rb",
43+
"spec/grape/api_spec.rb",
44+
"spec/grape/middleware/auth/basic_spec.rb",
3945
"spec/grape/middleware/auth/oauth2_spec.rb",
4046
"spec/grape/middleware/base_spec.rb",
4147
"spec/grape/middleware/error_spec.rb",
4248
"spec/grape/middleware/formatter_spec.rb",
4349
"spec/grape/middleware/prefixer_spec.rb",
4450
"spec/grape/middleware/versioner_spec.rb",
51+
"spec/grape/middleware_stack_spec.rb",
4552
"spec/grape_spec.rb",
4653
"spec/spec_helper.rb"
4754
]
@@ -51,12 +58,15 @@ Gem::Specification.new do |s|
5158
s.rubygems_version = %q{1.3.7}
5259
s.summary = %q{A Ruby framework for rapid API development.}
5360
s.test_files = [
54-
"spec/grape/middleware/auth/oauth2_spec.rb",
61+
"spec/grape/api_spec.rb",
62+
"spec/grape/middleware/auth/basic_spec.rb",
63+
"spec/grape/middleware/auth/oauth2_spec.rb",
5564
"spec/grape/middleware/base_spec.rb",
5665
"spec/grape/middleware/error_spec.rb",
5766
"spec/grape/middleware/formatter_spec.rb",
5867
"spec/grape/middleware/prefixer_spec.rb",
5968
"spec/grape/middleware/versioner_spec.rb",
69+
"spec/grape/middleware_stack_spec.rb",
6070
"spec/grape_spec.rb",
6171
"spec/spec_helper.rb"
6272
]
@@ -69,22 +79,25 @@ Gem::Specification.new do |s|
6979
s.add_runtime_dependency(%q<rack>, [">= 0"])
7080
s.add_runtime_dependency(%q<rack-mount>, [">= 0"])
7181
s.add_runtime_dependency(%q<rack-jsonp>, [">= 0"])
72-
s.add_runtime_dependency(%q<activesupport>, ["~> 3.0.0"])
82+
s.add_runtime_dependency(%q<multi_json>, [">= 0"])
83+
s.add_runtime_dependency(%q<multi_xml>, [">= 0"])
7384
s.add_development_dependency(%q<rake>, [">= 0"])
7485
s.add_development_dependency(%q<jeweler>, [">= 0"])
7586
else
7687
s.add_dependency(%q<rack>, [">= 0"])
7788
s.add_dependency(%q<rack-mount>, [">= 0"])
7889
s.add_dependency(%q<rack-jsonp>, [">= 0"])
79-
s.add_dependency(%q<activesupport>, ["~> 3.0.0"])
90+
s.add_dependency(%q<multi_json>, [">= 0"])
91+
s.add_dependency(%q<multi_xml>, [">= 0"])
8092
s.add_dependency(%q<rake>, [">= 0"])
8193
s.add_dependency(%q<jeweler>, [">= 0"])
8294
end
8395
else
8496
s.add_dependency(%q<rack>, [">= 0"])
8597
s.add_dependency(%q<rack-mount>, [">= 0"])
8698
s.add_dependency(%q<rack-jsonp>, [">= 0"])
87-
s.add_dependency(%q<activesupport>, ["~> 3.0.0"])
99+
s.add_dependency(%q<multi_json>, [">= 0"])
100+
s.add_dependency(%q<multi_xml>, [">= 0"])
88101
s.add_dependency(%q<rake>, [">= 0"])
89102
s.add_dependency(%q<jeweler>, [">= 0"])
90103
end

lib/grape/api.rb

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,16 @@ def default_format(new_format = nil)
4848
new_format ? set(:default_format, new_format.to_sym) : settings[:default_format]
4949
end
5050

51+
def auth(type = nil, &block)
52+
if type
53+
set(:auth, {:type => type.to_sym, :proc => block})
54+
else
55+
settings[:auth]
56+
end
57+
end
58+
5159
def http_basic(&block)
52-
block_given? ? set(:basic_auth, block) : settings[:basic_auth]
60+
auth :http_basic, &block
5361
end
5462

5563
def route_set
@@ -72,7 +80,7 @@ def route(method, path_info, &block)
7280
def build_endpoint(&block)
7381
b = Rack::Builder.new
7482
b.use Grape::Middleware::Error
75-
b.use Grape::Middleware::Auth::Basic, &http_basic if http_basic
83+
b.use Grape::Middleware::Auth::Basic, &settings[:auth][:proc] if settings[:auth] && settings[:auth][:type] == :http_basic
7684
b.use Grape::Middleware::Prefixer, :prefix => prefix if prefix
7785
b.use Grape::Middleware::Versioner if version
7886
b.use Grape::Middleware::Formatter, :default_format => default_format || :json

spec/grape/api_spec.rb

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,5 +122,17 @@ def app; subject end
122122
get '/admin/hello'
123123
last_response.status.should == 401
124124
end
125+
126+
it 'should be callable via .auth as well' do
127+
subject.auth :http_basic do |u,p|
128+
u == 'allow'
129+
end
130+
131+
subject.get(:hello){ "Hello, world."}
132+
get '/hello'
133+
last_response.status.should == 401
134+
get '/hello', {}, 'HTTP_AUTHORIZATION' => encode_basic('allow','whatever')
135+
last_response.status.should == 200
136+
end
125137
end
126138
end

0 commit comments

Comments
 (0)