Class: Grapple::BaseTableBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/grapple/base_table_builder.rb

Direct Known Subclasses

HtmlTableBuilder

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(template, columns, records, params = {}, *options) ⇒ BaseTableBuilder

Returns a new instance of BaseTableBuilder.



29
30
31
32
33
34
35
36
37
38
# File 'lib/grapple/base_table_builder.rb', line 29

def initialize(template, columns, records, params = {}, *options)
  @template = template
  @columns = columns
  @records = records
  @options = default_options.merge(options[0] || {})
  @namespace = @options[:namespace]
  @params = params
  @params = @params[@namespace] || {} if @namespace
  @helper_instances = {}
end

Instance Attribute Details

#columnsObject (readonly)

Returns the value of attribute columns.



27
28
29
# File 'lib/grapple/base_table_builder.rb', line 27

def columns
  @columns
end

#namespaceObject (readonly)

Returns the value of attribute namespace.



27
28
29
# File 'lib/grapple/base_table_builder.rb', line 27

def namespace
  @namespace
end

#paramsObject (readonly)

Returns the value of attribute params.



27
28
29
# File 'lib/grapple/base_table_builder.rb', line 27

def params
  @params
end

#recordsObject (readonly)

Returns the value of attribute records.



27
28
29
# File 'lib/grapple/base_table_builder.rb', line 27

def records
  @records
end

#templateObject (readonly)

Returns the value of attribute template.



27
28
29
# File 'lib/grapple/base_table_builder.rb', line 27

def template
  @template
end

Class Method Details

.configure(helper_name, *options) ⇒ Object

Update settings for a helper



16
17
18
19
20
21
22
23
24
25
# File 'lib/grapple/base_table_builder.rb', line 16

def self.configure(helper_name, *options)
  settings = options[0] || {}
  method = :"settings_for_#{helper_name}"
  if self.respond_to?(method)
    self.send(method).each do |key, value|
      settings[key] = value unless settings.has_key?(key)
    end
  end
  define_singleton_method(method) { settings }
end

.helper(name, klass, settings = {}) ⇒ Object

Create a helper



5
6
7
8
9
10
11
12
13
# File 'lib/grapple/base_table_builder.rb', line 5

def self.helper(name, klass, settings = {})
  class_eval "    def \#{name}(*arguments, &block)\n      invoke_helper(:\"\#{name}\", *arguments, &block)\n    end\n  RUBY_EVAL\n  define_singleton_method(:\"class_for_\#{name}\") { klass }\n  define_singleton_method(:\"settings_for_\#{name}\") { settings }\nend\n"

Instance Method Details

#after_tableObject



48
49
50
# File 'lib/grapple/base_table_builder.rb', line 48

def after_table
  ''
end

#before_tableObject



44
45
46
# File 'lib/grapple/base_table_builder.rb', line 44

def before_table
  ''
end

#container(inner_html) ⇒ Object



52
53
54
# File 'lib/grapple/base_table_builder.rb', line 52

def container(inner_html)
  inner_html
end

#default_optionsObject



40
41
42
# File 'lib/grapple/base_table_builder.rb', line 40

def default_options
  { }
end