cells 3.10.1 → 3.11.0

Sign up to get free protection for your applications and to get access to all the features.
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