module TrRMIte
TODO replace with Rinda ?? ruby-doc.org/stdlib-2.1.1/libdoc/rinda/rdoc
Constants
- DEFAULT_BACKUPS_DIR
- DEFAULT_DIRECTORY
- DEFAULT_EVENT_LOG
- DEFAULT_OFFSET_STORE
- DEFAULT_QUEUE_URI
- DEFAULT_REGISTRY_URI
- DEFAULT_SCHEDULER_STATE
- DEFAULT_TOPIC
- Event
- INTERNAL_TOPIC
- NAME
- SCHEDULER_INTERVAL
- VERSION
Public Class Methods
inflect(name, *inflectors)
click to toggle source
# File lib/TrRMIte.rb, line 76 def inflect(name, *inflectors) inflectors.unshift :downcase # by default, `downcase` is the only one! inflectors.inject(name.gsub(/(.)([A-Z])(?![A-Z])/, '\1_\2')) { |word, inflector| word.send(inflector) } end
publish(*args)
click to toggle source
# File lib/TrRMIte.rb, line 54 def publish(*args) @producer ||= Producer.new(DEFAULT_QUEUE_URI) if args.count == 1 @producer.publish(args.first) else topic, type, payload = *args @producer.publish(Event.new(topic: topic, type: type, payload: payload)) end end
schedule(*args)
click to toggle source
# File lib/TrRMIte.rb, line 65 def schedule(*args) @producer ||= Producer.new(DEFAULT_QUEUE_URI) if args.count == 2 @producer.schedule(args.first, args.last) else topic, type, payload, publish_at = *args @producer.schedule(Event.new(topic: topic, type: type, payload: payload), publish_at) end end
wall_clock_time(humanised = false)
click to toggle source
# File lib/TrRMIte.rb, line 47 def wall_clock_time(humanised = false) # always in "seconds since epoch" # (and obviously always in "UTC") humanised ? Time.now.utc.to_s : Time.now.utc.to_f end
Private Instance Methods
inflect(name, *inflectors)
click to toggle source
# File lib/TrRMIte.rb, line 76 def inflect(name, *inflectors) inflectors.unshift :downcase # by default, `downcase` is the only one! inflectors.inject(name.gsub(/(.)([A-Z])(?![A-Z])/, '\1_\2')) { |word, inflector| word.send(inflector) } end
publish(*args)
click to toggle source
# File lib/TrRMIte.rb, line 54 def publish(*args) @producer ||= Producer.new(DEFAULT_QUEUE_URI) if args.count == 1 @producer.publish(args.first) else topic, type, payload = *args @producer.publish(Event.new(topic: topic, type: type, payload: payload)) end end
schedule(*args)
click to toggle source
# File lib/TrRMIte.rb, line 65 def schedule(*args) @producer ||= Producer.new(DEFAULT_QUEUE_URI) if args.count == 2 @producer.schedule(args.first, args.last) else topic, type, payload, publish_at = *args @producer.schedule(Event.new(topic: topic, type: type, payload: payload), publish_at) end end
wall_clock_time(humanised = false)
click to toggle source
# File lib/TrRMIte.rb, line 47 def wall_clock_time(humanised = false) # always in "seconds since epoch" # (and obviously always in "UTC") humanised ? Time.now.utc.to_s : Time.now.utc.to_f end