kuby-core 0.7.2 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (135) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +42 -0
  3. data/Gemfile +1 -0
  4. data/README.md +11 -1
  5. data/bin/kuby +4 -0
  6. data/kuby-core.gemspec +9 -4
  7. data/lib/kuby.rb +58 -19
  8. data/lib/kuby/basic_logger.rb +13 -0
  9. data/lib/kuby/cli_base.rb +81 -8
  10. data/lib/kuby/commands.rb +244 -0
  11. data/lib/kuby/definition.rb +1 -11
  12. data/lib/kuby/dev_setup.rb +255 -0
  13. data/lib/kuby/docker.rb +1 -0
  14. data/lib/kuby/docker/bundler_phase.rb +3 -3
  15. data/lib/kuby/docker/cli.rb +13 -1
  16. data/lib/kuby/docker/dev_spec.rb +131 -0
  17. data/lib/kuby/docker/dockerfile.rb +16 -1
  18. data/lib/kuby/docker/layer.rb +4 -4
  19. data/lib/kuby/docker/layer_stack.rb +4 -0
  20. data/lib/kuby/docker/local_tags.rb +4 -0
  21. data/lib/kuby/docker/metadata.rb +18 -38
  22. data/lib/kuby/docker/package_phase.rb +2 -2
  23. data/lib/kuby/docker/setup_phase.rb +3 -2
  24. data/lib/kuby/docker/spec.rb +42 -16
  25. data/lib/kuby/docker/timestamp_tag.rb +6 -0
  26. data/lib/kuby/environment.rb +15 -2
  27. data/lib/kuby/kubernetes.rb +9 -11
  28. data/lib/kuby/kubernetes/deploy_task.rb +4 -1
  29. data/lib/kuby/kubernetes/deployer.rb +70 -15
  30. data/lib/kuby/kubernetes/{minikube_provider.rb → docker_desktop_provider.rb} +8 -4
  31. data/lib/kuby/kubernetes/provider.rb +12 -8
  32. data/lib/kuby/kubernetes/spec.rb +30 -29
  33. data/lib/kuby/plugin.rb +59 -0
  34. data/lib/kuby/plugin_registry.rb +27 -0
  35. data/lib/kuby/plugins.rb +6 -0
  36. data/lib/kuby/plugins/nginx_ingress.rb +71 -0
  37. data/lib/kuby/plugins/rails_app.rb +18 -0
  38. data/lib/kuby/plugins/rails_app/asset_copy_task.rb +117 -0
  39. data/lib/kuby/plugins/rails_app/assets.rb +347 -0
  40. data/lib/kuby/plugins/rails_app/database.rb +74 -0
  41. data/lib/kuby/{kubernetes/plugins → plugins}/rails_app/generators/kuby.rb +14 -16
  42. data/lib/kuby/plugins/rails_app/mysql.rb +152 -0
  43. data/lib/kuby/plugins/rails_app/plugin.rb +593 -0
  44. data/lib/kuby/plugins/rails_app/postgres.rb +143 -0
  45. data/lib/kuby/plugins/rails_app/rewrite_db_config.rb +11 -0
  46. data/lib/kuby/plugins/rails_app/sqlite.rb +32 -0
  47. data/lib/kuby/plugins/rails_app/tasks.rake +36 -0
  48. data/lib/kuby/rails_commands.rb +89 -0
  49. data/lib/kuby/railtie.rb +0 -4
  50. data/lib/kuby/tasks.rb +85 -31
  51. data/lib/kuby/version.rb +1 -1
  52. data/spec/docker/metadata_spec.rb +84 -0
  53. data/spec/docker/spec_spec.rb +266 -0
  54. data/spec/docker/timestamp_tag_spec.rb +54 -4
  55. data/spec/dummy/Gemfile +54 -0
  56. data/spec/dummy/Gemfile.lock +223 -0
  57. data/spec/dummy/README.md +24 -0
  58. data/spec/dummy/Rakefile +6 -0
  59. data/spec/dummy/app/assets/config/manifest.js +2 -0
  60. data/spec/dummy/app/assets/stylesheets/application.css +15 -0
  61. data/spec/dummy/app/channels/application_cable/channel.rb +4 -0
  62. data/spec/dummy/app/channels/application_cable/connection.rb +4 -0
  63. data/spec/dummy/app/controllers/application_controller.rb +2 -0
  64. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  65. data/spec/dummy/app/javascript/channels/consumer.js +6 -0
  66. data/spec/dummy/app/javascript/channels/index.js +5 -0
  67. data/spec/dummy/app/javascript/packs/application.js +17 -0
  68. data/spec/dummy/app/jobs/application_job.rb +7 -0
  69. data/spec/dummy/app/mailers/application_mailer.rb +4 -0
  70. data/spec/dummy/app/models/application_record.rb +3 -0
  71. data/spec/dummy/app/views/layouts/application.html.erb +15 -0
  72. data/spec/dummy/app/views/layouts/mailer.html.erb +13 -0
  73. data/spec/dummy/app/views/layouts/mailer.text.erb +1 -0
  74. data/spec/dummy/bin/bundle +114 -0
  75. data/spec/dummy/bin/rails +9 -0
  76. data/spec/dummy/bin/rake +9 -0
  77. data/spec/dummy/bin/setup +36 -0
  78. data/spec/dummy/bin/spring +17 -0
  79. data/spec/dummy/bin/yarn +11 -0
  80. data/spec/dummy/config.ru +5 -0
  81. data/spec/dummy/config/application.rb +19 -0
  82. data/spec/dummy/config/boot.rb +4 -0
  83. data/spec/dummy/config/cable.yml +10 -0
  84. data/spec/dummy/config/credentials.yml.enc +1 -0
  85. data/spec/dummy/config/database.yml +25 -0
  86. data/spec/dummy/config/environment.rb +5 -0
  87. data/spec/dummy/config/environments/development.rb +62 -0
  88. data/spec/dummy/config/environments/production.rb +112 -0
  89. data/spec/dummy/config/environments/test.rb +49 -0
  90. data/spec/dummy/config/initializers/application_controller_renderer.rb +8 -0
  91. data/spec/dummy/config/initializers/assets.rb +14 -0
  92. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  93. data/spec/dummy/config/initializers/content_security_policy.rb +30 -0
  94. data/spec/dummy/config/initializers/cookies_serializer.rb +5 -0
  95. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  96. data/spec/dummy/config/initializers/inflections.rb +16 -0
  97. data/spec/dummy/config/initializers/mime_types.rb +4 -0
  98. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  99. data/spec/dummy/config/locales/en.yml +33 -0
  100. data/spec/dummy/config/master.key +1 -0
  101. data/spec/dummy/config/puma.rb +38 -0
  102. data/spec/dummy/config/routes.rb +3 -0
  103. data/spec/dummy/config/spring.rb +6 -0
  104. data/spec/dummy/config/storage.yml +34 -0
  105. data/spec/dummy/db/seeds.rb +7 -0
  106. data/spec/dummy/package.json +11 -0
  107. data/spec/dummy/public/404.html +67 -0
  108. data/spec/dummy/public/422.html +67 -0
  109. data/spec/dummy/public/500.html +66 -0
  110. data/spec/dummy/public/apple-touch-icon-precomposed.png +0 -0
  111. data/spec/dummy/public/apple-touch-icon.png +0 -0
  112. data/spec/dummy/public/favicon.ico +0 -0
  113. data/spec/dummy/public/robots.txt +1 -0
  114. data/spec/dummy/test/application_system_test_case.rb +5 -0
  115. data/spec/dummy/test/channels/application_cable/connection_test.rb +11 -0
  116. data/spec/dummy/test/test_helper.rb +13 -0
  117. data/spec/dummy/tmp/cache/bootsnap-load-path-cache +0 -0
  118. data/spec/spec_helper.rb +77 -2
  119. data/spec/support/docker/fake_cli.rb +54 -0
  120. data/spec/support/docker/remote/fake_client.rb +16 -0
  121. data/spec/trailing_hash_spec.rb +23 -0
  122. metadata +139 -30
  123. data/lib/ext/krane/kubernetes_resource.rb +0 -16
  124. data/lib/kuby/kubernetes/plugin.rb +0 -55
  125. data/lib/kuby/kubernetes/plugins.rb +0 -8
  126. data/lib/kuby/kubernetes/plugins/nginx_ingress.rb +0 -73
  127. data/lib/kuby/kubernetes/plugins/rails_app.rb +0 -16
  128. data/lib/kuby/kubernetes/plugins/rails_app/database.rb +0 -79
  129. data/lib/kuby/kubernetes/plugins/rails_app/mysql.rb +0 -154
  130. data/lib/kuby/kubernetes/plugins/rails_app/plugin.rb +0 -379
  131. data/lib/kuby/kubernetes/plugins/rails_app/postgres.rb +0 -142
  132. data/lib/kuby/kubernetes/plugins/rails_app/rewrite_db_config.rb +0 -13
  133. data/lib/kuby/kubernetes/plugins/rails_app/sqlite.rb +0 -30
  134. data/lib/kuby/kubernetes/plugins/rails_app/tasks.rake +0 -28
  135. data/lib/kuby/tasks/kuby.rake +0 -70
