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

dbi[R]
klass[R]

Public Class Methods

new(orm_class,&block) click to toggle source

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

generate!() click to toggle source

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
list(&block) click to toggle source

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
list=(new_list) click to toggle source
# File lib/lolita/configuration/core.rb, line 44
def list=(new_list)
  @list = new_list if new_list.is_a?(Lolita::Configuration::List)
end
tab(*args, &block) click to toggle source

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
tabs(&block) click to toggle source

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

after_initialize() click to toggle source
# File lib/lolita/configuration/core.rb, line 74
def after_initialize
  @dbp.klass.run(:after_lolita_loaded, :once => self)
end
generators() click to toggle source
# File lib/lolita/configuration/core.rb, line 70
def generators
  @@generators
end