markaby 0.7.0 → 0.7.1
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.
- data/CHANGELOG.rdoc +4 -0
- data/Markaby.gemspec +4 -2
- data/VERSION +1 -1
- data/lib/markaby/rails/rails_builder.rb +18 -1
- data/spec/markaby/rails/views/markaby/_form_for_with_body_in_erb.erb +1 -0
- data/spec/markaby/rails/views/markaby/renders_form_for_with_erb_body.mab +3 -0
- data/spec/markaby/rails_spec.rb +25 -6
- data/spec/markaby/sinatra/sinatra_spec.rb +55 -52
- data/spec/spec_helper.rb +1 -1
- metadata +6 -4
    
        data/CHANGELOG.rdoc
    CHANGED
    
    
    
        data/Markaby.gemspec
    CHANGED
    
    | @@ -5,11 +5,11 @@ | |
| 5 5 |  | 
| 6 6 | 
             
            Gem::Specification.new do |s|
         | 
| 7 7 | 
             
              s.name = %q{markaby}
         | 
| 8 | 
            -
              s.version = "0.7. | 
| 8 | 
            +
              s.version = "0.7.1"
         | 
| 9 9 |  | 
| 10 10 | 
             
              s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
         | 
| 11 11 | 
             
              s.authors = ["_why", "Tim Fletcher", "John Barton", "spox", "smtlaissezfaire"]
         | 