@@ -1,3 +1,11 @@
1
+ $:.push(File.expand_path('.', __dir__))
2
+
3
+ require 'kuby'
4
+ require 'pry-byebug'
5
+
6
+ require 'support/docker/remote/fake_client'
7
+ require 'support/docker/fake_cli'
8
+
1
9
  # This file was generated by the `rspec --init` command. Conventionally, all
2
10
  # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
3
11
  # The generated `.rspec` file contains `--require spec_helper` which will cause
@@ -13,7 +21,72 @@
13
21
  # it.
14
22
  #
15
23
  # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
24
+
25
+ Kuby.register_package(:fake_package)
26
+
27
+ module SpecHelpers
28
+ extend RSpec::SharedContext
29
+
30
+ let(:docker_username) { 'foo' }
31
+ let(:docker_password) { 'bar' }
32
+ let(:docker_email) { 'foo@bar.com' }
33
+ let(:docker_image_url) { 'foo/testapp' }
34
+ let(:docker_cli) { Docker::FakeCLI.new }
35
+ let(:docker_remote_client) do
36
+ Docker::Remote::FakeClient.new(
37
+ 'https://www.docker.com',
38
+ docker_image_url,
39
+ docker_username,
40
+ docker_password
41
+ )
42
+ end
43
+
44
+ let(:definition) do
45
+ context = self
46
+
47
+ definition = Kuby.define('dummy') do
48
+ environment(:production) do
49
+ docker do
50
+ credentials do
51
+ username context.docker_username
52
+ password context.docker_password
53
+ email context.docker_email
54
+ end
55
+
56
+ image_url context.docker_image_url
57
+
58
+ # puma isn't in our gemspec or Gemfile, so we have to manually
59
+ # set the webserver here (this won't be a problem for actual
60
+ # rails apps)
61
+ webserver_phase.webserver = :puma
62
+ end
63
+
64
+ kubernetes do
65
+ provider :docker_desktop
66
+
67
+ add_plugin :rails_app do
68
+ root File.expand_path(File.join(*%w(. dummy)), __dir__)
69
+ end
70
+ end
71
+ end
72
+ end
73
+
74
+ docker = definition.environment.docker
75
+
76
+ docker.instance_variable_set(:@remote_client, docker_remote_client)
77
+ docker.instance_variable_set(:@cli, docker_cli)
78
+
79
+ definition
80
+ end
81
+
82
+ def make_ts_tag(time)
83
+ Kuby::Docker::TimestampTag.new(time).to_s
84
+ end
85
+ end
86
+
16
87
  RSpec.configure do |config|
