diff options
-rw-r--r-- | data/doc/sisu/CHANGELOG_v6 | 2 | ||||
-rw-r--r-- | lib/sisu/develop/ao_character_check.rb | 9 | ||||
-rw-r--r-- | lib/sisu/develop/ao_composite.rb | 14 | ||||
-rw-r--r-- | lib/sisu/develop/ao_doc_str.rb | 7 | ||||
-rw-r--r-- | lib/sisu/develop/ao_endnotes.rb | 15 | ||||
-rw-r--r-- | lib/sisu/develop/ao_hash_digest.rb | 8 | ||||
-rw-r--r-- | lib/sisu/develop/ao_idx.rb | 7 | ||||
-rw-r--r-- | lib/sisu/develop/ao_images.rb | 6 | ||||
-rw-r--r-- | lib/sisu/develop/ao_misc_arrange.rb | 8 | ||||
-rw-r--r-- | lib/sisu/develop/ao_numbering.rb | 16 | ||||
-rw-r--r-- | lib/sisu/develop/cgi_sql_common.rb | 10 | ||||
-rw-r--r-- | lib/sisu/develop/db_sqltxt.rb | 17 | ||||
-rw-r--r-- | lib/sisu/develop/html_harvest_topics.rb | 6 | ||||
-rw-r--r-- | lib/sisu/develop/html_tune.rb | 15 | ||||
-rw-r--r-- | lib/sisu/develop/hub_loop_markup_files.rb | 3 | ||||
-rw-r--r-- | lib/sisu/develop/hub_options.rb | 10 |
16 files changed, 64 insertions, 89 deletions
diff --git a/data/doc/sisu/CHANGELOG_v6 b/data/doc/sisu/CHANGELOG_v6 index d0745d6b..e51e0883 100644 --- a/data/doc/sisu/CHANGELOG_v6 +++ b/data/doc/sisu/CHANGELOG_v6 @@ -126,6 +126,8 @@ http://www.jus.uio.no/sisu/pkg/src/sisu_6.4.0.orig.tar.xz * manifest, html ids added to label/identify content + * ao and elsewhere, use of map and select + ** SiSU "UnFrozen" - prior to end of Debian Freeze (upstream bugfix 6.3.2 (5.7.2) intended for Jessie (packaged for Debian as 5.7.1-2) was not accepted) diff --git a/lib/sisu/develop/ao_character_check.rb b/lib/sisu/develop/ao_character_check.rb index b7cfc6df..2596c739 100644 --- a/lib/sisu/develop/ao_character_check.rb +++ b/lib/sisu/develop/ao_character_check.rb @@ -63,9 +63,9 @@ module SiSU_AO_CharacterCheck end def character_check_and_oldstyle_endnote_array data=@data - @tuned_file,@endnote_array=[],[] + @endnote_array=[] endnote_no=1 - data.each do |dob| + @tuned_file=data.select do |dob| unless dob.is ==:table dob.obj=dob.obj.strip. gsub(/^[{~}]\s*$/,''). @@ -93,9 +93,8 @@ module SiSU_AO_CharacterCheck end end end - @tuned_file << dob if dob.is_a?(Object) - end - @tuned_file=@tuned_file.flatten.compact + dob if dob.is_a?(Object) + end.flatten.compact [@tuned_file,@endnote_array] end end diff --git a/lib/sisu/develop/ao_composite.rb b/lib/sisu/develop/ao_composite.rb index a60593d9..8a59f064 100644 --- a/lib/sisu/develop/ao_composite.rb +++ b/lib/sisu/develop/ao_composite.rb @@ -127,7 +127,6 @@ module SiSU_Assemble end end def loadfile(loadfilename) - tuned_file=[] begin if FileTest.file?(loadfilename) insert_array=IO.readlines(loadfilename,'') @@ -141,18 +140,17 @@ module SiSU_Assemble loadfilename, ).txt_grey end - if loadfilename =~/\S+?\.ss[im]$/ - insert_array.each do |para| - tuned_file << insert?(para) + tuned_file=if loadfilename =~/\S+?\.ss[im]$/ + insert_array.each.map do |para| + insert?(para) end elsif loadfilename =~/\S+?\.sst$/ - insert_array.each do |para| - tuned_file << para + insert_array.each.map do |para| + para end - end + end.flatten.compact end end - tuned_file=tuned_file.flatten.compact rescue SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do __LINE__.to_s + ':' + __FILE__ diff --git a/lib/sisu/develop/ao_doc_str.rb b/lib/sisu/develop/ao_doc_str.rb index 7f054660..c5f39ed4 100644 --- a/lib/sisu/develop/ao_doc_str.rb +++ b/lib/sisu/develop/ao_doc_str.rb @@ -1138,8 +1138,8 @@ module SiSU_AO_DocumentStructureExtract SiSU_AO_DocumentStructure::ObjectPara.new.paragraph(h) end def build_lines(type=:none) - lines,lines_new=@data,[] - lines.each do |line| + lines=@data + lines.each.map do |line| line=if line =~/\S/ \ and line !~/^(?:code(?:\.[a-z][0-9a-z_]+)?\{|\}code)/ \ and line !~/^(?:```[ ]+code(?:\.[a-z][0-9a-z_]+)?|```(?:\s+[~-][#]|\s+\~\{.+?\}\~)?\s*$)/ \ @@ -1156,9 +1156,8 @@ module SiSU_AO_DocumentStructureExtract line.gsub(/\s*$/,"#{Mx[:br_nl]}") else line end - lines_new << line + line end - lines_new end end class Structure # this must happen early diff --git a/lib/sisu/develop/ao_endnotes.rb b/lib/sisu/develop/ao_endnotes.rb index c6dafd4c..c5233452 100644 --- a/lib/sisu/develop/ao_endnotes.rb +++ b/lib/sisu/develop/ao_endnotes.rb @@ -66,9 +66,8 @@ module SiSU_AO_Endnotes end def endnotes data=@data - @tuned_file=[] endnote_ref=1 - data.each do |dob| + @tuned_file=data.each.map do |dob| # manually numbered endnotes <!e(\d)!> <!e_(\d)!> --> if @md.opt.selections.str =~/--no-asterisk|--no-annotate/ dob.obj=dob.obj. @@ -89,20 +88,20 @@ module SiSU_AO_Endnotes word_mode=endnote_call_number(word_mode) dob.obj=word_mode.join(' ') endnote_ref+=1 - when /~\^(?:\s|$)|<:e>/ #%note inserts endnotes previously gathered from /^(<!e[:_]!>|[-~]\{{3})/ (in earlier loop) + when /~\^(?:\s|$)/ #%note inserts endnotes previously gathered from /^(<!e[:_]!>|[-~]\{{3})/ (in earlier loop) word_mode=dob.obj.scan(/\S+/m) word_mode=endnote_call_number(word_mode) dob.obj=word_mode.join(' ') endnote_ref+=1 end end - @tuned_file << dob - end + dob + end.flatten @endnote_counter, @endnote_counter_asterisk, @endnote_counter_dag= 1,1,1 - @tuned_file=@tuned_file.flatten + @tuned_file end def endnote_call_number(words) words.each do |word| @@ -123,9 +122,9 @@ module SiSU_AO_Endnotes "#{Mx[:en_b_o]}\*#{@endnote_counter_asterisk} ") @endnote_counter_asterisk+=1 end - when /~\^|<:e>/ + when /~\^/ if @endnote_array - word.gsub!(/~\^|<:e>/, + word.gsub!(/~\^/, "#{@endnote_array[@endnote_counter-1]}") @endnote_counter+=1 end diff --git a/lib/sisu/develop/ao_hash_digest.rb b/lib/sisu/develop/ao_hash_digest.rb index 97087a2a..39f34f85 100644 --- a/lib/sisu/develop/ao_hash_digest.rb +++ b/lib/sisu/develop/ao_hash_digest.rb @@ -103,9 +103,8 @@ module SiSU_AO_Hash #use md5 or to create hash of each ao object including ocn, & add into to each ao object end def endnote_digest(data) - t_o_bit=[] - data.each do |en_plus| - t_o_bit <<= case en_plus + data.each.map do |en_plus| + case en_plus when /#{Mx[:en_a_o]}|#{Mx[:en_b_o]}/ if en_plus =~/#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]}/ t_o_txt,en_open,en_txt,en_close= @@ -133,8 +132,7 @@ module SiSU_AO_Hash end else en_plus end - end - t_o_bit.join + end.join end def stamped(t_o,hash_class) #decide what hash information is most useful, is compromise necessary? t_o.obj=SiSU_TextRepresentation::Alter.new(t_o).strip_clean_of_extra_spaces diff --git a/lib/sisu/develop/ao_idx.rb b/lib/sisu/develop/ao_idx.rb index 80dca601..cbe3f00c 100644 --- a/lib/sisu/develop/ao_idx.rb +++ b/lib/sisu/develop/ao_idx.rb @@ -413,12 +413,9 @@ module SiSU_AO_BookIndex tuned_file end def clean_index(data) #check on use of dob - tuned_file=[] - data.each do |para| - para=para.gsub(/\n*#{@rgx_idx}/m,'') - tuned_file << para + data.each.map do |para| + para.gsub(/\n*#{@rgx_idx}/m,'') end - tuned_file end end end diff --git a/lib/sisu/develop/ao_images.rb b/lib/sisu/develop/ao_images.rb index 2e152573..e0f20d33 100644 --- a/lib/sisu/develop/ao_images.rb +++ b/lib/sisu/develop/ao_images.rb @@ -67,7 +67,6 @@ module SiSU_AO_Images end def images data=@data - tuned_file=[] @rmgk=false imagemagick_=true #imagemagick_=SiSU_Env::InfoSettings.new.program?('rmagick') if imagemagick_ @@ -85,7 +84,7 @@ module SiSU_AO_Images ).warn end end - data.each do |dob| + data.select do |dob| unless dob.is ==:table dob.obj=dob.obj.strip if dob.obj =~/#{Mx[:lnk_o]}\s*\S+\.(?:png|jpg|gif)(?:\s*|\s+.+)?#{Mx[:lnk_c]}(?:#{Mx[:url_o]}\S+?#{Mx[:url_c]}|image)/ @@ -179,9 +178,8 @@ module SiSU_AO_Images dob.obj=dob.obj.gsub(/(#{Mx[:lnk_o]})\s*(\S+\.(?:png|jpg|gif))\s+/i,'\1\2 ') end end - tuned_file << dob unless dob.nil? + dob unless dob.nil? end - tuned_file end end end diff --git a/lib/sisu/develop/ao_misc_arrange.rb b/lib/sisu/develop/ao_misc_arrange.rb index d474f553..8f8fe368 100644 --- a/lib/sisu/develop/ao_misc_arrange.rb +++ b/lib/sisu/develop/ao_misc_arrange.rb @@ -189,7 +189,6 @@ module SiSU_AO_MiscArrangeText end def prepare_text data=@data - data_new=[],[] if data[0] =~ /^#!\s*(?:\/usr\/bin\/env sisu|\/usr\/bin\/sisu)/ # remove bang from top #! (however file is stripped, so will be removed provided no content precedes it) data[0]=data[0].gsub(/^#!\s*\/usr\/bin\/sisu/,''). gsub(/^#!\s*\/usr\/bin\/env sisu/,'') @@ -198,11 +197,10 @@ module SiSU_AO_MiscArrangeText data[0]=data[0].gsub(/^(SiSU\s*[\d.]*)$/,'% \1'). gsub(/^(sisu-[\d.]+)$/,'% \1') end - data.each do |para| + data.each.map do |para| para=conditional_headings(para) - data_new << markup_blocks(para) - end - data_new=data_new.flatten + markup_blocks(para) + end.flatten end end end diff --git a/lib/sisu/develop/ao_numbering.rb b/lib/sisu/develop/ao_numbering.rb index 6e9f2853..38054fa1 100644 --- a/lib/sisu/develop/ao_numbering.rb +++ b/lib/sisu/develop/ao_numbering.rb @@ -172,7 +172,6 @@ module SiSU_AO_Numbering gsub(/#{Mx[:gl_bullet]}/,'') end def auto_number_heading_ie_title(data) #also does some segment naming - @tuned_file=[] if defined? @md.make.num_top \ and @md.make.num_top \ and @md.make.num_top !~/^$/ @@ -185,7 +184,7 @@ module SiSU_AO_Numbering end chapter_number_counter=0 data=data.compact - data.each do |dob| #@md.seg_names << [additions to segment names] + @tuned_file=data.each.map do |dob| #@md.seg_names << [additions to segment names] title_no=nil if dob.is ==:heading \ && dob.autonum_ \ @@ -274,9 +273,8 @@ module SiSU_AO_Numbering dob.tags=set_tags(dob.tags,dob.name) end dob.tags=dob.tags.uniq if defined? dob.tags - @tuned_file << dob - end - @tuned_file=@tuned_file.flatten + dob + end.flatten end def ocn(data) #and auto segment numbering increment @tuned_file=SiSU_AO_DocumentStructureExtract::OCN.new(@md,data,@fnx,@process).ocn @@ -287,10 +285,9 @@ module SiSU_AO_Numbering @tuned_file end def minor_numbering(data) #and auto segment numbering increment - @tuned_file=[] number_small,letter_small=0,0 letter=%w( a b c d e f g h i j k l m n o p q r s t u v w x y z ) - data.each do |dob| + @tuned_file=data.each.map do |dob| if dob.of ==:heading \ || dob.of ==:heading_insert \ || dob.of ==:para \ @@ -313,9 +310,8 @@ module SiSU_AO_Numbering end end end - @tuned_file << dob - end - @tuned_file=@tuned_file.flatten + dob + end.flatten end def leading_zeros_fixed_width_number(possible_seg_name) if possible_seg_name.to_s =~/^([0-9]+?\.|[0-9]+)$/m #!~/[.,:-]+/ diff --git a/lib/sisu/develop/cgi_sql_common.rb b/lib/sisu/develop/cgi_sql_common.rb index 3974caf0..33e9c150 100644 --- a/lib/sisu/develop/cgi_sql_common.rb +++ b/lib/sisu/develop/cgi_sql_common.rb @@ -908,13 +908,11 @@ module SiSU_CGI_SQL else nil end @search_regx=if unescaped_search #check - search_regex=[] - build=unescaped_search.scan(/\S+/).each do |g| + search_regex=unescaped_search.scan(/\S+/).each.map do |g| (g.to_s =~/(AND|OR)/) \ - ? (search_regex << '|') - : (search_regex << %{#{g.to_s}}) - end - search_regex=search_regex.join(' ') + ? ('|') + : (%{#{g.to_s}}) + end.join(' ') search_regex=search_regex.gsub(/\s*\|\s*/,'|') Regexp.new(search_regex, Regexp::IGNORECASE) else nil diff --git a/lib/sisu/develop/db_sqltxt.rb b/lib/sisu/develop/db_sqltxt.rb index 86984596..1e3efbc7 100644 --- a/lib/sisu/develop/db_sqltxt.rb +++ b/lib/sisu/develop/db_sqltxt.rb @@ -66,9 +66,9 @@ module SiSU_DbText gsub(/#{Mx[:lnk_o]}\s*(.+?)\s*#{Mx[:lnk_c]}#{Mx[:url_o]}\S+?#{Mx[:url_c]}/m,'\1') end def clean_searchable_text_from_document_objects(arr) - txt_arr,en=[],[] + en=[] arr=(arr.is_a?(String)) ? [ arr ] : arr - arr.each do |s| + txt_arr=arr.each.map do |s| s=s.gsub(/#{Mx[:fa_o]}[a-z]{1,4}#{Mx[:fa_o_c]}/m,''). gsub(/#{Mx[:fa_c_o]}[a-z]{1,4}#{Mx[:fa_c]}/m,''). gsub(/<br>/m,' ') @@ -77,27 +77,26 @@ module SiSU_DbText gsub(/#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]}/m,''). gsub(/ \s+/m,' ') #p s if s =~/[^ \nA-Za-z0-9'"`?!#@$%^&*=+,.;:\[\]()<>{}‹›|\\\/~_-]/ - txt_arr << s + s end txt_arr=txt_arr << en txt=txt_arr.flatten.join("\n") special_character_escape(txt) end def clean_document_objects_body(arr) - txt_arr,en,en_arr=[],[],[] + en=[] arr=(arr.is_a?(String)) ? [ arr ] : arr - arr.each do |s| + txt_arr=arr.each.map do |s| en << s.scan(/#{Mx[:en_a_o]}\s*(.+?)\s*#{Mx[:en_a_c]}/m) s=s. gsub(/#{Mx[:en_a_o]}\s*(\d+).+?#{Mx[:en_a_c]}/m, '<sup>\1</sup>'). gsub(/#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]}/m,''). gsub(/ \s+/m,' ') - txt_arr << s + s end - en.flatten.each do |e| - e=e.sub(/^(\d+)\s*/,'<sup>\1</sup> ') - en_arr << e + en_arr=en.flatten.each.map do |e| + e.sub(/^(\d+)\s*/,'<sup>\1</sup> ') end txt_arr=txt_arr << en_arr txt=txt_arr.flatten.join("\n<br>") diff --git a/lib/sisu/develop/html_harvest_topics.rb b/lib/sisu/develop/html_harvest_topics.rb index bd461377..22c880d6 100644 --- a/lib/sisu/develop/html_harvest_topics.rb +++ b/lib/sisu/develop/html_harvest_topics.rb @@ -158,10 +158,9 @@ module SiSU_HarvestTopics end idx_array[lang] <<=if @idx_list =~/;/ g=@idx_list.scan(/[^;]+/) - idxl=[] - g.each do |i| + g.each.map do |i| i=i.strip - idxl << { + { filename: filename, file: file, rough_idx: i, @@ -171,7 +170,6 @@ module SiSU_HarvestTopics lang: lang } end - idxl else { filename: filename, file: file, diff --git a/lib/sisu/develop/html_tune.rb b/lib/sisu/develop/html_tune.rb index 89757bb9..70c7e0ee 100644 --- a/lib/sisu/develop/html_tune.rb +++ b/lib/sisu/develop/html_tune.rb @@ -151,7 +151,6 @@ module SiSU_HTML_Tune end def songsheet_array(data) data_tuned=[] - #@tuned_file=[] data.each do |dob| dob=amp_angle_brackets(dob) dob=endnotes_html(dob) @@ -162,9 +161,8 @@ module SiSU_HTML_Tune data_tuned end def urls(data) - @words=[] - data.each do |word| - @words << if word=~/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}(?:#{Mx[:url_o]}\S+?#{Mx[:url_c]}|#{Mx[:rel_o]}\S+?#{Mx[:rel_c]}|image)/ + @words=data.each.map do |word| + if word=~/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}(?:#{Mx[:url_o]}\S+?#{Mx[:url_c]}|#{Mx[:rel_o]}\S+?#{Mx[:rel_c]}|image)/ http_=true if word =~/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}#{Mx[:url_o]}\S+?#{Mx[:url_c]}/ m,u=/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/.match(word).captures @@ -208,9 +206,7 @@ module SiSU_HTML_Tune word else word end - word - end - @words=@words.join(' ') + end.join(' ') end def url_markup(dob) unless dob.is==:code @@ -293,10 +289,9 @@ module SiSU_HTML_Tune end def output data=@data - @tuned_file=[] - data.each do |dob| + @tuned_file=data.each.map do |dob| dob.obj=dob.obj.strip.chomp - @tuned_file << dob + dob end @tuned_file << "\n<EOF>" if (@md.fns =~/\.sst0/) #remove @tuned_file diff --git a/lib/sisu/develop/hub_loop_markup_files.rb b/lib/sisu/develop/hub_loop_markup_files.rb index 541b205a..6b27b8d3 100644 --- a/lib/sisu/develop/hub_loop_markup_files.rb +++ b/lib/sisu/develop/hub_loop_markup_files.rb @@ -136,6 +136,9 @@ module SiSU_Hub_Loops files_translated_idx << x[1] end end + #files_translated_idx=number_of_files.select do |x| + # x[1] if x[1].length > 1 + #end if files_translated_idx.flatten.length > 1 SiSU_Screen::Ansi.new( @opt.act[:color_state][:set], diff --git a/lib/sisu/develop/hub_options.rb b/lib/sisu/develop/hub_options.rb index 6e22c2ae..f6a40be9 100644 --- a/lib/sisu/develop/hub_options.rb +++ b/lib/sisu/develop/hub_options.rb @@ -249,17 +249,15 @@ module SiSU_Commandline end end def init_selected_lang_dirs(a) - @z=[] - a.each do |y| + @z=a.each.map do |y| if y =~/^#{lng_base}\/(\S+?\.ss[tm])$/ @fn=$1 - @z << y + y elsif y =~/^#{@lang_regx}\/?$/ - @z << "#{y}/#{@fn}" - else @z << y + "#{y}/#{@fn}" + else y end end - @z end def init a=@a |