From 5c935c88e52c82aa76b3b93415dd9fc27abec253 Mon Sep 17 00:00:00 2001 From: Mark Ellul Date: Thu, 5 Feb 2015 15:22:01 +1100 Subject: [PATCH 01/10] Added a new configuration property, render_examples_with_template, which allows the user to render the examples in the method description from a partial, once set, the new example partial will be used. --- app/helpers/apipie_helper.rb | 9 +++++++++ app/views/apipie/apipies/_example.html.erb | 12 ++++++++++++ app/views/apipie/apipies/_method_detail.erb | 7 +++++++ lib/apipie/configuration.rb | 4 +++- lib/apipie/method_description.rb | 15 ++++++++++++++- 5 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 app/views/apipie/apipies/_example.html.erb diff --git a/app/helpers/apipie_helper.rb b/app/helpers/apipie_helper.rb index 701c1a86a..ea03fde2b 100644 --- a/app/helpers/apipie_helper.rb +++ b/app/helpers/apipie_helper.rb @@ -6,4 +6,13 @@ def heading(title, level=1) end end + def format_example_data(data) + case data + when Array, Hash + JSON.pretty_generate(data).gsub(/: \[\s*\]/,": []").gsub(/\{\s*\}/,"{}") + else + data + end + end + end diff --git a/app/views/apipie/apipies/_example.html.erb b/app/views/apipie/apipies/_example.html.erb new file mode 100644 index 000000000..f7aa4d43a --- /dev/null +++ b/app/views/apipie/apipies/_example.html.erb @@ -0,0 +1,12 @@ +<% if example["title"] && example["title"].present? %> +<%= example["title"] %> +<% end %> +<%= example["verb"] -%> <%= example["path"] -%> +<% if example["request_data"] -%> +<%= format_example_data(example["request_data"]).to_s %> +<% end %> +<%= example["code"] %> +<% if example["response_data"] -%> +<%= format_example_data(example["response_data"]).to_s %> +<% end %> + diff --git a/app/views/apipie/apipies/_method_detail.erb b/app/views/apipie/apipies/_method_detail.erb index 431e828b4..28c4bda69 100644 --- a/app/views/apipie/apipies/_method_detail.erb +++ b/app/views/apipie/apipies/_method_detail.erb @@ -30,6 +30,13 @@ <% end %> <% end %> +<% unless method[:examples_data].blank? %> + <%= heading(t('apipie.examples'), h_level) %> + <% method[:examples].each do |example| %> + <%= render(:partial => "example", :locals => {:example => example}) %> + <% end %> +<% end %> + <% unless method[:params].blank? %> <%= heading(t('apipie.params'), h_level) %> diff --git a/lib/apipie/configuration.rb b/lib/apipie/configuration.rb index 98fc7afcc..182f863a8 100644 --- a/lib/apipie/configuration.rb +++ b/lib/apipie/configuration.rb @@ -7,7 +7,8 @@ class Configuration :validate, :validate_value, :validate_presence, :validate_key, :authenticate, :doc_path, :show_all_examples, :process_params, :update_checksum, :checksum_path, :link_extension, :record, :languages, :translate, :locale, :default_locale, - :persist_show_in_doc + :persist_show_in_doc, :render_examples_with_template + alias_method :validate?, :validate alias_method :required_by_default?, :required_by_default @@ -165,6 +166,7 @@ def initialize @translate = lambda { |str, locale| str } @persist_show_in_doc = false @routes_formatter = RoutesFormatter.new + @render_examples_with_template = false end end end diff --git a/lib/apipie/method_description.rb b/lib/apipie/method_description.rb index 6f30a3d8b..fa08843bc 100644 --- a/lib/apipie/method_description.rb +++ b/lib/apipie/method_description.rb @@ -17,7 +17,7 @@ def initialize(method, path, desc, options) end - attr_reader :full_description, :method, :resource, :apis, :examples, :see, :formats, :metadata + attr_reader :full_description, :method, :resource, :apis, :examples, :examples_data, :see, :formats, :metadata def initialize(method, resource, dsl_data) @method = method.to_s @@ -41,6 +41,8 @@ def initialize(method, resource, dsl_data) @formats = dsl_data[:formats] @examples = dsl_data[:examples] @examples += load_recorded_examples + @examples_data = [] + @examples_data = load_recorded_examples_data if Apipie::configuration.render_examples_with_template @metadata = dsl_data[:meta] @@ -141,6 +143,7 @@ def to_json(lang=nil) :errors => errors.map(&:to_json), :params => params_ordered.map{ |param| param.to_json(lang) }.flatten, :examples => @examples, + :examples_data => @examples_data, :metadata => @metadata, :see => see.map(&:to_json) } @@ -177,6 +180,7 @@ def merge_params(params, new_params) end def load_recorded_examples + return [] if Apipie::configuration.render_examples_with_template (Apipie.recorded_examples[id] || []). find_all { |ex| ex["show_in_doc"].to_i > 0 }. find_all { |ex| ex["versions"].nil? || ex["versions"].include?(self.version) }. @@ -184,6 +188,13 @@ def load_recorded_examples map { |ex| format_example(ex.symbolize_keys) } end + def load_recorded_examples_data + (Apipie.recorded_examples[id] || []). + find_all { |ex| ex["show_in_doc"].to_i > 0 }. + find_all { |ex| ex["versions"].nil? || ex["versions"].include?(self.version) }. + sort_by { |ex| ex["show_in_doc"] } + end + def format_example_data(data) case data when Array, Hash @@ -194,6 +205,7 @@ def format_example_data(data) end def format_example(ex) + example = "" example << "// #{ex[:title]}\n" if ex[:title].present? example << "#{ex[:verb]} #{ex[:path]}" @@ -202,6 +214,7 @@ def format_example(ex) example << "\n" << ex[:code].to_s example << "\n" << format_example_data(ex[:response_data]).to_s if ex[:response_data] example + end def concern_subst(string) From ae1ff975de338f26bf4378c8b8503410fe30aeb6 Mon Sep 17 00:00:00 2001 From: Mark Ellul Date: Fri, 20 Feb 2015 18:14:16 +1100 Subject: [PATCH 02/10] Added a Preprocessor configuration setting to allow for changing the data at run time --- app/controllers/apipie/apipies_controller.rb | 5 +++++ lib/apipie/configuration.rb | 7 ++++++- lib/tasks/apipie.rake | 7 +++++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/app/controllers/apipie/apipies_controller.rb b/app/controllers/apipie/apipies_controller.rb index 9c0159d93..f666a2d57 100644 --- a/app/controllers/apipie/apipies_controller.rb +++ b/app/controllers/apipie/apipies_controller.rb @@ -53,6 +53,11 @@ def index @resource = @doc[:resources].first if params[:resource].present? @method = @resource[:methods].first if params[:method].present? @languages = Apipie.configuration.languages + + if Apipie.configuration.prerender_processor + @doc = Apipie.configuration.prerender_processor.call(@doc, params) + end + if @resource && @method render 'method' diff --git a/lib/apipie/configuration.rb b/lib/apipie/configuration.rb index 182f863a8..6139b5a4b 100644 --- a/lib/apipie/configuration.rb +++ b/lib/apipie/configuration.rb @@ -7,7 +7,7 @@ class Configuration :validate, :validate_value, :validate_presence, :validate_key, :authenticate, :doc_path, :show_all_examples, :process_params, :update_checksum, :checksum_path, :link_extension, :record, :languages, :translate, :locale, :default_locale, - :persist_show_in_doc, :render_examples_with_template + :persist_show_in_doc, :render_examples_with_template, :prerender_processor alias_method :validate?, :validate @@ -136,6 +136,10 @@ def api_routes @api_routes || Rails.application.routes end + def prerender_processor=(lambda_processor) + @prerender_processor = lambda_processor + end + def initialize @markup = Apipie::Markup::RDoc.new @app_name = "Another API" @@ -167,6 +171,7 @@ def initialize @persist_show_in_doc = false @routes_formatter = RoutesFormatter.new @render_examples_with_template = false + @prerender_processor = nil end end end diff --git a/lib/tasks/apipie.rake b/lib/tasks/apipie.rake index d3f24baea..aa395ff46 100644 --- a/lib/tasks/apipie.rake +++ b/lib/tasks/apipie.rake @@ -28,12 +28,19 @@ namespace :apipie do Apipie.url_prefix = "./#{subdir}" doc = Apipie.to_json(args[:version], nil, nil, lang) doc[:docs][:link_extension] = "#{lang_ext(lang)}.html" + + if Apipie.configuration.prerender_processor + doc[:docs] = Apipie.configuration.prerender_processor.call(doc[:docs], ENV) + end + generate_one_page(out, doc, lang) generate_plain_page(out, doc, lang) generate_index_page(out, doc, false, false, lang) Apipie.url_prefix = "../#{subdir}" + generate_resource_pages(args[:version], out, doc, false, lang) Apipie.url_prefix = "../../#{subdir}" + generate_method_pages(args[:version], out, doc, false, lang) end end From 368cf67c73893481a3a7a429e0055970c8cfa3f0 Mon Sep 17 00:00:00 2001 From: Mark Ellul Date: Fri, 20 Feb 2015 18:22:02 +1100 Subject: [PATCH 03/10] Static generation using preprocessor --- lib/tasks/apipie.rake | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/tasks/apipie.rake b/lib/tasks/apipie.rake index aa395ff46..b67c8c23b 100644 --- a/lib/tasks/apipie.rake +++ b/lib/tasks/apipie.rake @@ -37,7 +37,6 @@ namespace :apipie do generate_plain_page(out, doc, lang) generate_index_page(out, doc, false, false, lang) Apipie.url_prefix = "../#{subdir}" - generate_resource_pages(args[:version], out, doc, false, lang) Apipie.url_prefix = "../../#{subdir}" @@ -165,6 +164,9 @@ namespace :apipie do FileUtils.mkdir_p(File.dirname(resource_file_base)) unless File.exists?(File.dirname(resource_file_base)) doc = Apipie.to_json(version, resource_name, nil, lang) + if Apipie.configuration.prerender_processor + doc[:docs] = Apipie.configuration.prerender_processor.call(doc[:docs], ENV) + end doc[:docs][:link_extension] = (lang ? ".#{lang}.html" : ".html") render_page("#{resource_file_base}#{lang_ext(lang)}.html", "resource", {:doc => doc[:docs], :resource => doc[:docs][:resources].first, :language => lang, :languages => Apipie.configuration.languages}) @@ -179,6 +181,9 @@ namespace :apipie do FileUtils.mkdir_p(File.dirname(method_file_base)) unless File.exists?(File.dirname(method_file_base)) doc = Apipie.to_json(version, resource_name, method[:name], lang) + if Apipie.configuration.prerender_processor + doc[:docs] = Apipie.configuration.prerender_processor.call(doc[:docs], ENV) + end doc[:docs][:link_extension] = (lang ? ".#{lang}.html" : ".html") render_page("#{method_file_base}#{lang_ext(lang)}.html", "method", {:doc => doc[:docs], :resource => doc[:docs][:resources].first, From ba47e0e015b3c22ca054e70805d649d19cfeee56 Mon Sep 17 00:00:00 2001 From: Mark Ellul Date: Mon, 18 Mar 2019 15:30:31 +0100 Subject: [PATCH 04/10] updated from upstream and merge my changes in --- app/helpers/apipie_helper.rb | 9 +++++++++ app/views/apipie/apipies/_example.html.erb | 12 ++++++++++++ app/views/apipie/apipies/_method_detail.erb | 7 +++++++ lib/apipie/configuration.rb | 3 ++- lib/apipie/method_description.rb | 15 ++++++++++++++- 5 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 app/views/apipie/apipies/_example.html.erb diff --git a/app/helpers/apipie_helper.rb b/app/helpers/apipie_helper.rb index 386b85bde..6d158776f 100644 --- a/app/helpers/apipie_helper.rb +++ b/app/helpers/apipie_helper.rb @@ -7,4 +7,13 @@ def heading(title, level=1) end end + def format_example_data(data) + case data + when Array, Hash + JSON.pretty_generate(data).gsub(/: \[\s*\]/,": []").gsub(/\{\s*\}/,"{}") + else + data + end + end + end diff --git a/app/views/apipie/apipies/_example.html.erb b/app/views/apipie/apipies/_example.html.erb new file mode 100644 index 000000000..f7aa4d43a --- /dev/null +++ b/app/views/apipie/apipies/_example.html.erb @@ -0,0 +1,12 @@ +<% if example["title"] && example["title"].present? %> +<%= example["title"] %> +<% end %> +<%= example["verb"] -%> <%= example["path"] -%> +<% if example["request_data"] -%> +<%= format_example_data(example["request_data"]).to_s %> +<% end %> +<%= example["code"] %> +<% if example["response_data"] -%> +<%= format_example_data(example["response_data"]).to_s %> +<% end %> + diff --git a/app/views/apipie/apipies/_method_detail.erb b/app/views/apipie/apipies/_method_detail.erb index 15767ecc4..cb0eaae29 100644 --- a/app/views/apipie/apipies/_method_detail.erb +++ b/app/views/apipie/apipies/_method_detail.erb @@ -22,6 +22,13 @@ <% end %> <% end %> +<% unless method[:examples_data].blank? %> + <%= heading(t('apipie.examples'), h_level) %> + <% method[:examples].each do |example| %> + <%= render(:partial => "example", :locals => {:example => example}) %> + <% end %> +<% end %> + <% unless method[:params].blank? %> <%= heading(t('apipie.params'), h_level) %>
diff --git a/lib/apipie/configuration.rb b/lib/apipie/configuration.rb index 83048cf0a..5ff8f0509 100644 --- a/lib/apipie/configuration.rb +++ b/lib/apipie/configuration.rb @@ -11,7 +11,7 @@ class Configuration :persist_show_in_doc, :authorize, :swagger_include_warning_tags, :swagger_content_type_input, :swagger_json_input_uses_refs, :swagger_suppress_warnings, :swagger_api_host, :swagger_generate_x_computed_id_field, - :swagger_allow_additional_properties_in_response, :swagger_responses_use_refs + :swagger_allow_additional_properties_in_response, :swagger_responses_use_refs, :render_examples_with_template alias_method :validate?, :validate alias_method :required_by_default?, :required_by_default @@ -181,6 +181,7 @@ def initialize @swagger_generate_x_computed_id_field = false @swagger_allow_additional_properties_in_response = false @swagger_responses_use_refs = true + @render_examples_with_template = false end end end diff --git a/lib/apipie/method_description.rb b/lib/apipie/method_description.rb index 5bbd3315e..fcdb73bad 100644 --- a/lib/apipie/method_description.rb +++ b/lib/apipie/method_description.rb @@ -17,7 +17,7 @@ def initialize(method, path, desc, options) end - attr_reader :full_description, :method, :resource, :apis, :examples, :see, :formats, :metadata, :headers, :show + attr_reader :full_description, :method, :resource, :apis, :examples, :see, :formats, :metadata, :headers, :show, :examples_data def initialize(method, resource, dsl_data) @method = method.to_s @@ -47,6 +47,8 @@ def initialize(method, resource, dsl_data) @formats = dsl_data[:formats] @examples = dsl_data[:examples] @examples += load_recorded_examples + @examples_data = [] + @examples_data = load_recorded_examples_data if Apipie::configuration.render_examples_with_template @metadata = dsl_data[:meta] @@ -188,6 +190,7 @@ def to_json(lang=nil) :params => params_ordered.map{ |param| param.to_json(lang) }.flatten, :returns => @returns.map{ |return_item| return_item.to_json(lang) }.flatten, :examples => @examples, + :examples_data => @examples_data, :metadata => @metadata, :see => see.map(&:to_json), :headers => headers, @@ -232,6 +235,7 @@ def merge_returns(returns, new_returns) end def load_recorded_examples + return [] if Apipie::configuration.render_examples_with_template (Apipie.recorded_examples[id] || []). find_all { |ex| ex["show_in_doc"].to_i > 0 }. find_all { |ex| ex["versions"].nil? || ex["versions"].include?(self.version) }. @@ -239,6 +243,13 @@ def load_recorded_examples map { |ex| format_example(ex.symbolize_keys) } end + def load_recorded_examples_data + (Apipie.recorded_examples[id] || []). + find_all { |ex| ex["show_in_doc"].to_i > 0 }. + find_all { |ex| ex["versions"].nil? || ex["versions"].include?(self.version) }. + sort_by { |ex| ex["show_in_doc"] } + end + def format_example_data(data) case data when Array, Hash @@ -249,6 +260,7 @@ def format_example_data(data) end def format_example(ex) + example = "" example << "// #{ex[:title]}\n" if ex[:title].present? example << "#{ex[:verb]} #{ex[:path]}" @@ -257,6 +269,7 @@ def format_example(ex) example << "\n" << ex[:code].to_s example << "\n" << format_example_data(ex[:response_data]).to_s if ex[:response_data] example + end def concern_subst(string) From f08bced7fafb1a57d5463c20133e3901bbdafe21 Mon Sep 17 00:00:00 2001 From: Mark Ellul Date: Fri, 20 Feb 2015 18:14:16 +1100 Subject: [PATCH 05/10] Added a Preprocessor configuration setting to allow for changing the data at run time --- app/controllers/apipie/apipies_controller.rb | 5 +++++ lib/apipie/configuration.rb | 7 ++++++- lib/tasks/apipie.rake | 7 +++++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/app/controllers/apipie/apipies_controller.rb b/app/controllers/apipie/apipies_controller.rb index 1a5464746..287656648 100644 --- a/app/controllers/apipie/apipies_controller.rb +++ b/app/controllers/apipie/apipies_controller.rb @@ -74,6 +74,11 @@ def index @resource = @doc[:resources].first if params[:resource].present? @method = @resource[:methods].first if params[:method].present? @languages = Apipie.configuration.languages + + if Apipie.configuration.prerender_processor + @doc = Apipie.configuration.prerender_processor.call(@doc, params) + end + if @resource && @method render 'method' diff --git a/lib/apipie/configuration.rb b/lib/apipie/configuration.rb index 5ff8f0509..bcf0b6f62 100644 --- a/lib/apipie/configuration.rb +++ b/lib/apipie/configuration.rb @@ -11,7 +11,7 @@ class Configuration :persist_show_in_doc, :authorize, :swagger_include_warning_tags, :swagger_content_type_input, :swagger_json_input_uses_refs, :swagger_suppress_warnings, :swagger_api_host, :swagger_generate_x_computed_id_field, - :swagger_allow_additional_properties_in_response, :swagger_responses_use_refs, :render_examples_with_template + :swagger_allow_additional_properties_in_response, :swagger_responses_use_refs, :render_examples_with_template, :prerender_processor alias_method :validate?, :validate alias_method :required_by_default?, :required_by_default @@ -143,6 +143,10 @@ def api_routes @api_routes || Rails.application.routes end + def prerender_processor=(lambda_processor) + @prerender_processor = lambda_processor + end + def initialize @markup = Apipie::Markup::RDoc.new @app_name = "Another API" @@ -182,6 +186,7 @@ def initialize @swagger_allow_additional_properties_in_response = false @swagger_responses_use_refs = true @render_examples_with_template = false + @prerender_processor = nil end end end diff --git a/lib/tasks/apipie.rake b/lib/tasks/apipie.rake index db0099075..62e09f915 100644 --- a/lib/tasks/apipie.rake +++ b/lib/tasks/apipie.rake @@ -28,12 +28,19 @@ namespace :apipie do Apipie.url_prefix = "./#{subdir}" doc = Apipie.to_json(args[:version], nil, nil, lang) doc[:docs][:link_extension] = "#{lang_ext(lang)}.html" + + if Apipie.configuration.prerender_processor + doc[:docs] = Apipie.configuration.prerender_processor.call(doc[:docs], ENV) + end + generate_one_page(out, doc, lang) generate_plain_page(out, doc, lang) generate_index_page(out, doc, false, false, lang) Apipie.url_prefix = "../#{subdir}" + generate_resource_pages(args[:version], out, doc, false, lang) Apipie.url_prefix = "../../#{subdir}" + generate_method_pages(args[:version], out, doc, false, lang) end end From c10a08277c0cfc951c54afe0a9cc8f049658e65b Mon Sep 17 00:00:00 2001 From: Mark Ellul Date: Fri, 20 Feb 2015 18:22:02 +1100 Subject: [PATCH 06/10] Static generation using preprocessor --- lib/tasks/apipie.rake | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/tasks/apipie.rake b/lib/tasks/apipie.rake index 62e09f915..15d5d8dc3 100644 --- a/lib/tasks/apipie.rake +++ b/lib/tasks/apipie.rake @@ -37,7 +37,6 @@ namespace :apipie do generate_plain_page(out, doc, lang) generate_index_page(out, doc, false, false, lang) Apipie.url_prefix = "../#{subdir}" - generate_resource_pages(args[:version], out, doc, false, lang) Apipie.url_prefix = "../../#{subdir}" @@ -261,6 +260,9 @@ namespace :apipie do FileUtils.mkdir_p(File.dirname(resource_file_base)) unless File.exists?(File.dirname(resource_file_base)) doc = Apipie.to_json(version, resource_name, nil, lang) + if Apipie.configuration.prerender_processor + doc[:docs] = Apipie.configuration.prerender_processor.call(doc[:docs], ENV) + end doc[:docs][:link_extension] = (lang ? ".#{lang}.html" : ".html") render_page("#{resource_file_base}#{lang_ext(lang)}.html", "resource", {:doc => doc[:docs], :resource => doc[:docs][:resources].first, :language => lang, :languages => Apipie.configuration.languages}) @@ -275,6 +277,9 @@ namespace :apipie do FileUtils.mkdir_p(File.dirname(method_file_base)) unless File.exists?(File.dirname(method_file_base)) doc = Apipie.to_json(version, resource_name, method[:name], lang) + if Apipie.configuration.prerender_processor + doc[:docs] = Apipie.configuration.prerender_processor.call(doc[:docs], ENV) + end doc[:docs][:link_extension] = (lang ? ".#{lang}.html" : ".html") render_page("#{method_file_base}#{lang_ext(lang)}.html", "method", {:doc => doc[:docs], :resource => doc[:docs][:resources].first, From c9accdd474e4ff4c9891d11ecc5f27c8d9b0d3ca Mon Sep 17 00:00:00 2001 From: Mark Ellul Date: Mon, 18 Mar 2019 15:37:30 +0100 Subject: [PATCH 07/10] Making the HashValidator accept strong parameters --- lib/apipie/validator.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/apipie/validator.rb b/lib/apipie/validator.rb index dc8c9d98d..2d7e5add7 100644 --- a/lib/apipie/validator.rb +++ b/lib/apipie/validator.rb @@ -336,7 +336,7 @@ def params_ordered end def validate(value) - return false if !value.is_a? Hash + return false if !value.respond_to? :keys if @hash_params @hash_params.each do |k, p| if Apipie.configuration.validate_presence? From 1561eaa4b9eaf33e41ca8ebf85152c7e491887c7 Mon Sep 17 00:00:00 2001 From: Mark Ellul Date: Mon, 18 Mar 2019 15:43:35 +0100 Subject: [PATCH 08/10] incremented version --- lib/apipie/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/apipie/version.rb b/lib/apipie/version.rb index 2ca3a7bff..419b84a42 100644 --- a/lib/apipie/version.rb +++ b/lib/apipie/version.rb @@ -1,3 +1,3 @@ module Apipie - VERSION = '0.5.15' + VERSION = '0.5.15.1' end From 94f109d390a71a9d404321f8c45fc8bb501e96bc Mon Sep 17 00:00:00 2001 From: Mark Ellul Date: Mon, 18 Mar 2019 15:47:56 +0100 Subject: [PATCH 09/10] incremented version --- lib/apipie/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/apipie/version.rb b/lib/apipie/version.rb index 419b84a42..b337965a5 100644 --- a/lib/apipie/version.rb +++ b/lib/apipie/version.rb @@ -1,3 +1,3 @@ module Apipie - VERSION = '0.5.15.1' + VERSION = '0.5.16' end From e4c5fce4e07a4a1c0209a9770275834e7ca32c52 Mon Sep 17 00:00:00 2001 From: Mark Ellul Date: Mon, 20 Apr 2020 12:47:41 +0200 Subject: [PATCH 10/10] Update apipie-rails.gemspec putting back rails 3.2 dependancy --- apipie-rails.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apipie-rails.gemspec b/apipie-rails.gemspec index e9713e1e9..c6264498d 100644 --- a/apipie-rails.gemspec +++ b/apipie-rails.gemspec @@ -16,7 +16,7 @@ Gem::Specification.new do |s| s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n") s.require_paths = ["lib"] - s.add_dependency "rails", ">= 4.1" + s.add_dependency "rails", ">= 3.2" s.add_development_dependency "rspec-rails", "~> 3.0" s.add_development_dependency "sqlite3" s.add_development_dependency "minitest"