88
+ config.include(SpecHelpers)
89
+
17
90
  # rspec-expectations config goes here. You can use an alternate
18
91
  # assertion/expectation library such as wrong or the stdlib/minitest
19
92
  # assertions if you prefer.
@@ -97,6 +170,8 @@ RSpec.configure do |config|
97
170
  # as the one that triggered the failure.
98
171
  Kernel.srand config.seed
99
172
  =end
100
- end
101
173
 
102
- require "kuby"
174
+ config.before(:each) do
175
+ Kuby.instance_variable_set(:@definition, nil)
176
+ end
177
+ end
@@ -0,0 +1,54 @@
1
+ module Docker
2
+ class FakeCLI
3
+ attr_reader :auths
4
+
5
+ def initialize
6
+ @auths = []
7
+ @images = Hash.new { |h, k| h[k] = [] }
8
+ end
9
+
10
+ def config_file
11
+ if File.exist?(default_config_file)
12
+ default_config_file
13
+ end
14
+ end
15
+
16
+ def default_config_file
17
+ File.join(Dir.home, '.docker', 'config.json')
18
+ end
19
+
20
+ def login(url:, username:, password:)
21
+ auths << url
22
+ nil
23
+ end
24
+
25
+ def build(dockerfile:, image_url:, tags:)
26
+ @images[image_url] += tags
27
+ nil
28
+ end
29
+
30
+ def run(image_url:, tag: 'latest', env: {}, ports: [])
31
+ end
32
+
33
+ def images(image_url)
34
+ @images.fetch(image_url, []).map do |tag|
35
+ {
36
+ containers: 'N/A',
37
+ created_at: '2020-08-29 16:54:05 -0700 PDT',
38
+ created_since: '22 hours ago',
39
+ digest: '<none>',
40
+ id: '0b261b06270a',
41
+ repository: image_url,
42
+ shared_size: 'N/A',
43
+ size: '1.14GB',
44
+ tag: tag,
45
+ unique_size: 'N/A',
46
+ virtual_size: '1.138GB'
47
+ }
48
+ end
49
+ end
50
+
51
+ def push(image_url, tag)
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,16 @@
1
+ module Docker
2
+ module Remote
3
+ class FakeClient
4
+ attr_reader :registry_url, :repo, :username, :password
5
+ attr_accessor :tags
6
+
7
+ def initialize(registry_url, repo, username = nil, password = nil)
8
+ @registry_url = registry_url
9
+ @repo = repo
10
+ @username = username
11
+ @password = password
12
+ @tags = []
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,23 @@
1
+ require 'spec_helper'
2
+
3
+ describe Kuby::TrailingHash do
4
+ it 'allows adding new entries during iteration' do
5
+ h = { a: 'b', b: 'c' }
6
+ th = described_class[:a, 'b', :b, 'c']
7
+ seen_keys = []
8
+
9
+ # regular hashes don't allow adding keys during iteration
10
+ expect do
11
+ h.each_with_index do |(k, _), idx|
12
+ h[:c] = 'd' if idx == 0
13
+ end
14
+ end.to raise_error(RuntimeError)
15
+
16
+ th.each_with_index do |(k, _), idx|
17
+ th[:c] = 'd' if idx == 0
18
+ seen_keys << k
19
+ end
20
+
21
+ expect(seen_keys).to eq([:a, :b, :c])
22
+ end
23
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kuby-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.2
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cameron Dutro
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-20 00:00:00.000000000 Z
11
+ date: 2020-09-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colorize
@@ -39,33 +39,67 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0.1'
41
41
  - !ruby/object:Gem::Dependency
