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



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

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)


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

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



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

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



91
92
93
# File 'lib/ruby-swagger/grape/grape_config.rb', line 91

def default_deprecated(new_value)
  @@deprecated = new_value
end

#default_errors(new_value) ⇒ Object



116
117
118
# File 'lib/ruby-swagger/grape/grape_config.rb', line 116

def default_errors(new_value)
  @@errors = new_value
end

#default_headers(new_value) ⇒ Object



86
87
88
# File 'lib/ruby-swagger/grape/grape_config.rb', line 86

def default_headers(new_value)
  @@headers = new_value
end

#default_hidden(new_value) ⇒ Object



96
97
98
# File 'lib/ruby-swagger/grape/grape_config.rb', line 96

def default_hidden(new_value)
  @@hidden = new_value
end

#default_response_entity(new_value) ⇒ Object



131
132
133
# File 'lib/ruby-swagger/grape/grape_config.rb', line 131

def default_response_entity(new_value)
  @@response_entity = new_value
end

#default_response_headers(new_value) ⇒ Object



121
122
123
# File 'lib/ruby-swagger/grape/grape_config.rb', line 121

def default_response_headers(new_value)
  @@response_headers = new_value
end

#default_response_root(new_value) ⇒ Object



126
127
128
# File 'lib/ruby-swagger/grape/grape_config.rb', line 126

def default_response_root(new_value)
  @@response_root = new_value
end

#default_result(new_value) ⇒ Object



111
112
113
# File 'lib/ruby-swagger/grape/grape_config.rb', line 111

def default_result(new_value)
  @@result = new_value
end

#default_scopes(new_value) ⇒ Object



101
102
103
# File 'lib/ruby-swagger/grape/grape_config.rb', line 101

def default_scopes(new_value)
  @@scopes = new_value
end

#default_tags(new_value) ⇒ Object



106
107
108
# File 'lib/ruby-swagger/grape/grape_config.rb', line 106

def default_tags(new_value)
  @@tags = new_value
end

#deprecated(deprecation_value) ⇒ Object

Raises:

  • (ArgumentError)


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

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)


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

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)


80
81
82
83
# File 'lib/ruby-swagger/grape/grape_config.rb', line 80

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)


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

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)


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

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)


69
70
71
72
73
74
75
76
77
78
# File 'lib/ruby-swagger/grape/grape_config.rb', line 69

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



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

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)


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

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)

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

  @api_options[:tags] = new_tags
end