Sha256: f4d634c81008f3f5821b27d8267ed6971cc0cb63b8d780b4094d086cacd59b39
Contents?: true
Size: 1.45 KB
Versions: 4
Compression:
Stored size: 1.45 KB
Contents
#-- # BibTeX-Ruby # Copyright (C) 2010 Sylvester Keil <http://sylvester.keil.or.at> # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. #++ module BibTeX # This module contains functions to manipulate BibTeX # string literals. module StringReplacement # Returns a string representation of the literal. def self.to_s(value,options={}) return if value.nil? options[:delimiter] ||= ['"','"'] #options[:delimiter] ||= ['{','}'] if value.empty? || (value.length == 1 && !value[0].kind_of?(Symbol)) [options[:delimiter][0],value,options[:delimiter][1]].join else value.map { |s| s.kind_of?(Symbol) ? s.to_s : s.inspect}.join(' # ') end end # Replaces all string constants in +value+ which are defined in +hsh+. def self.replace(value,hsh) return if value.nil? value.map { |s| s.kind_of?(Symbol) && hsh.has_key?(s) ? hsh[s] : s }.flatten end end end
Version data entries
4 entries across 4 versions & 1 rubygems