42
- name: krane
42
+ name: gli
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '1.0'
47
+ version: '2.0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '1.0'
54
+ version: '2.0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: kuby-cert-manager
56
+ name: helm-cli
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0.2'
61
+ version: '0.3'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0.2'
68
+ version: '0.3'
69
+ - !ruby/object:Gem::Dependency
70
+ name: krane
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: 1.1.4
76
+ - - "<"
77
+ - !ruby/object:Gem::Version
78
+ version: '2.0'
79
+ type: :runtime
80
+ prerelease: false
81
+ version_requirements: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ version: 1.1.4
86
+ - - "<"
87
+ - !ruby/object:Gem::Version
88
+ version: '2.0'
89
+ - !ruby/object:Gem::Dependency
90
+ name: kuby-cert-manager
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: '0.3'
96
+ type: :runtime
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '0.3'
69
103
  - !ruby/object:Gem::Dependency
70
104
  name: kube-dsl
71
105
  requirement: !ruby/object:Gem::Requirement
@@ -84,30 +118,30 @@ dependencies:
84
118
  name: kuby-kube-db
85
119
  requirement: !ruby/object:Gem::Requirement
86
120
  requirements:
87
- - - "~>"
121
+ - - ">="
88
122
  - !ruby/object:Gem::Version
89
- version: '0.4'
123
+ version: '0.6'
90
124
  type: :runtime
91
125
  prerelease: false
92
126
  version_requirements: !ruby/object:Gem::Requirement
93
127
  requirements:
94
- - - "~>"
128
+ - - ">="
95
129
  - !ruby/object:Gem::Version
96
- version: '0.4'
130
+ version: '0.6'
97
131
  - !ruby/object:Gem::Dependency
98
132
  name: kubernetes-cli
99
133
  requirement: !ruby/object:Gem::Requirement
100
134
  requirements:
101
135
  - - "~>"
102
136
  - !ruby/object:Gem::Version
103
- version: '0.2'
137
+ version: '0.3'
104
138
  type: :runtime
105
139
  prerelease: false
106
140
  version_requirements: !ruby/object:Gem::Requirement
107
141
  requirements:
108
142
  - - "~>"
109
143
  - !ruby/object:Gem::Version
110
- version: '0.2'
144
+ version: '0.3'
111
145
  - !ruby/object:Gem::Dependency
