apipie-rails 0.5.4 → 0.5.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a785ca04175c3a876a939d72f3d64c290e74659a
4
- data.tar.gz: b2ad5080125c58f0f7d18e0b53d1c916fe1d9cb7
3
+ metadata.gz: 8915141fab6f8b930ebe4890f87cad11794dc480
4
+ data.tar.gz: 8e1fe85abcdc7e18817d6e03f0b0566b2d2bac2d
5
5
  SHA512:
6
- metadata.gz: a9650f7f0ee8c59d9458db87fda68ab987dda7dc20a0d75999e6c801640e5685d43a5e25ca7e7788002e88d261ed6bcb8e653edb17a16edc89a92282e8832c96
7
- data.tar.gz: 7e403f89361d3bc90cd62e5fd2a8eb6f4b62b92024adf9acb7cab7baebe44797cf092b3eb4bdb6cf8aadf09447dd5bf39fd22a792738ebd81eb8024389b4279e
6
+ metadata.gz: 3a312452202fa6f494703fc5a4949b928bbc40bf541072b49f1107302cd96563d5351f6a0986a6c7406f1e7eaabda680da5f84b609108b3df1c3ec4c8245602f
7
+ data.tar.gz: 38bcb49374e3046661a2a4f5ce479e52225a0f1cd880388c069eb00dd2f9c4bf514a0e72cb5cfd1e38d2166ccf458639510026871fe5fad2254b4779d9f55d04
data/CHANGELOG.md CHANGED
@@ -1,6 +1,12 @@
1
1
  Changelog
2
2
  ===========
3
3
 
4
+ v0.5.5
5
+ ------
6
+
7
+ - prevent lang in url when config.translate is false [\##562](https://github.com/Apipie/apipie-rails/pull/562) ([markmoser](https://github.com/markmoser))
8
+ - Allow for resource-level deprecations [\##567](https://github.com/Apipie/apipie-rails/pull/567) ([cross-p6](https://github.com/cross-p6))
9
+
4
10
  v0.5.4
5
11
  ------
6
12
 
data/README.rst CHANGED
@@ -136,6 +136,9 @@ app_info
136
136
  meta
137
137
  Hash or array with custom metadata.
138
138
 
139
+ deprecated
140
+ Boolean value indicating if the resource is marked as deprecated. (Default false)
141
+
139
142
  Example:
140
143
  ~~~~~~~~
141
144
 
@@ -154,6 +157,7 @@ Example:
154
157
  error 500, "Server crashed for some <%= reason %>", :meta => {:anything => "you can think of"}
155
158
  error :unprocessable_entity, "Could not save the entity."
156
159
  meta :author => {:name => 'John', :surname => 'Doe'}
160
+ deprecated false
157
161
  description <<-EOS
158
162
  == Long description
159
163
  Example resource for rest api documentation
@@ -79,6 +79,7 @@ module Apipie
79
79
  helper_method :heading
80
80
 
81
81
  def get_language
82
+ return nil unless Apipie.configuration.translate
82
83
  lang = Apipie.configuration.default_locale
83
84
  [:resource, :method, :version].each do |par|
84
85
  if params[par]
@@ -16,7 +16,11 @@
16
16
  <h2>
17
17
  <a href='<%= api[:doc_url] %><%= @doc[:link_extension] %>'>
18
18
  <%= api[:name] %>
19
- </a><br>
19
+ </a>
20
+ <% if api[:deprecated] %>
21
+ <code>DEPRECATED</code>
22
+ <% end %>
23
+ <br>
20
24
  <small><%= api[:short_description] %></small>
21
25
  </h2>
22
26
  <table class='table'>
@@ -13,6 +13,9 @@
13
13
  <div class='page-header'>
14
14
  <h1>
15
15
  <%= @resource[:name] %>
16
+ <% if @resource[:deprecated] %>
17
+ <code>DEPRECATED</code>
18
+ <% end %>
16
19
  <br>
17
20
  <small><%= raw @resource[:short_description] %></small>
18
21
  </h1>
@@ -42,7 +42,8 @@ module Apipie
42
42
  :formats => nil,
43
43
  :api_versions => [],
44
44
  :meta => nil,
45
- :show => true
45
+ :show => true,
46
+ :deprecated => false
46
47
  }
47
48
  end
48
49
  end
@@ -76,6 +77,11 @@ module Apipie
76
77
  def app_info(app_info)
77
78
  _apipie_dsl_data[:app_info] = app_info
78
79
  end
80
+
81
+ def deprecated(value)
82
+ _apipie_dsl_data[:deprecated] = value
83
+ end
84
+
79
85
  end
80
86
 
81
87
  module Action
@@ -129,7 +129,7 @@ module Apipie
129
129
  :api_url => create_api_url(api),
130
130
  :http_method => api.http_method.to_s,
131
131
  :short_description => Apipie.app.translate(api.short_description, lang),
132
- :deprecated => api.options[:deprecated]
132
+ :deprecated => resource._deprecated || api.options[:deprecated]
133
133
  }
134
134
  end
135
135
  end
@@ -10,11 +10,12 @@ module Apipie
10
10
  # id - resouce name
11
11
  # formats - acceptable request/response format types
12
12
  # headers - array of headers
13
+ # deprecated - boolean indicating if resource is deprecated
13
14
  class ResourceDescription
14
15
 
15
16
  attr_reader :controller, :_short_description, :_full_description, :_methods, :_id,
16
17
  :_path, :_name, :_params_args, :_errors_args, :_formats, :_parent, :_metadata,
17
- :_headers
18
+ :_headers, :_deprecated
18
19
 
19
20
  def initialize(controller, resource_name, dsl_data = nil, version = nil, &block)
20
21
 
@@ -42,6 +43,7 @@ module Apipie
42
43
  @_metadata = dsl_data[:meta]
43
44
  @_api_base_url = dsl_data[:api_base_url]
44
45
  @_headers = dsl_data[:headers]
46
+ @_deprecated = dsl_data[:deprecated] || false
45
47
 
46
48
  if dsl_data[:app_info]
47
49
  Apipie.configuration.app_info[_version] = dsl_data[:app_info]
@@ -109,7 +111,8 @@ module Apipie
109
111
  :formats => @_formats,
110
112
  :metadata => @_metadata,
111
113
  :methods => methods,
112
- :headers => _headers
114
+ :headers => _headers,
115
+ :deprecated => @_deprecated
113
116
  }
114
117
  end
115
118
 
@@ -1,3 +1,3 @@
1
1
  module Apipie
2
- VERSION = '0.5.4'
2
+ VERSION = '0.5.5'
3
3
  end
@@ -36,6 +36,13 @@ describe Apipie::MethodDescription do
36
36
  method = Apipie::MethodDescription.new(:a, @resource, dsl_data)
37
37
  expect(method.method_apis_to_json.first[:deprecated]).to eq(true)
38
38
  end
39
+
40
+ it "should return the deprecated flag if resource is deprecated" do
41
+ @resource.instance_variable_set("@_deprecated", true)
42
+ dsl_data[:api_args] = [[:GET, "/foo/bar", "description", {}]]
43
+ method = Apipie::MethodDescription.new(:a, @resource, dsl_data)
44
+ expect(method.method_apis_to_json.first[:deprecated]).to eq(true)
45
+ end
39
46
  end
40
47
 
41
48
  describe "params descriptions" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: apipie-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.4
4
+ version: 0.5.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavel Pokorny
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-09-08 00:00:00.000000000 Z
12
+ date: 2017-11-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails