Sha256: 8397dbcd7fb735a220294ef051d81cb83d5bb9650225e936a6b5306d36be23b4

Contents?: true

Size: 595 Bytes

Versions: 1

Compression:

Stored size: 595 Bytes

Contents

module DashboardRails
  class Widget

    attr_accessor :widget, :klass

    def initialize(widget_name, request)
      @klass_name = widget_name
      @klass = Object.const_get "#{@klass_name}_widget".classify
      @widget = @klass.new(request)
    end

    def param(param)
      @klass.send(param)
    end

    def html(action)
      content = @widget.send(action)
      view_file = (@widget.instance_variables.include?(:@view_file) ? @widget.instance_variable_get(:@view_file) : @widget.view(action, @klass_name))
      @widget.render_template(view_file) # rescue content
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dashboard-rails-1.0.0 lib/dashboard-rails/widget.rb