Class: Grape::ClientGenerator::Generator

Inherits:
Object
  • Object
show all
Defined in:
lib/grape/client-generator/generator.rb

Direct Known Subclasses

Ruby::RubyGenerator

Constant Summary collapse

DEFAULT_RESPONSE_TYPES =
[:xml]
DEFAULT_CLASS_NAME =
"Api"
DEFAULT_VERSION =
"v1"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(grape_classes, options = {}) ⇒ Generator

Returns a new instance of Generator.



16
17
18
19
20
21
22
# File 'lib/grape/client-generator/generator.rb', line 16

def initialize(grape_classes, options = {})
  @grape_classes = grape_classes
  @response_types = options[:response_types] || DEFAULT_RESPONSE_TYPES
  @namespace = options[:namespace] || generate_namespace_from(grape_classes.first)
  @class_name = options[:class_name] || DEFAULT_CLASS_NAME
  @default_version = options[:default_version] || DEFAULT_VERSION
end

Instance Attribute Details

#class_nameObject (readonly)

Returns the value of attribute class_name.



14
15
16
# File 'lib/grape/client-generator/generator.rb', line 14

def class_name
  @class_name
end

#default_versionObject (readonly)

Returns the value of attribute default_version.



14
15
16
# File 'lib/grape/client-generator/generator.rb', line 14

def default_version
  @default_version
end

#grape_classesObject (readonly)

Returns the value of attribute grape_classes.



14
15
16
# File 'lib/grape/client-generator/generator.rb', line 14

def grape_classes
  @grape_classes
end

#namespaceObject (readonly)

Returns the value of attribute namespace.



14
15
16
# File 'lib/grape/client-generator/generator.rb', line 14

def namespace
  @namespace
end

#response_typesObject (readonly)

Returns the value of attribute response_types.



14
15
16
# File 'lib/grape/client-generator/generator.rb', line 14

def response_types
  @response_types
end

Instance Method Details

#each_endpointObject



24
25
26
27
28
29
30
# File 'lib/grape/client-generator/generator.rb', line 24

def each_endpoint
  @grape_classes.each do |grape_class|
    grape_class.endpoints.each do |endpoint|
      yield endpoint
    end
  end
end

#map_endpointsObject



32
33
34
35
36
37
38
# File 'lib/grape/client-generator/generator.rb', line 32

def map_endpoints
  result = []
  each_endpoint do |endpoint|
    result << (yield endpoint)
  end
  result
end