Sha256: cc2631204853ecccd22f9a07e9523fe62fe199d30296cb22270c29a78a4d340a

Contents?: true

Size: 650 Bytes

Versions: 19

Compression:

Stored size: 650 Bytes

Contents

module Snibbets
  class ::Array
    def blocks
      select { |el| el =~ /^<block\d+>$/ }.count
    end

    def strip_empty
      remove_leading_empty_elements.remove_trailing_empty_elements
    end

    def strip_empty!
      replace strip_empty
    end

    def remove_leading_empty_elements
      output = []

      in_leader = true
      each do |line|
        if (line =~ /^\s*$/ || line.empty?) && in_leader
          next
        else
          in_leader = false
          output << line
        end
      end

      output
    end

    def remove_trailing_empty_elements
      reverse.remove_leading_empty_elements.reverse
    end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
snibbets-2.0.29 lib/snibbets/array.rb
snibbets-2.0.28 lib/snibbets/array.rb
snibbets-2.0.27 lib/snibbets/array.rb
snibbets-2.0.26 lib/snibbets/array.rb
snibbets-2.0.25 lib/snibbets/array.rb
snibbets-2.0.24 lib/snibbets/array.rb
snibbets-2.0.23 lib/snibbets/array.rb
snibbets-2.0.22 lib/snibbets/array.rb
snibbets-2.0.21 lib/snibbets/array.rb
snibbets-2.0.20 lib/snibbets/array.rb
snibbets-2.0.19 lib/snibbets/array.rb
snibbets-2.0.18 lib/snibbets/array.rb
snibbets-2.0.17 lib/snibbets/array.rb
snibbets-2.0.16 lib/snibbets/array.rb
snibbets-2.0.15 lib/snibbets/array.rb
snibbets-2.0.14 lib/snibbets/array.rb
snibbets-2.0.13 lib/snibbets/array.rb
snibbets-2.0.12 lib/snibbets/array.rb
snibbets-2.0.11 lib/snibbets/array.rb