Sha256: 05642cbc57c28a1163f76ac0e0e3174886a85558f7e4454ca4c566d7efa82d29

Contents?: true

Size: 1.8 KB

Versions: 1

Compression:

Stored size: 1.8 KB

Contents

###########################################

# Refs
# http://stackoverflow.com/questions/10584638/setting-up-configuration-settings-when-writing-a-gem
# http://robots.thoughtbot.com/mygem-configure-block

###########################################

module ExceptionHandler
	class Config

		#Instace Objects
		attr_accessor :db, :email, :social, :layouts

	###########################################

		#Init
		def initialize values
			defaults = values.present? ? Config::DEFAULTS.deep_merge!(values) : Config::DEFAULTS
			defaults.each do |k,v|
				instance_variable_set("@#{k}",v) #-> http://apidock.com/ruby/Object/instance_variable_set	
			end
		end

		# INSTANCE METHODS #

		#DB
		def db
			@db == true ? Config::TABLE_NAME : @db
		end

	###########################################

		#Default Table Name
		# Has to be "errors" because "exceptions" is a reserved word
		TABLE_NAME = :errors

	    # Defaults
		# http://stackoverflow.com/a/8917301/1143732
		DEFAULTS = {
			db:   	false, #-> defaults to :errors if true, else use :table_name
			email: 	false, #-> need to integrate
			social: {
				:facebook 	=> 	'frontline.utilities',
				:twitter 	=> 	'frontlineutils',
				:youtube 	=>	'frontlineutils',
				:linkedin 	=> 	'frontline-utilities',
				:fusion 	=> 	'frontlineutils',
				:url => {
					:facebook 	=> 	'https://facebook.com',
					:twitter 	=> 	'http://twitter.com',
					:youtube 	=>	'https://youtube.com/user',
					:linkedin 	=> 	'https://linkedin.com/company',
					:fusion 	=> 	'https://frontlinefusion.com',				    	
				},
			},
			layouts: {
			    '400' => nil,
			    '404' => nil, #-> 404 Callback (needs improving big time) Use the following: '404' => <<-EOF redirect_to root_url, notice: "Hello" EOF
			    '500' => 'exception'
			},
		}

	end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
exception_handler-0.4.7 lib/exception_handler/config.rb