Sha256: 42ac958293efede345fe94ccdd4e953c8ce2505d93d51dd2f0005c56dc3807d6
Contents?: true
Size: 1.48 KB
Versions: 15
Compression:
Stored size: 1.48 KB
Contents
module Protobuf module Rpc class Env < Hash # Creates an accessor that simply sets and reads a key in the hash: # # class Config < Hash # hash_accessor :app # end # # config = Config.new # config.app = Foo # config[:app] #=> Foo # # config[:app] = Bar # config.app #=> Bar # def self.hash_accessor(*names) #:nodoc: names.each do |name| name_str = name.to_s.freeze define_method name do self[name_str] end define_method "#{name}=" do |value| self[name_str] = value end define_method "#{name}?" do !self[name_str].nil? end end end # TODO: Add extra info about the environment (i.e. variables) and other # information that might be useful hash_accessor :client_host, :encoded_request, :encoded_response, :log_signature, :method_name, :request, :request_type, :response, :response_type, :rpc_method, :rpc_service, :server, :service_name, :worker_id def initialize(options = {}) merge!(options) self['worker_id'] = ::Thread.current.object_id.to_s(16) end end end end
Version data entries
15 entries across 15 versions & 1 rubygems