Class: MediumExport::ArticlesFilter

Inherits:
Object
  • Object
show all
Defined in:
lib/middleman-medium_export/articles_filter.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(articles:, shell:) ⇒ ArticlesFilter

Returns a new instance of ArticlesFilter.



4
5
6
7
# File 'lib/middleman-medium_export/articles_filter.rb', line 4

def initialize(articles:, shell:)
  @articles = articles
  @shell = shell
end

Instance Attribute Details

#articlesObject (readonly)

Returns the value of attribute articles.



2
3
4
# File 'lib/middleman-medium_export/articles_filter.rb', line 2

def articles
  @articles
end

#shellObject (readonly)

Returns the value of attribute shell.



2
3
4
# File 'lib/middleman-medium_export/articles_filter.rb', line 2

def shell
  @shell
end

Instance Method Details

#allObject



13
14
15
# File 'lib/middleman-medium_export/articles_filter.rb', line 13

def all
  articles
end

#interactiveObject



17
18
19
20
21
22
23
24
25
# File 'lib/middleman-medium_export/articles_filter.rb', line 17

def interactive
  articles.each_with_object([]) do |article, acc|
    case ask_to_include(article.title)
      when 'Y' then acc.push(article)
      when 'S' then acc.push(article) and break(acc)
      when 'Q' then break(acc)
    end
  end
end

#lastObject



9
10
11
# File 'lib/middleman-medium_export/articles_filter.rb', line 9

def last
  [articles.first]
end