apipie-rails 0.8.1 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rubocop-challenger.yml +28 -0
  3. data/.gitignore +1 -0
  4. data/.rubocop.yml +37 -0
  5. data/.rubocop_todo.yml +2001 -0
  6. data/CHANGELOG.md +24 -0
  7. data/README.rst +45 -2
  8. data/Rakefile +0 -5
  9. data/apipie-rails.gemspec +11 -7
  10. data/lib/apipie/dsl_definition.rb +3 -3
  11. data/lib/apipie/extractor/writer.rb +2 -2
  12. data/lib/apipie/generator/generator.rb +2 -0
  13. data/lib/apipie/generator/swagger/swagger.rb +2 -0
  14. data/lib/apipie/generator/swagger/type.rb +16 -0
  15. data/lib/apipie/generator/swagger/type_extractor.rb +70 -0
  16. data/lib/apipie/generator/swagger/warning.rb +77 -0
  17. data/lib/apipie/generator/swagger/warning_writer.rb +48 -0
  18. data/lib/apipie/method_description/api.rb +12 -0
  19. data/lib/apipie/method_description/apis_service.rb +82 -0
  20. data/lib/apipie/method_description.rb +1 -46
  21. data/lib/apipie/param_description.rb +1 -1
  22. data/lib/apipie/swagger_generator.rb +76 -81
  23. data/lib/apipie/validator.rb +13 -0
  24. data/lib/apipie/version.rb +1 -1
  25. data/lib/apipie-rails.rb +9 -1
  26. data/lib/generators/apipie/install/install_generator.rb +1 -1
  27. data/lib/generators/apipie/views_generator.rb +1 -1
  28. data/lib/tasks/apipie.rake +2 -2
  29. data/spec/controllers/included_param_group_controller_spec.rb +13 -0
  30. data/spec/dummy/Rakefile +1 -1
  31. data/spec/dummy/app/controllers/included_param_group_controller.rb +19 -0
  32. data/spec/dummy/app/helpers/random_param_group.rb +8 -0
  33. data/spec/dummy/components/test_engine/test_engine.gemspec +1 -1
  34. data/spec/dummy/config/application.rb +1 -1
  35. data/spec/dummy/config/boot.rb +2 -2
  36. data/spec/dummy/config/environment.rb +1 -1
  37. data/spec/dummy/config/routes.rb +1 -0
  38. data/spec/dummy/config.ru +1 -1
  39. data/spec/dummy/script/rails +2 -2
  40. data/spec/lib/application_spec.rb +1 -1
  41. data/spec/lib/extractor/writer_spec.rb +7 -5
  42. data/spec/lib/generator/swagger/type_extractor_spec.rb +61 -0
  43. data/spec/lib/generator/swagger/warning_spec.rb +51 -0
  44. data/spec/lib/generator/swagger/warning_writer_spec.rb +59 -0
  45. data/spec/lib/method_description/apis_service_spec.rb +60 -0
  46. data/spec/lib/param_description_spec.rb +18 -0
  47. data/spec/lib/rake_spec.rb +1 -1
  48. data/spec/lib/swagger/rake_swagger_spec.rb +4 -4
  49. data/spec/spec_helper.rb +8 -4
  50. data/spec/support/custom_bool_validator.rb +17 -0
  51. metadata +49 -30
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 551be0cd702443cd00ab6f07e8b5d5d34c7465f32550b55b6e4cd7198d41d274
4
- data.tar.gz: be966a1768f9839e57c5347bc7c46b40b651cea1c4c5e590feb9c4f365f56ff4
3
+ metadata.gz: c7d31dc4de8810bc43e818a9d26074a02ed00c2e7fcaec3add9283f595e29c5e
4
+ data.tar.gz: 7db1cd2f0f3be99a5c0507e8914b7ca1f27542df2e02cdc9275b7cd35371d384
5
5
  SHA512:
