mab 0.0.2 → 0.0.3

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 (113) hide show
  1. checksums.yaml +15 -0
  2. data/Gemfile +5 -1
  3. data/Gemfile.lock +3 -3
  4. data/Rakefile +10 -2
  5. data/lib/mab.rb +1 -0
  6. data/lib/mab/indentation.rb +2 -2
  7. data/lib/mab/mixin.rb +57 -57
  8. data/lib/mab/rails.rb +20 -0
  9. data/lib/mab/version.rb +1 -1
  10. data/test/rails/Rakefile +7 -0
  11. data/test/rails/app/assets/images/rails.png +0 -0
  12. data/test/rails/app/assets/javascripts/application.js +15 -0
  13. data/test/rails/app/assets/stylesheets/application.css +13 -0
  14. data/test/rails/app/controllers/application_controller.rb +17 -0
  15. data/test/rails/app/helpers/application_helper.rb +2 -0
  16. data/test/rails/app/views/application/content_for.html.mab +6 -0
  17. data/test/rails/app/views/application/normal.html.mab +2 -0
  18. data/test/rails/app/views/application/variables.html.mab +2 -0
  19. data/test/rails/app/views/layouts/application.html.mab +15 -0
  20. data/test/rails/config.ru +4 -0
  21. data/test/rails/config/application.rb +54 -0
  22. data/test/rails/config/boot.rb +6 -0
  23. data/test/rails/config/environment.rb +5 -0
  24. data/test/rails/config/environments/development.rb +27 -0
  25. data/test/rails/config/environments/production.rb +67 -0
  26. data/test/rails/config/environments/test.rb +29 -0
  27. data/test/rails/config/initializers/backtrace_silencers.rb +7 -0
  28. data/test/rails/config/initializers/inflections.rb +15 -0
  29. data/test/rails/config/initializers/mime_types.rb +5 -0
  30. data/test/rails/config/initializers/secret_token.rb +7 -0
  31. data/test/rails/config/initializers/session_store.rb +8 -0
  32. data/test/rails/config/initializers/wrap_parameters.rb +14 -0
  33. data/test/rails/config/locales/en.yml +5 -0
  34. data/test/rails/config/routes.rb +3 -0
  35. data/test/rails/script/rails +6 -0
  36. data/test/rails/test/helper.rb +7 -0
  37. data/test/rails/test/test_mab.rb +40 -0
  38. data/test/test_mab_mixin.rb +10 -6
  39. metadata +46 -88
  40. data/bench.rb +0 -37
  41. data/mab-0.0.1.gem +0 -0
  42. data/markaby/CHANGELOG.rdoc +0 -106
  43. data/markaby/Markaby.gemspec +0 -109
  44. data/markaby/README.rdoc +0 -317
  45. data/markaby/Rakefile +0 -78
  46. data/markaby/VERSION +0 -1
  47. data/markaby/garlic.rb +0 -29
  48. data/markaby/init.rb +0 -6
  49. data/markaby/lib/markaby.rb +0 -30
  50. data/markaby/lib/markaby/builder.rb +0 -314
  51. data/markaby/lib/markaby/builder_tags.rb +0 -64
  52. data/markaby/lib/markaby/cssproxy.rb +0 -55
  53. data/markaby/lib/markaby/kernel_method.rb +0 -7
  54. data/markaby/lib/markaby/rails.rb +0 -75
  55. data/markaby/lib/markaby/rails/current.rb +0 -85
  56. data/markaby/lib/markaby/rails/deprecated.rb +0 -124
  57. data/markaby/lib/markaby/rails/rails_builder.rb +0 -91
  58. data/markaby/lib/markaby/sinatra.rb +0 -18
  59. data/markaby/lib/markaby/tags.rb +0 -200
  60. data/markaby/lib/markaby/tilt.rb +0 -8
  61. data/markaby/spec/markaby/builder_spec.rb +0 -118
  62. data/markaby/spec/markaby/css_proxy_test.rb +0 -47
  63. data/markaby/spec/markaby/fragment_test.rb +0 -10
  64. data/markaby/spec/markaby/markaby_other_static.mab +0 -1
  65. data/markaby/spec/markaby/markaby_spec.rb +0 -184
  66. data/markaby/spec/markaby/markaby_test.rb +0 -251
  67. data/markaby/spec/markaby/rails/spec_helper.rb +0 -29
  68. data/markaby/spec/markaby/rails/views/layouts/layout.mab +0 -11
  69. data/markaby/spec/markaby/rails/views/markaby/_a_partial.mab +0 -3
  70. data/markaby/spec/markaby/rails/views/markaby/_form_for_with_body_in_erb.erb +0 -1
  71. data/markaby/spec/markaby/rails/views/markaby/_partial_child_with_locals.mab +0 -1
  72. data/markaby/spec/markaby/rails/views/markaby/access_to_helpers.mab +0 -1
  73. data/markaby/spec/markaby/rails/views/markaby/broken.mab +0 -7
  74. data/markaby/spec/markaby/rails/views/markaby/commented_out_template.mab +0 -1
  75. data/markaby/spec/markaby/rails/views/markaby/correct_template_values.mab +0 -5
  76. data/markaby/spec/markaby/rails/views/markaby/double_output.mab +0 -8
  77. data/markaby/spec/markaby/rails/views/markaby/form_for.mab +0 -2
  78. data/markaby/spec/markaby/rails/views/markaby/form_for_with_fields.mab +0 -3
  79. data/markaby/spec/markaby/rails/views/markaby/form_for_with_multiple_fields.mab +0 -4
  80. data/markaby/spec/markaby/rails/views/markaby/no_values_passed.mab +0 -3
  81. data/markaby/spec/markaby/rails/views/markaby/partial_parent.mab +0 -1
  82. data/markaby/spec/markaby/rails/views/markaby/partial_parent_with_locals.mab +0 -7
  83. data/markaby/spec/markaby/rails/views/markaby/render_erb_without_explicit_render_call.erb +0 -1
  84. data/markaby/spec/markaby/rails/views/markaby/render_explicit_but_empty_markaby_layout.mab +0 -0
  85. data/markaby/spec/markaby/rails/views/markaby/render_mab_without_explicit_render_call.mab +0 -3
  86. data/markaby/spec/markaby/rails/views/markaby/render_with_ivar.mab +0 -3
  87. data/markaby/spec/markaby/rails/views/markaby/renders_erb.rhtml +0 -1
  88. data/markaby/spec/markaby/rails/views/markaby/renders_form_for_with_erb_body.mab +0 -3
  89. data/markaby/spec/markaby/rails/views/markaby/routes.mab +0 -1
  90. data/markaby/spec/markaby/rails/views/markaby/yielding.mab +0 -3
  91. data/markaby/spec/markaby/rails/views/markaby/yielding_content_for_with_block_helper.mab +0 -5
  92. data/markaby/spec/markaby/rails/views/markaby/yielding_two.mab +0 -7
  93. data/markaby/spec/markaby/rails/views/markaby/yielding_with_content_for.mab +0 -3
  94. data/markaby/spec/markaby/rails_test.rb +0 -380
  95. data/markaby/spec/markaby/rails_version_spec.rb +0 -37
  96. data/markaby/spec/markaby/sinatra/app.rb +0 -49
  97. data/markaby/spec/markaby/sinatra/sinatra_spec.rb +0 -67
  98. data/markaby/spec/markaby/sinatra/views/helpers.mab +0 -1
  99. data/markaby/spec/markaby/sinatra/views/layout.mab +0 -7
  100. data/markaby/spec/markaby/sinatra/views/markaby_template.mab +0 -0
  101. data/markaby/spec/markaby/sinatra/views/scope_instance_variables.mab +0 -3
  102. data/markaby/spec/markaby/sinatra/views/simple_html.mab +0 -4
  103. data/markaby/spec/markaby/sinatra/views/variables.mab +0 -3
  104. data/markaby/spec/markaby/tilt/erb.erb +0 -1
  105. data/markaby/spec/markaby/tilt/locals.mab +0 -1
  106. data/markaby/spec/markaby/tilt/markaby.mab +0 -1
  107. data/markaby/spec/markaby/tilt/markaby_other_static.mab +0 -1
  108. data/markaby/spec/markaby/tilt/render_twice.mab +0 -1
  109. data/markaby/spec/markaby/tilt/scope.mab +0 -1
  110. data/markaby/spec/markaby/tilt/yielding.mab +0 -2
  111. data/markaby/spec/markaby/tilt_spec.rb +0 -75
  112. data/markaby/spec/spec.opts +0 -2
  113. data/markaby/spec/spec_helper.rb +0 -44
