cells 3.11.3 → 4.0.0.beta1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -1
- data/.travis.yml +15 -13
- data/Appraisals +23 -0
- data/CHANGES.md +20 -3
- data/Gemfile +5 -7
- data/README.md +317 -236
- data/Rakefile +1 -1
- data/TODO.md +3 -0
- data/cells.gemspec +19 -28
- data/gemfiles/rails3.2.gemfile +14 -0
- data/gemfiles/rails4.0.gemfile +14 -0
- data/gemfiles/rails4.1.gemfile +15 -0
- data/gemfiles/rails4.2.gemfile +14 -0
- data/lib/cell.rb +28 -21
- data/lib/cell/caching.rb +10 -22
- data/lib/cell/caching/notification.rb +15 -0
- data/lib/cell/concept.rb +4 -69
- data/lib/cell/development.rb +11 -0
- data/lib/{cells → cell}/engines.rb +1 -1
- data/lib/cell/layout.rb +20 -0
- data/lib/cell/partial.rb +17 -0
- data/lib/cell/{base/prefixes.rb → prefixes.rb} +1 -1
- data/lib/cell/rails.rb +58 -50
- data/lib/cell/railtie.rb +60 -0
- data/lib/cell/{base/self_contained.rb → self_contained.rb} +1 -1
- data/lib/cell/templates.rb +60 -0
- data/lib/cell/test_case.rb +4 -162
- data/lib/cell/testing.rb +15 -0
- data/lib/cell/twin.rb +11 -29
- data/lib/cell/version.rb +10 -0
- data/lib/cell/view_model.rb +196 -88
- data/lib/cells.rb +1 -20
- data/lib/rails/generators/cell/cell_generator.rb +43 -0
- data/lib/rails/generators/cell/templates/cell.rb.erb +8 -0
- data/lib/{generators/templates/concept → rails/generators/cell/templates}/view.erb +0 -0
- data/lib/{generators/templates/concept → rails/generators/cell/templates}/view.haml +0 -0
- data/lib/rails/generators/cell/templates/view.slim +2 -0
- data/lib/rails/generators/concept/concept_generator.rb +38 -0
- data/lib/{generators/templates/concept/cell.rb → rails/generators/concept/templates/concept.rb.erb} +2 -2
- data/lib/{generators → rails/generators/concept}/templates/view.erb +0 -0
- data/lib/{generators → rails/generators/concept}/templates/view.haml +0 -0
- data/lib/rails/generators/concept/templates/view.slim +2 -0
- data/lib/rails/generators/test_unit/cell/cell_generator.rb +21 -0
- data/lib/{generators/templates/cell_test.rb → rails/generators/test_unit/cell/templates/unit_test.rb.erb} +3 -3
- data/lib/rails/generators/test_unit/concept/concept_generator.rb +21 -0
- data/lib/rails/generators/test_unit/concept/templates/unit_test.rb.erb +11 -0
- data/lib/{cells → tasks}/cells.rake +0 -0
- data/test/builder_test.rb +58 -0
- data/test/caching_test.rb +298 -0
- data/test/cell_benchmark.rb +32 -0
- data/test/cell_generator_test.rb +51 -82
- data/test/cell_test.rb +8 -23
- data/test/concept_generator_test.rb +22 -13
- data/test/concept_test.rb +41 -75
- data/test/dummy/app/views/musician/hamlet.html.erb +1 -0
- data/test/dummy/config/application.rb +21 -8
- data/test/{app/cells/bassist/play.html.erb → fixtures/bassist/play.erb} +0 -0
- data/test/fixtures/concepts/record/views/layout.erb +1 -0
- data/test/{app → fixtures}/concepts/record/views/show.erb +0 -0
- data/test/{app → fixtures}/concepts/record/views/song.erb +0 -0
- data/test/fixtures/inherit_views_test/popper/tap.erb +1 -0
- data/test/fixtures/inherit_views_test/tapper/play.erb +1 -0
- data/test/fixtures/inherit_views_test/tapper/tap.erb +1 -0
- data/test/fixtures/partial_test/with_partial/show.erb +1 -0
- data/test/fixtures/partials/_show.html.erb +1 -0
- data/test/fixtures/partials/_show.xml.erb +1 -0
- data/test/fixtures/song/ivar.erb +1 -0
- data/test/fixtures/song/show.erb +1 -0
- data/test/fixtures/song/with_erb.erb +4 -0
- data/test/fixtures/song/with_html.erb +1 -0
- data/test/fixtures/song/with_locals.erb +2 -0
- data/test/fixtures/song_with_layout/happy.erb +1 -0
- data/test/fixtures/song_with_layout/merry.erb +1 -0
- data/test/fixtures/song_with_layout/show.erb +1 -0
- data/test/fixtures/song_with_layout/show_with_layout.erb +1 -0
- data/test/fixtures/templates_caching_test/song/show.erb +1 -0
- data/test/fixtures/url_helper_test/song/edit.erb +8 -0
- data/test/fixtures/url_helper_test/song/with_block.erb +2 -0
- data/test/fixtures/url_helper_test/song/with_capture.erb +4 -0
- data/test/fixtures/url_helper_test/song/with_content_tag.erb +6 -0
- data/test/fixtures/url_helper_test/song/with_form_for_block.erb +3 -0
- data/test/fixtures/url_helper_test/song/with_link_to.erb +3 -0
- data/test/layout_test.rb +57 -0
- data/test/partial_test.rb +27 -0
- data/test/prefixes_test.rb +36 -10
- data/test/public_test.rb +42 -0
- data/test/rails_extensions_test.rb +51 -0
- data/test/render_test.rb +103 -0
- data/test/templates_test.rb +45 -0
- data/test/test_case_test.rb +21 -122
- data/test/test_helper.rb +37 -33
- data/test/twin_test.rb +3 -7
- data/test/url_helper_test.rb +89 -0
- metadata +92 -357
- data/gemfiles/Gemfile.rails3-0 +0 -7
- data/gemfiles/Gemfile.rails3-1 +0 -7
- data/gemfiles/Gemfile.rails3-2 +0 -7
- data/gemfiles/Gemfile.rails4-0 +0 -12
- data/gemfiles/Gemfile.rails4-1 +0 -12
- data/lib/cell/base.rb +0 -82
- data/lib/cell/base/view.rb +0 -15
- data/lib/cell/builder.rb +0 -71
- data/lib/cell/deprecations.rb +0 -41
- data/lib/cell/dsl.rb +0 -7
- data/lib/cell/rack.rb +0 -32
- data/lib/cell/rails/helper_api.rb +0 -37
- data/lib/cell/rails/view_model.rb +0 -159
- data/lib/cell/rails3_0_strategy.rb +0 -82
- data/lib/cell/rails3_1_strategy.rb +0 -40
- data/lib/cell/rails4_0_strategy.rb +0 -39
- data/lib/cell/rails4_1_strategy.rb +0 -40
- data/lib/cell/rendering.rb +0 -109
- data/lib/cells/rails.rb +0 -86
- data/lib/cells/railtie.rb +0 -38
- data/lib/cells/version.rb +0 -3
- data/lib/generators/USAGE +0 -30
- data/lib/generators/cells/base.rb +0 -22
- data/lib/generators/cells/cell_generator.rb +0 -15
- data/lib/generators/cells/view_generator.rb +0 -18
- data/lib/generators/erb/cell_generator.rb +0 -15
- data/lib/generators/erb/concept_generator.rb +0 -17
- data/lib/generators/haml/cell_generator.rb +0 -17
- data/lib/generators/haml/concept_generator.rb +0 -17
- data/lib/generators/rails/cell_generator.rb +0 -16
- data/lib/generators/rails/concept_generator.rb +0 -16
- data/lib/generators/slim/cell_generator.rb +0 -17
- data/lib/generators/templates/cell.rb +0 -9
- data/lib/generators/templates/view.slim +0 -4
- data/lib/generators/test_unit/cell_generator.rb +0 -14
- data/lib/generators/trailblazer/base.rb +0 -21
- data/lib/generators/trailblazer/view_generator.rb +0 -18
- data/test/app/cells/album/views/cover.haml +0 -1
- data/test/app/cells/bad_guitarist/_dii.html.erb +0 -1
- data/test/app/cells/bad_guitarist_cell.rb +0 -2
- data/test/app/cells/bassist/_dii.html.erb +0 -1
- data/test/app/cells/bassist/ahem.html.erb +0 -1
- data/test/app/cells/bassist/compose.html.erb +0 -1
- data/test/app/cells/bassist/contact_form.html.erb +0 -1
- data/test/app/cells/bassist/form_for.erb +0 -3
- data/test/app/cells/bassist/form_for_in_haml.haml +0 -2
- data/test/app/cells/bassist/jam.html.erb +0 -3
- data/test/app/cells/bassist/play.js.erb +0 -1
- data/test/app/cells/bassist/pose.html.erb +0 -1
- data/test/app/cells/bassist/promote.html.erb +0 -1
- data/test/app/cells/bassist/provoke.html.erb +0 -1
- data/test/app/cells/bassist/shout.html.erb +0 -1
- data/test/app/cells/bassist/sing.html.haml +0 -1
- data/test/app/cells/bassist/slap.html.erb +0 -1
- data/test/app/cells/bassist/yell.en.html.erb +0 -1
- data/test/app/cells/bassist_cell.rb +0 -25
- data/test/app/cells/club_security.rb +0 -2
- data/test/app/cells/club_security/guard/help.html.erb +0 -1
- data/test/app/cells/club_security/guard_cell.rb +0 -6
- data/test/app/cells/club_security/medic/help.html.erb +0 -1
- data/test/app/cells/club_security/medic_cell.rb +0 -8
- data/test/app/cells/layouts/b.erb +0 -1
- data/test/app/cells/layouts/metal.html.erb +0 -1
- data/test/app/cells/rails_helper_api_test/bassist/edit.html.erb +0 -5
- data/test/app/cells/shouter/sing.html.erb +0 -1
- data/test/app/cells/song/dashboard.haml +0 -7
- data/test/app/cells/song/details.html.haml +0 -1
- data/test/app/cells/song/info.html.haml +0 -1
- data/test/app/cells/song/lyrics.html.haml +0 -6
- data/test/app/cells/song/plays.haml +0 -1
- data/test/app/cells/song/scale.haml +0 -1
- data/test/app/cells/song/show.html.haml +0 -3
- data/test/app/cells/song/title.html.haml +0 -1
- data/test/app/cells/trumpeter/promote.html.erb +0 -1
- data/test/app/cells/trumpeter_cell.rb +0 -8
- data/test/app/cells/view_model_test/comments/show.haml +0 -7
- data/test/app/concepts/record/views/layout.haml +0 -2
- data/test/app/views/shared/_dong.html.erb +0 -1
- data/test/cell_module_test.rb +0 -170
- data/test/cells_module_test.rb +0 -27
- data/test/deprecations_test.rb +0 -101
- data/test/dummy/app/helpers/application_helper.rb +0 -2
- data/test/dummy/app/views/musician/hamlet.html.haml +0 -1
- data/test/dummy/config/environments/development.rb +0 -16
- data/test/dummy/config/environments/production.rb +0 -46
- data/test/dummy/config/environments/test.rb +0 -33
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/label/app/cells/label/show.erb +0 -1
- data/test/dummy/label/app/cells/label_cell.rb +0 -5
- data/test/dummy/label/label.gemspec +0 -20
- data/test/dummy/label/lib/label.rb +0 -4
- data/test/dummy/label/lib/label/version.rb +0 -3
- data/test/dummy/public/404.html +0 -26
- data/test/dummy/public/422.html +0 -26
- data/test/dummy/public/500.html +0 -26
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/public/stylesheets/.gitkeep +0 -0
- data/test/helper_test.rb +0 -81
- data/test/rack_test.rb +0 -32
- data/test/rails/asset_pipeline_test.rb +0 -20
- data/test/rails/caching_test.rb +0 -456
- data/test/rails/cells_test.rb +0 -119
- data/test/rails/forms_test.rb +0 -75
- data/test/rails/integration_test.rb +0 -299
- data/test/rails/render_test.rb +0 -189
- data/test/rails/view_model_test.rb +0 -226
- data/test/rails/view_test.rb +0 -49
- data/test/rails_helper_api_test.rb +0 -58
- data/test/self_contained_test.rb +0 -31
@@ -1,22 +0,0 @@
|
|
1
|
-
require 'rails/generators'
|
2
|
-
require 'rails/generators/named_base'
|
3
|
-
|
4
|
-
module Cells
|
5
|
-
module Generators
|
6
|
-
class Base < ::Rails::Generators::NamedBase
|
7
|
-
class_option :template_engine
|
8
|
-
class_option :test_framework
|
9
|
-
class_option :base_cell_class, :type => :string, :default => "Cell::Rails"
|
10
|
-
class_option :base_cell_path
|
11
|
-
|
12
|
-
argument :actions, :type => :array, :default => [], :banner => "action action"
|
13
|
-
check_class_collision :suffix => "Cell"
|
14
|
-
|
15
|
-
private
|
16
|
-
def base_path
|
17
|
-
path = (options[:base_cell_path] || 'app/cells').to_s
|
18
|
-
File.join(path, class_path, file_name)
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
@@ -1,15 +0,0 @@
|
|
1
|
-
require 'generators/rails/cell_generator'
|
2
|
-
|
3
|
-
module Cells
|
4
|
-
module Generators
|
5
|
-
class CellGenerator < ::Rails::Generators::CellGenerator
|
6
|
-
source_root File.expand_path('../../templates', __FILE__)
|
7
|
-
|
8
|
-
def say_deprecated
|
9
|
-
say "====> This generator is now DEPRECATED. <====", :red
|
10
|
-
say "Please use:"
|
11
|
-
say " rails g cell #{class_name} #{actions.join(' ')}"
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
module Cells
|
2
|
-
module Generators
|
3
|
-
class ViewGenerator < Base
|
4
|
-
def create_views
|
5
|
-
for state in actions do
|
6
|
-
@state = state
|
7
|
-
@path = File.join(base_path, "#{state}.html.#{handler}") #base_path defined in Cells::Generators::Base.
|
8
|
-
template "view.#{handler}", @path
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
private
|
13
|
-
def handler
|
14
|
-
raise "Please implement #handler in your view generator and return something like `:erb`."
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
@@ -1,15 +0,0 @@
|
|
1
|
-
require 'generators/cells/view_generator'
|
2
|
-
|
3
|
-
module Erb
|
4
|
-
module Generators
|
5
|
-
class CellGenerator < ::Cells::Generators::ViewGenerator
|
6
|
-
|
7
|
-
source_root File.expand_path('../../templates', __FILE__)
|
8
|
-
|
9
|
-
private
|
10
|
-
def handler
|
11
|
-
:erb
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
require 'generators/trailblazer/view_generator'
|
2
|
-
|
3
|
-
module Erb
|
4
|
-
module Generators
|
5
|
-
class ConceptGenerator < ::Trailblazer::Generators::ViewGenerator
|
6
|
-
|
7
|
-
source_root File.expand_path('../../templates/concept', __FILE__)
|
8
|
-
|
9
|
-
private
|
10
|
-
def handler
|
11
|
-
:erb
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
|
@@ -1,17 +0,0 @@
|
|
1
|
-
require 'generators/cells/view_generator'
|
2
|
-
|
3
|
-
module Haml
|
4
|
-
module Generators
|
5
|
-
class CellGenerator < ::Cells::Generators::ViewGenerator
|
6
|
-
|
7
|
-
source_root File.expand_path('../../templates', __FILE__)
|
8
|
-
|
9
|
-
private
|
10
|
-
def handler
|
11
|
-
:haml
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
|
@@ -1,17 +0,0 @@
|
|
1
|
-
require 'generators/trailblazer/view_generator'
|
2
|
-
|
3
|
-
module Haml
|
4
|
-
module Generators
|
5
|
-
class ConceptGenerator < ::Trailblazer::Generators::ViewGenerator
|
6
|
-
|
7
|
-
source_root File.expand_path('../../templates/concept', __FILE__)
|
8
|
-
|
9
|
-
private
|
10
|
-
def handler
|
11
|
-
:haml
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
|
@@ -1,16 +0,0 @@
|
|
1
|
-
require 'generators/cells/base'
|
2
|
-
|
3
|
-
module Rails
|
4
|
-
module Generators
|
5
|
-
class CellGenerator < ::Cells::Generators::Base
|
6
|
-
source_root File.expand_path('../../templates', __FILE__)
|
7
|
-
|
8
|
-
def create_cell_file
|
9
|
-
template 'cell.rb', "#{base_path}_cell.rb"
|
10
|
-
end
|
11
|
-
|
12
|
-
hook_for(:template_engine)
|
13
|
-
hook_for(:test_framework)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
@@ -1,16 +0,0 @@
|
|
1
|
-
require 'generators/trailblazer/base'
|
2
|
-
|
3
|
-
module Rails
|
4
|
-
module Generators
|
5
|
-
class ConceptGenerator < ::Trailblazer::Generators::Cell
|
6
|
-
source_root File.expand_path('../../templates/concept', __FILE__)
|
7
|
-
|
8
|
-
def create_cell_file
|
9
|
-
template 'cell.rb', "#{base_path}/cell.rb"
|
10
|
-
end
|
11
|
-
|
12
|
-
hook_for(:template_engine)
|
13
|
-
hook_for(:test_framework)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
require 'generators/cells/view_generator'
|
2
|
-
|
3
|
-
module Slim
|
4
|
-
module Generators
|
5
|
-
class CellGenerator < ::Cells::Generators::ViewGenerator
|
6
|
-
|
7
|
-
source_root File.expand_path('../../templates', __FILE__)
|
8
|
-
|
9
|
-
private
|
10
|
-
def handler
|
11
|
-
:slim
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
|
@@ -1,14 +0,0 @@
|
|
1
|
-
require 'generators/cells/base'
|
2
|
-
|
3
|
-
module TestUnit
|
4
|
-
module Generators
|
5
|
-
class CellGenerator < ::Cells::Generators::Base
|
6
|
-
source_root File.expand_path('../../templates', __FILE__)
|
7
|
-
|
8
|
-
def create_test
|
9
|
-
@states = actions
|
10
|
-
template 'cell_test.rb', File.join('test/cells/', class_path, "#{file_name}_cell_test.rb")
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
require 'rails/generators'
|
2
|
-
require 'rails/generators/named_base'
|
3
|
-
|
4
|
-
module Trailblazer
|
5
|
-
module Generators
|
6
|
-
class Cell < ::Rails::Generators::NamedBase
|
7
|
-
class_option :template_engine
|
8
|
-
class_option :test_framework
|
9
|
-
class_option :base_cell_class, :type => :string, :default => "Cell::Rails"
|
10
|
-
class_option :base_cell_path
|
11
|
-
|
12
|
-
argument :actions, :type => :array, :default => [:show], :banner => "action action"
|
13
|
-
|
14
|
-
private
|
15
|
-
def base_path
|
16
|
-
path = (options[:base_cell_path] || 'app/concepts').to_s
|
17
|
-
File.join(path, class_path, file_name)
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
module Trailblazer
|
2
|
-
module Generators
|
3
|
-
class ViewGenerator < Cell # Trailblazer::Generators::Cell
|
4
|
-
def create_views
|
5
|
-
for state in actions do
|
6
|
-
@state = state
|
7
|
-
@path = File.join(base_path, "views/#{state}.#{handler}") #base_path defined in Cells::Generators::Base.
|
8
|
-
template "view.#{handler}", @path
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
private
|
13
|
-
def handler
|
14
|
-
raise "Please implement #handler in your view generator and return something like `:erb`."
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
@@ -1 +0,0 @@
|
|
1
|
-
%h3= @title
|
@@ -1 +0,0 @@
|
|
1
|
-
Dooom
|
@@ -1 +0,0 @@
|
|
1
|
-
Dii
|
@@ -1 +0,0 @@
|
|
1
|
-
<%= "Ahem" * times %>
|
@@ -1 +0,0 @@
|
|
1
|
-
Dumm <%= render :partial => @partial %>
|
@@ -1 +0,0 @@
|
|
1
|
-
<%= form_tag "musician/index" %>
|
@@ -1 +0,0 @@
|
|
1
|
-
alert("Doo");
|
@@ -1 +0,0 @@
|
|
1
|
-
Come and <%= params[:what] %> me!
|
@@ -1 +0,0 @@
|
|
1
|
-
Find me at <%= link_to "vd.com", musicians_path %>
|
@@ -1 +0,0 @@
|
|
1
|
-
That's me, naked <%= image_tag "me.png" %>
|
@@ -1 +0,0 @@
|
|
1
|
-
*shouts* <%= @words %>
|
@@ -1 +0,0 @@
|
|
1
|
-
%h1 Laaa
|
@@ -1 +0,0 @@
|
|
1
|
-
Boing in <%= @note %>
|
@@ -1 +0,0 @@
|
|
1
|
-
Yeah
|
@@ -1,25 +0,0 @@
|
|
1
|
-
class BassistCell < Cell::Rails
|
2
|
-
def play
|
3
|
-
render
|
4
|
-
end
|
5
|
-
|
6
|
-
def shout(args)
|
7
|
-
@words = args[:words]
|
8
|
-
render
|
9
|
-
end
|
10
|
-
|
11
|
-
def provoke
|
12
|
-
controller.config.relative_url_root = "" if Cell.rails_version.~ 3.0
|
13
|
-
|
14
|
-
render
|
15
|
-
end
|
16
|
-
|
17
|
-
def promote
|
18
|
-
render
|
19
|
-
end
|
20
|
-
|
21
|
-
def slap
|
22
|
-
@note = "D"
|
23
|
-
render
|
24
|
-
end
|
25
|
-
end
|
@@ -1 +0,0 @@
|
|
1
|
-
<%= respond_to?(:irritate) %> <%= respond_to?(:smile) %>
|
@@ -1 +0,0 @@
|
|
1
|
-
<%= respond_to?(:irritate) %> <%= respond_to?(:smile) %>
|
@@ -1 +0,0 @@
|
|
1
|
-
<b><%= yield %></b>
|
@@ -1 +0,0 @@
|
|
1
|
-
Metal:<%= @content_for_layout %>
|
@@ -1 +0,0 @@
|
|
1
|
-
AAAaaargh!
|
@@ -1 +0,0 @@
|
|
1
|
-
%h3 #{title}
|
@@ -1 +0,0 @@
|
|
1
|
-
%li #{render :title}
|
@@ -1 +0,0 @@
|
|
1
|
-
Plays: 99
|
@@ -1 +0,0 @@
|
|
1
|
-
A Minor!
|
@@ -1 +0,0 @@
|
|
1
|
-
= title
|
@@ -1 +0,0 @@
|
|
1
|
-
Find me at <%= link_to "vd.com", musicians_url %>
|