cells 3.10.1 → 3.11.0

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.
Files changed (64) hide show
  1. data/.travis.yml +7 -0
  2. data/CHANGES.md +18 -0
  3. data/Gemfile +1 -1
  4. data/README.md +182 -57
  5. data/TODO.md +9 -0
  6. data/cells.gemspec +3 -1
  7. data/gemfiles/Gemfile.rails4-0 +2 -1
  8. data/gemfiles/Gemfile.rails4-1 +5 -3
  9. data/lib/cell/base.rb +33 -64
  10. data/lib/cell/base/prefixes.rb +27 -0
  11. data/lib/cell/base/self_contained.rb +13 -0
  12. data/lib/cell/base/view.rb +15 -0
  13. data/lib/cell/builder.rb +52 -53
  14. data/lib/cell/caching.rb +21 -4
  15. data/lib/cell/concept.rb +85 -0
  16. data/lib/cell/rails.rb +13 -6
  17. data/lib/cell/rails/view_model.rb +47 -6
  18. data/lib/cell/rendering.rb +13 -13
  19. data/lib/cell/test_case.rb +3 -3
  20. data/lib/cell/view_model.rb +151 -0
  21. data/lib/cells.rb +0 -60
  22. data/lib/cells/rails.rb +10 -5
  23. data/lib/cells/railtie.rb +2 -5
  24. data/lib/cells/version.rb +1 -1
  25. data/lib/generators/erb/concept_generator.rb +17 -0
  26. data/lib/generators/haml/concept_generator.rb +17 -0
  27. data/lib/generators/rails/concept_generator.rb +16 -0
  28. data/lib/generators/templates/concept/cell.rb +9 -0
  29. data/lib/generators/templates/concept/view.erb +7 -0
  30. data/lib/generators/templates/concept/view.haml +4 -0
  31. data/lib/generators/trailblazer/base.rb +21 -0
  32. data/lib/generators/trailblazer/view_generator.rb +18 -0
  33. data/test/app/cells/bassist_cell.rb +1 -1
  34. data/test/app/cells/record/views/layout.haml +2 -0
  35. data/test/app/cells/record/views/show.erb +1 -0
  36. data/test/app/cells/record/views/song.erb +1 -0
  37. data/test/app/cells/song/scale.haml +1 -0
  38. data/test/cell_module_test.rb +18 -37
  39. data/test/cells_module_test.rb +1 -1
  40. data/test/concept_generator_test.rb +26 -0
  41. data/test/concept_test.rb +78 -0
  42. data/test/dummy/Rakefile +1 -1
  43. data/test/dummy/app/assets/javascripts/application.js +2 -0
  44. data/test/dummy/app/cells/album/assets/album.js +1 -0
  45. data/test/dummy/app/concepts/song/assets/songs.js +1 -0
  46. data/test/dummy/config/application.rb +11 -6
  47. data/test/dummy/label/label.gemspec +2 -2
  48. data/test/helper_test.rb +2 -2
  49. data/test/prefixes_test.rb +75 -0
  50. data/test/rails/asset_pipeline_test.rb +20 -0
  51. data/test/rails/caching_test.rb +1 -9
  52. data/test/rails/cells_test.rb +2 -17
  53. data/test/rails/forms_test.rb +2 -1
  54. data/test/rails/integration_test.rb +199 -8
  55. data/test/rails/render_test.rb +2 -10
  56. data/test/rails/view_model_test.rb +135 -60
  57. data/test/rails_helper_api_test.rb +2 -1
  58. data/test/self_contained_test.rb +9 -2
  59. data/test/test_case_test.rb +2 -2
  60. data/test/test_helper.rb +2 -3
  61. metadata +117 -33
  62. checksums.yaml +0 -7
  63. data/test/dummy/app/controllers/musician_controller.rb +0 -36
  64. data/test/rails/router_test.rb +0 -45
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: c2d03718953028c4185882847b48fad453efa237
4
- data.tar.gz: 32dbbe7fbb4b1605d71ceb671939e20767d29139
5
- SHA512:
6
- metadata.gz: 461f6ab4355c3d259369c7f6de6593fbcb1029f0e1e5ed10ea67048fc7bf720a9e1be74ee32f4c9b14985915d806852c1327ec2467a7c4a645ff828489f8087b
7
- data.tar.gz: 0c1bc64ceb91d75103e8a4a6eacece2f14eb12f36fccaf1dc89001c16f7b72bc927f4f4799031e056500ca100bcc440324491928773e77ea9482b02b2709bff8
@@ -1,36 +0,0 @@
1
- class MusicianController < ActionController::Base
2
- def index
3
- render :text => render_cell(:bassist, :promote)
4
- end
5
-
6
- def promote
7
- render :text => render_cell(:trumpeter, :promote)
8
- end
9
-
10
- def promotion
11
- render :text => render_cell(:bassist, :provoke)
12
- end
13
-
14
- def featured
15
- end
16
-
17
- def featured_with_block
18
- end
19
-
20
- def skills
21
- render :text => render_cell(:bassist, :listen)
22
- end
23
-
24
- def hamlet
25
- end
26
-
27
- attr_reader :flag
28
- def promotion_with_block
29
- html = render_cell(:bassist, :play) do |cell|
30
- @flag = cell.class
31
- end
32
-
33
- render :text => html
34
- end
35
-
36
- end
@@ -1,45 +0,0 @@
1
- require 'test_helper'
2
-
3
- module ApplicationTests
4
- class RouterTest < ActionController::TestCase
5
- tests MusicianController
6
-
7
- test "pass url_helpers to the cell instance" do
8
- assert_equal "/musicians", BassistCell.new(@controller).musicians_path
9
- end
10
-
11
- test "allow cells to use url_helpers" do
12
- get "index"
13
- assert_response :success
14
- assert_equal "Find me at <a href=\"/musicians\">vd.com</a>\n", @response.body
15
- end
16
-
17
- test "delegate #url_options to the parent_controller" do
18
- @controller.instance_eval do
19
- def default_url_options
20
- {:host => "cells.rails.org"}
21
- end
22
- end
23
-
24
- assert_equal "http://cells.rails.org/musicians", BassistCell.new(@controller).musicians_url
25
- end
26
-
27
- test "allow cells to use *_url helpers when mixing in AC::UrlFor" do
28
- get "promote"
29
- assert_response :success
30
- assert_equal "Find me at <a href=\"http://test.host/musicians\">vd.com</a>\n", @response.body
31
- end
32
-
33
- test "allow cells to use #config" do
34
- BassistCell.class_eval do
35
- def provoke; render; end
36
- end
37
-
38
- fix_relative_url_root
39
-
40
- get "promotion"
41
- assert_response :success
42
- assert_equal "That's me, naked <img alt=\"Me\" src=\"/images/me.png\" />", @response.body
43
- end
44
- end
45
- end