Module: Ksk::Markdown
- Extended by:
- ActiveSupport::Concern
- Defined in:
- app/models/concerns/ksk/markdown.rb
Class Method Summary collapse
Instance Method Summary collapse
- #content_has_more? ⇒ Boolean
- #content_long ⇒ Object
- #content_short ⇒ Object
- #hidden_text ⇒ Object
- #intro ⇒ Object
- #markdown_text ⇒ Object
- #split_content ⇒ Object
- #text_unused_content(all_files, type, preselected = []) ⇒ Object
- #text_unused_data_files ⇒ Object
- #text_unused_images ⇒ Object
- #text_used_content(type) ⇒ Object
- #text_used_data_files ⇒ Object
- #text_used_images ⇒ Object
Class Method Details
.parse_regex(type) ⇒ Object
71 72 73 |
# File 'app/models/concerns/ksk/markdown.rb', line 71 def self.parse_regex(type) /(\{#{type}_(\d{1,2})_?(\w+)?\})/i end |
.parse_text(text, type) ⇒ Object
75 76 77 |
# File 'app/models/concerns/ksk/markdown.rb', line 75 def self.parse_text(text, type) text.to_s.scan(parse_regex(type)) end |
Instance Method Details
#content_has_more? ⇒ Boolean
66 67 68 |
# File 'app/models/concerns/ksk/markdown.rb', line 66 def content_has_more? !hidden_text.blank? end |
#content_long ⇒ Object
45 46 47 |
# File 'app/models/concerns/ksk/markdown.rb', line 45 def content_long "#{intro} #{hidden_text}" end |
#content_short ⇒ Object
49 50 51 |
# File 'app/models/concerns/ksk/markdown.rb', line 49 def content_short intro end |
#hidden_text ⇒ Object
57 58 59 |
# File 'app/models/concerns/ksk/markdown.rb', line 57 def hidden_text split_content[1] end |
#intro ⇒ Object
53 54 55 |
# File 'app/models/concerns/ksk/markdown.rb', line 53 def intro split_content[0] end |
#markdown_text ⇒ Object
41 42 43 |
# File 'app/models/concerns/ksk/markdown.rb', line 41 def markdown_text content end |
#split_content ⇒ Object
61 62 63 64 |
# File 'app/models/concerns/ksk/markdown.rb', line 61 def split_content return [] if read_attribute(:content).blank? read_attribute(:content).split('@@@') end |
#text_unused_content(all_files, type, preselected = []) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'app/models/concerns/ksk/markdown.rb', line 10 def text_unused_content(all_files, type, preselected = []) all_numbers = [] all_files.each_with_index { |a, i| all_numbers << i+1 } unused_numbers = all_numbers - (text_used_content(type)+preselected) unused_files = [] all_files.each_with_index do |a, i| unused_files << a if unused_numbers.include?(i+1) end unused_files end |
#text_unused_data_files ⇒ Object
36 37 38 |
# File 'app/models/concerns/ksk/markdown.rb', line 36 def text_unused_data_files text_unused_content(assets.only_data_files, 'file') end |
#text_unused_images ⇒ Object
28 29 30 |
# File 'app/models/concerns/ksk/markdown.rb', line 28 def text_unused_images text_unused_content(assets.only_images, 'img', respond_to?(:markdown_preselect) && markdown_preselect || []) end |
#text_used_content(type) ⇒ Object
4 5 6 7 8 |
# File 'app/models/concerns/ksk/markdown.rb', line 4 def text_used_content(type) Ksk::Markdown.parse_text(markdown_text, type).each_with_object([]) do |match, used_numbers| used_numbers << match[1].to_i end end |
#text_used_data_files ⇒ Object
32 33 34 |
# File 'app/models/concerns/ksk/markdown.rb', line 32 def text_used_data_files text_used_content('file') end |
#text_used_images ⇒ Object
24 25 26 |
# File 'app/models/concerns/ksk/markdown.rb', line 24 def text_used_images text_used_content('img') end |