apipie-rails 0.5.18 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 827ccd7271b49556c90c5bf516ac782ecf7fa38fa380bada85c6ec5c3ac7f5e3
4
- data.tar.gz: e989cb29115cc40c0e1033b4800caef2cc9bccac43a6bffd43f0bb974bc68a5f
3
+ metadata.gz: 94b525fc29d73244428ef1e25397219f80e703701497ad82c507e9fe0c321300
4
+ data.tar.gz: 7ba3ffeceb46eb8115d1733820e87bef5a1c1be64bc19a5225c20eae430a476c
5
5
  SHA512:
6
- metadata.gz: e1fae727ae94f9083a1b02984f660ff189e30aa5eee2d9792f3d233cce46472bff8a19b077c3863be167f8738016d96c421b50dbfe3c29604397eb7aa5fbb13d
7
- data.tar.gz: 71df5da3fd578b00518cc2121d2a32a9c664ac681cb52d266412759c25c5a46ef49a5d40e45006ac28f6d1ce8dd1676e0b44589f6b7869e77b2b3d04f4686195
6
+ metadata.gz: 6eab6988a8d9bebb72a66096e2dbe22f04f83ab5e25070e1cb2b6176c13153b23e3499829af1f378ece9d07abfad18756ce845632ecf9711b6108fab1b8335a4
7
+ data.tar.gz: 8efcdcbf133414f77cb1cf9c15f34162ad395d42117275b74a68c9b4848723174dc4d79cf1b4c6739fe775324aa94da6d16b38f5fd62b33e0577539483fe8ea4
@@ -0,0 +1,50 @@
1
+ # This workflow uses actions that are not certified by GitHub.
2
+ # They are provided by a third-party and are governed by
3
+ # separate terms of service, privacy policy, and support
4
+ # documentation.
5
+ # This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
6
+ # For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
7
+
8
+ name: build
9
+
10
+ on: [push, pull_request]
11
+
12
+ jobs:
13
+ test:
14
+ runs-on: ubuntu-20.04
15
+ strategy:
16
+ fail-fast: false
17
+ matrix:
18
+ ruby:
19
+ - 2.6
20
+ - 2.7
21
+ - '3.0'
22
+ - 3.1
23
+ gemfile:
24
+ - Gemfile.rails42
25
+ - Gemfile.rails52 # Min ruby 2.2.2
26
+ - Gemfile.rails60 # Min ruby 2.5.0
27
+ - Gemfile.rails61 # Min ruby 2.5.0
28
+ exclude:
29
+ - gemfile: Gemfile.rails42
30
+ ruby: 2.7
31
+ - gemfile: Gemfile.rails42
32
+ ruby: '3.0'
33
+ - gemfile: Gemfile.rails42
34
+ ruby: 3.1
35
+ - gemfile: Gemfile.rails52
36
+ ruby: 2.7
37
+ - gemfile: Gemfile.rails52
38
+ ruby: '3.0'
39
+ - gemfile: Gemfile.rails52
40
+ ruby: 3.1
41
+
42
+ env:
43
+ BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}
44
+ steps:
45
+ - uses: actions/checkout@v2
46
+ - uses: ruby/setup-ruby@v1
47
+ with:
48
+ ruby-version: ${{ matrix.ruby }}
49
+ bundler-cache: true
50
+ - run: bundle exec rspec
data/.gitignore CHANGED
@@ -12,3 +12,4 @@ Gemfile.local
12
12
  .ruby-gemset
13
13
 
14
14
  .DS_Store
15
+ rel-eng/.ipynb_checkpoints
data/CHANGELOG.md CHANGED
@@ -1,7 +1,30 @@
1
1
  Changelog
2
2
  ===========
3
3
 
