lib/ayadn/search.rb in ayadn-1.8.2 vs lib/ayadn/search.rb in ayadn-2.0

- old
+ new

@@ -5,40 +5,64 @@ def initialize api, view, workers @api = api @view = view @workers = workers + @check = Check.new end def hashtag(hashtag, options) - Settings.options[:force] = true if options[:force] + Settings.global[:force] = true if options[:force] @view.downloading(options) stream = @api.get_hashtag(hashtag) - Check.no_data(stream, 'hashtag') + @check.no_data(stream, 'hashtag') if options[:extract] @view.all_hashtag_links(stream, hashtag) else @view.render(stream, options) + if Settings.options[:timeline][:compact] == true && !options[:raw] + puts "\n" + end end end def find(words, options) - Settings.options[:force] = true if options[:force] + Settings.global[:force] = true if options[:force] @view.downloading(options) stream = get_stream(words, options) - Check.no_data(stream, 'search') + @check.no_data(stream, 'search') if options[:users] get_users(stream, options) elsif options[:channels] get_channels(stream, options) else get_generic(stream, words, options) end + if Settings.options[:timeline][:compact] == true && !options[:raw] + puts "\n" + end end private + def get_stream words, options + if options[:users] + @api.search_users words, options + elsif options[:annotations] + @api.search_annotations words, options + elsif options[:channels] + @api.search_channels words, options + elsif options[:messages] + words = words.split(',') + channel_id = @workers.get_channel_id_from_alias(words[0]) + words.shift + @api.search_messages channel_id, words.join(','), options + else + @api.get_search words, options + end + end + def get_generic stream, words, options if options[:extract] @view.all_search_links(stream, words) else @view.render(stream, options) @@ -50,29 +74,13 @@ end def get_users stream, options sorted = stream['data'].sort_by {|obj| obj['counts']['followers']} sorted.each do |obj| - puts @view.big_separator + puts @view.big_separator unless Settings.options[:timeline][:compact] == true @view.show_userinfos(obj, nil, false) end - end - - def get_stream words, options - if options[:users] - @api.search_users words, options - elsif options[:annotations] - @api.search_annotations words, options - elsif options[:channels] - @api.search_channels words, options - elsif options[:messages] - words = words.split(',') - channel_id = @workers.get_channel_id_from_alias(words[0]) - words.shift - @api.search_messages channel_id, words.join(','), options - else - @api.get_search words, options - end + puts "\n" if Settings.options[:timeline][:compact] == true end end end