my_api_client 0.18.0 → 0.22.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.
Files changed (110) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +50 -120
  3. data/.gem_comet.yml +13 -2
  4. data/.github/dependabot.yml +32 -0
  5. data/.rubocop.yml +1 -1
  6. data/.rubocop_todo.yml +1 -15
  7. data/CHANGELOG.md +73 -86
  8. data/Gemfile +2 -0
  9. data/Gemfile.lock +75 -57
  10. data/README.jp.md +79 -15
  11. data/README.md +392 -8
  12. data/gemfiles/rails_5.0.gemfile +1 -0
  13. data/gemfiles/rails_5.1.gemfile +1 -0
  14. data/gemfiles/rails_5.2.gemfile +1 -0
  15. data/gemfiles/rails_6.0.gemfile +1 -0
  16. data/gemfiles/rails_6.1.gemfile +15 -0
  17. data/gemfiles/rails_7.0.gemfile +15 -0
  18. data/lib/generators/rails/templates/api_client.rb.erb +3 -5
  19. data/lib/generators/rspec/templates/api_client_spec.rb.erb +0 -8
  20. data/lib/my_api_client/base.rb +2 -9
  21. data/lib/my_api_client/integrations/bugsnag.rb +1 -1
  22. data/lib/my_api_client/request.rb +1 -1
  23. data/lib/my_api_client/rspec/matchers/be_handled_as_an_error.rb +3 -3
  24. data/lib/my_api_client/rspec/matchers/request_to.rb +1 -1
  25. data/lib/my_api_client/rspec/stub.rb +40 -15
  26. data/lib/my_api_client/version.rb +1 -1
  27. data/my_api/.ruby-version +1 -1
  28. data/my_api/Gemfile +3 -0
  29. data/my_api/Gemfile.lock +108 -99
  30. data/my_api/app/controllers/pagination_controller.rb +2 -2
  31. data/my_api/public/index.html +2 -2
  32. data/my_api/spec/spec_helper.rb +1 -1
  33. data/my_api_client.gemspec +6 -3
  34. data/rails_app/rails_5.2/Gemfile.lock +73 -64
  35. data/rails_app/rails_5.2/config/environments/production.rb +1 -1
  36. data/rails_app/rails_6.0/Gemfile.lock +95 -79
  37. data/rails_app/rails_6.0/config/environments/production.rb +1 -1
  38. data/rails_app/rails_6.1/.gitattributes +8 -0
  39. data/rails_app/rails_6.1/.gitignore +28 -0
  40. data/rails_app/rails_6.1/.rspec +3 -0
  41. data/rails_app/rails_6.1/Gemfile +17 -0
  42. data/rails_app/rails_6.1/Gemfile.lock +203 -0
  43. data/rails_app/rails_6.1/README.md +24 -0
  44. data/rails_app/rails_6.1/Rakefile +8 -0
  45. data/rails_app/rails_6.1/app/controllers/application_controller.rb +4 -0
  46. data/rails_app/rails_6.1/app/controllers/concerns/.keep +0 -0
  47. data/rails_app/rails_6.1/app/javascript/.keep +0 -0
  48. data/rails_app/rails_6.1/app/models/application_record.rb +5 -0
  49. data/rails_app/rails_6.1/app/models/concerns/.keep +0 -0
  50. data/rails_app/rails_6.1/bin/bundle +122 -0
  51. data/rails_app/rails_6.1/bin/rails +6 -0
  52. data/rails_app/rails_6.1/bin/rake +6 -0
  53. data/rails_app/rails_6.1/bin/setup +35 -0
  54. data/rails_app/rails_6.1/config/application.rb +42 -0
  55. data/rails_app/rails_6.1/config/boot.rb +5 -0
  56. data/rails_app/rails_6.1/config/credentials.yml.enc +1 -0
  57. data/rails_app/rails_6.1/config/database.yml +25 -0
  58. data/rails_app/rails_6.1/config/environment.rb +7 -0
  59. data/rails_app/rails_6.1/config/environments/development.rb +59 -0
  60. data/rails_app/rails_6.1/config/environments/production.rb +97 -0
  61. data/rails_app/rails_6.1/config/environments/test.rb +51 -0
  62. data/rails_app/rails_6.1/config/initializers/application_controller_renderer.rb +9 -0
  63. data/rails_app/rails_6.1/config/initializers/backtrace_silencers.rb +10 -0
  64. data/rails_app/rails_6.1/config/initializers/cors.rb +17 -0
  65. data/rails_app/rails_6.1/config/initializers/filter_parameter_logging.rb +8 -0
  66. data/rails_app/rails_6.1/config/initializers/inflections.rb +17 -0
  67. data/rails_app/rails_6.1/config/initializers/mime_types.rb +5 -0
  68. data/rails_app/rails_6.1/config/initializers/wrap_parameters.rb +16 -0
  69. data/rails_app/rails_6.1/config/locales/en.yml +33 -0
  70. data/rails_app/rails_6.1/config/routes.rb +5 -0
  71. data/rails_app/rails_6.1/config.ru +8 -0
  72. data/rails_app/rails_6.1/db/seeds.rb +8 -0
  73. data/rails_app/rails_6.1/lib/tasks/.keep +0 -0
  74. data/rails_app/rails_6.1/public/robots.txt +1 -0
  75. data/rails_app/rails_6.1/spec/rails_helper.rb +14 -0
  76. data/rails_app/rails_6.1/spec/spec_helper.rb +13 -0
  77. data/rails_app/rails_6.1/tmp/.keep +0 -0
  78. data/rails_app/rails_6.1/tmp/pids/.keep +0 -0
  79. data/rails_app/rails_6.1/vendor/.keep +0 -0
  80. data/rails_app/rails_7.0/Gemfile +13 -0
  81. data/rails_app/rails_7.0/Gemfile.lock +147 -0
  82. data/rails_app/rails_7.0/README.md +24 -0
  83. data/rails_app/rails_7.0/Rakefile +8 -0
  84. data/rails_app/rails_7.0/app/controllers/application_controller.rb +4 -0
  85. data/rails_app/rails_7.0/app/models/application_record.rb +5 -0
  86. data/rails_app/rails_7.0/bin/bundle +122 -0
  87. data/rails_app/rails_7.0/bin/rails +6 -0
  88. data/rails_app/rails_7.0/bin/rake +6 -0
  89. data/rails_app/rails_7.0/bin/setup +35 -0
  90. data/rails_app/rails_7.0/config/application.rb +41 -0
  91. data/rails_app/rails_7.0/config/boot.rb +5 -0
  92. data/rails_app/rails_7.0/config/credentials.yml.enc +1 -0
  93. data/rails_app/rails_7.0/config/database.yml +25 -0
  94. data/rails_app/rails_7.0/config/environment.rb +7 -0
  95. data/rails_app/rails_7.0/config/environments/development.rb +58 -0
  96. data/rails_app/rails_7.0/config/environments/production.rb +70 -0
  97. data/rails_app/rails_7.0/config/environments/test.rb +52 -0
  98. data/rails_app/rails_7.0/config/initializers/cors.rb +17 -0
  99. data/rails_app/rails_7.0/config/initializers/filter_parameter_logging.rb +8 -0
  100. data/rails_app/rails_7.0/config/initializers/inflections.rb +17 -0
  101. data/rails_app/rails_7.0/config/locales/en.yml +33 -0
  102. data/rails_app/rails_7.0/config/routes.rb +8 -0
  103. data/rails_app/rails_7.0/config.ru +8 -0
  104. data/rails_app/rails_7.0/db/seeds.rb +8 -0
  105. data/rails_app/rails_7.0/public/robots.txt +1 -0
  106. data/rails_app/rails_7.0/spec/rails_helper.rb +14 -0
  107. data/rails_app/rails_7.0/spec/spec_helper.rb +13 -0
  108. metadata +83 -11
  109. data/.dependabot/config.yml +0 -34
  110. data/.rubocop_challenge.yml +0 -5
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'active_support/core_ext/integer/time'
4
+
5
+ # The test environment is used exclusively to run your application's
6
+ # test suite. You never need to work with it otherwise. Remember that
7
+ # your test database is "scratch space" for the test suite and is wiped
8
+ # and recreated between test runs. Don't rely on the data there!
9
+
10
+ Rails.application.configure do
11
+ # Settings specified here will take precedence over those in config/application.rb.
12
+
13
+ config.cache_classes = true
14
+
15
+ # Do not eager load code on boot. This avoids loading your whole application
16
+ # just for the purpose of running a single test. If you are using a tool that
17
+ # preloads Rails for running tests, you may have to set it to true.
18
+ config.eager_load = false
19
+
20
+ # Configure public file server for tests with Cache-Control for performance.
21
+ config.public_file_server.enabled = true
22
+ config.public_file_server.headers = {
23
+ 'Cache-Control' => "public, max-age=#{1.hour.to_i}",
24
+ }
25
+
26
+ # Show full error reports and disable caching.
27
+ config.consider_all_requests_local = true
28
+ config.action_controller.perform_caching = false
29
+ config.cache_store = :null_store
30
+
31
+ # Raise exceptions instead of rendering exception templates.
32
+ config.action_dispatch.show_exceptions = false
33
+
34
+ # Disable request forgery protection in test environment.
35
+ config.action_controller.allow_forgery_protection = false
36
+
37
+ # Print deprecation notices to the stderr.
38
+ config.active_support.deprecation = :stderr
39
+
40
+ # Raise exceptions for disallowed deprecations.
41
+ config.active_support.disallowed_deprecation = :raise
42
+
43
+ # Tell Active Support which deprecation messages to disallow.
44
+ config.active_support.disallowed_deprecation_warnings = []
45
+
46
+ # Raises error for missing translations.
47
+ # config.i18n.raise_on_missing_translations = true
48
+
49
+ # Annotate rendered view with file names.
50
+ # config.action_view.annotate_rendered_view_with_filenames = true
51
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+ # Be sure to restart your server when you modify this file.
3
+
4
+ # ActiveSupport::Reloader.to_prepare do
5
+ # ApplicationController.renderer.defaults.merge!(
6
+ # http_host: 'example.org',
7
+ # https: false
8
+ # )
9
+ # end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Be sure to restart your server when you modify this file.
4
+
5
+ # You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
6
+ # Rails.backtrace_cleaner.add_silencer { |line| /my_noisy_library/.match?(line) }
7
+
8
+ # You can also remove all the silencers if you're trying to debug a problem that might stem from framework code
9
+ # by setting BACKTRACE=1 before calling your invocation, like "BACKTRACE=1 ./bin/rails runner 'MyClass.perform'".
10
+ Rails.backtrace_cleaner.remove_silencers! if ENV['BACKTRACE']
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+ # Be sure to restart your server when you modify this file.
3
+
4
+ # Avoid CORS issues when API is called from the frontend app.
5
+ # Handle Cross-Origin Resource Sharing (CORS) in order to accept cross-origin AJAX requests.
6
+
7
+ # Read more: https://github.com/cyu/rack-cors
8
+
9
+ # Rails.application.config.middleware.insert_before 0, Rack::Cors do
10
+ # allow do
11
+ # origins 'example.com'
12
+ #
13
+ # resource '*',
14
+ # headers: :any,
15
+ # methods: [:get, :post, :put, :patch, :delete, :options, :head]
16
+ # end
17
+ # end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Be sure to restart your server when you modify this file.
4
+
5
+ # Configure sensitive parameters which will be filtered from the log file.
6
+ Rails.application.config.filter_parameters += %i[
7
+ passw secret token _key crypt salt certificate otp ssn
8
+ ]
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+ # Be sure to restart your server when you modify this file.
3
+
4
+ # Add new inflection rules using the following format. Inflections
5
+ # are locale specific, and you may define rules for as many different
6
+ # locales as you wish. All of these examples are active by default:
7
+ # ActiveSupport::Inflector.inflections(:en) do |inflect|
8
+ # inflect.plural /^(ox)$/i, '\1en'
9
+ # inflect.singular /^(ox)en/i, '\1'
10
+ # inflect.irregular 'person', 'people'
11
+ # inflect.uncountable %w( fish sheep )
12
+ # end
13
+
14
+ # These inflection rules are supported but not enabled by default:
15
+ # ActiveSupport::Inflector.inflections(:en) do |inflect|
16
+ # inflect.acronym 'RESTful'
17
+ # end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+ # Be sure to restart your server when you modify this file.
3
+
4
+ # Add new mime types for use in respond_to blocks:
5
+ # Mime::Type.register "text/richtext", :rtf
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Be sure to restart your server when you modify this file.
4
+
5
+ # This file contains settings for ActionController::ParamsWrapper which
6
+ # is enabled by default.
7
+
8
+ # Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
9
+ ActiveSupport.on_load(:action_controller) do
10
+ wrap_parameters format: [:json]
11
+ end
12
+
13
+ # To enable root element in JSON for ActiveRecord objects.
14
+ # ActiveSupport.on_load(:active_record) do
15
+ # self.include_root_in_json = true
16
+ # end
@@ -0,0 +1,33 @@
1
+ # Files in the config/locales directory are used for internationalization
2
+ # and are automatically loaded by Rails. If you want to use locales other
3
+ # than English, add the necessary files in this directory.
4
+ #
5
+ # To use the locales, use `I18n.t`:
6
+ #
7
+ # I18n.t 'hello'
8
+ #
9
+ # In views, this is aliased to just `t`:
10
+ #
11
+ # <%= t('hello') %>
12
+ #
13
+ # To use a different locale, set it with `I18n.locale`:
14
+ #
15
+ # I18n.locale = :es
16
+ #
17
+ # This would use the information in config/locales/es.yml.
18
+ #
19
+ # The following keys must be escaped otherwise they will not be retrieved by
20
+ # the default I18n backend:
21
+ #
22
+ # true, false, on, off, yes, no
23
+ #
24
+ # Instead, surround them with single quotes.
25
+ #
26
+ # en:
27
+ # 'true': 'foo'
28
+ #
29
+ # To learn more, please read the Rails Internationalization guide
30
+ # available at https://guides.rubyonrails.org/i18n.html.
31
+
32
+ en:
33
+ hello: "Hello world"
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ Rails.application.routes.draw do
4
+ # For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html
5
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is used by Rack-based servers to start the application.
4
+
5
+ require_relative 'config/environment'
6
+
7
+ run Rails.application
8
+ Rails.application.load_server
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+ # This file should contain all the record creation needed to seed the database with its default values.
3
+ # The data can then be loaded with the bin/rails db:seed command (or created alongside the database with db:setup).
4
+ #
5
+ # Examples:
6
+ #
7
+ # movies = Movie.create([{ name: 'Star Wars' }, { name: 'Lord of the Rings' }])
8
+ # Character.create(name: 'Luke', movie: movies.first)
File without changes
@@ -0,0 +1 @@
1
+ # See https://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+ ENV['RAILS_ENV'] ||= 'test'
5
+ require File.expand_path('../config/environment', __dir__)
6
+ abort('The Rails environment is running in production mode!') if Rails.env.production?
7
+ require 'rspec/rails'
8
+ require 'my_api_client/rspec'
9
+
10
+ RSpec.configure do |config|
11
+ # config.use_active_record = false # [Workaround] See: https://github.com/rspec/rspec-rails/issues/2417
12
+ config.infer_spec_type_from_file_location!
13
+ config.filter_rails_from_backtrace!
14
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.configure do |config|
4
+ config.expect_with :rspec do |expectations|
5
+ expectations.include_chain_clauses_in_custom_matcher_descriptions = true
6
+ end
7
+
8
+ config.mock_with :rspec do |mocks|
9
+ mocks.verify_partial_doubles = true
10
+ end
11
+
12
+ config.shared_context_metadata_behavior = :apply_to_host_groups
13
+ end
File without changes
File without changes
File without changes
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+ git_source(:github) { |repo| "https://github.com/#{repo}.git" }
5
+
6
+ gem 'my_api_client', path: '../..'
7
+ gem 'rails', '~> 7.0.0'
8
+ gem 'sqlite3', '~> 1.4'
9
+
10
+ group :development, :test do
11
+ gem 'debug', platforms: %i[mri mingw x64_mingw]
12
+ gem 'rspec-rails'
13
+ end
@@ -0,0 +1,147 @@
1
+ GEM
2
+ remote: https://rubygems.org/
3
+ specs:
4
+ actioncable (7.0.0)
5
+ actionpack (= 7.0.0)
6
+ activesupport (= 7.0.0)
7
+ nio4r (~> 2.0)
8
+ websocket-driver (>= 0.6.1)
9
+ actionmailbox (7.0.0)
10
+ actionpack (= 7.0.0)
11
+ activejob (= 7.0.0)
12
+ activerecord (= 7.0.0)
13
+ activestorage (= 7.0.0)
14
+ activesupport (= 7.0.0)
15
+ mail (>= 2.7.1)
16
+ actionmailer (7.0.0)
17
+ actionpack (= 7.0.0)
18
+ actionview (= 7.0.0)
19
+ activejob (= 7.0.0)
20
+ activesupport (= 7.0.0)
21
+ mail (~> 2.5, >= 2.5.4)
22
+ rails-dom-testing (~> 2.0)
23
+ actionpack (7.0.0)
24
+ actionview (= 7.0.0)
25
+ activesupport (= 7.0.0)
26
+ rack (~> 2.0, >= 2.2.0)
27
+ rack-test (>= 0.6.3)
28
+ rails-dom-testing (~> 2.0)
29
+ rails-html-sanitizer (~> 1.0, >= 1.2.0)
30
+ actiontext (7.0.0)
31
+ actionpack (= 7.0.0)
32
+ activerecord (= 7.0.0)
33
+ activestorage (= 7.0.0)
34
+ activesupport (= 7.0.0)
35
+ globalid (>= 0.6.0)
36
+ nokogiri (>= 1.8.5)
37
+ actionview (7.0.0)
38
+ activesupport (= 7.0.0)
39
+ builder (~> 3.1)
40
+ erubi (~> 1.4)
41
+ rails-dom-testing (~> 2.0)
42
+ rails-html-sanitizer (~> 1.1, >= 1.2.0)
43
+ activejob (7.0.0)
44
+ activesupport (= 7.0.0)
45
+ globalid (>= 0.3.6)
46
+ activemodel (7.0.0)
47
+ activesupport (= 7.0.0)
48
+ activerecord (7.0.0)
49
+ activemodel (= 7.0.0)
50
+ activesupport (= 7.0.0)
51
+ activestorage (7.0.0)
52
+ actionpack (= 7.0.0)
53
+ activejob (= 7.0.0)
54
+ activerecord (= 7.0.0)
55
+ activesupport (= 7.0.0)
56
+ marcel (~> 1.0)
57
+ mini_mime (>= 1.1.0)
58
+ activesupport (7.0.0)
59
+ concurrent-ruby (~> 1.0, >= 1.0.2)
60
+ i18n (>= 1.6, < 2)
61
+ minitest (>= 5.1)
62
+ tzinfo (~> 2.0)
63
+ builder (3.2.4)
64
+ concurrent-ruby (1.1.9)
65
+ crass (1.0.6)
66
+ debug (1.4.0)
67
+ irb (>= 1.3.6)
68
+ reline (>= 0.2.7)
69
+ erubi (1.10.0)
70
+ globalid (1.0.0)
71
+ activesupport (>= 5.0)
72
+ i18n (1.8.11)
73
+ concurrent-ruby (~> 1.0)
74
+ io-console (0.5.9)
75
+ irb (1.4.1)
76
+ reline (>= 0.3.0)
77
+ loofah (2.13.0)
78
+ crass (~> 1.0.2)
79
+ nokogiri (>= 1.5.9)
80
+ mail (2.7.1)
81
+ mini_mime (>= 0.1.1)
82
+ marcel (1.0.2)
83
+ method_source (1.0.0)
84
+ mini_mime (1.1.2)
85
+ minitest (5.15.0)
86
+ nio4r (2.5.8)
87
+ nokogiri (1.12.5-x86_64-darwin)
88
+ racc (~> 1.4)
89
+ puma (5.5.2)
90
+ nio4r (~> 2.0)
91
+ racc (1.6.0)
92
+ rack (2.2.3)
93
+ rack-test (1.1.0)
94
+ rack (>= 1.0, < 3)
95
+ rails (7.0.0)
96
+ actioncable (= 7.0.0)
97
+ actionmailbox (= 7.0.0)
98
+ actionmailer (= 7.0.0)
99
+ actionpack (= 7.0.0)
100
+ actiontext (= 7.0.0)
101
+ actionview (= 7.0.0)
102
+ activejob (= 7.0.0)
103
+ activemodel (= 7.0.0)
104
+ activerecord (= 7.0.0)
105
+ activestorage (= 7.0.0)
106
+ activesupport (= 7.0.0)
107
+ bundler (>= 1.15.0)
108
+ railties (= 7.0.0)
109
+ rails-dom-testing (2.0.3)
110
+ activesupport (>= 4.2.0)
111
+ nokogiri (>= 1.6)
112
+ rails-html-sanitizer (1.4.2)
113
+ loofah (~> 2.3)
114
+ railties (7.0.0)
115
+ actionpack (= 7.0.0)
116
+ activesupport (= 7.0.0)
117
+ method_source
118
+ rake (>= 12.2)
119
+ thor (~> 1.0)
120
+ zeitwerk (~> 2.5)
121
+ rake (13.0.6)
122
+ reline (0.3.0)
123
+ io-console (~> 0.5)
124
+ sqlite3 (1.4.2)
125
+ thor (1.1.0)
126
+ tzinfo (2.0.4)
127
+ concurrent-ruby (~> 1.0)
128
+ websocket-driver (0.7.5)
129
+ websocket-extensions (>= 0.1.0)
130
+ websocket-extensions (0.1.5)
131
+ zeitwerk (2.5.1)
132
+
133
+ PLATFORMS
134
+ x86_64-darwin-19
135
+
136
+ DEPENDENCIES
137
+ debug
138
+ puma (~> 5.0)
139
+ rails (~> 7.0.0)
140
+ sqlite3 (~> 1.4)
141
+ tzinfo-data
142
+
143
+ RUBY VERSION
144
+ ruby 3.0.0p0
145
+
146
+ BUNDLED WITH
147
+ 2.2.4
@@ -0,0 +1,24 @@
1
+ # README
2
+
3
+ This README would normally document whatever steps are necessary to get the
4
+ application up and running.
5
+
6
+ Things you may want to cover:
7
+
8
+ * Ruby version
9
+
10
+ * System dependencies
11
+
12
+ * Configuration
13
+
14
+ * Database creation
15
+
16
+ * Database initialization
17
+
18
+ * How to run the test suite
19
+
20
+ * Services (job queues, cache servers, search engines, etc.)
21
+
22
+ * Deployment instructions
23
+
24
+ * ...
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Add your own tasks in files placed in lib/tasks ending in .rake,
4
+ # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
5
+
6
+ require_relative 'config/application'
7
+
8
+ Rails.application.load_tasks
@@ -0,0 +1,4 @@
1
+ # frozen_string_literal: true
2
+
3
+ class ApplicationController < ActionController::API
4
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ class ApplicationRecord < ActiveRecord::Base
4
+ primary_abstract_class
5
+ end
@@ -0,0 +1,122 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ #
5
+ # This file was generated by Bundler.
6
+ #
7
+ # The application 'bundle' is installed as part of a gem, and
8
+ # this file is here to facilitate running it.
9
+ #
10
+
11
+ require 'rubygems'
12
+
13
+ m = Module.new do
14
+ module_function
15
+
16
+ def invoked_as_script?
17
+ File.expand_path($PROGRAM_NAME) == File.expand_path(__FILE__)
18
+ end
19
+
20
+ def env_var_version
21
+ ENV['BUNDLER_VERSION']
22
+ end
23
+
24
+ def cli_arg_version
25
+ return unless invoked_as_script? # don't want to hijack other binstubs
26
+ return unless 'update'.start_with?(ARGV.first || ' ') # must be running `bundle update`
27
+
28
+ bundler_version = nil
29
+ update_index = nil
30
+ ARGV.each_with_index do |a, i|
31
+ if update_index && update_index.succ == i && a =~ Gem::Version::ANCHORED_VERSION_PATTERN
32
+ bundler_version = a
33
+ end
34
+ next unless a =~ /\A--bundler(?:[= ](#{Gem::Version::VERSION_PATTERN}))?\z/o
35
+
36
+ bundler_version = Regexp.last_match(1)
37
+ update_index = i
38
+ end
39
+ bundler_version
40
+ end
41
+
42
+ def gemfile
43
+ gemfile = ENV['BUNDLE_GEMFILE']
44
+ return gemfile if gemfile && !gemfile.empty?
45
+
46
+ File.expand_path('../Gemfile', __dir__)
47
+ end
48
+
49
+ def lockfile
50
+ lockfile =
51
+ case File.basename(gemfile)
52
+ when 'gems.rb' then gemfile.sub(/\.rb$/, gemfile)
53
+ else "#{gemfile}.lock"
54
+ end
55
+ File.expand_path(lockfile)
56
+ end
57
+
58
+ def lockfile_version
59
+ return unless File.file?(lockfile)
60
+
61
+ lockfile_contents = File.read(lockfile)
62
+ unless lockfile_contents =~ /\n\nBUNDLED WITH\n\s{2,}(#{Gem::Version::VERSION_PATTERN})\n/o
63
+ return
64
+ end
65
+
66
+ Regexp.last_match(1)
67
+ end
68
+
69
+ def bundler_version
70
+ @bundler_version ||=
71
+ env_var_version || cli_arg_version ||
72
+ lockfile_version
73
+ end
74
+
75
+ def bundler_requirement
76
+ return "#{Gem::Requirement.default}.a" unless bundler_version
77
+
78
+ bundler_gem_version = Gem::Version.new(bundler_version)
79
+
80
+ requirement = bundler_gem_version.approximate_recommendation
81
+
82
+ return requirement unless Gem::Version.new(Gem::VERSION) < Gem::Version.new('2.7.0')
83
+
84
+ requirement += '.a' if bundler_gem_version.prerelease?
85
+
86
+ requirement
87
+ end
88
+
89
+ def load_bundler!
90
+ ENV['BUNDLE_GEMFILE'] ||= gemfile
91
+
92
+ activate_bundler
93
+ end
94
+
95
+ def activate_bundler
96
+ gem_error = activation_error_handling do
97
+ gem 'bundler', bundler_requirement
98
+ end
99
+ return if gem_error.nil?
100
+
101
+ require_error = activation_error_handling do
102
+ require 'bundler/version'
103
+ end
104
+ if require_error.nil? && Gem::Requirement.new(bundler_requirement).satisfied_by?(Gem::Version.new(Bundler::VERSION))
105
+ return
106
+ end
107
+
108
+ warn "Activating bundler (#{bundler_requirement}) failed:\n#{gem_error.message}\n\nTo install the version of bundler this project requires, run `gem install bundler -v '#{bundler_requirement}'`"
109
+ exit 42
110
+ end
111
+
112
+ def activation_error_handling
113
+ yield
114
+ nil
115
+ rescue StandardError, LoadError => e
116
+ e
117
+ end
118
+ end
119
+
120
+ m.load_bundler!
121
+
122
+ load Gem.bin_path('bundler', 'bundle') if m.invoked_as_script?
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ APP_PATH = File.expand_path('../config/application', __dir__)
5
+ require_relative '../config/boot'
6
+ require 'rails/commands'
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require_relative '../config/boot'
5
+ require 'rake'
6
+ Rake.application.run
@@ -0,0 +1,35 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require 'fileutils'
5
+
6
+ # path to your application root.
7
+ APP_ROOT = File.expand_path('..', __dir__)
8
+
9
+ def system!(*args)
10
+ system(*args) || abort("\n== Command #{args} failed ==")
11
+ end
12
+
13
+ FileUtils.chdir APP_ROOT do
14
+ # This script is a way to set up or update your development environment automatically.
15
+ # This script is idempotent, so that you can run it at any time and get an expectable outcome.
16
+ # Add necessary setup steps to this file.
17
+
18
+ puts '== Installing dependencies =='
19
+ system! 'gem install bundler --conservative'
20
+ system('bundle check') || system!('bundle install')
21
+
22
+ # puts "\n== Copying sample files =="
23
+ # unless File.exist?("config/database.yml")
24
+ # FileUtils.cp "config/database.yml.sample", "config/database.yml"
25
+ # end
26
+
27
+ puts "\n== Preparing database =="
28
+ system! 'bin/rails db:prepare'
29
+
30
+ puts "\n== Removing old logs and tempfiles =="
31
+ system! 'bin/rails log:clear tmp:clear'
32
+
33
+ puts "\n== Restarting application server =="
34
+ system! 'bin/rails restart'
35
+ end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'boot'
4
+
5
+ require 'rails'
6
+ # Pick the frameworks you want:
7
+ require 'active_model/railtie'
8
+ # require "active_job/railtie"
9
+ require 'active_record/railtie'
10
+ # require "active_storage/engine"
11
+ require 'action_controller/railtie'
12
+ # require "action_mailer/railtie"
13
+ # require "action_mailbox/engine"
14
+ # require "action_text/engine"
15
+ require 'action_view/railtie'
16
+ # require "action_cable/engine"
17
+ # require "rails/test_unit/railtie"
18
+
19
+ # Require the gems listed in Gemfile, including any gems
20
+ # you've limited to :test, :development, or :production.
21
+ Bundler.require(*Rails.groups)
22
+
23
+ module Rails70
24
+ class Application < Rails::Application
25
+ # Initialize configuration defaults for originally generated Rails version.
26
+ config.load_defaults 7.0
27
+
28
+ # Configuration for the application, engines, and railties goes here.
29
+ #
30
+ # These settings can be overridden in specific environments using the files
31
+ # in config/environments, which are processed later.
32
+ #
33
+ # config.time_zone = "Central Time (US & Canada)"
34
+ # config.eager_load_paths << Rails.root.join("extras")
35
+
36
+ # Only loads a smaller set of middleware suitable for API only apps.
37
+ # Middleware like session, flash, cookies can be added back manually.
38
+ # Skip views, helpers and assets when generating a new resource.
39
+ config.api_only = true
40
+ end
41
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
4
+
5
+ require 'bundler/setup' # Set up gems listed in the Gemfile.