Sha256: 6edc0f420caab76a56da786998445c8f8acf3b0cb4167205e718596ddbe88b6a
Contents?: true
Size: 1.32 KB
Versions: 5
Compression:
Stored size: 1.32 KB
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) Transmitter.new(Trumpet::Request.post('transmitters', :parameters => options)) end def self.find(id) Transmitter.new(Trumpet::Request.get("/transmitters/#{id}")) end def self.all_by_user(name) transmitters = Trumpet::Request.get("/users/#{name}/transmitters") transmitters.map { |attributes| Trumpet::Transmitter.new(attributes) } end def delete Trumpet::Request.delete("/transmitters/#{@id}") end def listeners listeners = Trumpet::Request.get("/transmitters/#{@id}/listeners") listeners.map { |attributes| Listener.new(attributes) } end def broadcast(message) Trumpet::Request.post("/transmitters/#{@transmitter_id}/messages", :parameters => message.to_h, :parse_response => false) end protected def initialize(attributes) @@attributes.each do |attr| self.instance_variable_set(:"@#{attr.to_s}", attributes[attr.to_s]) if attributes[attr.to_s] end end end end
Version data entries
5 entries across 5 versions & 1 rubygems