module GollumRails::Setup
Setup
functionality for Rails initializer
will be generated by Rails generator: `rails g gollum_rails:install`
manually:
GollumRails::Setup.build do |config| config.repository = '<path_to_your_repository>' config.wiki = :default config.startup end
Public Class Methods
build(new_attributes = nil) { |self| ... }
click to toggle source
defines block builder for Rails initializer. executes public methods inside own class
# File lib/gollum_rails/setup.rb, line 26 def build(new_attributes = nil, &block) if block_given? yield self else if !new_attributes.respond_to?(:stringify_keys) raise ArgumentError, "When assigning attributes, you must pass a hash as an argument." end attributes = new_attributes.stringify_keys attributes.each do |k, v| begin public_send("#{k}=", v) rescue NoMethodError end end end if self.repository == :application raise GollumRailsSetupError, "Rails configuration is not defined. Are you in a Rails app?" if Rails.application.nil? initialize_wiki Rails.application.config.wiki_repository else raise GollumRailsSetupError, "Git repository does not exist. Was the specified pathname correct?" unless Pathname.new(self.repository).exist? initialize_wiki self.repository end end
Private Class Methods
initialize_wiki(path)
click to toggle source
# File lib/gollum_rails/setup.rb, line 61 def initialize_wiki(path) if path_valid? path self.wiki_path = path.to_s self.wiki_options = options true else raise GollumRailsSetupError, 'Path to repository is empty or invalid!' end end
path_valid?(path)
click to toggle source
# File lib/gollum_rails/setup.rb, line 56 def path_valid?(path) return path.exist? if path.is_a?(Pathname) return !(path.nil? || path.empty? || ! path.is_a?(String)) end