class Lolita::Configuration::Tabs
Lolita::Configuration::Tabs
is container class that holds all tabs for each lolita instance. Also it has some useful methods.
Attributes
excluded[R]
tab_types[RW]
Public Class Methods
new(dbp,*args,&block)
click to toggle source
# File lib/lolita/configuration/tabs.rb, line 13 def initialize dbp,*args,&block set_and_validate_dbp(dbp) set_default_attributes set_attributes(*args) self.instance_eval(&block) if block_given? end
Public Instance Methods
associated()
click to toggle source
# File lib/lolita/configuration/tabs.rb, line 49 def associated @tabs.select{|tab| !tab.dissociate} end
by_type(type)
click to toggle source
# File lib/lolita/configuration/tabs.rb, line 41 def by_type(type) @tabs.detect{|tab| tab.type == type.to_sym } end
default()
click to toggle source
# File lib/lolita/configuration/tabs.rb, line 57 def default tab_types.each{|type| tab(type.to_sym)} end
dissociated()
click to toggle source
# File lib/lolita/configuration/tabs.rb, line 53 def dissociated @tabs.select{|tab| tab.dissociate} end
each() { |tab| ... }
click to toggle source
# File lib/lolita/configuration/tabs.rb, line 20 def each create_content_tab if @tabs.empty? @tabs.each{|tab| yield tab } end
fields()
click to toggle source
# File lib/lolita/configuration/tabs.rb, line 37 def fields @tabs.map(&:fields).flatten end
names()
click to toggle source
# File lib/lolita/configuration/tabs.rb, line 45 def names @tabs.map(&:name) end
tab(*args,&block)
click to toggle source
# File lib/lolita/configuration/tabs.rb, line 33 def tab *args,&block self << build_element(args && args[0],&block) end
tabs=(values)
click to toggle source
# File lib/lolita/configuration/tabs.rb, line 25 def tabs=(values) if values.respond_to?(:each) values.each{|tab| self << tab} else raise ArgumentError, "#{values} must respond to each" end end
Private Instance Methods
build_element(possible_tab,&block)
click to toggle source
# File lib/lolita/configuration/tabs.rb, line 80 def build_element(possible_tab,&block) possible_tab = possible_tab.nil? && :default || possible_tab new_tab = if possible_tab.is_a?(Hash) || possible_tab.is_a?(Symbol) Lolita::Configuration::Factory::Tab.add(dbp,possible_tab,&block) else possible_tab end validate(new_tab) new_tab end
collection_variable()
click to toggle source
# File lib/lolita/configuration/tabs.rb, line 76 def collection_variable @tabs end
create_content_tab()
click to toggle source
# File lib/lolita/configuration/tabs.rb, line 68 def create_content_tab tab(:content) end
set_default_attributes()
click to toggle source
# File lib/lolita/configuration/tabs.rb, line 63 def set_default_attributes() @tabs=[] @tab_types = [:content] end
validate(tab)
click to toggle source
# File lib/lolita/configuration/tabs.rb, line 72 def validate(tab) tab.respond_to?(:validate) && tab.send(:validate, :tabs => @tabs) end