112
146
  name: railties
113
147
  requirement: !ruby/object:Gem::Requirement
@@ -153,7 +187,8 @@ dependencies:
153
187
  description: Deploy your Rails app onto Kubernetes the easy way.
154
188
  email:
155
189
  - camertron@gmail.com
156
- executables: []
190
+ executables:
191
+ - kuby
157
192
  extensions: []
158
193
  extra_rdoc_files: []
159
194
  files:
@@ -162,12 +197,14 @@ files:
162
197
  - LICENSE
163
198
  - README.md
164
199
  - Rakefile
200
+ - bin/kuby
165
201
  - kuby-core.gemspec
166
- - lib/ext/krane/kubernetes_resource.rb
167
202
  - lib/kuby.rb
168
203
  - lib/kuby/basic_logger.rb
169
204
  - lib/kuby/cli_base.rb
205
+ - lib/kuby/commands.rb
170
206
  - lib/kuby/definition.rb
207
+ - lib/kuby/dev_setup.rb
171
208
  - lib/kuby/docker.rb
172
209
  - lib/kuby/docker/alpine.rb
173
210
  - lib/kuby/docker/assets_phase.rb
@@ -176,6 +213,7 @@ files:
176
213
  - lib/kuby/docker/copy_phase.rb
177
214
  - lib/kuby/docker/credentials.rb
178
215
  - lib/kuby/docker/debian.rb
216
+ - lib/kuby/docker/dev_spec.rb
179
217
  - lib/kuby/docker/dockerfile.rb
180
218
  - lib/kuby/docker/errors.rb
181
219
  - lib/kuby/docker/inline_layer.rb
@@ -203,33 +241,104 @@ files:
203
241
  - lib/kuby/kubernetes/deploy_task.rb
204
242
  - lib/kuby/kubernetes/deployer.rb
205
243
  - lib/kuby/kubernetes/docker_config.rb
244
+ - lib/kuby/kubernetes/docker_desktop_provider.rb
206
245
  - lib/kuby/kubernetes/errors.rb
207
246
  - lib/kuby/kubernetes/manifest.rb
208
- - lib/kuby/kubernetes/minikube_provider.rb
209
- - lib/kuby/kubernetes/plugin.rb
210
- - lib/kuby/kubernetes/plugins.rb
211
- - lib/kuby/kubernetes/plugins/nginx_ingress.rb
212
- - lib/kuby/kubernetes/plugins/rails_app.rb
213
- - lib/kuby/kubernetes/plugins/rails_app/database.rb
214
- - lib/kuby/kubernetes/plugins/rails_app/generators/kuby.rb
215
- - lib/kuby/kubernetes/plugins/rails_app/mysql.rb
216
- - lib/kuby/kubernetes/plugins/rails_app/plugin.rb
217
- - lib/kuby/kubernetes/plugins/rails_app/postgres.rb
218
- - lib/kuby/kubernetes/plugins/rails_app/rewrite_db_config.rb
219
- - lib/kuby/kubernetes/plugins/rails_app/sqlite.rb
220
- - lib/kuby/kubernetes/plugins/rails_app/tasks.rake
221
247
  - lib/kuby/kubernetes/provider.rb
222
248
  - lib/kuby/kubernetes/registry_secret.rb
223
249
  - lib/kuby/kubernetes/spec.rb
224
250
  - lib/kuby/middleware.rb
225
251
  - lib/kuby/middleware/health_check.rb
252
+ - lib/kuby/plugin.rb
253
+ - lib/kuby/plugin_registry.rb
254
+ - lib/kuby/plugins.rb
255
+ - lib/kuby/plugins/nginx_ingress.rb
256
+ - lib/kuby/plugins/rails_app.rb
257
+ - lib/kuby/plugins/rails_app/asset_copy_task.rb
258
+ - lib/kuby/plugins/rails_app/assets.rb
259
+ - lib/kuby/plugins/rails_app/database.rb
260
+ - lib/kuby/plugins/rails_app/generators/kuby.rb
261
+ - lib/kuby/plugins/rails_app/mysql.rb
262
+ - lib/kuby/plugins/rails_app/plugin.rb
263
+ - lib/kuby/plugins/rails_app/postgres.rb
264
+ - lib/kuby/plugins/rails_app/rewrite_db_config.rb
265
+ - lib/kuby/plugins/rails_app/sqlite.rb
266
+ - lib/kuby/plugins/rails_app/tasks.rake
267
+ - lib/kuby/rails_commands.rb
226
268
  - lib/kuby/railtie.rb