6
- metadata.gz: 1d2c1845c417378ceda213d9f452efbf33fa4c78926b689866d3559331c495940580dcc34c03840d294bcdb5327c1dd873182c9ea332b081da1b6c7fbf893707
7
- data.tar.gz: 00f2a6787774e81bdab55b9e2de74cef25cceec92d908353db88ce6c384ec643cd3f3972c95b59232ad0bc03b707f7af12c5699aa1c8b2c0f696306af8100a4c
6
+ metadata.gz: cd5be5e705f47e1b61849acc946d417526f172affafc8a2742e0dbf89a6fbdbb2ce553d0232cb03edb6ecabad7534d1a37a07bfa58ef336bc6416df8e77196f5
7
+ data.tar.gz: 7d51ceedcffc6cbea6a857bb4dc905a4122d11909ff5fef8ca0c040f77a3678e55e1df9af389612ce16abd19cc5caa6633bfe597dfb7a1ab09c1228973fad267
@@ -0,0 +1,28 @@
1
+ name: "RuboCop Challenge"
2
+
3
+ on:
4
+ schedule:
5
+ - cron: '30 23 * * 1,3,5' # Monday, Wednesday, Friday at 23:30 UTC
6
+
7
+ jobs:
8
+ create-pr:
9
+ name: Create Pull Request
10
+ runs-on: ubuntu-latest
11
+ env:
12
+ BUNDLE_GEMFILE: gemfiles/Gemfile.rails50
13
+ steps:
14
+ - uses: actions/checkout@v2
15
+ - name: Set up Ruby 2.7
16
+ uses: ruby/setup-ruby@v1
17
+ with:
18
+ ruby-version: 2.7.6
19
+ - name: Install bundler
20
+ run: gem install bundler
21
+ - name: Install gems
22
+ run: bundle install --jobs 4 --retry 3
23
+ - name: Set git configuration
24
+ run: git config remote.origin.url "git@github.com:Apipie/apipie-rails.git"
25
+ - name: Create RuboCop challenge pull request
26
+ env:
27
+ GITHUB_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
28
+ run: bundle exec rubocop_challenger go --base-branch=master --email=rubocop@payrollhero.com --name="Rubocop Challenger" --mode=random
data/.gitignore CHANGED
@@ -1,6 +1,7 @@
1
1
  .bundle/
2
2
  log/*.log
3
3
  pkg/
4
+ coverage
4
5
  spec/dummy/db/*.sqlite3
5
6
  spec/dummy/log/*.log
6
7
  spec/dummy/tmp/
data/.rubocop.yml ADDED
@@ -0,0 +1,37 @@
1
+ require:
2
+ - rubocop-rails
3
+ - rubocop-rspec
4
+ - rubocop-performance
5
+
6
+ inherit_from: .rubocop_todo.yml
7
+
8
+ Rails:
9
+ Enabled: true
10
+
11
+ AllCops:
12
+ NewCops: enable
13
+
14
+ Layout/LineLength:
15
+ Max: 140
16
+ Exclude:
17
+ - app/controllers/apipie/apipies_controller.rb
18
+ - lib/apipie/extractor/writer.rb
19
+ - lib/apipie/param_description.rb
20
+ - lib/apipie/response_description_adapter.rb
21
+ - lib/apipie/swagger_generator.rb
22
+ - lib/apipie/errors.rb
23
+ - lib/apipie/rspec/response_validation_helper.rb
24
+ - spec/controllers/users_controller_spec.rb
25
+ - spec/dummy/app/controllers/twitter_example_controller.rb
26
+ - spec/dummy/config/initializers/secret_token.rb
27
+ - spec/lib/application_spec.rb
28
+ - spec/lib/param_description_spec.rb
29
+ - spec/lib/swagger/response_validation_spec.rb
30
+ - spec/spec_helper.rb
31
+
32
+ Naming/PredicateName:
33
+ AllowedMethods:
34
+ - have_field?
35
+
36
+ Style/NumericPredicate:
37
+ Enabled: false