Sha256: c66dac163c0856d7b500372fa82547b5c6b6a7b69c710cbed176051b98f2fb05

Contents?: true

Size: 897 Bytes

Versions: 1

Compression:

Stored size: 897 Bytes

Contents

module Trumpet
  class Transmitter
    @@attributes = [
      :transmitter_id,
      :source_url,
      :tags,
      :location_string,
      :channel,
      :lat,
      :lng,
      :radius,
      :public,
      :created_at,
      :updated_at,
    ]
    
    attr_reader *@@attributes
    
    def self.create(options)
      attributes = HTTP::post('transmitters', :query => options)
      Transmitter.new(attributes)
    end
    
    def self.find(id)
      attributes = get("/transmitters/#{id}")
      Transmitter.new(attributes)
    end
    
    def delete
      self.class.delete('/')
    end
    
    def listeners
      listeners = self.class.get("/transmitters/#{id}/listeners")
      listeners.map { |attributes| Listener.new(attributes) }
    end
    
    def broadcast(message)
      self.class.post("/transmitters/#{@transmitter_id}/messages", :query => message.to_h)
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
trumpet-trumpet-0.0.1 lib/trumpet/transmitter.rb