Sha256: 3da985e055cfbf0c53ab3e5560af5dc4b8252c429ce8da3f197741451e927529
Contents?: true
Size: 1.61 KB
Versions: 1
Compression:
Stored size: 1.61 KB
Contents
module ActsAsDashboard module ClassMethods attr_reader :dashboard_config def acts_as_dashboard @dashboard_config = ActsAsDashboard::Config.new include InstanceMethods controller_name = self.to_s.underscore.sub('_controller', '').singularize # Create the route for the "show" action. This will be something like: # /dashboard ActionController::Routing::Routes.add_named_route( 'dashboard', controller_name, :controller => controller_name.pluralize.to_sym, :action => :show ) # Create the route for the "widget_data" action. This will be something like: # /dashboard/widgets/* ActionController::Routing::Routes.add_named_route( "#{controller_name}_widgets", "#{controller_name}/widgets/*path", :controller => controller_name.pluralize.to_sym, :action => :widget_data ) end def dashboard_number(&block) raise ArgumentError, 'A Proc must be given.' unless block_given? widget = Widget.new :type => :number widget.instance_eval &block dashboard_config.add_widget widget end def dashboard_short_messages(&block) raise ArgumentError, 'A Proc must be given.' unless block_given? widget = ShortMessagesWidget.new widget.instance_eval &block dashboard_config.add_widget widget end def dashboard_line_graph(&block) raise ArgumentError, 'A Proc must be given.' unless block_given? widget = LineGraphWidget.new widget.instance_eval &block dashboard_config.add_widget widget end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
acts_as_dashboard-0.1.0 | lib/acts_as_dashboard/class_methods.rb |