Module: Grape::DSL::Configuration::ClassMethods

Defined in:
lib/ruby-swagger/grape/grape_config.rb

Constant Summary collapse

@@headers =
{}
@@deprecated =
false
@@hidden =
false
@@scopes =
nil
@@tags =
[]
@@result =
nil
@@errors =
nil
@@response_headers =
nil
@@response_root =
nil
@@response_entity =
nil

Instance Method Summary collapse

Instance Method Details

#api_desc(description, options = {}, &block) ⇒ Object



10
11
12
13
14
# File 'lib/ruby-swagger/grape/grape_config.rb', line 10

def api_desc(description, options = {}, &block)
  default_api_options!(options)
  block.call if block_given?
  desc description, @api_options
end

#api_name(name_value) ⇒ Object

Raises:

  • (ArgumentError)


22
23
24
25
26
# File 'lib/ruby-swagger/grape/grape_config.rb', line 22

def api_name(name_value)
  raise ArgumentError.new("Grape::api_name - unrecognized value #{name_value} - allowed: String") unless name_value.is_a?(String)

  @api_options[:api_name] = name_value
end

#default_api_options!(options) ⇒ Object



138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
# File 'lib/ruby-swagger/grape/grape_config.rb', line 138

def default_api_options!(options)
  @api_options = {
      headers: @@headers,
      deprecated: @@deprecated,
      hidden: @@hidden,
      scopes: @@scopes,
      tags: @@tags,
      response: {
          entity: @@response_entity,
          root: @@response_root,
          headers: @@response_headers,
          isArray: false
      },
      errors: @@errors,
      api_name: nil,
      detail: ''
  }.merge(options)
  @description = ''
end

#default_deprecated(new_value) ⇒ Object



94
95
96
# File 'lib/ruby-swagger/grape/grape_config.rb', line 94

def default_deprecated(new_value)
  @@deprecated = new_value
end

#default_errors(new_value) ⇒ Object



119
120
121
# File 'lib/ruby-swagger/grape/grape_config.rb', line 119

def default_errors(new_value)
  @@errors = new_value
end

#default_headers(new_value) ⇒ Object



89
90
91
# File 'lib/ruby-swagger/grape/grape_config.rb', line 89

def default_headers(new_value)
  @@headers = new_value
end

#default_hidden(new_value) ⇒ Object



99
100
101
# File 'lib/ruby-swagger/grape/grape_config.rb', line 99

def default_hidden(new_value)
  @@hidden = new_value
end

#default_response_entity(new_value) ⇒ Object



134
135
136
# File 'lib/ruby-swagger/grape/grape_config.rb', line 134

def default_response_entity(new_value)
  @@response_entity = new_value
end

#default_response_headers(new_value) ⇒ Object



124
125
126
# File 'lib/ruby-swagger/grape/grape_config.rb', line 124

def default_response_headers(new_value)
  @@response_headers = new_value
end

#default_response_root(new_value) ⇒ Object



129
130
131
# File 'lib/ruby-swagger/grape/grape_config.rb', line 129

def default_response_root(new_value)
  @@response_root = new_value
end

#default_result(new_value) ⇒ Object



114
115
116
# File 'lib/ruby-swagger/grape/grape_config.rb', line 114

def default_result(new_value)
  @@result = new_value
end

#default_scopes(new_value) ⇒ Object



104
105
106
# File 'lib/ruby-swagger/grape/grape_config.rb', line 104

def default_scopes(new_value)
  @@scopes = new_value
end

#default_tags(new_value) ⇒ Object



109
110
111
# File 'lib/ruby-swagger/grape/grape_config.rb', line 109

def default_tags(new_value)
  @@tags = new_value
end

#deprecated(deprecation_value) ⇒ Object

Raises:

  • (ArgumentError)


28
29
30
31
32
# File 'lib/ruby-swagger/grape/grape_config.rb', line 28

def deprecated(deprecation_value)
  raise ArgumentError.new("Grape::deprecated - unrecognized value #{deprecation_value} - allowed: true|false") unless deprecation_value == true || deprecation_value == false

  @api_options[:deprecated] = deprecation_value
end

#detail(detail_value) ⇒ Object

Raises:

  • (ArgumentError)


40
41
42
43
44
# File 'lib/ruby-swagger/grape/grape_config.rb', line 40

def detail(detail_value)
  raise ArgumentError.new("Grape::detail - unrecognized value #{detail_value} - allowed: String") unless detail_value.is_a?(String)

  @api_options[:detail] = detail_value
end

#errors(errors_value) ⇒ Object

Raises:

  • (ArgumentError)


83
84
85
86
# File 'lib/ruby-swagger/grape/grape_config.rb', line 83

def errors(errors_value)
  raise ArgumentError.new("Grape::errors - unrecognized value #{errors_value} - errors root must be a hash of errors") unless errors_value.is_a?(Hash)
  @api_options[:errors]= errors_value
end

#headers(headers_value) ⇒ Object

Raises:

  • (ArgumentError)


16
17
18
19
20
# File 'lib/ruby-swagger/grape/grape_config.rb', line 16

def headers(headers_value)
  raise ArgumentError.new("Grape::headers - unrecognized value #{headers_value} - allowed: Hash") unless headers_value.is_a?(Hash)

  @api_options[:headers] = headers_value
end

#hidden(hidden_value) ⇒ Object

Raises:

  • (ArgumentError)


34
35
36
37
38
# File 'lib/ruby-swagger/grape/grape_config.rb', line 34

def hidden(hidden_value)
  raise ArgumentError.new("Grape::hidden - unrecognized value #{hidden_value} - allowed: true|false") unless hidden_value == true || hidden_value == false

  @api_options[:hidden] = hidden_value
end

#response(new_result, options = {}) ⇒ Object

Raises:

  • (ArgumentError)


72
73
74
75
76
77
78
79
80
81
# File 'lib/ruby-swagger/grape/grape_config.rb', line 72

def response(new_result, options = {})
  raise ArgumentError.new("Grape::response - response can't be nil") unless new_result

  response_obj = {entity: new_result}
  response_obj[:root] = options[:root] || options['root']
  response_obj[:headers] = options[:headers] || options['headers']
  response_obj[:isArray] = options[:isArray] || options['isArray']

  @api_options[:response]= response_obj
end

#scopes(scopes_value) ⇒ Object



46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/ruby-swagger/grape/grape_config.rb', line 46

def scopes(scopes_value)
  return if scopes_value.nil?

  if scopes_value.is_a?(Array)
    scopes_value.each do |scope|
      raise ArgumentError.new("Grape::scopes - unrecognized scope #{scope_value}") unless scope.is_a?(String)
    end

    @api_options[:scopes] = scopes_value
  elsif scopes_value.is_a?(String)
    @api_options[:scopes] = [scopes_value]
  else
    raise ArgumentError.new("Grape::scopes - unrecognized value #{scopes_value} - scopes can either be a string or an array of strings")
  end
end

#tags(new_tags) ⇒ Object

Raises:

  • (ArgumentError)


62
63
64
65
66
67
68
69
70
# File 'lib/ruby-swagger/grape/grape_config.rb', line 62

def tags(new_tags)
  raise ArgumentError.new("Grape::tags - unrecognized value #{new_tags} - tags can only be an array of strings or a string") unless new_tags.is_a?(Array) || new_tags.is_a?(String)

  if new_tags.is_a?(String)
    new_tags = [new_tags]
  end

  @api_options[:tags]= new_tags
end