Sha256: b7f4dbe73e017a292d31ea7227484edb6f29a05585cb4890518bd422b0fc0c9a

Contents?: true

Size: 428 Bytes

Versions: 2

Compression:

Stored size: 428 Bytes

Contents

class Shoes
  class Widget
    def self.inherited klass, &blk
      m = klass.inspect.downcase
      Shoes::App.class_eval do
        define_method m do |*args, &blk|
          klass.class_variable_set :@@app, self
          klass.new *args, &blk
        end
      end
      klass.class_eval do
        def method_missing m, *arg, &blk
         @@app.send m, *arg, &blk
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
green_shoes-0.131.0 lib/shoes/widget.rb
green_shoes-0.129.0 lib/shoes/widget.rb