Sha256: 59bcc55ca61aa515e513b907764af6e5762a73254dd9a905570d5d3c90639004

Contents?: true

Size: 753 Bytes

Versions: 5

Compression:

Stored size: 753 Bytes

Contents

module BootstrapEmail
  module Component
    class Margin < Base
      def build
        each_node('*[class*=my-], *[class*=mt-], *[class*=mb-]') do |node|
          top_class = node['class'][/m[ty]{1}-(lg-)?(\d+)/]
          bottom_class = node['class'][/m[by]{1}-(lg-)?(\d+)/]
          node['class'] = node['class'].gsub(/(m[tby]{1}-(lg-)?\d+)/, '')
          html = ''
          if top_class
            html += template('div', classes: "s-#{top_class.gsub(/m[ty]{1}-/, '')}", contents: nil)
          end
          html += node.to_html
          if bottom_class
            html += template('div', classes: "s-#{bottom_class.gsub(/m[by]{1}-/, '')}", contents: nil)
          end
          node.replace(html)
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
bootstrap-email-1.0.0.alpha2.1 lib/bootstrap-email/components/margin.rb
bootstrap-email-1.0.0.alpha2 lib/bootstrap-email/components/margin.rb
bootstrap-email-1.0.0.alpha1.2 lib/bootstrap-email/components/margin.rb
bootstrap-email-1.0.0.alpha1.1 lib/bootstrap-email/components/margin.rb
bootstrap-email-1.0.0.alpha1 lib/bootstrap-email/components/margin.rb