@@ -1,37 +0,0 @@
1
- require File.join(File.dirname(__FILE__), 'rails', 'spec_helper')
2
-
3
- unless RUNNING_RAILS
4
- require File.join(File.dirname(__FILE__), '..', 'spec_helper')
5
-
6
- describe "when rails is loaded, but is not a supported version" do
7
- module MockRails
8
- module VERSION
9
- STRING = ::Markaby::Rails::UNSUPPORTED_RAILS_VERSIONS.first
10
- end
11
- end
12
-
13
- def install_mock_rails
14
- Object.const_set(:Rails, MockRails)
15
- end
16
-
17
- def remove_mock_rails
18
- Object.class_eval do
19
- remove_const(:Rails)
20
- end
21
- end
22
-
23
- before do
24
- install_mock_rails
25
- end
26
-
27
- after do
28
- remove_mock_rails
29
- end
30
-
31
- it "should raise" do
32
- lambda {
33
- ::Markaby::Rails.load
34
- }.should raise_error(LoadError, "Cannot load markaby under rails version 2.0.0. See Markaby::Rails::SUPPORTED_RAILS_VERSIONS for exactly that, or redefine this constant.")
35
- end
36
- end
37
- end
@@ -1,49 +0,0 @@
1
- set :views, lambda { File.join(File.dirname(__FILE__), "views") }
2
-
3
- get '/empty_action' do
4
- "hi there"
5
- end
6
-
7
- get '/markaby_template' do
8
- mab :markaby_template
9
- end
10
-
11
- get '/simple_html' do
12
- mab :simple_html
13
- end
14
-
15
- get '/variables' do
16
- mab :variables, {}, :name => "Scott Taylor"
17
- end
18
-
19
- get '/variables_with_locals' do
20
- mab :variables, :locals => { :name => "Scott Taylor" }
21
- end
22
-
23
- get '/scope_instance_variables' do
24
- @name = "Scott Taylor"
25
- mab :variables
26
- end
27
-
28
- template :layout_index do
29
- 'div.title "Hello World!"'
30
- end
31
-
32
- get "/named_template" do
33
- mab :layout_index
34
- end
35
-
36
- get "/layout" do
37
- @display_layout = true
38
- mab :layout_index
39
- end
40
-
41
- helpers do
42
- def chunky
43
- "bacon"
44
- end
45
- end
46
-
47
- get "/helpers" do
48
- mab :helpers
49
- end
@@ -1,67 +0,0 @@
1
- unless RUNNING_RAILS
2
- require File.expand_path(File.dirname(__FILE__) + "/../../spec_helper")
3
- require 'markaby/sinatra'
4
- require 'rack/test'
5
- require File.expand_path(File.dirname(__FILE__) + "/app")
6
-
7
- describe "sinatra integration" do
8
- include Rack::Test::Methods
9
-
10
- def app
11
- @app ||= Sinatra::Application
12
- end
13
-
14
- it "should render an empty" do
15
- get '/empty_action'
16
- last_response.should be_ok
17
- end
18
-
19
- it "should render an empty markaby template" do
20
- get '/markaby_template'
21
- last_response.should be_ok
22
- last_response.body.should == ""
23
- end
24
-
25
- it "should render a template with html in it" do
26
- get '/simple_html'
27
- last_response.should be_ok
28
- last_response.body.should == "<ul><li>hi</li><li>there</li></ul>"
29
- end
30
-
31
- it "should be able to pass variables" do
32
- get '/variables'
33
- last_response.should be_ok
34
- last_response.body.should == '<p class="name">Scott Taylor</p>'
35
- end
36
-
37
- it "should be able to pass variables through locals" do
38
- get '/variables_with_locals'
39
- last_response.should be_ok
40
- last_response.body.should == '<p class="name">Scott Taylor</p>'
41
- end
42
-
43
- it "should have scope to instance variables" do
44
- get '/scope_instance_variables'
45
- last_response.should be_ok
46
- last_response.body.should == '<p class="name">Scott Taylor</p>'
47
- end
48
-
49
- it "should be able to use named templates" do
50
- get "/named_template"
51
- last_response.should be_ok
52
- last_response.body.should == '<div class="title">Hello World!</div>'
53
- end
54
-
55
- it "should be able to use a layout with :layout" do
56
- get '/layout'
57
- last_response.should be_ok
58
- last_response.body.should == '<html><div class="title">Hello World!</div></html>'
59
- end
60
-
61
- it "should be able to access helpers in a template" do
62
- get '/helpers'
63
- last_response.should be_ok
64
- last_response.body.should == "<li>bacon</li>"
65
- end
66
- end
67
- end
@@ -1,7 +0,0 @@
1
- if @display_layout
2
- html do
3
- yield
4
- end
5
- else
6
- yield
7
- end
@@ -1,3 +0,0 @@
1
- p :class => "name" do
2
- @name
3
- end
@@ -1,4 +0,0 @@
1
- ul do
2
- li "hi"
3
- li "there"
4
- end
@@ -1,3 +0,0 @@
1
- p :class => "name" do
2
- name
3
- end
@@ -1 +0,0 @@
1
- hello from erb!
@@ -1 +0,0 @@
1
- li foo
@@ -1 +0,0 @@
1
- text "hello from markaby!"
@@ -1 +0,0 @@
1
- text "foo"
@@ -1 +0,0 @@
1
- li foo
@@ -1,2 +0,0 @@
1
- text("Hey ")
2
- yield
@@ -1,75 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
2
-
3
- module Markaby
4
- describe Tilt, "templates" do
5
- before do
6
- @block = lambda do |t|
7
- File.read(File.dirname(__FILE__) + "/#{t.file}")
8
- end
9
- end
10
-
11
- it "should have the constant ::Tilt::Markaby after registration" do
12
- lambda {
13
- ::Tilt::MarkabyTemplate
14
- }.should_not raise_error
15
- end
16
-
17
- it "should be able to render an erb template" do
18
- tilt = ::Tilt::ERBTemplate.new("tilt/erb.erb", &@block)
19
- tilt.render.should == "hello from erb!"
20
- end
21
-
22
- it "should be able to render a markaby template with static html" do
23
- tilt = ::Tilt::MarkabyTemplate.new("tilt/markaby.mab", &@block)
24
- tilt.render.should == "hello from markaby!"
25
- end
26
-
27
- it "should use the contents of the template" do
28
- tilt = ::Tilt::MarkabyTemplate.new("tilt/markaby_other_static.mab", &@block)
29
- tilt.render.should == "_why?"
30
- end
31
-
32
- it "should render from a string (given as data)" do
33
- tilt = ::Tilt::MarkabyTemplate.new { "html do; end" }
34
- tilt.render.should == "<html></html>"
35
- end
36
-
37
- it "should evaluate a template file in the scope given" do
38
- scope = mock 'scope object', :foo => "bar"
39
-
40
- tilt = ::Tilt::MarkabyTemplate.new("tilt/scope.mab", &@block)
41
- tilt.render(scope).should == "<li>bar</li>"
42
- end
43
-
44
- it "should pass locals to the template" do
45
- tilt = ::Tilt::MarkabyTemplate.new("tilt/locals.mab", &@block)
46
- tilt.render(Object.new, { :foo => "bar" }).should == "<li>bar</li>"
47
- end
48
-
49
- it "should yield to the block given" do
50
- tilt = ::Tilt::MarkabyTemplate.new("tilt/yielding.mab", &@block)
51
- eval_scope = Markaby::Builder.new
52
-
53
- output = tilt.render(Object.new, {}) do
54
- text("Joe")
55
- end
56
-
57
- output.should == "Hey Joe"
58
- end
59
-
60
- it "should be able to render two templates in a row" do
61
- tilt = ::Tilt::MarkabyTemplate.new("tilt/render_twice.mab", &@block)
62
-
63
- tilt.render.should == "foo"
64
- tilt.render.should == "foo"
65
- end
66
-
67
- it "should retrieve a Tilt::MarkabyTemplate when calling Tilt['hello.mab']" do
68
- ::Tilt['./tilt/markaby.mab'].should == Markaby::Tilt::Template
69
- end
70
-
71
- it "should return a new instance of the implementation class (when calling Tilt.new)" do
72
- ::Tilt.new(File.dirname(__FILE__) + "/tilt/markaby.mab").should be_a_kind_of(Markaby::Tilt::Template)
73
- end
74
- end
75
- end
@@ -1,2 +0,0 @@
1
- --color
2
- --backtrace
@@ -1,44 +0,0 @@
1
- require 'test/unit'
2
- require 'test/unit/autorunner'
3
- require 'rspec'
4
-
5
- $:.unshift File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib'))
6
-
7
- require 'markaby'
8
- require 'markaby/kernel_method'
9
- require 'markaby/rails'
10
-
11
- require 'erb'
12
- require 'markaby/rails/spec_helper'
13
-
14
- module MarkabyTestHelpers
15
- def link_to(obj)
16
- %{<a href="">#{obj}</a>}
17
- end
18
- def pluralize(string)
19
- string + "s"
20
- end
21
- module_function :link_to, :pluralize
22
- end
23
-
24
- module TestHelpers
25
- def assert_exception(exclass, exmsg, *mab_args, &block)
26
- begin
27
- mab(*mab_args, &block)
28
- rescue Exception => e
29
- assert_equal exclass, e.class
30
- assert_match /#{exmsg}/, e.message
31
- end
32
- end
33
- end
34
-
35
- module Test
36
- module Unit
37
- class TestCase
38
- include TestHelpers
39
- def self.it(name, &blk)
40
- define_method("test_#{name}", &blk)
41
- end
42
- end
43
- end
44
- end