class HyperTrack::SharedResource

Constants

VALID_VEHICLE_TYPES

Attributes

id[RW]

Public Class Methods

new(id, opts) click to toggle source
# File lib/hypertrack/shared_resource.rb, line 16
def initialize(id, opts)
  @id = id
  @values = Util.symbolize_keys(opts)
end

Private Class Methods

get_class_name() click to toggle source
# File lib/hypertrack/shared_resource.rb, line 61
def self.get_class_name
  # To-Do: Umm.. Find some better approach
  Object.const_get(self.name)
end

Public Instance Methods

[](k) click to toggle source
# File lib/hypertrack/shared_resource.rb, line 21
def [](k)
  @values[k.to_sym]
end
[]=(k, v) click to toggle source
# File lib/hypertrack/shared_resource.rb, line 25
def []=(k, v)
  @values[k.to_sym] = v
end
keys() click to toggle source
# File lib/hypertrack/shared_resource.rb, line 29
def keys
  @values.keys
end
to_json() click to toggle source
# File lib/hypertrack/shared_resource.rb, line 37
def to_json
  JSON.generate(@values)
end
values() click to toggle source
# File lib/hypertrack/shared_resource.rb, line 33
def values
  @values.values
end

Protected Instance Methods

method_missing(name, *args) click to toggle source
Calls superclass method
# File lib/hypertrack/shared_resource.rb, line 43
def method_missing(name, *args)
  if name[-1] == "="
    name = name[0..-2]

    if @values.has_key?(name.to_sym)
      self[name.to_sym] = args[0]
      return
    end

  elsif @values.has_key?(name.to_sym)
    return @values[name.to_sym]
  end

  super
end