4
- [v0.5.17](https://github.com/Apipie/apipie-rails/tree/v0.5.18) (2020-05-20)
4
+ ## [v0.6.0](https://github.com/Apipie/apipie-rails/tree/v0.6.0) (2022-03-29)
5
+ [Full Changelog](https://github.com/Apipie/apipie-rails/compare/v0.5.20...v0.6.0)
6
+ * Ruby 3.0 fixes [#716](https://github.com/Apipie/apipie-rails/pull/716) (hank-spokeo)
7
+ * only depends on actionpack and activesupport [#741](https://github.com/Apipie/apipie-rails/pull/741) (Mathieu Jobin)
8
+ * language fix, fallback to default locale [#726](https://github.com/Apipie/apipie-rails/pull/726) (Alex Coomans)
9
+
10
+ ## [v0.5.20](https://github.com/Apipie/apipie-rails/tree/v0.5.20) (2022-03-16)
11
+ [Full Changelog](https://github.com/Apipie/apipie-rails/compare/v0.5.19...v0.5.20)
12
+ * Update rel-eng (Oleh Fedorenko)
13
+ * Deprecate travis, run tests on github actions [#740](https://github.com/Apipie/apipie-rails/pull/740) (Mathieu Jobin)
14
+ * Update validator.rb [#739](https://github.com/Apipie/apipie-rails/pull/739) (Dmytro Budnyk)
15
+ * Fix wrong number of arguments for recorder#process [#725](https://github.com/Apipie/apipie-rails/pull/725) (rob mathews)
16
+ * Change "an" to "a" [#723](https://github.com/Apipie/apipie-rails/pull/723) (Naokimi)
17
+
18
+ ## [v0.5.19](https://github.com/Apipie/apipie-rails/tree/v0.5.19) (2021-07-25)
19
+ [Full Changelog](https://github.com/Apipie/apipie-rails/compare/v0.5.18...v0.5.19)
20
+ * Add rel-eng notebook (Oleh Fedorenko)
21
+ * Correct the word parâmentros for brazilian portuguese [#687](https://github.com/Apipie/apipie-rails/pull/687) (Diego Noronha)
22
+ * Fix depreciated file.exists. [#721](https://github.com/Apipie/apipie-rails/pull/721) (Diane Delallée)
23
+ * Fix typo in changelog [#703](https://github.com/Apipie/apipie-rails/pull/703) (Pavel Rodionov)
24
+ * Add rails 6.1 support in doc generation [#702](https://github.com/Apipie/apipie-rails/pull/702) (andrew-newell)
25
+
26
+
27
+ [v0.5.18](https://github.com/Apipie/apipie-rails/tree/v0.5.18) (2020-05-20)
5
28
  --------
6
29
 
7
30
  [Full Changelog](https://github.com/Apipie/apipie-rails/compare/v0.5.17...v0.5.18)
data/Gemfile CHANGED
@@ -1 +1 @@
1
- ./Gemfile.rails50
1
+ Gemfile.rails61
data/README.rst CHANGED
@@ -387,20 +387,20 @@ Example:
387
387
  end
388
388
  end
389
389
 
390
- api :POST, "/users", "Create an user"
390
+ api :POST, "/users", "Create a user"
391
391
  param_group :user
392
392
  def create
393
393
  # ...
394
394
  end
395
395
 
396
- api :PUT, "/users/:id", "Update an user"
396
+ api :PUT, "/users/:id", "Update a user"
397
397
  param_group :user
398
398
  def update
399
399
  # ...
400
400
  end
401
401
 
402
402
  # v2/users_controller.rb
403
- api :POST, "/users", "Create an user"
403
+ api :POST, "/users", "Create a user"
404
404
  param_group :user, V1::UsersController
405
405
  def create
406
406
  # ...
@@ -434,7 +434,7 @@ Example
434
434
  end
435
435
  end
436
436
 
437
- api :POST, "/users", "Create an user"
437
+ api :POST, "/users", "Create a user"
438
438
  param_group :user
439
439
  def create
440
440
  # ...
@@ -446,7 +446,7 @@ Example
446
446
  # ...
447
447
  end
448
448
 
449
- api :PUT, "/users/:id", "Update an user"
449
+ api :PUT, "/users/:id", "Update a user"
450
450
  param_group :user
451
451
  def update
452
452
  # ...
data/apipie-rails.gemspec CHANGED
@@ -16,7 +16,8 @@ Gem::Specification.new do |s|
16
16
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
17
17
  s.require_paths = ["lib"]
18
18
 
19
- s.add_dependency "rails", ">= 4.1"
19
+ s.add_dependency "actionpack", ">= 4.1"
20
+ s.add_dependency "activesupport", ">= 4.1"
20
21
  s.add_development_dependency "rspec-rails", "~> 3.0"
21
22
  s.add_development_dependency "sqlite3"
22
23
  s.add_development_dependency "minitest"
@@ -100,7 +100,7 @@ module Apipie
100
100
  [:resource, :method, :version].each do |par|
101
101
  if params[par]
102
102
  splitted = params[par].split('.')
103
- if splitted.length > 1 && Apipie.configuration.languages.include?(splitted.last)
103
+ if splitted.length > 1 && (Apipie.configuration.languages.include?(splitted.last) || Apipie.configuration.default_locale == splitted.last)
104
104
  lang = splitted.last
105
105
  params[par].sub!(".#{lang}", '')
106
106
  end
@@ -16,7 +16,7 @@
16
16
  optional: opcional
17
17
  nil_allowed: nulo permitido
18
18
  param_name: Nome parâmetro
19
- params: Parâmentros
19
+ params: Parâmetros
20
20
  examples: Exemplos
21
21
  metadata: Metadado
22
22
  errors: Erros
@@ -1,8 +1,9 @@
1
1
  source "https://rubygems.org"
2
2
 
3
- gemspec
3
+ gemspec path: '..'
4
4
 
5
- gem 'rails', '~> 4.2.5'
5
+ gem 'actionpack', '~> 4.2.5'
6
+ gem 'activesupport', '~> 4.2.5'
6
7
  gem 'mime-types', '~> 2.99.3'
7
8
  gem 'sqlite3', '~> 1.3.6'
8
9
 
@@ -11,4 +12,4 @@ if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.1.0')
11
12
  gem 'rdoc', '~> 4.2.2'
12
13
  end
13
14
 
14
- gem 'test_engine', path: 'spec/dummy/components/test_engine', group: :test
15
+ gem 'test_engine', path: '../spec/dummy/components/test_engine', group: :test
@@ -0,0 +1,122 @@
1
+ PATH
2
+ remote: ../spec/dummy/components/test_engine
3
+ specs:
4
+ test_engine (0.0.1)
5
+
6
+ PATH
7
+ remote: ..
8
+ specs:
9
+ apipie-rails (0.5.20)
10
+ actionpack (>= 4.1)
11
+ activesupport (>= 4.1)
12
+
13
+ GEM
14
+ remote: https://rubygems.org/
15
+ specs:
16
+ RedCloth (4.3.2)
17
+ actionpack (4.2.11.3)
18
+ actionview (= 4.2.11.3)
19
+ activesupport (= 4.2.11.3)
20
+ rack (~> 1.6)
21
+ rack-test (~> 0.6.2)
22
+ rails-dom-testing (~> 1.0, >= 1.0.5)
23
+ rails-html-sanitizer (~> 1.0, >= 1.0.2)
24
+ actionview (4.2.11.3)
25
+ activesupport (= 4.2.11.3)
26
+ builder (~> 3.1)
27
+ erubis (~> 2.7.0)
28
+ rails-dom-testing (~> 1.0, >= 1.0.5)
29
+ rails-html-sanitizer (~> 1.0, >= 1.0.3)
30
+ activesupport (4.2.11.3)
31
+ i18n (~> 0.7)
32
+ minitest (~> 5.1)
33
+ thread_safe (~> 0.3, >= 0.3.4)
34
+ tzinfo (~> 1.1)
35
+ addressable (2.8.0)
36
+ public_suffix (>= 2.0.2, < 5.0)
37
+ builder (3.2.4)
38
+ concurrent-ruby (1.1.10)
39
+ crass (1.0.6)
40
+ diff-lcs (1.5.0)
41
+ erubis (2.7.0)
42
+ i18n (0.9.5)
43
+ concurrent-ruby (~> 1.0)
44
+ json-schema (2.8.1)
45
+ addressable (>= 2.4)
46
+ loofah (2.15.0)
47
+ crass (~> 1.0.2)
48
+ nokogiri (>= 1.5.9)
49
+ maruku (0.7.3)
50
+ mime-types (2.99.3)
51
+ mini_portile2 (2.8.0)
52
+ minitest (5.15.0)
53
+ nokogiri (1.13.3)
54
+ mini_portile2 (~> 2.8.0)
55
+ racc (~> 1.4)
56
+ psych (4.0.3)
57
+ stringio
58
+ public_suffix (4.0.6)
59
+ racc (1.6.0)
60
+ rack (1.6.13)
61
+ rack-test (0.6.3)
62
+ rack (>= 1.0)
63
+ rails-deprecated_sanitizer (1.0.4)
64
+ activesupport (>= 4.2.0.alpha)
65
+ rails-dom-testing (1.0.9)
66
+ activesupport (>= 4.2.0, < 5.0)
67
+ nokogiri (~> 1.6)
68
+ rails-deprecated_sanitizer (>= 1.0.1)
69
+ rails-html-sanitizer (1.4.2)
70
+ loofah (~> 2.3)
71
+ railties (4.2.11.3)
72
+ actionpack (= 4.2.11.3)
73
+ activesupport (= 4.2.11.3)
74
+ rake (>= 0.8.7)
75
+ thor (>= 0.18.1, < 2.0)
76
+ rake (13.0.6)
77
+ rdoc (6.4.0)
78
+ psych (>= 4.0.0)
79
+ rspec-core (3.9.3)
80
+ rspec-support (~> 3.9.3)
81
+ rspec-expectations (3.9.4)
82
+ diff-lcs (>= 1.2.0, < 2.0)
83
+ rspec-support (~> 3.9.0)
84
+ rspec-mocks (3.9.1)
85
+ diff-lcs (>= 1.2.0, < 2.0)
86
+ rspec-support (~> 3.9.0)
87
+ rspec-rails (3.9.1)
88
+ actionpack (>= 3.0)
89
+ activesupport (>= 3.0)
90
+ railties (>= 3.0)
91
+ rspec-core (~> 3.9.0)
92
+ rspec-expectations (~> 3.9.0)
93
+ rspec-mocks (~> 3.9.0)
94
+ rspec-support (~> 3.9.0)
95
+ rspec-support (3.9.4)
96
+ sqlite3 (1.3.13)
97
+ stringio (3.0.1)
98
+ thor (1.2.1)
99
+ thread_safe (0.3.6)
100
+ tzinfo (1.2.9)
101
+ thread_safe (~> 0.1)
102
+
103
+ PLATFORMS
104
+ ruby
105
+
106
+ DEPENDENCIES
107
+ RedCloth
108
+ actionpack (~> 4.2.5)
109
+ activesupport (~> 4.2.5)
110
+ apipie-rails!
111
+ json-schema (~> 2.8)
112
+ maruku
113
+ mime-types (~> 2.99.3)
114
+ minitest
115
+ rake
116
+ rdoc
117
+ rspec-rails (~> 3.0)
118
+ sqlite3 (~> 1.3.6)
119
+ test_engine!
120
+
121
+ BUNDLED WITH
122
+ 1.17.3
@@ -0,0 +1,10 @@
1
+ source "https://rubygems.org"
2
+
3
+ gemspec path: '..'
4
+
5
+ gem 'actionpack', '~> 5.2.6'
6
+ gem 'activesupport', '~> 5.2.6'
7
+ gem 'mime-types', '~> 2.99.3'
8
+ gem 'rails-controller-testing'
9
+
10
+ gem 'test_engine', path: '../spec/dummy/components/test_engine', group: :test
@@ -0,0 +1,17 @@
1
+ source "https://rubygems.org"
2
+
3
+ gemspec path: '..'
4
+
5
+ gem 'actionpack', '~> 6.0.4'
6
+ gem 'activesupport', '~> 6.0.4'
7
+ gem 'mime-types', '~> 3.0'
8
+ gem 'rails-controller-testing'
9
+ gem 'rspec-rails', '~> 5.0'
10
+
11
+ # net-smtp not included by default in Ruby 3.1
12
+ # Will be fixed by https://github.com/mikel/mail/pull/1439
13
+ if Gem.ruby_version >= Gem::Version.new("3.1.0")
14
+ gem 'net-smtp', require: false
15
+ end
16
+
17
+ gem 'test_engine', path: '../spec/dummy/components/test_engine', group: :test
@@ -0,0 +1,17 @@
1
+ source "https://rubygems.org"
2
+
3
+ gemspec path: '..'
4
+
5
+ gem 'actionpack', '~> 6.1.5'
6
+ gem 'activesupport', '~> 6.1.5'
7
+ gem 'mime-types', '~> 3.0'
8
+ gem 'rails-controller-testing'
9
+ gem 'rspec-rails', '~> 5.0'
10
+
11
+ # net-smtp not included by default in Ruby 3.1
12
+ # Will be fixed by https://github.com/mikel/mail/pull/1439
13
+ if Gem.ruby_version >= Gem::Version.new("3.1.0")
14
+ gem 'net-smtp', require: false
15
+ end
16
+
17
+ gem 'test_engine', path: '../spec/dummy/components/test_engine', group: :test
@@ -150,8 +150,8 @@ module Apipie
150
150
  end
151
151
 
152
152
  module FunctionalTestRecording
153
- def process(*args) # action, parameters = nil, session = nil, flash = nil, http_method = 'GET')
154
- ret = super(*args)
153
+ def process(*, **) # action, parameters = nil, session = nil, flash = nil, http_method = 'GET')
154
+ ret = super
155
155
  if Apipie.configuration.record
156
156
  Apipie::Extractor.call_recorder.analyze_functional_test(self)
157
157
  Apipie::Extractor.call_finished
@@ -160,6 +160,7 @@ module Apipie
160
160
  ensure
161
161
  Apipie::Extractor.clean_call_recorder
162
162
  end
163
+ ruby2_keywords :process if respond_to?(:ruby2_keywords, true)
163
164
  end
164
165
  end
165
166
  end
@@ -3,7 +3,7 @@ module Apipie
3
3
 
4
4
  module Validator
5
5
 
6
- # to create new validator, inherit from Apipie::Validator::Base
6
+ # to create new validator, inherit from Apipie::Validator::BaseValidator
7
7
  # and implement class method build and instance method validate
8
8
  class BaseValidator
9
9
 
@@ -1,3 +1,3 @@
1
1
  module Apipie
2
- VERSION = '0.5.18'
2
+ VERSION = "0.6.0"
3
3
  end
data/lib/apipie-rails.rb CHANGED
@@ -23,7 +23,3 @@ require "apipie/railtie"
23
23
  require 'apipie/extractor'
24
24
  require "apipie/version"
25
25
  require "apipie/swagger_generator"
26
-
27
- if Rails.version.start_with?("3.0")
28
- warn 'Warning: apipie-rails is not going to support Rails 3.0 anymore in future versions'
29
- end
@@ -172,7 +172,12 @@ namespace :apipie do
172
172
  layouts_paths = [File.expand_path("../../../app/views/layouts", __FILE__)]
173
173
  layouts_paths.unshift("#{Rails.root}/app/views/layouts") if File.directory?("#{Rails.root}/app/views/layouts/apipie")
174
174
 
175
- @apipie_renderer = ActionView::Base.new(base_paths + layouts_paths)
175
+ if ActionView::Base.respond_to?(:with_empty_template_cache) && ActionView::Base.respond_to?(:with_view_paths)
176
+ @apipie_renderer = ActionView::Base.with_empty_template_cache.with_view_paths(base_paths + layouts_paths)
177
+ else
178
+ @apipie_renderer = ActionView::Base.new(base_paths + layouts_paths)
179
+ end
180
+
176
181
  @apipie_renderer.singleton_class.send(:include, ApipieHelper)
177
182
  return @apipie_renderer
178
183
  end
@@ -210,14 +215,14 @@ namespace :apipie do
210
215
  end
211
216
 
212
217
  def generate_json_page(file_base, doc, lang = nil)
213
- FileUtils.mkdir_p(file_base) unless File.exists?(file_base)
218
+ FileUtils.mkdir_p(file_base) unless File.exist?(file_base)
214
219
 
215
220
  filename = "schema_apipie#{lang_ext(lang)}.json"
216
221
  File.open("#{file_base}/#{filename}", 'w') { |file| file.write(JSON.pretty_generate(doc)) }
217
222
  end
218
223
 
219
224
  def generate_swagger_json_page(file_base, doc, sfx="", lang = nil)
220
- FileUtils.mkdir_p(file_base) unless File.exists?(file_base)
225
+ FileUtils.mkdir_p(file_base) unless File.exist?(file_base)
221
226
 
222
227
  path = Pathname.new("#{file_base}/schema_swagger#{sfx}#{lang_ext(lang)}.json")
223
228
  File.open(path, 'w') { |file| file.write(JSON.pretty_generate(doc)) }
@@ -226,21 +231,21 @@ namespace :apipie do
226
231
  end
227
232
 
228
233
  def generate_one_page(file_base, doc, lang = nil)
229
- FileUtils.mkdir_p(File.dirname(file_base)) unless File.exists?(File.dirname(file_base))
234
+ FileUtils.mkdir_p(File.dirname(file_base)) unless File.exist?(File.dirname(file_base))
230
235
 
231
236
  render_page("#{file_base}-onepage#{lang_ext(lang)}.html", "static", {:doc => doc[:docs],
232
237
  :language => lang, :languages => Apipie.configuration.languages})
233
238
  end
234
239
 
235
240
  def generate_plain_page(file_base, doc, lang = nil)
236
- FileUtils.mkdir_p(File.dirname(file_base)) unless File.exists?(File.dirname(file_base))
241
+ FileUtils.mkdir_p(File.dirname(file_base)) unless File.exist?(File.dirname(file_base))
237
242
 
238
243
  render_page("#{file_base}-plain#{lang_ext(lang)}.html", "plain", {:doc => doc[:docs],
239
244
  :language => lang, :languages => Apipie.configuration.languages}, nil)
240
245
  end
241
246
 
242
247
  def generate_index_page(file_base, doc, include_json = false, show_versions = false, lang = nil)
243
- FileUtils.mkdir_p(File.dirname(file_base)) unless File.exists?(File.dirname(file_base))
248
+ FileUtils.mkdir_p(File.dirname(file_base)) unless File.exist?(File.dirname(file_base))
244
249
  versions = show_versions && Apipie.available_versions
245
250
  render_page("#{file_base}#{lang_ext(lang)}.html", "index", {:doc => doc[:docs],
246
251
  :versions => versions, :language => lang, :languages => Apipie.configuration.languages})
@@ -251,7 +256,7 @@ namespace :apipie do
251
256
  def generate_resource_pages(version, file_base, doc, include_json = false, lang = nil)
252
257
  doc[:docs][:resources].each do |resource_name, _|
253
258
  resource_file_base = File.join(file_base, resource_name.to_s)
254
- FileUtils.mkdir_p(File.dirname(resource_file_base)) unless File.exists?(File.dirname(resource_file_base))
259
+ FileUtils.mkdir_p(File.dirname(resource_file_base)) unless File.exist?(File.dirname(resource_file_base))
255
260
 
256
261
  doc = Apipie.to_json(version, resource_name, nil, lang)
257
262
  doc[:docs][:link_extension] = (lang ? ".#{lang}.html" : ".html")
@@ -265,7 +270,7 @@ namespace :apipie do
265
270
  doc[:docs][:resources].each do |resource_name, resource_params|
266
271
  resource_params[:methods].each do |method|
267
272
  method_file_base = File.join(file_base, resource_name.to_s, method[:name].to_s)
268
- FileUtils.mkdir_p(File.dirname(method_file_base)) unless File.exists?(File.dirname(method_file_base))
273
+ FileUtils.mkdir_p(File.dirname(method_file_base)) unless File.exist?(File.dirname(method_file_base))
269
274
 
270
275
  doc = Apipie.to_json(version, resource_name, method[:name], lang)
271
276
  doc[:docs][:link_extension] = (lang ? ".#{lang}.html" : ".html")
@@ -329,7 +334,7 @@ MESSAGE
329
334
  desc "Convert your examples from the old yaml into the new json format"
330
335
  task :convert_examples => :environment do
331
336
  yaml_examples_file = File.join(Rails.root, Apipie.configuration.doc_path, "apipie_examples.yml")
332
- if File.exists?(yaml_examples_file)
337
+ if File.exist?(yaml_examples_file)
333
338
  #if SafeYAML gem is enabled, it will load examples as an array of Hash, instead of hash
334
339
  if defined? SafeYAML
335
340
  examples = YAML.load_file(yaml_examples_file, :safe=>false)