grape-rabl 0.2.0 → 0.2.1

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/.coveralls.yml ADDED
@@ -0,0 +1,2 @@
1
+ service_name: travis-ci
2
+ repo_token: budbVe8MwqMKtO4OalAxPvXy4P4kY284P
data/.rspec CHANGED
@@ -1,2 +1,2 @@
1
- --color
2
- --format=documentation
1
+ --color
2
+ --format=documentation
data/.travis.yml CHANGED
@@ -1,8 +1,10 @@
1
1
  rvm:
2
- - 1.9.2
3
2
  - 1.9.3
4
3
  - ruby-head
5
4
  - rbx-19mode
6
-
5
+ - jruby-19mode
7
6
  env:
8
7
  - JRUBY_OPTS="--1.9"
8
+ matrix:
9
+ allow_failures:
10
+ - rvm: ruby-head
data/CHANGELOG.md ADDED
@@ -0,0 +1,47 @@
1
+ #### v0.2.1
2
+
3
+ * Fix: render template according to request format. [#11](https://github.com/LTe/grape-rabl/pull/11) [@alovak](https://github.com/alovak) [view commit](http://github.com/LTe/grape-rabl/commit/f9658cf7a3026122afbb77e0da613731a5828338)
4
+
5
+ #### v0.2.0
6
+
7
+ * Allow to use partials in grape. [#10](https://github.com/LTe/grape-rabl/pull/10) [@ichilton](https://github.com/ichilton) [view commit](http://github.com/LTe/grape-rabl/commit/72c96c5acc9d8000f56ee8400ae0229053fb3e7e)
8
+ * Stick to gem conventions. [@LTe](https://github.com/lte) [view commit](http://github.com/LTe/grape-rabl/commit/aabd0e2ad72f56a75427eebcc586deed57cf5f58)
9
+ * Update for Grape 0.3 compatibility. [@alovak](https://github.com/alovak) [view commit](http://github.com/LTe/grape-rabl/commit/78bfdceffbfe90b700868ff1e79ab87e8baded81)
10
+ * Format fix. [@LTe](https://github.com/lte) [view commit](http://github.com/LTe/grape-rabl/commit/13749cc18d332dcd0050bb32980cc233868a7992)
11
+
12
+ #### v0.1.0
13
+
14
+ * Updated w/ released Grape 0.2.3. [view commit](http://github.com/LTe/grape-rabl/commit/9a055dfd8e13e0952a587de7a2e19c9f762e939c)
15
+ * Added link to Rabl. [view commit](http://github.com/LTe/grape-rabl/commit/2a7650cb5f9327761cac8b928453e451a973e131)
16
+ * Grape 0.2.x and put back dependency status. [view commit](http://github.com/LTe/grape-rabl/commit/9c1183f3758db8a79737ff35f0c328be646a3f65)
17
+ * Grape 0.2.3. [view commit](http://github.com/LTe/grape-rabl/commit/d06a6559a02095e1d84fbbd8df0c3eccdd31930b)
18
+ * Updated Grape dependency via .gemspec. [view commit](http://github.com/LTe/grape-rabl/commit/fd44b6a91fa327438eac968fea62ac00ec3ae01f)
19
+
20
+ #### v0.0.6
21
+
22
+ * Use Grape formatter syntax instead of monkey-patching. [view commit](http://github.com/LTe/grape-rabl/commit/bfba4c382933fd0f912d9114676b6d79d627c3be)
23
+ * Close block code in README. [view commit](http://github.com/LTe/grape-rabl/commit/f397a0de4399d0797b5e327d56234464091d7e3d)
24
+ * Change home to user. [view commit](http://github.com/LTe/grape-rabl/commit/45178ec13c613d872c65475b330d20a548459681)
25
+
26
+ #### v0.0.5
27
+
28
+ * Respect default_format for rabl response. [view commit](http://github.com/LTe/grape-rabl/commit/ac54ebbb1d43d1fb76ee9516c5aa683c750c73b0)
29
+
30
+ #### v0.0.4
31
+
32
+ * Require `grape/rabl`. [view commit](http://github.com/LTe/grape-rabl/commit/e99a185b20974f5e72ac3c19ec377a5853780a33)
33
+
34
+ #### v0.0.3
35
+
36
+ * Template without `.rabl`. [view commit](http://github.com/LTe/grape-rabl/commit/cecca03a680f8ae50b406e1b8c170eba27d1bc99)
37
+
38
+ #### v0.0.2
39
+
40
+ * Add Travis. [view commit](http://github.com/LTe/grape-rabl/commit/71c905bc91066c6fdb628afb555561e23219e213)
41
+ * Remove ruby debug. [view commit](http://github.com/LTe/grape-rabl/commit/f80fad14a49b14ae7264b08eff12832c37cbd0b2)
42
+ * Works with rubinius. [view commit](http://github.com/LTe/grape-rabl/commit/fceece344de095916ded7c477bb5891537bb8663)
43
+ * Add dependency status. [view commit](http://github.com/LTe/grape-rabl/commit/66820fb52155c65d4cd9bd7b67f0f22c1105fa46)
44
+
45
+ #### v0.0.1
46
+
47
+ * Initial public release. [@LTe](https://github.com/lte)
data/Gemfile CHANGED
@@ -1,9 +1,11 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec
4
-
5
- group :test do
6
- gem "rspec", "~> 2.12.0"
7
- gem "rack-test"
8
- gem "rake"
9
- end
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
4
+
5
+ group :test do
6
+ gem "json", '~> 1.7.7'
7
+ gem "rspec", "~> 2.12.0"
8
+ gem "rack-test"
9
+ gem "rake"
10
+ gem "coveralls", require: false
11
+ end
data/README.md CHANGED
@@ -2,8 +2,11 @@
2
2
 
3
3
  Use [Rabl](https://github.com/nesquena/rabl) templates in [Grape](https://github.com/intridea/grape)!
4
4
 
5
- [![Build Status](https://secure.travis-ci.org/LTe/grape-rabl.png)](http://travis-ci.org/LTe/grape-rabl) [![Dependency Status](https://gemnasium.com/LTe/grape-rabl.png)](https://gemnasium.com/LTe/grape-rabl)
6
-
5
+ [![Build Status](https://secure.travis-ci.org/LTe/grape-rabl.png)](http://travis-ci.org/LTe/grape-rabl)
6
+ [![Dependency Status](https://gemnasium.com/LTe/grape-rabl.png)](https://gemnasium.com/LTe/grape-rabl)
7
+ [![Code Climate](https://codeclimate.com/github/LTe/grape-rabl.png)](https://codeclimate.com/github/LTe/grape-rabl)
8
+ [![Coverage Status](https://coveralls.io/repos/LTe/grape-rabl/badge.png?branch=master)](https://coveralls.io/r/LTe/grape-rabl?branch=master)
9
+ [![Gem Version](https://badge.fury.io/rb/grape-rabl.png)](http://badge.fury.io/rb/grape-rabl)
7
10
 
8
11
  ## Installation
9
12
 
@@ -149,12 +152,13 @@ GrapeExampleRails::Application.routes.draw do
149
152
  end
150
153
  ```
151
154
 
152
- ## Rspec
155
+ ## Specs
153
156
 
154
- See "Writing Tests" in https://github.com/intridea/grape.
157
+ See ["Writing Tests"](https://github.com/intridea/grape#writing-tests) in [https://github.com/intridea/grape](grape) README.
155
158
 
156
159
  Enjoy :)
157
160
 
161
+
158
162
  ## Contributing
159
163
 
160
164
  1. Fork it
@@ -162,3 +166,7 @@ Enjoy :)
162
166
  3. Commit your changes (`git commit -am 'Added some feature'`)
163
167
  4. Push to the branch (`git push origin my-new-feature`)
164
168
  5. Create new Pull Request
169
+
170
+
171
+ [![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/LTe/grape-rabl/trend.png)](https://bitdeli.com/free "Bitdeli Badge")
172
+
data/grape-rabl.gemspec CHANGED
@@ -14,6 +14,7 @@ Gem::Specification.new do |gem|
14
14
  gem.name = "grape-rabl"
15
15
  gem.require_paths = ["lib"]
16
16
  gem.version = Grape::Rabl::VERSION
17
+ gem.required_ruby_version = '>= 1.9.3'
17
18
 
18
19
  gem.add_dependency "grape", "~> 0.3"
19
20
  gem.add_dependency "rabl"
@@ -1,53 +1,55 @@
1
- module Grape
2
- module Formatter
3
- module Rabl
4
- class << self
5
-
6
- attr_reader :env
7
- attr_reader :endpoint
8
-
9
- def call(object, env)
10
-
11
- @env = env
12
- @endpoint = env['api.endpoint']
13
-
14
- if rablable?
15
- rabl do |template|
16
- engine = ::Tilt.new(view_path(template), {format: env['api.format'], view_path: env['api.tilt.root']})
17
- engine.render endpoint, {}
18
- end
19
- else
20
- Grape::Formatter::Json.call object, env
21
- end
22
-
23
- end
24
-
25
- private
26
-
27
- def view_path(template)
28
- if template.split(".")[-1] == "rabl"
29
- File.join(env['api.tilt.root'], template)
30
- else
31
- File.join(env['api.tilt.root'], (template + ".rabl"))
32
- end
33
- end
34
-
35
- def rablable?
36
- !! endpoint.options[:route_options][:rabl]
37
- end
38
-
39
- def rabl
40
- template = endpoint.options[:route_options][:rabl]
41
- raise "missing rabl template" unless template
42
- set_view_root unless env['api.tilt.root']
43
- yield template
44
- end
45
-
46
- def set_view_root
47
- raise "Use Rack::Config to set 'api.tilt.root' in config.ru"
48
- end
49
-
50
- end
51
- end
52
- end
53
- end
1
+ require 'json'
2
+
3
+ module Grape
4
+ module Formatter
5
+ module Rabl
6
+ class << self
7
+
8
+ attr_reader :env
9
+ attr_reader :endpoint
10
+
11
+ def call(object, env)
12
+
13
+ @env = env
14
+ @endpoint = env['api.endpoint']
15
+
16
+ if rablable?
17
+ rabl do |template|
18
+ engine = ::Tilt.new(view_path(template), {format: env['api.format'], view_path: env['api.tilt.root']})
19
+ engine.render endpoint, {}
20
+ end
21
+ else
22
+ Grape::Formatter::Json.call object, env
23
+ end
24
+
25
+ end
26
+
27
+ private
28
+
29
+ def view_path(template)
30
+ if template.split(".")[-1] == "rabl"
31
+ File.join(env['api.tilt.root'], template)
32
+ else
33
+ File.join(env['api.tilt.root'], (template + ".rabl"))
34
+ end
35
+ end
36
+
37
+ def rablable?
38
+ !! endpoint.options[:route_options][:rabl]
39
+ end
40
+
41
+ def rabl
42
+ template = endpoint.options[:route_options][:rabl]
43
+ raise "missing rabl template" unless template
44
+ set_view_root unless env['api.tilt.root']
45
+ yield template
46
+ end
47
+
48
+ def set_view_root
49
+ raise "Use Rack::Config to set 'api.tilt.root' in config.ru"
50
+ end
51
+
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,9 @@
1
+ module GrapeRabl
2
+ module Render
3
+ def render(options = {})
4
+ env['api.endpoint'].options[:route_options][:rabl] = options.delete(:rabl)
5
+ end
6
+ end
7
+ end
8
+
9
+ Grape::Endpoint.send(:include, GrapeRabl::Render)
@@ -1,3 +1,3 @@
1
- require 'tilt'
2
-
3
- Rabl.register!
1
+ require 'tilt'
2
+
3
+ Rabl.register!
@@ -1,5 +1,5 @@
1
1
  module Grape
2
2
  module Rabl
3
- VERSION = "0.2.0"
3
+ VERSION = "0.2.1"
4
4
  end
5
5
  end
data/lib/grape-rabl.rb CHANGED
@@ -1,6 +1,7 @@
1
- require "rabl"
2
- require "grape"
3
- require "hashie/hash"
4
- require "grape-rabl/tilt"
5
- require "grape-rabl/version"
6
- require "grape-rabl/formatter"
1
+ require "rabl"
2
+ require "grape"
3
+ require "hashie/hash"
4
+ require "grape-rabl/tilt"
5
+ require "grape-rabl/version"
6
+ require "grape-rabl/formatter"
7
+ require "grape-rabl/render"
@@ -1,29 +1,29 @@
1
- require 'spec_helper'
2
-
3
- describe "Grape::Rabl partials" do
4
- subject do
5
- Class.new(Grape::API)
6
- end
7
-
8
- before do
9
- subject.format :json
10
- subject.formatter :json, Grape::Formatter::Rabl
11
- subject.before { env["api.tilt.root"] = "#{File.dirname(__FILE__)}/views" }
12
- end
13
-
14
- def app
15
- subject
16
- end
17
-
18
- it "proper render partials" do
19
- subject.get("/home", :rabl => "project") do
20
- @author = OpenStruct.new(:author => "LTe")
21
- @type = OpenStruct.new(:type => "paper")
22
- @project = OpenStruct.new(:name => "First", :type => @type, :author => @author)
23
- end
24
-
25
- get("/home")
26
- last_response.body.should ==
27
- "{\"project\":{\"name\":\"First\",\"info\":{\"type\":\"paper\"},\"author\":{\"author\":\"LTe\"}}}"
28
- end
1
+ require 'spec_helper'
2
+
3
+ describe "Grape::Rabl partials" do
4
+ subject do
5
+ Class.new(Grape::API)
6
+ end
7
+
8
+ before do
9
+ subject.format :json
10
+ subject.formatter :json, Grape::Formatter::Rabl
11
+ subject.before { env["api.tilt.root"] = "#{File.dirname(__FILE__)}/views" }
12
+ end
13
+
14
+ def app
15
+ subject
16
+ end
17
+
18
+ it "proper render partials" do
19
+ subject.get("/home", :rabl => "project") do
20
+ @author = OpenStruct.new(:author => "LTe")
21
+ @type = OpenStruct.new(:type => "paper")
22
+ @project = OpenStruct.new(:name => "First", :type => @type, :author => @author)
23
+ end
24
+
25
+ get("/home")
26
+ last_response.body.should ==
27
+ "{\"project\":{\"name\":\"First\",\"info\":{\"type\":\"paper\"},\"author\":{\"author\":\"LTe\"}}}"
28
+ end
29
29
  end
@@ -8,6 +8,7 @@ describe Grape::Rabl do
8
8
  before do
9
9
  subject.format :json
10
10
  subject.formatter :json, Grape::Formatter::Rabl
11
+ subject.helpers MyHelper
11
12
  end
12
13
 
13
14
  def app
@@ -17,22 +18,56 @@ describe Grape::Rabl do
17
18
  it 'should work without rabl template' do
18
19
  subject.get("/home") {"Hello World"}
19
20
  get "/home"
20
- last_response.body.should == "Hello World"
21
+ last_response.body.should == "\"Hello World\""
21
22
  end
22
23
 
23
24
  it "should raise error about root directory" do
24
- subject.get("/home", :rabl => true){}
25
- get "/home"
26
- last_response.status.should == 500
27
- last_response.body.should include "Use Rack::Config to set 'api.tilt.root' in config.ru"
25
+ begin
26
+ subject.get("/home", :rabl => true){}
27
+ get "/home"
28
+ rescue Exception => e
29
+ e.message.should include "Use Rack::Config to set 'api.tilt.root' in config.ru"
30
+ end
28
31
  end
29
32
 
30
-
31
33
  context "titl root is setup" do
32
34
  before do
33
35
  subject.before { env["api.tilt.root"] = "#{File.dirname(__FILE__)}/views" }
34
36
  end
35
37
 
38
+ describe "helpers" do
39
+ it "should execute helper" do
40
+ subject.get("/home", :rabl => "helper") { @user = OpenStruct.new }
41
+ get "/home"
42
+ last_response.body.should == "{\"user\":{\"helper\":\"my_helper\"}}"
43
+ end
44
+ end
45
+
46
+ describe "#render" do
47
+ before do
48
+ subject.get("/home", :rabl => "user") do
49
+ @user = OpenStruct.new(:name => "LTe")
50
+ render :rabl => "admin"
51
+ end
52
+
53
+ subject.get("/about", :rabl => "user") do
54
+ @user = OpenStruct.new(:name => "LTe")
55
+ end
56
+ end
57
+
58
+ it "renders template passed as argument to reneder method" do
59
+ get("/home")
60
+ last_response.body.should == '{"admin":{"name":"LTe"}}'
61
+ end
62
+
63
+ it "does not save rabl options after called #render method" do
64
+ get("/home")
65
+ get("/about")
66
+ last_response.body.should == '{"user":{"name":"LTe","project":null}}'
67
+ end
68
+ end
69
+
70
+
36
71
  it "should respond with proper content-type" do
37
72
  subject.get("/home", :rabl => "user"){}
38
73
  get("/home")
@@ -40,9 +75,9 @@ describe Grape::Rabl do
40
75
  end
41
76
 
42
77
  it "should not raise error about root directory" do
43
- subject.get("/home", :rabl => true){}
78
+ subject.get("/home", :rabl => "user"){}
44
79
  get "/home"
45
- last_response.status.should == 500
80
+ last_response.status.should == 200
46
81
  last_response.body.should_not include "Use Rack::Config to set 'api.tilt.root' in config.ru"
47
82
  end
48
83
 
@@ -1,44 +1,44 @@
1
- require 'spec_helper'
2
-
3
- describe Grape::Rabl do
4
- subject do
5
- Class.new(Grape::API)
6
- end
7
-
8
- before do
9
- subject.format :xml
10
- subject.formatter :xml, Grape::Formatter::Rabl
11
- end
12
-
13
- def app
14
- subject
15
- end
16
-
17
- context "with xml format" do
18
- before do
19
- subject.before {
20
- env["api.tilt.root"] = "#{File.dirname(__FILE__)}/views"
21
- env["api.format"] = :xml
22
- }
23
- end
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/xml"
29
- end
30
-
31
- ["user", "user.rabl"].each do |rabl_option|
32
- it "should render rabl template (#{rabl_option})" do
33
- subject.get("/home", :rabl => rabl_option) do
34
- @user = OpenStruct.new(:name => "LTe", :email => "email@example.com")
35
- @project = OpenStruct.new(:name => "First")
36
- end
37
-
38
- get "/home"
39
-
40
- last_response.body.should == %Q{<?xml version="1.0" encoding="UTF-8"?>\n<user>\n <name>LTe</name>\n <email>email@example.com</email>\n <project>\n <name>First</name>\n </project>\n</user>\n}
41
- end
42
- end
43
- end
44
- end
1
+ require 'spec_helper'
2
+
3
+ describe Grape::Rabl do
4
+ subject do
5
+ Class.new(Grape::API)
6
+ end
7
+
8
+ before do
9
+ subject.format :xml
10
+ subject.formatter :xml, Grape::Formatter::Rabl
11
+ end
12
+
13
+ def app
14
+ subject
15
+ end
16
+
17
+ context "with xml format" do
18
+ before do
19
+ subject.before {
20
+ env["api.tilt.root"] = "#{File.dirname(__FILE__)}/views"
21
+ env["api.format"] = :xml
22
+ }
23
+ end
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/xml"
29
+ end
30
+
31
+ ["user", "user.rabl"].each do |rabl_option|
32
+ it "should render rabl template (#{rabl_option})" do
33
+ subject.get("/home", :rabl => rabl_option) do
34
+ @user = OpenStruct.new(:name => "LTe", :email => "email@example.com")
35
+ @project = OpenStruct.new(:name => "First")
36
+ end
37
+
38
+ get "/home"
39
+
40
+ last_response.body.should == %Q{<?xml version="1.0" encoding="UTF-8"?>\n<user>\n <name>LTe</name>\n <email>email@example.com</email>\n <project>\n <name>First</name>\n </project>\n</user>\n}
41
+ end
42
+ end
43
+ end
44
+ end
data/spec/spec_helper.rb CHANGED
@@ -4,6 +4,9 @@ $LOAD_PATH.unshift(File.dirname(__FILE__))
4
4
  require 'bundler'
5
5
  Bundler.setup :default, :test
6
6
 
7
+ require 'coveralls'
8
+ Coveralls.wear!
9
+
7
10
  require 'active_support/core_ext/hash/conversions'
8
11
  require 'grape/rabl'
9
12
  require 'rspec'
@@ -0,0 +1,5 @@
1
+ module MyHelper
2
+ def my_helper
3
+ "my_helper"
4
+ end
5
+ end
@@ -0,0 +1,2 @@
1
+ object @user => :admin
2
+ attributes :name
@@ -0,0 +1,3 @@
1
+ object @user => :user
2
+
3
+ node(:helper) { my_helper }
@@ -1,10 +1,10 @@
1
- object @project => :project
2
- attributes :name
3
-
4
- node :info do
5
- partial "partial", object: @project.type
6
- end
7
-
8
- child @author => :author do
9
- extends "info"
1
+ object @project => :project
2
+ attributes :name
3
+
4
+ node :info do
5
+ partial "partial", object: @project.type
6
+ end
7
+
8
+ child @author => :author do
9
+ extends "info"
10
10
  end
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.2.0
4
+ version: 0.2.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-28 00:00:00.000000000 Z
12
+ date: 2013-11-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: grape
@@ -82,9 +82,11 @@ executables: []
82
82
  extensions: []
83
83
  extra_rdoc_files: []
84
84
  files:
85
+ - .coveralls.yml
85
86
  - .gitignore
86
87
  - .rspec
87
88
  - .travis.yml
89
+ - CHANGELOG.md
88
90
  - Gemfile
89
91
  - LICENSE
90
92
  - README.md
@@ -92,6 +94,7 @@ files:
92
94
  - grape-rabl.gemspec
93
95
  - lib/grape-rabl.rb
94
96
  - lib/grape-rabl/formatter.rb
97
+ - lib/grape-rabl/render.rb
95
98
  - lib/grape-rabl/tilt.rb
96
99
  - lib/grape-rabl/version.rb
97
100
  - lib/grape/rabl.rb
@@ -99,7 +102,10 @@ files:
99
102
  - spec/grape_rabl_spec.rb
100
103
  - spec/grape_rabl_xml_spec.rb
101
104
  - spec/spec_helper.rb
105
+ - spec/support/my_helper.rb
102
106
  - spec/views/_partial.rabl
107
+ - spec/views/admin.rabl
108
+ - spec/views/helper.rabl
103
109
  - spec/views/info.rabl
104
110
  - spec/views/project.rabl
105
111
  - spec/views/user.rabl
@@ -114,17 +120,31 @@ required_ruby_version: !ruby/object:Gem::Requirement
114
120
  requirements:
115
121
  - - ! '>='
116
122
  - !ruby/object:Gem::Version
117
- version: '0'
123
+ version: 1.9.3
118
124
  required_rubygems_version: !ruby/object:Gem::Requirement
119
125
  none: false
120
126
  requirements:
121
127
  - - ! '>='
122
128
  - !ruby/object:Gem::Version
123
129
  version: '0'
130
+ segments:
131
+ - 0
132
+ hash: -2547421554864201049
124
133
  requirements: []
125
134
  rubyforge_project:
126
- rubygems_version: 1.8.24
135
+ rubygems_version: 1.8.25
127
136
  signing_key:
128
137
  specification_version: 3
129
138
  summary: Use rabl in grape
130
- test_files: []
139
+ test_files:
140
+ - spec/grape_rabl_partials_spec.rb
141
+ - spec/grape_rabl_spec.rb
142
+ - spec/grape_rabl_xml_spec.rb
143
+ - spec/spec_helper.rb
144
+ - spec/support/my_helper.rb
145
+ - spec/views/_partial.rabl
146
+ - spec/views/admin.rabl
147
+ - spec/views/helper.rabl
148
+ - spec/views/info.rabl
149
+ - spec/views/project.rabl
150
+ - spec/views/user.rabl