デモへの2つのリンクの間に改行が入っていなかったので改行を入れた
ブロックモードができたことに伴いbase.featureをトップに修正
featureの各stepのファイル名が長かったので短くした
ブロックを操作したときのwindow.changedを確認するfeatureを追加
ブロック<->Rubyの相互変換時はwindow.changedを変更しないように修正
Rubyからブロックに変換するモジュールを追加
Rubyのソースコードからブロックに変換するfeatureの位置を変更した
ブロックを空にするとRubyのソースコードも空になるように修正
デモ用のXMLファイルの位置を変更

app/assets以下だとasset pipelineの対象となってしまうためです。
Ruby to Block little support.
Ruby<->ブロックを相互に変換したあとで変更があったときだけ再変換するように修正
Herokuでの起動に失敗しているようだったので明示的にruby_to_blockをrequireするようにしてみた

ただし、再現確認はできていないので動くかどうかはわからない。
Ruby->ブロックの変換機能を追加

具体的には以下のもの

```Ruby
require "smalruby"

car1 = Character.new(costume: "car1.png", x: 0, y: 0, angle: 0)

car1.on(:start) do

  on(:start) do

  end
end
```

```XML
<xml xmlns="http://www.w3.org/1999/xhtml">
  <character name="car1" x="0" y="0" angle="0" costumes="car1.png" />
  <block type="character_new">
    <field name="NAME">car1</field>
    <statement name="DO">
      <block type="events_on_start">
        <statement name="DO">
          <block type="events_on_start" />
        </statement>
      </block>
    </statement>
  </block>
</xml>
```
Ruby->ブロックの変換機能を追加

具体的には以下のもの

```Ruby
require "smalruby"

car1 = Character.new(costume: "car1.png", x: 0, y: 0, angle: 0)

car1.on(:start) do

  s = 'a'
  if s == 'a'
    puts 'エー'
  elsif s == 'b'
    puts 'ビー'
  else
    puts 'その他'
  end
end
```

```XML
<xml xmlns="http://www.w3.org/1999/xhtml">
  <character name="car1" x="0" y="0" angle="0" costumes="car1.png" />
  <block type="character_new">
    <field name="NAME">car1</field>
    <statement name="DO">
      <block type="events_on_start">
        <statement name="DO">
          <block type="ruby_statement">
            <field name="STATEMENT">s = &apos;a&apos;</field>
            <next>
              <block type="ruby_statement">
                <field name="STATEMENT">if s == &apos;a&apos;</field>
                <next>
                  <block type="ruby_statement">
                    <field name="STATEMENT">  puts &apos;エー&apos;</field>
                    <next>
                      <block type="ruby_statement">
                        <field name="STATEMENT">elsif s == &apos;b&apos;</field>
                        <next>
                          <block type="ruby_statement">
                            <field name="STATEMENT">  puts &apos;ビー&apos;</field>
                            <next>
                              <block type="ruby_statement">
                                <field name="STATEMENT">else</field>
                                <next>
                                  <block type="ruby_statement">
                                    <field name="STATEMENT">  puts &apos;その他&apos;</field>
                                    <next>
                                      <block type="ruby_statement">
                                        <field name="STATEMENT">end</field>
                                      </block>
                                    </next>
                                  </block>
                                </next>
                              </block>
                            </next>
                          </block>
                        </next>
                      </block>
                    </next>
                  </block>
                </next>
              </block>
            </next>
          </block>
        </statement>
      </block>
    </statement>
  </block>
</xml>
```
coding styleの修正