227
269
  - lib/kuby/tasks.rb
228
- - lib/kuby/tasks/kuby.rake
229
270
  - lib/kuby/trailing_hash.rb
230
271
  - lib/kuby/version.rb
272
+ - spec/docker/metadata_spec.rb
273
+ - spec/docker/spec_spec.rb
231
274
  - spec/docker/timestamp_tag_spec.rb
275
+ - spec/dummy/Gemfile
276
+ - spec/dummy/Gemfile.lock
277
+ - spec/dummy/README.md
278
+ - spec/dummy/Rakefile
279
+ - spec/dummy/app/assets/config/manifest.js
280
+ - spec/dummy/app/assets/stylesheets/application.css
281
+ - spec/dummy/app/channels/application_cable/channel.rb
282
+ - spec/dummy/app/channels/application_cable/connection.rb
283
+ - spec/dummy/app/controllers/application_controller.rb
284
+ - spec/dummy/app/helpers/application_helper.rb
285
+ - spec/dummy/app/javascript/channels/consumer.js
286
+ - spec/dummy/app/javascript/channels/index.js
287
+ - spec/dummy/app/javascript/packs/application.js
288
+ - spec/dummy/app/jobs/application_job.rb
289
+ - spec/dummy/app/mailers/application_mailer.rb
290
+ - spec/dummy/app/models/application_record.rb
291
+ - spec/dummy/app/views/layouts/application.html.erb
292
+ - spec/dummy/app/views/layouts/mailer.html.erb
293
+ - spec/dummy/app/views/layouts/mailer.text.erb
294
+ - spec/dummy/bin/bundle
295
+ - spec/dummy/bin/rails
296
+ - spec/dummy/bin/rake
297
+ - spec/dummy/bin/setup
298
+ - spec/dummy/bin/spring
299
+ - spec/dummy/bin/yarn
300
+ - spec/dummy/config.ru
301
+ - spec/dummy/config/application.rb
302
+ - spec/dummy/config/boot.rb
303
+ - spec/dummy/config/cable.yml
304
+ - spec/dummy/config/credentials.yml.enc
305
+ - spec/dummy/config/database.yml
306
+ - spec/dummy/config/environment.rb
307
+ - spec/dummy/config/environments/development.rb
308
+ - spec/dummy/config/environments/production.rb
309
+ - spec/dummy/config/environments/test.rb
310
+ - spec/dummy/config/initializers/application_controller_renderer.rb
311
+ - spec/dummy/config/initializers/assets.rb
312
+ - spec/dummy/config/initializers/backtrace_silencers.rb
313
+ - spec/dummy/config/initializers/content_security_policy.rb
314
+ - spec/dummy/config/initializers/cookies_serializer.rb
315
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
316
+ - spec/dummy/config/initializers/inflections.rb
317
+ - spec/dummy/config/initializers/mime_types.rb
318
+ - spec/dummy/config/initializers/wrap_parameters.rb
319
+ - spec/dummy/config/locales/en.yml
320
+ - spec/dummy/config/master.key
321
+ - spec/dummy/config/puma.rb
322
+ - spec/dummy/config/routes.rb
323
+ - spec/dummy/config/spring.rb
324
+ - spec/dummy/config/storage.yml
325
+ - spec/dummy/db/seeds.rb
326
+ - spec/dummy/package.json
327
+ - spec/dummy/public/404.html
328
+ - spec/dummy/public/422.html
329
+ - spec/dummy/public/500.html
330
+ - spec/dummy/public/apple-touch-icon-precomposed.png
331
+ - spec/dummy/public/apple-touch-icon.png
332
+ - spec/dummy/public/favicon.ico
333
+ - spec/dummy/public/robots.txt
334
+ - spec/dummy/test/application_system_test_case.rb
335
+ - spec/dummy/test/channels/application_cable/connection_test.rb
336
+ - spec/dummy/test/test_helper.rb
337
+ - spec/dummy/tmp/cache/bootsnap-load-path-cache
232
338
  - spec/spec_helper.rb
339
+ - spec/support/docker/fake_cli.rb
340
+ - spec/support/docker/remote/fake_client.rb
341
+ - spec/trailing_hash_spec.rb
233
342
  homepage: http://github.com/getkuby/kuby-core
234
343
  licenses: []
235
344
  metadata: {}