cells 3.10.0 → 3.10.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGES.md +4 -0
- data/README.md +84 -1
- data/gemfiles/Gemfile.rails4-0 +1 -0
- data/gemfiles/Gemfile.rails4-1 +2 -2
- data/lib/cell/base.rb +19 -0
- data/lib/cell/rails/view_model.rb +3 -0
- data/lib/cells/railtie.rb +21 -3
- data/lib/cells/version.rb +1 -1
- data/test/app/cells/album/views/cover.haml +1 -0
- data/test/app/cells/bassist/form_for.erb +3 -0
- data/test/app/cells/bassist/form_for_in_haml.haml +2 -0
- data/test/rails/forms_test.rb +74 -0
- data/test/rails/integration_test.rb +2 -1
- data/test/rails/view_model_test.rb +15 -0
- data/test/self_contained_test.rb +24 -0
- metadata +124 -26
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c2d03718953028c4185882847b48fad453efa237
|
4
|
+
data.tar.gz: 32dbbe7fbb4b1605d71ceb671939e20767d29139
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 461f6ab4355c3d259369c7f6de6593fbcb1029f0e1e5ed10ea67048fc7bf720a9e1be74ee32f4c9b14985915d806852c1327ec2467a7c4a645ff828489f8087b
|
7
|
+
data.tar.gz: 0c1bc64ceb91d75103e8a4a6eacece2f14eb12f36fccaf1dc89001c16f7b72bc927f4f4799031e056500ca100bcc440324491928773e77ea9482b02b2709bff8
|
data/CHANGES.md
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
## 3.10.1
|
2
|
+
|
3
|
+
Allow packaging assets for Rails' asset pipeline into cells. This is still experimental but works great. I love it.
|
4
|
+
|
1
5
|
## 3.10.0
|
2
6
|
|
3
7
|
* API CHANGE: Blocks passed to `::cache` and `::cache ... if: ` no longer receive the cell instance as the first argument. Instead, they're executed in cell instance context. Change your code like this:
|
data/README.md
CHANGED
@@ -113,6 +113,88 @@ The distinction between partials and views is making things more complex, so why
|
|
113
113
|
= render :view => 'items'
|
114
114
|
```
|
115
115
|
|
116
|
+
## File Structure
|
117
|
+
|
118
|
+
In Cells 3.10 we introduce a new _optional_ file structure integrating with [trailblazer](https://github.com/apotonick/trailblazer)'s "concept-oriented" layout.
|
119
|
+
|
120
|
+
This new file layout makes a cell fully **self-contained** so it can be moved around just by grabbing one single directory.
|
121
|
+
|
122
|
+
Activate it with
|
123
|
+
|
124
|
+
```ruby
|
125
|
+
class Comment::Cell
|
126
|
+
self_contained!
|
127
|
+
|
128
|
+
# ...
|
129
|
+
end
|
130
|
+
```
|
131
|
+
|
132
|
+
Now, the cell directory ideally looks like the following.
|
133
|
+
|
134
|
+
```
|
135
|
+
app
|
136
|
+
├── cells
|
137
|
+
│ ├── comment
|
138
|
+
│ │ ├── cell.rb
|
139
|
+
│ │ ├── views
|
140
|
+
│ │ │ ├── show.haml
|
141
|
+
│ │ │ ├── list.haml
|
142
|
+
```
|
143
|
+
|
144
|
+
|
145
|
+
Here, cell class and associated views are in the same self-contained `comment` directory.
|
146
|
+
|
147
|
+
You can use the new views directory along with leaving your cell _class_ at `app/cells/comment_cell.rb`, if you fancy that.
|
148
|
+
|
149
|
+
|
150
|
+
## Asset Pipeline
|
151
|
+
|
152
|
+
Cells can also package their own assets like JavaScript, CoffeeScript, Sass and stylesheets. When configured, those files go directly into Rails' asset pipeline. This is a great way to clean up your assets by pushing scripts and styles into the component they belong to. It makes it so much easier to find out which files are actually involved per "widget".
|
153
|
+
|
154
|
+
Note: This feature is **still experimental** and the API (file name conventions, configuration, etc.) might change.
|
155
|
+
|
156
|
+
Assets per default sit in the cell's `assets/` directory.
|
157
|
+
|
158
|
+
```
|
159
|
+
app
|
160
|
+
├── cells
|
161
|
+
│ ├── comment
|
162
|
+
│ │ ├── views
|
163
|
+
│ │ ├── ..
|
164
|
+
│ │ ├── assets
|
165
|
+
│ │ │ ├── comment.js.coffee
|
166
|
+
│ │ │ ├── comment.css.sass
|
167
|
+
```
|
168
|
+
|
169
|
+
Adding the assets files to the asset pipeline currently involves two steps (I know it feels a bit clumsy, but I'm sure we'll find a way to make it better soon).
|
170
|
+
|
171
|
+
1. Tell Rails that this cell provides its own self-contained assets.
|
172
|
+
|
173
|
+
```ruby
|
174
|
+
Gemgem::Application.configure do
|
175
|
+
# ...
|
176
|
+
|
177
|
+
config.cells.with_assets = %w(comment)
|
178
|
+
```
|
179
|
+
|
180
|
+
This will add `app/cells/comment/assets/` to the asset pipeline's paths.
|
181
|
+
|
182
|
+
2. Include the assets in `application.js` and `application.css.sass`
|
183
|
+
|
184
|
+
In `app/assets/application.js`, you have to add the cell assets manually.
|
185
|
+
|
186
|
+
```javascript
|
187
|
+
//=# require comments
|
188
|
+
```
|
189
|
+
|
190
|
+
Same goes into `app/assets/application.css.sass`.
|
191
|
+
|
192
|
+
```sass
|
193
|
+
@import 'comments';
|
194
|
+
```
|
195
|
+
|
196
|
+
In future versions, we wanna improve this by automatically including cell assets and avoiding name clashes. If you have ideas, suggestions, I'd love to hear them.
|
197
|
+
|
116
198
|
### Rendering Global Partials
|
117
199
|
|
118
200
|
Sometimes you need to render a global partial from `app/views` within a cell. For instance, the `gmaps4rails` helper depends on a global partial. While this breaks encapsulation it's still possible in cells - just add the global view path.
|
@@ -221,6 +303,7 @@ The block's return value is appended to the state key: `"cells/cart/show/0ecb136
|
|
221
303
|
Cache configuration is inherited to derived cells.
|
222
304
|
|
223
305
|
|
306
|
+
|
224
307
|
### A Note On Fragment Caching
|
225
308
|
|
226
309
|
Fragment caching is [not implemented in Cells per design](http://nicksda.apotomo.de/2011/02/rails-misapprehensions-caching-views-is-not-the-views-job/) - Cells tries to move caching to the class layer enforcing an object-oriented design rather than cluttering your views with caching blocks.
|
@@ -284,7 +367,7 @@ Think of a view model as a cell decorating a model or a collection. In this mode
|
|
284
367
|
|
285
368
|
```ruby
|
286
369
|
class SongCell < Cell::Rails
|
287
|
-
include
|
370
|
+
include ViewModel
|
288
371
|
|
289
372
|
property :title
|
290
373
|
|
data/gemfiles/Gemfile.rails4-0
CHANGED
data/gemfiles/Gemfile.rails4-1
CHANGED
@@ -3,8 +3,8 @@ source "http://rubygems.org"
|
|
3
3
|
# Specify your gem's dependencies in cells.gemspec
|
4
4
|
gemspec path: '../'
|
5
5
|
|
6
|
-
gem 'railties', '4.1.0.
|
7
|
-
gem 'activemodel', '4.1.0.
|
6
|
+
gem 'railties', '4.1.0.rc2'
|
7
|
+
gem 'activemodel', '4.1.0.rc2'
|
8
8
|
gem 'minitest', '5.2.0'
|
9
9
|
|
10
10
|
gem 'label', :path => "../test/dummy/label"
|
data/lib/cell/base.rb
CHANGED
@@ -90,5 +90,24 @@ module Cell
|
|
90
90
|
def self.controller_path
|
91
91
|
@controller_path ||= name.sub(/Cell$/, '').underscore unless anonymous?
|
92
92
|
end
|
93
|
+
|
94
|
+
|
95
|
+
# Enforces the new trailblazer directory layout where cells (or concepts in general) are fully self-contained in its own directory.
|
96
|
+
module SelfContained
|
97
|
+
def self_contained!
|
98
|
+
include Prefixes
|
99
|
+
end
|
100
|
+
|
101
|
+
module Prefixes
|
102
|
+
def _prefixes
|
103
|
+
@_prefixes ||= begin
|
104
|
+
super.tap do |prefixes|
|
105
|
+
prefixes[-1] = "#{controller_path}/views" # replace comment/.
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
110
|
+
end
|
111
|
+
extend SelfContained
|
93
112
|
end
|
94
113
|
end
|
@@ -3,6 +3,9 @@
|
|
3
3
|
# no locals
|
4
4
|
# options are automatically made instance methods via constructor.
|
5
5
|
# call "helpers" in class
|
6
|
+
|
7
|
+
# TODO: warn when using ::property but not passing in model in constructor.
|
8
|
+
|
6
9
|
class Cell::Rails
|
7
10
|
module ViewModel
|
8
11
|
include Cell::OptionsConstructor
|
data/lib/cells/railtie.rb
CHANGED
@@ -2,20 +2,38 @@ require "rails/railtie"
|
|
2
2
|
|
3
3
|
module Cells
|
4
4
|
class Railtie < ::Rails::Railtie
|
5
|
+
config.cells = ActiveSupport::OrderedOptions.new
|
6
|
+
|
7
|
+
|
5
8
|
initializer "cells.attach_router" do |app|
|
6
9
|
Cell::Base.class_eval do
|
7
10
|
include app.routes.url_helpers
|
8
11
|
end
|
9
12
|
end
|
10
|
-
|
13
|
+
|
11
14
|
initializer "cells.setup_view_paths" do |app|
|
12
15
|
Cell::Base.setup_view_paths!
|
13
16
|
end
|
14
|
-
|
17
|
+
|
15
18
|
initializer "cells.setup_engines_view_paths" do |app|
|
16
19
|
Cells::Engines.append_engines_view_paths_for(app.config.action_controller)
|
17
20
|
end
|
18
|
-
|
21
|
+
|
22
|
+
# ruthlessly stolen from the zurb-foundation gem.
|
23
|
+
add_paths_block = lambda do |app|
|
24
|
+
(app.config.cells.with_assets or []).each do |name|
|
25
|
+
# FIXME: this doesn't take engine cells into account.
|
26
|
+
app.config.assets.paths << "#{app.root}/app/cells/#{name}/assets"
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
# Standard initializer
|
31
|
+
initializer 'cells.update_asset_paths', &add_paths_block
|
32
|
+
|
33
|
+
# run at assets:precompile even when `config.assets.initialize_on_precompile = false`
|
34
|
+
initializer 'cells.update_asset_paths', :group => :assets, &add_paths_block
|
35
|
+
|
36
|
+
|
19
37
|
rake_tasks do
|
20
38
|
load "cells/cells.rake"
|
21
39
|
end
|
data/lib/cells/version.rb
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
%h3= @title
|
@@ -0,0 +1,74 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class FormsTest < MiniTest::Spec
|
4
|
+
class Song < OpenStruct
|
5
|
+
extend ActiveModel::Naming
|
6
|
+
end
|
7
|
+
|
8
|
+
include Cell::TestCase::TestMethods
|
9
|
+
|
10
|
+
let (:bassist) { cell(:bassist) }
|
11
|
+
|
12
|
+
it "renders input fields within the form tag with ERB" do
|
13
|
+
bassist.instance_eval do
|
14
|
+
def form_for
|
15
|
+
render
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
html = bassist.render_state(:form_for)
|
20
|
+
|
21
|
+
html.must_match Regexp.new("<form.+[name].+<\/form>", Regexp::MULTILINE)
|
22
|
+
end
|
23
|
+
|
24
|
+
class SongFormCell < BassistCell
|
25
|
+
include ViewModel
|
26
|
+
include ActionView::Helpers::FormHelper
|
27
|
+
|
28
|
+
def form
|
29
|
+
render :view => :form_for
|
30
|
+
end
|
31
|
+
|
32
|
+
def dom_class(*)
|
33
|
+
|
34
|
+
end
|
35
|
+
|
36
|
+
def dom_id(*)
|
37
|
+
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
it "renders input fields within the form tag with ERB and ViewModel" do
|
42
|
+
|
43
|
+
html = SongFormCell.new(@controller).form
|
44
|
+
puts html.to_s
|
45
|
+
|
46
|
+
html.must_match Regexp.new("<form.+<input id=\"forms_test_song_name\".+<\/form>", Regexp::MULTILINE)
|
47
|
+
end
|
48
|
+
|
49
|
+
|
50
|
+
class HamlSongFormCell < BassistCell
|
51
|
+
include ViewModel
|
52
|
+
include ActionView::Helpers::FormHelper
|
53
|
+
|
54
|
+
def form
|
55
|
+
render :view => :form_for_in_haml
|
56
|
+
end
|
57
|
+
|
58
|
+
def dom_class(*)
|
59
|
+
|
60
|
+
end
|
61
|
+
|
62
|
+
def dom_id(*)
|
63
|
+
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
it "renders input fields within the form tag with HAML and ViewModel" do
|
68
|
+
|
69
|
+
html = HamlSongFormCell.new(@controller).form
|
70
|
+
puts html.to_s
|
71
|
+
|
72
|
+
html.must_match Regexp.new("<form.+<input id=\"forms_test_song_name\".+<\/form>", Regexp::MULTILINE)
|
73
|
+
end
|
74
|
+
end
|
@@ -102,6 +102,7 @@ class ViewMethodsTest < ActionController::TestCase
|
|
102
102
|
end
|
103
103
|
end
|
104
104
|
get 'skills'
|
105
|
-
|
105
|
+
|
106
|
+
@response.body.must_match /<form.*action="musician\/index"/
|
106
107
|
end
|
107
108
|
end
|
@@ -1,5 +1,7 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
|
+
# TODO: test if nested state renders are html_safe.
|
4
|
+
|
3
5
|
class Song < OpenStruct
|
4
6
|
extend ActiveModel::Naming
|
5
7
|
|
@@ -56,6 +58,12 @@ class SongCell < Cell::Rails
|
|
56
58
|
end
|
57
59
|
|
58
60
|
class ViewModelTest < MiniTest::Spec
|
61
|
+
# class PianoSongCell < Cell::Rails
|
62
|
+
# include ViewModel
|
63
|
+
|
64
|
+
# property :title
|
65
|
+
# end
|
66
|
+
|
59
67
|
# views :show, :create #=> wrap in render_state(:show, *)
|
60
68
|
let (:cell) { SongCell.build_for(nil, :title => "Shades Of Truth") }
|
61
69
|
|
@@ -87,6 +95,13 @@ if Cell.rails3_2_or_more?
|
|
87
95
|
end
|
88
96
|
|
89
97
|
|
98
|
+
# test "instantiating without model, but call to ::property" do
|
99
|
+
# assert_raises do
|
100
|
+
# @controller.cell("view_model_test/piano_song")
|
101
|
+
# end
|
102
|
+
# end
|
103
|
+
|
104
|
+
|
90
105
|
test "URL helpers in view" do
|
91
106
|
@cell.show.must_equal %{<h1>BLINDFOLD</h1>
|
92
107
|
<a href=\"#{@url}\">Permalink</a>
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class AlbumCell < Cell::Rails
|
4
|
+
self_contained!
|
5
|
+
|
6
|
+
def cover
|
7
|
+
@title = "The Sufferer & The Witness"
|
8
|
+
render
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
unless Cell.rails3_0?
|
13
|
+
|
14
|
+
class SelfContainedTest < MiniTest::Spec
|
15
|
+
include Cell::TestCase::TestMethods
|
16
|
+
|
17
|
+
let (:album) { cell(:album) }
|
18
|
+
|
19
|
+
it "renders views from album/views/" do
|
20
|
+
album.render_state(:cover).must_equal "<h3>The Sufferer & The Witness</h3>\n"
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
metadata
CHANGED
@@ -1,139 +1,139 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cells
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.10.
|
4
|
+
version: 3.10.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nick Sutterer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-04-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: actionpack
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '3.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '3.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: railties
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '3.0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '3.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: uber
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: 0.0.4
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 0.0.4
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rake
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: haml
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '0'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: slim
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- -
|
87
|
+
- - ">="
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: '0'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- -
|
94
|
+
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: tzinfo
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- -
|
101
|
+
- - ">="
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: '0'
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- -
|
108
|
+
- - ">="
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: minitest
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- -
|
115
|
+
- - ">="
|
116
116
|
- !ruby/object:Gem::Version
|
117
117
|
version: 4.7.5
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- -
|
122
|
+
- - ">="
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: 4.7.5
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: activemodel
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
|
-
- -
|
129
|
+
- - ">="
|
130
130
|
- !ruby/object:Gem::Version
|
131
131
|
version: '0'
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
|
-
- -
|
136
|
+
- - ">="
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '0'
|
139
139
|
description: Cells are view components for Rails. They are lightweight controllers,
|
@@ -145,8 +145,8 @@ executables: []
|
|
145
145
|
extensions: []
|
146
146
|
extra_rdoc_files: []
|
147
147
|
files:
|
148
|
-
- .gitignore
|
149
|
-
- .travis.yml
|
148
|
+
- ".gitignore"
|
149
|
+
- ".travis.yml"
|
150
150
|
- CHANGES.md
|
151
151
|
- Gemfile
|
152
152
|
- README.md
|
@@ -193,12 +193,15 @@ files:
|
|
193
193
|
- lib/generators/templates/view.haml
|
194
194
|
- lib/generators/templates/view.slim
|
195
195
|
- lib/generators/test_unit/cell_generator.rb
|
196
|
+
- test/app/cells/album/views/cover.haml
|
196
197
|
- test/app/cells/bad_guitarist/_dii.html.erb
|
197
198
|
- test/app/cells/bad_guitarist_cell.rb
|
198
199
|
- test/app/cells/bassist/_dii.html.erb
|
199
200
|
- test/app/cells/bassist/ahem.html.erb
|
200
201
|
- test/app/cells/bassist/compose.html.erb
|
201
202
|
- test/app/cells/bassist/contact_form.html.erb
|
203
|
+
- test/app/cells/bassist/form_for.erb
|
204
|
+
- test/app/cells/bassist/form_for_in_haml.haml
|
202
205
|
- test/app/cells/bassist/jam.html.erb
|
203
206
|
- test/app/cells/bassist/play.html.erb
|
204
207
|
- test/app/cells/bassist/play.js.erb
|
@@ -272,12 +275,14 @@ files:
|
|
272
275
|
- test/rack_test.rb
|
273
276
|
- test/rails/caching_test.rb
|
274
277
|
- test/rails/cells_test.rb
|
278
|
+
- test/rails/forms_test.rb
|
275
279
|
- test/rails/integration_test.rb
|
276
280
|
- test/rails/render_test.rb
|
277
281
|
- test/rails/router_test.rb
|
278
282
|
- test/rails/view_model_test.rb
|
279
283
|
- test/rails/view_test.rb
|
280
284
|
- test/rails_helper_api_test.rb
|
285
|
+
- test/self_contained_test.rb
|
281
286
|
- test/test_case_test.rb
|
282
287
|
- test/test_helper.rb
|
283
288
|
homepage: http://cells.rubyforge.org
|
@@ -290,18 +295,111 @@ require_paths:
|
|
290
295
|
- lib
|
291
296
|
required_ruby_version: !ruby/object:Gem::Requirement
|
292
297
|
requirements:
|
293
|
-
- -
|
298
|
+
- - ">="
|
294
299
|
- !ruby/object:Gem::Version
|
295
300
|
version: '0'
|
296
301
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
297
302
|
requirements:
|
298
|
-
- -
|
303
|
+
- - ">="
|
299
304
|
- !ruby/object:Gem::Version
|
300
305
|
version: '0'
|
301
306
|
requirements: []
|
302
307
|
rubyforge_project:
|
303
|
-
rubygems_version: 2.
|
308
|
+
rubygems_version: 2.2.1
|
304
309
|
signing_key:
|
305
310
|
specification_version: 4
|
306
311
|
summary: View Components for Rails.
|
307
|
-
test_files:
|
312
|
+
test_files:
|
313
|
+
- test/app/cells/album/views/cover.haml
|
314
|
+
- test/app/cells/bad_guitarist/_dii.html.erb
|
315
|
+
- test/app/cells/bad_guitarist_cell.rb
|
316
|
+
- test/app/cells/bassist/_dii.html.erb
|
317
|
+
- test/app/cells/bassist/ahem.html.erb
|
318
|
+
- test/app/cells/bassist/compose.html.erb
|
319
|
+
- test/app/cells/bassist/contact_form.html.erb
|
320
|
+
- test/app/cells/bassist/form_for.erb
|
321
|
+
- test/app/cells/bassist/form_for_in_haml.haml
|
322
|
+
- test/app/cells/bassist/jam.html.erb
|
323
|
+
- test/app/cells/bassist/play.html.erb
|
324
|
+
- test/app/cells/bassist/play.js.erb
|
325
|
+
- test/app/cells/bassist/pose.html.erb
|
326
|
+
- test/app/cells/bassist/promote.html.erb
|
327
|
+
- test/app/cells/bassist/provoke.html.erb
|
328
|
+
- test/app/cells/bassist/shout.html.erb
|
329
|
+
- test/app/cells/bassist/sing.html.haml
|
330
|
+
- test/app/cells/bassist/slap.html.erb
|
331
|
+
- test/app/cells/bassist/yell.en.html.erb
|
332
|
+
- test/app/cells/bassist_cell.rb
|
333
|
+
- test/app/cells/club_security.rb
|
334
|
+
- test/app/cells/club_security/guard/help.html.erb
|
335
|
+
- test/app/cells/club_security/guard_cell.rb
|
336
|
+
- test/app/cells/club_security/medic/help.html.erb
|
337
|
+
- test/app/cells/club_security/medic_cell.rb
|
338
|
+
- test/app/cells/layouts/b.erb
|
339
|
+
- test/app/cells/layouts/metal.html.erb
|
340
|
+
- test/app/cells/rails_helper_api_test/bassist/edit.html.erb
|
341
|
+
- test/app/cells/shouter/sing.html.erb
|
342
|
+
- test/app/cells/song/dashboard.haml
|
343
|
+
- test/app/cells/song/details.html.haml
|
344
|
+
- test/app/cells/song/info.html.haml
|
345
|
+
- test/app/cells/song/lyrics.html.haml
|
346
|
+
- test/app/cells/song/plays.haml
|
347
|
+
- test/app/cells/song/show.html.haml
|
348
|
+
- test/app/cells/song/title.html.haml
|
349
|
+
- test/app/cells/trumpeter/promote.html.erb
|
350
|
+
- test/app/cells/trumpeter_cell.rb
|
351
|
+
- test/app/cells/view_model_test/comments/show.haml
|
352
|
+
- test/app/views/shared/_dong.html.erb
|
353
|
+
- test/cell_generator_test.rb
|
354
|
+
- test/cell_module_test.rb
|
355
|
+
- test/cell_test.rb
|
356
|
+
- test/cells_module_test.rb
|
357
|
+
- test/deprecations_test.rb
|
358
|
+
- test/dummy/Rakefile
|
359
|
+
- test/dummy/app/controllers/application_controller.rb
|
360
|
+
- test/dummy/app/controllers/musician_controller.rb
|
361
|
+
- test/dummy/app/helpers/application_helper.rb
|
362
|
+
- test/dummy/app/views/layouts/application.html.erb
|
363
|
+
- test/dummy/app/views/musician/featured.html.erb
|
364
|
+
- test/dummy/app/views/musician/featured_with_block.html.erb
|
365
|
+
- test/dummy/app/views/musician/hamlet.html.haml
|
366
|
+
- test/dummy/app/views/musician/title.erb
|
367
|
+
- test/dummy/config.ru
|
368
|
+
- test/dummy/config/application.rb
|
369
|
+
- test/dummy/config/boot.rb
|
370
|
+
- test/dummy/config/database.yml
|
371
|
+
- test/dummy/config/environment.rb
|
372
|
+
- test/dummy/config/environments/development.rb
|
373
|
+
- test/dummy/config/environments/production.rb
|
374
|
+
- test/dummy/config/environments/test.rb
|
375
|
+
- test/dummy/config/locales/en.yml
|
376
|
+
- test/dummy/config/routes.rb
|
377
|
+
- test/dummy/db/test.sqlite3
|
378
|
+
- test/dummy/label/app/cells/label/show.erb
|
379
|
+
- test/dummy/label/app/cells/label_cell.rb
|
380
|
+
- test/dummy/label/label.gemspec
|
381
|
+
- test/dummy/label/lib/label.rb
|
382
|
+
- test/dummy/label/lib/label/version.rb
|
383
|
+
- test/dummy/log/production.log
|
384
|
+
- test/dummy/log/server.log
|
385
|
+
- test/dummy/public/404.html
|
386
|
+
- test/dummy/public/422.html
|
387
|
+
- test/dummy/public/500.html
|
388
|
+
- test/dummy/public/favicon.ico
|
389
|
+
- test/dummy/public/stylesheets/.gitkeep
|
390
|
+
- test/dummy/script/rails
|
391
|
+
- test/helper_test.rb
|
392
|
+
- test/rack_test.rb
|
393
|
+
- test/rails/caching_test.rb
|
394
|
+
- test/rails/cells_test.rb
|
395
|
+
- test/rails/forms_test.rb
|
396
|
+
- test/rails/integration_test.rb
|
397
|
+
- test/rails/render_test.rb
|
398
|
+
- test/rails/router_test.rb
|
399
|
+
- test/rails/view_model_test.rb
|
400
|
+
- test/rails/view_test.rb
|
401
|
+
- test/rails_helper_api_test.rb
|
402
|
+
- test/self_contained_test.rb
|
403
|
+
- test/test_case_test.rb
|
404
|
+
- test/test_helper.rb
|
405
|
+
has_rdoc:
|