Module: Glimmer
- Included in:
- DSL::XML::NodeParentExpression, DataBinding::ListSelectionBinding, DataBinding::WidgetBinding, SWT::TreeProxy, XML::Node
- Defined in:
- lib/glimmer.rb,
lib/glimmer/error.rb,
lib/glimmer/config.rb,
lib/glimmer/package.rb,
lib/glimmer/css/rule.rb,
lib/glimmer/launcher.rb,
lib/glimmer/xml/node.rb,
lib/glimmer/dsl/engine.rb,
lib/glimmer/swt/packages.rb,
lib/glimmer/swt/swt_proxy.rb,
lib/glimmer/dsl/expression.rb,
lib/glimmer/swt/font_proxy.rb,
lib/glimmer/swt/menu_proxy.rb,
lib/glimmer/swt/tree_proxy.rb,
lib/glimmer/css/style_sheet.rb,
lib/glimmer/swt/color_proxy.rb,
lib/glimmer/swt/shell_proxy.rb,
lib/glimmer/ui/custom_shell.rb,
lib/glimmer/xml/xml_visitor.rb,
lib/glimmer/swt/layout_proxy.rb,
lib/glimmer/swt/widget_proxy.rb,
lib/glimmer/ui/custom_widget.rb,
lib/glimmer/xml/node_visitor.rb,
lib/glimmer/swt/display_proxy.rb,
lib/glimmer/util/proc_tracker.rb,
lib/glimmer/swt/tab_item_proxy.rb,
lib/glimmer/dsl/css/s_expression.rb,
lib/glimmer/data_binding/observer.rb,
lib/glimmer/dsl/css/pv_expression.rb,
lib/glimmer/dsl/parent_expression.rb,
lib/glimmer/dsl/static_expression.rb,
lib/glimmer/invalid_keyword_error.rb,
lib/glimmer/swt/layout_data_proxy.rb,
lib/glimmer/dsl/css/css_expression.rb,
lib/glimmer/dsl/expression_handler.rb,
lib/glimmer/dsl/swt/rgb_expression.rb,
lib/glimmer/dsl/swt/swt_expression.rb,
lib/glimmer/dsl/xml/tag_expression.rb,
lib/glimmer/dsl/xml/xml_expression.rb,
lib/glimmer/xml/name_space_visitor.rb,
lib/glimmer/data_binding/observable.rb,
lib/glimmer/dsl/css/rule_expression.rb,
lib/glimmer/dsl/swt/bind_expression.rb,
lib/glimmer/dsl/swt/exec_expression.rb,
lib/glimmer/dsl/swt/menu_expression.rb,
lib/glimmer/dsl/swt/rgba_expression.rb,
lib/glimmer/dsl/xml/html_expression.rb,
lib/glimmer/dsl/xml/meta_expression.rb,
lib/glimmer/dsl/xml/text_expression.rb,
lib/glimmer/dsl/swt/color_expression.rb,
lib/glimmer/dsl/swt/shell_expression.rb,
lib/glimmer/dsl/top_level_expression.rb,
lib/glimmer/dsl/swt/dialog_expression.rb,
lib/glimmer/dsl/swt/layout_expression.rb,
lib/glimmer/dsl/swt/widget_expression.rb,
lib/glimmer/swt/widget_listener_proxy.rb,
lib/glimmer/data_binding/model_binding.rb,
lib/glimmer/dsl/swt/display_expression.rb,
lib/glimmer/dsl/swt/observe_expression.rb,
lib/glimmer/data_binding/widget_binding.rb,
lib/glimmer/dsl/css/property_expression.rb,
lib/glimmer/dsl/swt/menu_bar_expression.rb,
lib/glimmer/dsl/swt/property_expression.rb,
lib/glimmer/dsl/swt/tab_item_expression.rb,
lib/glimmer/dsl/swt/sync_exec_expression.rb,
lib/glimmer/data_binding/observable_array.rb,
lib/glimmer/data_binding/observable_model.rb,
lib/glimmer/dsl/swt/async_exec_expression.rb,
lib/glimmer/dsl/xml/name_space_expression.rb,
lib/glimmer/data_binding/observable_widget.rb,
lib/glimmer/dsl/swt/layout_data_expression.rb,
lib/glimmer/dsl/xml/node_parent_expression.rb,
lib/glimmer/data_binding/tree_items_binding.rb,
lib/glimmer/dsl/swt/data_binding_expression.rb,
lib/glimmer/xml/depth_first_search_iterator.rb,
lib/glimmer/data_binding/table_items_binding.rb,
lib/glimmer/dsl/swt/custom_widget_expression.rb,
lib/glimmer/dsl/swt/tree_properties_expression.rb,
lib/glimmer/dsl/swt/widget_listener_expression.rb,
lib/glimmer/data_binding/list_selection_binding.rb,
lib/glimmer/dsl/css/dynamic_property_expression.rb,
lib/glimmer/dsl/swt/column_properties_expression.rb,
lib/glimmer/dsl/swt/tree_items_data_binding_expression.rb,
lib/glimmer/dsl/swt/table_items_data_binding_expression.rb,
lib/glimmer/dsl/swt/list_selection_data_binding_expression.rb,
lib/glimmer/dsl/swt/combo_selection_data_binding_expression.rb
Overview
TODO consider turning static keywords like layout_data into methods
Defined Under Namespace
Modules: CSS, Config, DSL, DataBinding, Package, SWT, UI, Util, XML Classes: Error, InvalidKeywordError, Launcher
Constant Summary collapse
- REGEX_METHODS_EXCLUDED =
TODO make it configurable to include or not include perhaps reverting to using included
/^(to_|\[)/
Class Method Summary collapse
Instance Method Summary collapse
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method_symbol, *args, &block) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/glimmer.rb', line 34 def method_missing(method_symbol, *args, &block) # This if statement speeds up Glimmer in girb or whenever directly including on main object if method_symbol.to_s.match(REGEX_METHODS_EXCLUDED) raise InvalidKeywordError, "Glimmer excluded keyword: #{method_symbol}" end Glimmer::Config.logger&.debug "Interpreting keyword: #{method_symbol}" Glimmer::DSL::Engine.interpret(method_symbol, *args, &block) rescue InvalidKeywordError => e if !method_symbol.to_s.match(REGEX_METHODS_EXCLUDED) Glimmer::Config.logger&.error e. end Glimmer::Config.logger&.debug "#{e.}\n#{e.backtrace.join("\n")}" super(method_symbol, *args, &block) end |