Class: GnipApi::Apis::PowerTrack::Stream
- Inherits:
-
Object
- Object
- GnipApi::Apis::PowerTrack::Stream
- Defined in:
- lib/gnip_api/apis/power_track/stream.rb
Instance Attribute Summary collapse
-
#adapter ⇒ Object
readonly
Returns the value of attribute adapter.
Instance Method Summary collapse
- #build_message(params) ⇒ Object
- #consume ⇒ Object
-
#initialize(params = {}) ⇒ Stream
constructor
A new instance of Stream.
- #log_system_messages(entries) ⇒ Object
- #logger ⇒ Object
- #parse_json(json) ⇒ Object
- #process_entries(entries) ⇒ Object
Constructor Details
permalink #initialize(params = {}) ⇒ Stream
Returns a new instance of Stream.
7 8 9 10 11 12 |
# File 'lib/gnip_api/apis/power_track/stream.rb', line 7 def initialize params = {} @stream = params[:stream] || GnipApi.config.label @output_format = GnipApi.config.stream_output_format raise GnipApi::Errors::Configuration::InvalidOutputFormat unless GnipApi::Configuration::OUTPUT_FORMATS.include?(@output_format) set_config end |
Instance Attribute Details
permalink #adapter ⇒ Object (readonly)
Returns the value of attribute adapter.
5 6 7 |
# File 'lib/gnip_api/apis/power_track/stream.rb', line 5 def adapter @adapter end |
Instance Method Details
permalink #build_message(params) ⇒ Object
[View source]
48 49 50 |
# File 'lib/gnip_api/apis/power_track/stream.rb', line 48 def params Gnip::Message.build(params) end |
permalink #consume ⇒ Object
[View source]
18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/gnip_api/apis/power_track/stream.rb', line 18 def consume request = create_request adapter.stream_get request do |chunk| @buffer.insert! chunk begin yield process_entries(@buffer.read!) rescue Exception => e puts e.class puts e. puts e.backtrace[0..10].join("\n") raise e end end end |
permalink #log_system_messages(entries) ⇒ Object
[View source]
42 43 44 45 46 |
# File 'lib/gnip_api/apis/power_track/stream.rb', line 42 def entries entries.select{|| . }.each do || GnipApi.logger.send(.log_method, .) end end |
permalink #logger ⇒ Object
[View source]
14 15 16 |
# File 'lib/gnip_api/apis/power_track/stream.rb', line 14 def logger GnipApi.logger end |
permalink #parse_json(json) ⇒ Object
[View source]
52 53 54 55 56 57 58 |
# File 'lib/gnip_api/apis/power_track/stream.rb', line 52 def parse_json json begin GnipApi::JsonParser.new.parse json rescue GnipApi::Errors::JsonParser::ParseError nil end end |
permalink #process_entries(entries) ⇒ Object
[View source]
33 34 35 36 37 38 39 40 |
# File 'lib/gnip_api/apis/power_track/stream.rb', line 33 def process_entries entries return entries if @output_format == :json return entries.map{|e| parse_json(e)}.compact if @output_format == :parsed_json data = entries.map{|e| parse_json(e)}.compact data.map!{|e| (e)} (data) return data end |