diff --git a/lib/apex/encoder.rb b/lib/apex/encoder.rb index 089aa0909be7468c4214de23dad9a487d3905913..b1585810f530ee084c04bb1cf02c9e62f11c9453 100644 --- a/lib/apex/encoder.rb +++ b/lib/apex/encoder.rb @@ -1,2 +1,3 @@ require 'apex/encoder/aprs_kiss' require 'apex/encoder/igate_tcp' +require 'apex/encoder/encoder' diff --git a/lib/apex/encoder/aprs_kiss.rb b/lib/apex/encoder/aprs_kiss.rb index fa4ec7efbb81de4f79c888d61e90a7a6f6fba121..d1114ce659c689e0f5a78c0418ab548249da3fee 100644 --- a/lib/apex/encoder/aprs_kiss.rb +++ b/lib/apex/encoder/aprs_kiss.rb @@ -1,15 +1,21 @@ require 'apex/frame' +require 'kiss' +require 'apex/encoder/encoder' module Apex class AprsKiss + include Encoder ## # Creates a new AprsKiss encoder # - # @param data_stream [Kiss::KissAbstract] The underlying data stream - # frames are written to. + # @param data_stream [Kiss::Kiss] The underlying data stream frames are + # written to. protected def initialize(data_stream) + raise ArgumentError.new("data_stream can not be nil") if data_stream.nil? + raise ArgumentError.new("data_stream must be a Kiss class: #{data_stream.to_s}") unless data_stream.kind_of? Kiss::Kiss + @data_stream = data_stream end diff --git a/lib/apex/encoder/encoder.rb b/lib/apex/encoder/encoder.rb new file mode 100644 index 0000000000000000000000000000000000000000..0ac43964376cec0a65d0ab12d0b4455854ed4baa --- /dev/null +++ b/lib/apex/encoder/encoder.rb @@ -0,0 +1,9 @@ +require 'abstractify' + +module Apex + module Encoder + include Abstractify::Abstract + + abstract :write_interface, :read_interface, :connect, :close + end +end diff --git a/lib/apex/encoder/igate_tcp.rb b/lib/apex/encoder/igate_tcp.rb index 321787273a52128ddb1f3270ffae765f7c6cdeef..beff68bdf7720b4a68dd500f7054fcb3a25ae5c3 100644 --- a/lib/apex/encoder/igate_tcp.rb +++ b/lib/apex/encoder/igate_tcp.rb @@ -2,6 +2,8 @@ require 'apex/app_info' module Apex class IGateTcp + include Encoder + DEFAULT_APRSIS_URL = 'http://srvr.aprs-is.net:8080' DEFAULT_APRSIS_SERVER = 'rotate.aprs.net' DEFAULT_APRSIS_FILTER_PORT = 14580