class Meta2::Strategies::ActiveRecord

Public Instance Methods

build_path(prefix) click to toggle source
# File lib/meta2/strategies/active_record.rb, line 24
def build_path(prefix)
  path_prefix = prefix.gsub '/', '.'
  '%s.%s' % [path_prefix, @options[:template]]
end
detect() click to toggle source
# File lib/meta2/strategies/active_record.rb, line 6
def detect
  absorber = Meta2::Absorber.new
  absorber.formats  = get_section :formats
  absorber.defaults = get_section :defaults

  retrieve_parts do |path|
    settings = parts.where path: path
    section = settings.find_each.map do |setting|
      [setting.name.to_sym, setting.value]
    end
    next nil if section.blank?
    absorber.parts = Hash[*section.flatten]
  end
  absorber.parts ||= Hash.new

  absorber
end

Private Instance Methods

get_section(namespace) click to toggle source
# File lib/meta2/strategies/active_record.rb, line 36
def get_section(namespace)
  section = targets.where(section: namespace).find_each.map do |setting|
    [setting.name.to_sym, setting.value]
  end
  section = Hash[*section.flatten]

  default_formats.merge section
end
parts() click to toggle source
# File lib/meta2/strategies/active_record.rb, line 32
def parts
  targets.where section: :parts
end
targets() click to toggle source
# File lib/meta2/strategies/active_record.rb, line 45
def targets
  Meta2::Setting.where app_name: @config[:assign_name]
end