Class: ServiceContract::Avro::Protocol

Inherits:
ServiceContract::AbstractProtocol show all
Defined in:
lib/service_contract/avro/protocol.rb

Instance Attribute Summary

Attributes inherited from ServiceContract::AbstractProtocol

#name, #service

Instance Method Summary collapse

Methods inherited from ServiceContract::AbstractProtocol

#endpoint, #type

Instance Method Details

#endpointsObject



8
9
10
11
12
# File 'lib/service_contract/avro/protocol.rb', line 8

def endpoints
  avro.messages.map do |name, message|
    Endpoint.new(self, message)
  end
end

#file_pathObject



4
5
6
# File 'lib/service_contract/avro/protocol.rb', line 4

def file_path
  File.join(service.data_dir, "#{name}.avpr")
end

#main_typeObject



24
25
26
27
# File 'lib/service_contract/avro/protocol.rb', line 24

def main_type
  # convert protocol name to a class like name.  i.e. "city_state" => "CityState"
  name.split("_").map{|o| o.capitalize}.join
end

#pathObject



20
21
22
# File 'lib/service_contract/avro/protocol.rb', line 20

def path
  File.join(service.path, resource_name)
end

#typesObject



14
15
16
17
18
# File 'lib/service_contract/avro/protocol.rb', line 14

def types
  avro.types.map do |type|
    Type.new(type)
  end
end