class Showbuilder::Builders::ShowModelTableRowBuilder
Attributes
Public Class Methods
# File lib/showbuilder/builders/model_table_row_builder.rb, line 15 def initialize(template) @template = template end
Public Instance Methods
show_currency_column
:price show_currency_column
:product, :price
# File lib/showbuilder/builders/model_table_row_builder.rb, line 40 def show_currency_column(*methods) return show_header_column(methods) if is_header content = get_methods_currency_value(model, methods) content_tag :td, content, :class => 'currency' end
show_currency_link_column
:price show_currency_link_column
:product, :price show_currency_link_column
:product, :price, :link => :product show_currency_link_column
:product, :price, :link => [:sale, :customer] show_currency_link_column
:product, :create_at, :link => ->(book){ book_path(book) }
# File lib/showbuilder/builders/model_table_row_builder.rb, line 121 def show_currency_link_column(*methods) return show_header_column(methods) if is_header name = get_methods_currency_value(model, methods) content_tag :td, :class => 'currency' do show_column_link name, methods end end
show_date_column
:create_at show_date_column
:sale, :create_at
# File lib/showbuilder/builders/model_table_row_builder.rb, line 67 def show_date_column(*methods) return show_header_column(methods) if is_header content = get_methods_date_value(model, methods) content_tag :td, content, :class => 'date' end
show_date_link_column
:create_at show_date_link_column
:sale, :create_at show_date_link_column
:sale, :create_at, :link => :sale show_date_link_column
:sale, :create_at, :link => [:sale, :customer] show_date_link_column
:sale, :create_at, :link => ->(book){ book_path(book) }
# File lib/showbuilder/builders/model_table_row_builder.rb, line 93 def show_date_link_column(*methods) return show_header_column(methods) if is_header name = get_methods_date_value(model, methods) content_tag :td, :class => 'date' do show_column_link name, methods end end
show_header_column
show_header_column
:balance show_header_column
:reminder
# File lib/showbuilder/builders/model_table_row_builder.rb, line 133 def show_header_column(methods = nil) text = '' if methods methods = Array.wrap(methods) methods = filter_methods_options(methods) text = show_current_itext(methods) end content_tag :th, text end
show_percent_column
:discount show_percent_column
:product, :discount
# File lib/showbuilder/builders/model_table_row_builder.rb, line 49 def show_percent_column(*methods) return show_header_column(methods) if is_header content = get_methods_percent_value(model, methods) content_tag :td, content, :class => 'percent' end
show_sequence_column
show_sequence_column
:code
# File lib/showbuilder/builders/model_table_row_builder.rb, line 21 def show_sequence_column(*args) args = :sequence if args.empty? return show_header_column(args) if is_header sequence = SequenceManager.get_sequence content_tag :td, sequence.to_s, :class => 'sequence' end
show_text_column
:number show_text_column
:sale, :number
# File lib/showbuilder/builders/model_table_row_builder.rb, line 31 def show_text_column(*methods) return show_header_column(methods) if is_header content = get_methods_text_value(model, methods) content_tag :td, content, :class => 'text' end
show_text_link_column
:number show_text_link_column
:sale, :number show_text_link_column
:sale, :number, :link => :sale show_text_link_column
:sale, :number, :link => [:sale, :customer] show_text_link_column
:sale, :number, :link => ->(book){ book_path(book) }
# File lib/showbuilder/builders/model_table_row_builder.rb, line 79 def show_text_link_column(*methods) return show_header_column(methods) if is_header name = get_methods_text_value(model, methods) content_tag :td, :class => 'text' do show_column_link name, methods end end
show_time_column
:create_at show_time_column
:sale, :create_at
# File lib/showbuilder/builders/model_table_row_builder.rb, line 58 def show_time_column(*methods) return show_header_column(methods) if is_header content = get_methods_time_value(model, methods) content_tag :td, content, :class => 'time' end
show_time_link_column
:create_at show_time_link_column
:sale, :create_at show_time_link_column
:sale, :create_at, :link => :sale show_time_link_column
:sale, :create_at, :link => [:sale, :customer] show_time_link_column
:sale, :create_at, :link => ->(book){ book_path(book) }
# File lib/showbuilder/builders/model_table_row_builder.rb, line 107 def show_time_link_column(*methods) return show_header_column(methods) if is_header name = get_methods_time_value(model, methods) content_tag :td, :class => 'time' do show_column_link name, methods end end
Private Instance Methods
# File lib/showbuilder/builders/model_table_row_builder.rb, line 201 def filter_methods_options(methods) case methods.last when Hash return methods[0..-2] else return methods end end
# File lib/showbuilder/builders/model_table_row_builder.rb, line 150 def get_link_option(methods) if methods.count == 1 return model end link_methods = get_methods_option(methods, :link) case link_methods when Proc link_option = link_methods.call(model) when String, Symbol, Array link_option = call_object_methods(model, link_methods) when NIL link_option = model else raise 'Unknow type #{link_methods}.' end return link_option end
# File lib/showbuilder/builders/model_table_row_builder.rb, line 189 def get_methods_currency_value(model, methods) methods = filter_methods_options(methods) value = call_object_methods(model, methods) currency_string value end
# File lib/showbuilder/builders/model_table_row_builder.rb, line 177 def get_methods_date_value(model, methods) methods = filter_methods_options(methods) value = call_object_methods(model, methods) date_string value end
# File lib/showbuilder/builders/model_table_row_builder.rb, line 210 def get_methods_option(methods, key) case methods.last when Hash return methods.last[key] else return nil end end
# File lib/showbuilder/builders/model_table_row_builder.rb, line 195 def get_methods_percent_value(model, methods) methods = filter_methods_options(methods) value = call_object_methods(model, methods) percent_string value end
# File lib/showbuilder/builders/model_table_row_builder.rb, line 171 def get_methods_text_value(model, methods) methods = filter_methods_options(methods) value = call_object_methods(model, methods) value.to_s end
# File lib/showbuilder/builders/model_table_row_builder.rb, line 183 def get_methods_time_value(model, methods) methods = filter_methods_options(methods) value = call_object_methods(model, methods) time_string value end
# File lib/showbuilder/builders/model_table_row_builder.rb, line 145 def show_column_link(name, methods) link_option = get_link_option(methods) show_model_link_to name, link_option end
# File lib/showbuilder/builders/model_table_row_builder.rb, line 219 def show_current_itext_base itext_base || controller_name.to_s.singularize end