class Para::SeoTools::Skeleton::Site
Attributes
default_page_options[R]
enable_logging[R]
Public Class Methods
new(options = {})
click to toggle source
# File lib/para/seo_tools/skeleton/site.rb, line 8 def initialize(options = {}) @enable_logging = options.delete(:enable_logging) @default_page_options = options end
Public Instance Methods
log(message)
click to toggle source
Log messages when you're not in rails
# File lib/para/seo_tools/skeleton/site.rb, line 52 def log(message) Rails.logger.info(message) if enable_logging || !$0.end_with?('rails') end
max_pages_before_save()
click to toggle source
# File lib/para/seo_tools/skeleton/site.rb, line 56 def max_pages_before_save @max_pages_before_save ||= if (param = ENV['SEO_TOOLS_MAX_PAGES_BEFORE_SAVE']).present? para.to_i else 500 end end
page(name, options = {}, &block)
click to toggle source
# File lib/para/seo_tools/skeleton/site.rb, line 13 def page(name, options = {}, &block) options.reverse_merge!(default_page_options) Skeleton::PageBuilder.new(name, options).tap do |page| pages << page save if pages.length == max_pages_before_save end end
pages()
click to toggle source
# File lib/para/seo_tools/skeleton/site.rb, line 29 def pages @pages ||= [] end
save()
click to toggle source
# File lib/para/seo_tools/skeleton/site.rb, line 33 def save log " * Saving #{ pages.length } generated pages ..." ActiveRecord::Base.transaction do pages.each do |page| page.model.save! saved_pages_ids << page.model.id end end pages.clear end
saved_pages_ids()
click to toggle source
# File lib/para/seo_tools/skeleton/site.rb, line 46 def saved_pages_ids @saved_pages_ids ||= [] end
with_params(params = {}, &block)
click to toggle source
# File lib/para/seo_tools/skeleton/site.rb, line 22 def with_params(params = {}, &block) previous_default_page_options = default_page_options @default_page_options = default_page_options.dup.merge(params) block.call @default_page_options = previous_default_page_options end