class Lolita::Configuration::Core
This is class of lolita instance. Main block can hold these methods: list
- List
definition, see Lolitia::Configuration::List tab
- Tab
definition, see Lolita::Configuration::Tab
tabs
- Tabs
definition, see Lolita::Configuration::Tabs
Attributes
Public Class Methods
When configuration is defined in class than you don't need to worry about creating new object, because Lolita
itself create it for that class. New object is created like when you define it in class, but parent_class must be given.
Example¶ ↑
class Person < ActiveRecord::Base include Lolita::Configuration lolita end Person.lolita.klass #=> Person # Init Lolita by youself class Person < ActiveRecord::Base include Lolita::Configuration end Person.lolita=Lolita::Configuration::Base.new(Person) Person.lolita.klass #=> Person
# File lib/lolita/configuration/core.rb, line 30 def initialize(orm_class,&block) @klass = orm_class @dbp = Lolita::DBI::Base.create(orm_class) @dbi = @dbp block_given? ? self.instance_eval(&block) : self.generate! end
Public Instance Methods
Call all supported instance metods to set needed variables and initialize object with them.
# File lib/lolita/configuration/core.rb, line 62 def generate! generators.each{|generator| self.send(generator) } end
Create list variable for ::Base class and create lazy object of Lolita::LazyLoader
. See Lolita::Configuration::List
for more information.
# File lib/lolita/configuration/core.rb, line 40 def list &block Lolita::LazyLoader.lazy_load(self,:@list,Lolita::Configuration::List,@dbp,&block) end
# File lib/lolita/configuration/core.rb, line 44 def list=(new_list) @list = new_list if new_list.is_a?(Lolita::Configuration::List) end
Shortcut for Lolita::Configuration::Tabs
<<. Tabs
should not be defined in lolita block to create onew or more Lolita::Configuration::Tab
See Lolita::Configuration::Tab
for details of defination.
# File lib/lolita/configuration/core.rb, line 57 def tab *args, &block self.tabs << Lolita::Configuration::Factory::Tab.add(@dbp,*args,&block) end
Create collection of Lolita::Configuration::Tab
, loading lazy. See Lolita::Configuration::Tabs
for details.
# File lib/lolita/configuration/core.rb, line 50 def tabs &block Lolita::LazyLoader.lazy_load(self, :@tabs,Lolita::Configuration::Tabs,@dbp,&block) end
Private Instance Methods
# File lib/lolita/configuration/core.rb, line 74 def after_initialize @dbp.klass.run(:after_lolita_loaded, :once => self) end
# File lib/lolita/configuration/core.rb, line 70 def generators @@generators end