lib/dynamic_sitemaps/sitemap.rb in dynamic_sitemaps-1.0.8 vs lib/dynamic_sitemaps/sitemap.rb in dynamic_sitemaps-2.0.0.beta
- old
+ new
@@ -1,11 +1,46 @@
module DynamicSitemaps
class Sitemap
- class << self
- attr_reader :draw_block
-
- def draw(&block)
- @draw_block = block
+ attr_reader :name, :collection, :block, :host, :folder
+
+ # Initializes a sitemap object.
+ #
+ # Sitemap.new(:site) do
+ # url root_url
+ # end
+ #
+ # Using an ActiveRecord relation:
+ #
+ # Sitemap.new(:site, Product.visible) do |product|
+ # url product
+ # url product_editions_path(product)
+ # end
+
+ def initialize(*args, &block)
+ if args.first.is_a?(Symbol)
+ @name = args.shift
end
+
+ if args.last.is_a?(Hash)
+ options = args.pop
+ @per_page = options[:per_page]
+ @host = options[:host]
+ @folder = options[:folder]
+ @collection = options[:collection]
+ end
+
+ @block = block
+ end
+
+ def root_url
+ "http://#{host}"
+ end
+
+ def per_page
+ @per_page ||= DynamicSitemaps::DEFAULT_PER_PAGE
+ end
+
+ # Generates sitemap XML files based on this sitemap
+ def generate
end
end
end
\ No newline at end of file