grape-rabl 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -93,6 +93,47 @@ object @user => :user
93
93
  attributes :name
94
94
  ```
95
95
 
96
+ ## Usage with rails
97
+
98
+ Create grape application
99
+
100
+ ```ruby
101
+ # app/api/user.rb
102
+ class MyAPI < Grape::API
103
+ get '/user', :rabl => "user" do
104
+ @user = User.first
105
+ end
106
+ end
107
+ ```
108
+
109
+ ```ruby
110
+ # app/views/api/user.rabl
111
+ object @user => :user
112
+ ```
113
+
114
+ Edit your **config/application.rb** and add view path
115
+
116
+ ```ruby
117
+ # application.rb
118
+ class Application < Rails::Application
119
+ config.middleware.use(Rack::Config) do |env|
120
+ env['api.tilt.root'] = Rails.root.join "app", "views", "api"
121
+ end
122
+ end
123
+ ```
124
+
125
+ Mount application to rails router
126
+
127
+ ```ruby
128
+ # routes.rb
129
+ GrapeExampleRails::Application.routes.draw do
130
+ mount MyAPI , :at => "/api"
131
+ end
132
+ ```
133
+
134
+ ## Rspec
135
+
136
+ Writing Tests part at https://github.com/intridea/grape
96
137
 
97
138
  Enjoy :)
98
139
 
@@ -13,6 +13,7 @@ module Grape
13
13
  rabl(current_endpoint) do |template|
14
14
  engine = ::Tilt.new(view_path(template))
15
15
  rendered = engine.render(current_endpoint, {})
16
+ headers['Content-Type'] = content_types[env['api.format']]
16
17
  Rack::Response.new(rendered, status, headers).to_a
17
18
  end
18
19
  end
@@ -1,5 +1,5 @@
1
1
  module Grape
2
2
  module Rabl
3
- VERSION = "0.0.4"
3
+ VERSION = "0.0.5"
4
4
  end
5
5
  end
@@ -16,11 +16,18 @@ describe Grape::Rabl do
16
16
  lambda{ get "/home" }.should raise_error("Use Rack::Config to set 'api.tilt.root' in config.ru")
17
17
  end
18
18
 
19
+
19
20
  context "titl root is setup" do
20
21
  before do
21
22
  subject.before { env["api.tilt.root"] = "#{File.dirname(__FILE__)}/views" }
22
23
  end
23
24
 
25
+ it "should respond with proper content-type" do
26
+ subject.get("/home", :rabl => "user"){}
27
+ get("/home")
28
+ last_response.headers["Content-Type"].should == "application/json"
29
+ end
30
+
24
31
  it "should not raise error about root directory" do
25
32
  subject.get("/home", :rabl => true){}
26
33
  lambda{ get "/home" }.should_not raise_error("Use Rack::Config to set 'api.tilt.root' in config.ru")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grape-rabl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-01-12 00:00:00.000000000 Z
12
+ date: 2012-06-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rabl
16
- requirement: &21107820 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *21107820
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: tilt
27
- requirement: &21104820 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ! '>='
@@ -32,10 +37,15 @@ dependencies:
32
37
  version: '0'
33
38
  type: :runtime
34
39
  prerelease: false
35
- version_requirements: *21104820
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: i18n
38
- requirement: &20750960 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
51
  - - ! '>='
@@ -43,7 +53,12 @@ dependencies:
43
53
  version: '0'
44
54
  type: :runtime
45
55
  prerelease: false
46
- version_requirements: *20750960
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
47
62
  description: Use rabl in grape
48
63
  email:
49
64
  - piotr.nielacny@gmail.com
@@ -85,7 +100,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
85
100
  version: '0'
86
101
  requirements: []
87
102
  rubyforge_project:
88
- rubygems_version: 1.8.10
103
+ rubygems_version: 1.8.24
89
104
  signing_key:
90
105
  specification_version: 3
91
106
  summary: Use rabl in grape