| 12 | 
            -
              s.date = %q{2010-08- | 
| 12 | 
            +
              s.date = %q{2010-08-19}
         | 
| 13 13 | 
             
              s.description = %q{Tim Fletcher and _why's ruby driven HTML templating system}
         | 
| 14 14 | 
             
              s.email = %q{scott@railsnewbie.com}
         | 
| 15 15 | 
             
              s.extra_rdoc_files = [
         | 
| @@ -44,6 +44,7 @@ Gem::Specification.new do |s| | |
| 44 44 | 
             
                 "spec/markaby/rails/spec_helper.rb",
         | 
| 45 45 | 
             
                 "spec/markaby/rails/views/layouts/layout.mab",
         | 
| 46 46 | 
             
                 "spec/markaby/rails/views/markaby/_a_partial.mab",
         | 
| 47 | 
            +
                 "spec/markaby/rails/views/markaby/_form_for_with_body_in_erb.erb",
         | 
| 47 48 | 
             
                 "spec/markaby/rails/views/markaby/_partial_child_with_locals.mab",
         | 
| 48 49 | 
             
                 "spec/markaby/rails/views/markaby/access_to_helpers.mab",
         | 
| 49 50 | 
             
                 "spec/markaby/rails/views/markaby/broken.mab",
         | 
| @@ -61,6 +62,7 @@ Gem::Specification.new do |s| | |
| 61 62 | 
             
                 "spec/markaby/rails/views/markaby/render_mab_without_explicit_render_call.mab",
         | 
| 62 63 | 
             
                 "spec/markaby/rails/views/markaby/render_with_ivar.mab",
         | 
| 63 64 | 
             
                 "spec/markaby/rails/views/markaby/renders_erb.rhtml",
         | 
| 65 | 
            +
                 "spec/markaby/rails/views/markaby/renders_form_for_with_erb_body.mab",
         | 
| 64 66 | 
             
                 "spec/markaby/rails/views/markaby/routes.mab",
         | 
| 65 67 | 
             
                 "spec/markaby/rails/views/markaby/yielding.mab",
         | 
| 66 68 | 
             
                 "spec/markaby/rails/views/markaby/yielding_content_for_with_block_helper.mab",
         | 
    
        data/VERSION
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            0.7. | 
| 1 | 
            +
            0.7.1
         | 
| @@ -64,9 +64,26 @@ module Markaby | |
| 64 64 |  | 
| 65 65 | 
             
                  private
         | 
| 66 66 |  | 
| 67 | 
            +
                    if ::Rails::VERSION::STRING == "2.2.0"
         | 
| 68 | 
            +
                      def __template__
         | 
| 69 | 
            +
                        @view.instance_variable_get("@_last_render")
         | 
| 70 | 
            +
                      end
         | 
| 71 | 
            +
                    else
         | 
| 72 | 
            +
                      def __template__
         | 
| 73 | 
            +
                        @view.template
         | 
| 74 | 
            +
                      end
         | 
| 75 | 
            +
                    end
         | 
| 76 | 
            +
             | 
| 67 77 | 
             
                    def method_missing(sym, *args, &block)
         | 
| 68 78 | 
             
                      result = @proxied_object.__send__(sym, *args, &block)
         | 
| 69 | 
            -
             | 
| 79 | 
            +
             | 
| 80 | 
            +
                      # a markaby template may call render :partial with the form proxy helper.
         | 
| 81 | 
            +
                      # we only want to manually concat _if_ we are in a markaby template (not, say, erb)
         | 
| 82 | 
            +
                      if __template__.extension == "mab"
         | 
| 83 | 
            +
                        @view.concat(result)
         | 
| 84 | 
            +
                      end
         | 
| 85 | 
            +
             | 
| 86 | 
            +
                      result
         | 
| 70 87 | 
             
                    end
         | 
| 71 88 | 
             
                  end
         | 
| 72 89 | 
             
                end
         | 
| @@ -0,0 +1 @@ | |
| 1 | 
            +
            <%= f.text_field :foo %>
         | 
    
        data/spec/markaby/rails_spec.rb
    CHANGED
    
    | @@ -153,6 +153,14 @@ if RUNNING_RAILS | |
| 153 153 | 
             
                  render :layout   => "layout.mab",
         | 
| 154 154 | 
             
                         :template => "markaby/double_output"
         | 
| 155 155 | 
             
                end
         | 
| 156 | 
            +
             | 
| 157 | 
            +
                def renders_form_for_with_erb_body
         | 
| 158 | 
            +
                  @obj = Object.new
         | 
| 159 | 
            +
             | 
| 160 | 
            +
                  def @obj.foo
         | 
| 161 | 
            +
                    "bar"
         | 
| 162 | 
            +
                  end
         | 
| 163 | 
            +
                end
         | 
| 156 164 | 
             
              end
         | 
| 157 165 |  | 
| 158 166 | 
             
              class MarkabyOnRailsTest < ActionController::TestCase
         | 
| @@ -254,7 +262,7 @@ if RUNNING_RAILS | |
| 254 262 | 
             
                  get :routes
         | 
| 255 263 | 
             
                  assert_response :success
         | 
| 256 264 |  | 
| 257 | 
            -
                  expected_output =  | 
| 265 | 
            +
                  expected_output = '<a href="/users/new">Foo</a>'
         | 
| 258 266 | 
             
                  assert_equal expected_output, @response.body
         | 
| 259 267 | 
             
                end
         | 
| 260 268 |  | 
| @@ -280,7 +288,7 @@ if RUNNING_RAILS | |
| 280 288 |  | 
| 281 289 | 
             
                    assert_response :success
         | 
| 282 290 |  | 
| 283 | 
            -
                    assert_equal  | 
| 291 | 
            +
                    assert_equal '<form action="/markaby/render_form_for_with_fields" method="post"><input id="foo_foo" name="foo[foo]" size="30" type="text" /></form>',
         | 
| 284 292 | 
             
                                 @response.body
         | 
| 285 293 | 
             
                  end
         | 
| 286 294 |  | 
| @@ -289,10 +297,10 @@ if RUNNING_RAILS | |
| 289 297 |  | 
| 290 298 | 
             
                    assert_response :success
         | 
| 291 299 |  | 
| 292 | 
            -
                    expected_output =   | 
| 293 | 
            -
                    expected_output <<  | 
| 294 | 
            -
                    expected_output <<  | 
| 295 | 
            -
                    expected_output <<  | 
| 300 | 
            +
                    expected_output =  '<form action="/markaby/render_form_for_with_multiple_fields" method="post">'
         | 
| 301 | 
            +
                    expected_output << '<input id="foo_foo" name="foo[foo]" size="30" type="text" />'
         | 
| 302 | 
            +
                    expected_output << '<input id="foo_baz" name="foo[baz]" size="30" type="text" />'
         | 
| 303 | 
            +
                    expected_output << '</form>'
         | 
| 296 304 |  | 
| 297 305 | 
             
                    assert_equal expected_output,
         | 
| 298 306 | 
             
                                 @response.body
         | 
| @@ -350,6 +358,17 @@ if RUNNING_RAILS | |
| 350 358 |  | 
| 351 359 | 
             
                    assert_equal expected_output, @response.body
         | 
| 352 360 | 
             
                  end
         | 
| 361 | 
            +
             | 
| 362 | 
            +
                  def test_renders_form_for_with_erb_render_in_body
         | 
| 363 | 
            +
                    get :renders_form_for_with_erb_body
         | 
| 364 | 
            +
                    assert_response :success
         | 
| 365 | 
            +
             | 
| 366 | 
            +
                    str = '<form action="/markaby/renders_form_for_with_erb_body" method="post">'
         | 
| 367 | 
            +
                    str << '<input id="foo_foo" name="foo[foo]" size="30" type="text" />'
         | 
| 368 | 
            +
                    str << '</form>'
         | 
| 369 | 
            +
             | 
| 370 | 
            +
                    assert_equal str, @response.body
         | 
| 371 | 
            +
                  end
         | 
| 353 372 | 
             
                end
         | 
| 354 373 | 
             
              end
         | 
| 355 374 |  | 
| @@ -1,64 +1,67 @@ | |
| 1 | 
            -
             | 
| 2 | 
            -
            require File.expand_path(File.dirname(__FILE__) + " | 
| 3 | 
            -
            require ' | 
| 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")
         | 
| 4 6 |  | 
| 5 | 
            -
            describe "sinatra integration" do
         | 
| 6 | 
            -
             | 
| 7 | 
            +
              describe "sinatra integration" do
         | 
| 8 | 
            +
                include Rack::Test::Methods
         | 
| 7 9 |  | 
| 8 | 
            -
             | 
| 9 | 
            -
             | 
| 10 | 
            -
             | 
| 10 | 
            +
                def app
         | 
| 11 | 
            +
                  @app ||= Sinatra::Application
         | 
| 12 | 
            +
                end
         | 
| 11 13 |  | 
| 12 | 
            -
             | 
| 13 | 
            -
             | 
| 14 | 
            -
             | 
| 15 | 
            -
             | 
| 14 | 
            +
                it "should render an empty" do
         | 
| 15 | 
            +
                  get '/empty_action'
         | 
| 16 | 
            +
                  last_response.should be_ok
         | 
| 17 | 
            +
                end
         | 
| 16 18 |  | 
| 17 | 
            -
             | 
| 18 | 
            -
             | 
| 19 | 
            -
             | 
| 20 | 
            -
             | 
| 21 | 
            -
             | 
| 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
         | 
| 22 24 |  | 
| 23 | 
            -
             | 
| 24 | 
            -
             | 
| 25 | 
            -
             | 
| 26 | 
            -
             | 
| 27 | 
            -
             | 
| 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
         | 
| 28 30 |  | 
| 29 | 
            -
             | 
| 30 | 
            -
             | 
| 31 | 
            -
             | 
| 32 | 
            -
             | 
| 33 | 
            -
             | 
| 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
         | 
| 34 36 |  | 
| 35 | 
            -
             | 
| 36 | 
            -
             | 
| 37 | 
            -
             | 
| 38 | 
            -
             | 
| 39 | 
            -
             | 
| 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
         | 
| 40 42 |  | 
| 41 | 
            -
             | 
| 42 | 
            -
             | 
| 43 | 
            -
             | 
| 44 | 
            -
             | 
| 45 | 
            -
             | 
| 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
         | 
| 46 48 |  | 
| 47 | 
            -
             | 
| 48 | 
            -
             | 
| 49 | 
            -
             | 
| 50 | 
            -
             | 
| 51 | 
            -
             | 
| 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
         | 
| 52 54 |  | 
| 53 | 
            -
             | 
| 54 | 
            -
             | 
| 55 | 
            -
             | 
| 56 | 
            -
             | 
| 57 | 
            -
             | 
| 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
         | 
| 58 60 |  | 
| 59 | 
            -
             | 
| 60 | 
            -
             | 
| 61 | 
            -
             | 
| 62 | 
            -
             | 
| 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
         | 
| 63 66 | 
             
              end
         | 
| 64 | 
            -
            end
         | 
| 67 | 
            +
            end
         | 
    
        data/spec/spec_helper.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,13 +1,13 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: markaby
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              hash:  | 
| 4 | 
            +
              hash: 1
         | 
| 5 5 | 
             
              prerelease: false
         | 
| 6 6 | 
             
              segments: 
         | 
| 7 7 | 
             
              - 0
         | 
| 8 8 | 
             
              - 7
         | 
| 9 | 
            -
              -  | 
| 10 | 
            -
              version: 0.7. | 
| 9 | 
            +
              - 1
         | 
| 10 | 
            +
              version: 0.7.1
         | 
| 11 11 | 
             
            platform: ruby
         | 
| 12 12 | 
             
            authors: 
         | 
| 13 13 | 
             
            - _why
         | 
| @@ -19,7 +19,7 @@ autorequire: | |
| 19 19 | 
             
            bindir: bin
         | 
| 20 20 | 
             
            cert_chain: []
         | 
| 21 21 |  | 
| 22 | 
            -
            date: 2010-08- | 
| 22 | 
            +
            date: 2010-08-19 00:00:00 -04:00
         | 
| 23 23 | 
             
            default_executable: 
         | 
| 24 24 | 
             
            dependencies: 
         | 
| 25 25 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| @@ -75,6 +75,7 @@ files: | |
| 75 75 | 
             
            - spec/markaby/rails/spec_helper.rb
         | 
| 76 76 | 
             
            - spec/markaby/rails/views/layouts/layout.mab
         | 
| 77 77 | 
             
            - spec/markaby/rails/views/markaby/_a_partial.mab
         | 
| 78 | 
            +
            - spec/markaby/rails/views/markaby/_form_for_with_body_in_erb.erb
         | 
| 78 79 | 
             
            - spec/markaby/rails/views/markaby/_partial_child_with_locals.mab
         | 
| 79 80 | 
             
            - spec/markaby/rails/views/markaby/access_to_helpers.mab
         | 
| 80 81 | 
             
            - spec/markaby/rails/views/markaby/broken.mab
         | 
| @@ -92,6 +93,7 @@ files: | |
| 92 93 | 
             
            - spec/markaby/rails/views/markaby/render_mab_without_explicit_render_call.mab
         | 
| 93 94 | 
             
            - spec/markaby/rails/views/markaby/render_with_ivar.mab
         | 
| 94 95 | 
             
            - spec/markaby/rails/views/markaby/renders_erb.rhtml
         | 
| 96 | 
            +
            - spec/markaby/rails/views/markaby/renders_form_for_with_erb_body.mab
         | 
| 95 97 | 
             
            - spec/markaby/rails/views/markaby/routes.mab
         | 
| 96 98 | 
             
            - spec/markaby/rails/views/markaby/yielding.mab
         | 
| 97 99 | 
             
            - spec/markaby/rails/views/markaby/yielding_content_for_with_block_helper.mab
         |