grape-rabl 0.0.4 → 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.
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