stitches 4.2.2 → 5.0.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 +4 -4
- data/.circleci/config.yml +175 -209
- data/.env.example +1 -0
- data/.github/CODEOWNERS +1 -1
- data/.github/workflows/scheduled_cci.yml +14 -0
- data/.gitignore +3 -0
- data/.ruby-version +1 -1
- data/README.md +18 -9
- data/lib/stitches/api_generator.rb +1 -13
- data/lib/stitches/api_key.rb +2 -0
- data/lib/stitches/api_migration_generator.rb +23 -0
- data/lib/stitches/configuration.rb +2 -1
- data/lib/stitches/generator_files/config/initializers/stitches.rb +4 -0
- data/lib/stitches/generator_files/spec/acceptance/ping_v1_spec.rb +4 -2
- data/lib/stitches/generator_files/spec/features/api_spec.rb.erb +3 -0
- data/lib/stitches/railtie.rb +0 -1
- data/lib/stitches/spec/test_headers.rb +1 -1
- data/lib/stitches/version.rb +1 -1
- data/lib/stitches_norailtie.rb +1 -0
- data/owners.json +1 -1
- data/spec/api_key_middleware_spec.rb +257 -225
- data/spec/configuration_spec.rb +4 -0
- data/spec/fake_app/.ruby-version +1 -1
- data/spec/fake_app/Gemfile +5 -5
- data/spec/fake_app/config/application.rb +1 -3
- data/spec/fake_app/config/database.yml +9 -10
- data/spec/fake_app/config/initializers/assets.rb +0 -3
- data/spec/integration/add_to_rails_app_spec.rb +2 -1
- data/spec/rails_helper.rb +4 -2
- data/stitches.gemspec +2 -1
- metadata +21 -15
- data/Gemfile.rails-4.2 +0 -8
- data/Gemfile.rails-5.0 +0 -8
- data/Gemfile.rails-5.1 +0 -7
- data/Gemfile.rails-5.2 +0 -7
- data/Gemfile.rails-6.0 +0 -7
- data/Gemfile.rails-6.1 +0 -7
- data/build-matrix.json +0 -4
- data/spec/fake_app/db/development.sqlite3 +0 -0
- data/spec/fake_app/db/test.sqlite3 +0 -0
data/spec/fake_app/Gemfile
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
|
3
3
|
|
4
|
-
ruby '2.
|
4
|
+
ruby '3.2.3'
|
5
5
|
|
6
6
|
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails', branch: 'main'
|
7
|
-
gem 'rails', '~>
|
8
|
-
# Use
|
9
|
-
gem '
|
7
|
+
gem 'rails', '~> 7.1.3'
|
8
|
+
# Use postgres as the database for Active Record
|
9
|
+
gem 'pg'
|
10
10
|
# Use Puma as the app server
|
11
|
-
gem 'puma'
|
11
|
+
gem 'puma'
|
12
12
|
# Use SCSS for stylesheets
|
13
13
|
gem 'sass-rails', '>= 6'
|
14
14
|
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
|
@@ -8,11 +8,9 @@ require "active_record/railtie"
|
|
8
8
|
require "active_storage/engine"
|
9
9
|
require "action_controller/railtie"
|
10
10
|
# require "action_mailer/railtie"
|
11
|
-
require "action_mailbox/engine"
|
12
11
|
require "action_text/engine"
|
13
12
|
require "action_view/railtie"
|
14
13
|
# require "action_cable/engine"
|
15
|
-
require "sprockets/railtie"
|
16
14
|
require "rails/test_unit/railtie"
|
17
15
|
|
18
16
|
# Require the gems listed in Gemfile, including any gems
|
@@ -22,7 +20,7 @@ Bundler.require(*Rails.groups)
|
|
22
20
|
module FakeApp
|
23
21
|
class Application < Rails::Application
|
24
22
|
# Initialize configuration defaults for originally generated Rails version.
|
25
|
-
config.load_defaults
|
23
|
+
config.load_defaults 7.0
|
26
24
|
|
27
25
|
# Configuration for the application, engines, and railties goes here.
|
28
26
|
#
|
@@ -1,25 +1,24 @@
|
|
1
|
-
# SQLite. Versions 3.8.0 and up are supported.
|
2
|
-
# gem install sqlite3
|
3
|
-
#
|
4
|
-
# Ensure the SQLite 3 gem is defined in your Gemfile
|
5
|
-
# gem 'sqlite3'
|
6
|
-
#
|
7
1
|
default: &default
|
8
|
-
adapter:
|
2
|
+
adapter: postgresql
|
3
|
+
encoding: unicode
|
9
4
|
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
|
10
5
|
timeout: 5000
|
6
|
+
username: stitchfix_owner
|
7
|
+
password:
|
8
|
+
host: localhost
|
9
|
+
port: 5432
|
11
10
|
|
12
11
|
development:
|
13
12
|
<<: *default
|
14
|
-
database:
|
13
|
+
database: stitches_fake_app_dev
|
15
14
|
|
16
15
|
# Warning: The database defined as "test" will be erased and
|
17
16
|
# re-generated from your development database when you run "rake".
|
18
17
|
# Do not set this db to the same as development or production.
|
19
18
|
test:
|
20
19
|
<<: *default
|
21
|
-
database:
|
20
|
+
database: stitches_fake_app_test
|
22
21
|
|
23
22
|
production:
|
24
23
|
<<: *default
|
25
|
-
database:
|
24
|
+
database: stitches_fake_app_production
|
@@ -1,8 +1,5 @@
|
|
1
1
|
# Be sure to restart your server when you modify this file.
|
2
2
|
|
3
|
-
# Version of your assets, change this if you want to expire all your assets.
|
4
|
-
Rails.application.config.assets.version = '1.0'
|
5
|
-
|
6
3
|
# Add additional assets to the asset load path.
|
7
4
|
# Rails.application.config.assets.paths << Emoji.images_path
|
8
5
|
|
@@ -43,7 +43,7 @@ RSpec.describe "Adding Stitches to a New Rails App", :integration do
|
|
43
43
|
gem_path = File.expand_path("../..", File.dirname(__FILE__))
|
44
44
|
use_local_stitches = %{echo "gem 'stitches', path: '#{gem_path}'" >> Gemfile}
|
45
45
|
|
46
|
-
Bundler.
|
46
|
+
Bundler.with_unbundled_env do
|
47
47
|
FileUtils.chdir work_dir do
|
48
48
|
run rails_new
|
49
49
|
|
@@ -61,6 +61,7 @@ RSpec.describe "Adding Stitches to a New Rails App", :integration do
|
|
61
61
|
|
62
62
|
it "works as described in the README" do
|
63
63
|
run "bin/rails generate stitches:api"
|
64
|
+
run "bin/rails generate stitches:api_migration"
|
64
65
|
|
65
66
|
# Yuck! So much duplication! BUT: Rails app templates have a notoriously silent failure mode, so mostly
|
66
67
|
# what this is doing is ensuring that the generator inserted stuff when asked and that the very basics of what happens
|
data/spec/rails_helper.rb
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'dotenv'
|
4
|
+
Dotenv.load('.env.test.local')
|
5
|
+
|
3
6
|
# This file is copied to spec/ when you run 'rails generate rspec:install'
|
4
7
|
require "rails_helper"
|
5
8
|
ENV["RAILS_ENV"] ||= "test"
|
@@ -10,8 +13,7 @@ require File.expand_path("fake_app/config/environment.rb", __dir__)
|
|
10
13
|
abort("The Rails environment is running in production mode!") if Rails.env.production?
|
11
14
|
require "rspec/rails"
|
12
15
|
# Add additional requires below this line. Rails is not loaded until this point!
|
13
|
-
|
14
|
-
ActiveRecord::Base.establish_connection adapter: "sqlite3", database: ":memory:"
|
16
|
+
ActiveRecord::Base.establish_connection adapter: "postgresql", url: ENV["DATABASE_URL"]
|
15
17
|
|
16
18
|
load 'fake_app/db/schema_modern.rb'
|
17
19
|
|
data/stitches.gemspec
CHANGED
@@ -22,9 +22,10 @@ Gem::Specification.new do |s|
|
|
22
22
|
s.add_runtime_dependency("pg")
|
23
23
|
s.add_runtime_dependency("lru_redux")
|
24
24
|
|
25
|
+
s.add_development_dependency("dotenv")
|
25
26
|
s.add_development_dependency("rspec", ">= 3")
|
26
27
|
s.add_development_dependency("rspec-rails")
|
27
|
-
s.add_development_dependency("
|
28
|
+
s.add_development_dependency("pg")
|
28
29
|
s.add_development_dependency("rake")
|
29
30
|
s.add_development_dependency("rspec_junit_formatter")
|
30
31
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stitches
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 5.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stitch Fix Engineering
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date:
|
14
|
+
date: 2024-06-20 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rails
|
@@ -55,6 +55,20 @@ dependencies:
|
|
55
55
|
- - ">="
|
56
56
|
- !ruby/object:Gem::Version
|
57
57
|
version: '0'
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: dotenv
|
60
|
+
requirement: !ruby/object:Gem::Requirement
|
61
|
+
requirements:
|
62
|
+
- - ">="
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
version: '0'
|
65
|
+
type: :development
|
66
|
+
prerelease: false
|
67
|
+
version_requirements: !ruby/object:Gem::Requirement
|
68
|
+
requirements:
|
69
|
+
- - ">="
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: '0'
|
58
72
|
- !ruby/object:Gem::Dependency
|
59
73
|
name: rspec
|
60
74
|
requirement: !ruby/object:Gem::Requirement
|
@@ -84,7 +98,7 @@ dependencies:
|
|
84
98
|
- !ruby/object:Gem::Version
|
85
99
|
version: '0'
|
86
100
|
- !ruby/object:Gem::Dependency
|
87
|
-
name:
|
101
|
+
name: pg
|
88
102
|
requirement: !ruby/object:Gem::Requirement
|
89
103
|
requirements:
|
90
104
|
- - ">="
|
@@ -137,8 +151,10 @@ extensions: []
|
|
137
151
|
extra_rdoc_files: []
|
138
152
|
files:
|
139
153
|
- ".circleci/config.yml"
|
154
|
+
- ".env.example"
|
140
155
|
- ".github/CODEOWNERS"
|
141
156
|
- ".github/PULL_REQUEST_TEMPLATE.md"
|
157
|
+
- ".github/workflows/scheduled_cci.yml"
|
142
158
|
- ".gitignore"
|
143
159
|
- ".ruby-gemset"
|
144
160
|
- ".ruby-version"
|
@@ -146,16 +162,9 @@ files:
|
|
146
162
|
- CODE_OF_CONDUCT.md
|
147
163
|
- CONTRIBUTING.md
|
148
164
|
- Gemfile
|
149
|
-
- Gemfile.rails-4.2
|
150
|
-
- Gemfile.rails-5.0
|
151
|
-
- Gemfile.rails-5.1
|
152
|
-
- Gemfile.rails-5.2
|
153
|
-
- Gemfile.rails-6.0
|
154
|
-
- Gemfile.rails-6.1
|
155
165
|
- LICENSE.txt
|
156
166
|
- README.md
|
157
167
|
- Rakefile
|
158
|
-
- build-matrix.json
|
159
168
|
- lib/stitches.rb
|
160
169
|
- lib/stitches/add_deprecation_generator.rb
|
161
170
|
- lib/stitches/add_disabled_at_to_api_clients_generator.rb
|
@@ -164,6 +173,7 @@ files:
|
|
164
173
|
- lib/stitches/api_client_access_wrapper.rb
|
165
174
|
- lib/stitches/api_generator.rb
|
166
175
|
- lib/stitches/api_key.rb
|
176
|
+
- lib/stitches/api_migration_generator.rb
|
167
177
|
- lib/stitches/api_version_constraint.rb
|
168
178
|
- lib/stitches/configuration.rb
|
169
179
|
- lib/stitches/deprecation.rb
|
@@ -243,14 +253,12 @@ files:
|
|
243
253
|
- spec/fake_app/config/puma.rb
|
244
254
|
- spec/fake_app/config/routes.rb
|
245
255
|
- spec/fake_app/config/storage.yml
|
246
|
-
- spec/fake_app/db/development.sqlite3
|
247
256
|
- spec/fake_app/db/migrate/20210802153118_enable_uuid_ossp_extension.rb
|
248
257
|
- spec/fake_app/db/migrate/20210802153119_create_api_clients.rb
|
249
258
|
- spec/fake_app/db/schema_missing_disabled_at.rb
|
250
259
|
- spec/fake_app/db/schema_missing_enabled.rb
|
251
260
|
- spec/fake_app/db/schema_modern.rb
|
252
261
|
- spec/fake_app/db/seeds.rb
|
253
|
-
- spec/fake_app/db/test.sqlite3
|
254
262
|
- spec/fake_app/lib/tasks/generate_api_key.rake
|
255
263
|
- spec/fake_app/public/404.html
|
256
264
|
- spec/fake_app/public/422.html
|
@@ -292,7 +300,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
292
300
|
- !ruby/object:Gem::Version
|
293
301
|
version: '0'
|
294
302
|
requirements: []
|
295
|
-
rubygems_version: 3.
|
303
|
+
rubygems_version: 3.4.19
|
296
304
|
signing_key:
|
297
305
|
specification_version: 4
|
298
306
|
summary: You'll be in stitches at how easy it is to create a service at Stitch Fix
|
@@ -343,14 +351,12 @@ test_files:
|
|
343
351
|
- spec/fake_app/config/puma.rb
|
344
352
|
- spec/fake_app/config/routes.rb
|
345
353
|
- spec/fake_app/config/storage.yml
|
346
|
-
- spec/fake_app/db/development.sqlite3
|
347
354
|
- spec/fake_app/db/migrate/20210802153118_enable_uuid_ossp_extension.rb
|
348
355
|
- spec/fake_app/db/migrate/20210802153119_create_api_clients.rb
|
349
356
|
- spec/fake_app/db/schema_missing_disabled_at.rb
|
350
357
|
- spec/fake_app/db/schema_missing_enabled.rb
|
351
358
|
- spec/fake_app/db/schema_modern.rb
|
352
359
|
- spec/fake_app/db/seeds.rb
|
353
|
-
- spec/fake_app/db/test.sqlite3
|
354
360
|
- spec/fake_app/lib/tasks/generate_api_key.rake
|
355
361
|
- spec/fake_app/public/404.html
|
356
362
|
- spec/fake_app/public/422.html
|
data/Gemfile.rails-4.2
DELETED
data/Gemfile.rails-5.0
DELETED
data/Gemfile.rails-5.1
DELETED
data/Gemfile.rails-5.2
DELETED
data/Gemfile.rails-6.0
DELETED
data/Gemfile.rails-6.1
DELETED
data/build-matrix.json
DELETED
Binary file
|
File without changes
|