Module: LegalToMarkdown::Mixins
- Defined in:
- lib/legal_markdown/legal_to_markdown/mixins.rb
Instance Method Summary collapse
- #backup_opt_clauses ⇒ Object
- #clauses_churn_add ⇒ Object
- #clauses_churn_delete ⇒ Object
- #clauses_mixins ⇒ Object
- #clean_up_mixins ⇒ Object
- #run_mixins ⇒ Object
- #set_up_opt_clauses ⇒ Object
- #text_mixins ⇒ Object
Instance Method Details
#backup_opt_clauses ⇒ Object
49 50 51 52 53 54 |
# File 'lib/legal_markdown/legal_to_markdown/mixins.rb', line 49 def backup_opt_clauses @clauses_to_delete.each { |m| @headers.delete(m) } @clauses_to_mixin.each { |m| @headers.delete(m) } @clauses_deleted = @clauses_to_delete.dup @clauses_added = @clauses_to_mixin.dup end |
#clauses_churn_add ⇒ Object
56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/legal_markdown/legal_to_markdown/mixins.rb', line 56 def clauses_churn_add @clauses_added.each do | mixin | pattern = /(\[\{\{#{mixin}\}\}\s*?)(.*?\n*?)(\])/m sub_pattern = /\[\{\{(\S+?)\}\}\s*?/ @content[pattern] get_it_all = $& || "" sub_clause = $2 || "" next if sub_clause[sub_pattern] && ( @clauses_to_mixin.include?($1) || @clauses_to_delete.include?($1) ) @content = @content.gsub( get_it_all, sub_clause.lstrip ) @clauses_added.delete( mixin ) unless @content[pattern] end end |
#clauses_churn_delete ⇒ Object
69 70 71 72 73 74 75 76 77 78 79 80 |
# File 'lib/legal_markdown/legal_to_markdown/mixins.rb', line 69 def clauses_churn_delete @clauses_deleted.each do | mixin | pattern = /(\[\{\{#{mixin}\}\}\s*?)(.*?\n*?)(\])/m sub_pattern = /\[\{\{(\S+?)\}\}\s*?/ @content[pattern] get_it_all = $& || "" sub_clause = $2 || "" next if sub_clause[sub_pattern] && ( @clauses_to_mixin.include?($1) || @clauses_to_delete.include?($1) ) @content = @content.gsub( get_it_all, "" ) @clauses_deleted.delete( mixin ) unless @content[pattern] end end |
#clauses_mixins ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/legal_markdown/legal_to_markdown/mixins.rb', line 12 def clauses_mixins @clauses_to_delete = [] @clauses_to_mixin = [] set_up_opt_clauses backup_opt_clauses until @clauses_added.size == 0 && @clauses_deleted.size == 0 clauses_churn_add clauses_churn_delete end end |
#clean_up_mixins ⇒ Object
35 36 37 38 39 |
# File 'lib/legal_markdown/legal_to_markdown/mixins.rb', line 35 def clean_up_mixins @content.gsub!(/(\n\n+)/, "\n\n") @content.squeeze!(" ") @headers = nil if @headers.empty? end |
#run_mixins ⇒ Object
6 7 8 9 10 |
# File 'lib/legal_markdown/legal_to_markdown/mixins.rb', line 6 def run_mixins clauses_mixins text_mixins clean_up_mixins end |
#set_up_opt_clauses ⇒ Object
41 42 43 44 45 46 47 |
# File 'lib/legal_markdown/legal_to_markdown/mixins.rb', line 41 def set_up_opt_clauses @headers.each do | mixin, replacer | replacer = replacer.to_s.downcase @clauses_to_delete << mixin if replacer == "false" @clauses_to_mixin << mixin if replacer == "true" end end |
#text_mixins ⇒ Object
24 25 26 27 28 29 30 31 32 33 |
# File 'lib/legal_markdown/legal_to_markdown/mixins.rb', line 24 def text_mixins @headers.each do | mixin, replacer | unless mixin =~ /level-\d/ or mixin =~ /no-reset/ or mixin =~ /no-indent/ or mixin =~ /level-style/ replacer = replacer.to_s mixin_pattern = /(\{\{#{mixin}\}\})/ @content = @content.gsub( $1, replacer ) if @content =~ mixin_pattern @headers.delete( mixin ) end end end |