Module: RailsJqGrid::JqGridMethodMissing

Included in:
JqGrid, JqGridColumn, JqGridNavGrid, JqGridNavGridParameter
Defined in:
app/models/rails_jq_grid/jq_grid_method_missing.rb

Overview

Method-Missing implementation converts unknown method to options and save it’s values

Instance Attribute Summary collapse

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(symbol, *args, &block) ⇒ Object

every unknown method is treated as a jqgrid option oder method name



21
22
23
24
25
# File 'app/models/rails_jq_grid/jq_grid_method_missing.rb', line 21

def method_missing(symbol, *args, &block)      
  self.jq_grid_js_options ||={}
  self.jq_grid_js_options[symbol] = JqGridOptionOrMethod.new(symbol, args[0])
  #end
end

Instance Attribute Details

#jq_grid_js_optionsObject

Returns the value of attribute jq_grid_js_options.



17
18
19
# File 'app/models/rails_jq_grid/jq_grid_method_missing.rb', line 17

def jq_grid_js_options
  @jq_grid_js_options
end

Instance Method Details

#get_jq_grid_js_options(symbol) ⇒ Object

returns the value of a option



34
35
36
# File 'app/models/rails_jq_grid/jq_grid_method_missing.rb', line 34

def get_jq_grid_js_options(symbol)
  self.jq_grid_js_options[symbol]
end

#init_jq_grid_js_options(new_options) ⇒ Object

initialize options with default values



39
40
41
42
43
44
# File 'app/models/rails_jq_grid/jq_grid_method_missing.rb', line 39

def init_jq_grid_js_options(new_options)
  self.jq_grid_js_options ||={}
  new_options.each do |key, value|
    self.jq_grid_js_options[key] = JqGridOptionOrMethod.new(key, value)
  end
end

#options_to_jqgrid_optionsObject

converts options to a string for jqgrid



47
48
49
50
51
52
53
# File 'app/models/rails_jq_grid/jq_grid_method_missing.rb', line 47

def options_to_jqgrid_options
  jqgrid_options = []
  self.jq_grid_js_options.each_value { |option|
    jqgrid_options << "#{option.escaped_name}: #{option.escaped_value}"
  }
  jqgrid_options.sort.join(",\n ")
end

#raw(*args) ⇒ Object

Values market with raw are not convertet to_json they will be outputet as they are see JqGridOptionOrMethod.escaped_value



29
30
31
# File 'app/models/rails_jq_grid/jq_grid_method_missing.rb', line 29

def raw(*args)
  {:type => :raw, :value => args[0]}
end

#set_jqgrid_options(&option_block) ⇒ Object



55
56
57
# File 'app/models/rails_jq_grid/jq_grid_method_missing.rb', line 55

def set_jqgrid_options(&option_block)
  option_block.call(self) if block_given?
end