totoro 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/Dockerfile +14 -0
  3. data/Gemfile.lock +39 -0
  4. data/docker-compose.yml +42 -0
  5. data/lib/generators/totoro/init_generator.rb +13 -0
  6. data/lib/generators/totoro/templates/initializer.rb +1 -0
  7. data/lib/generators/totoro/templates/totoro.yml +8 -9
  8. data/lib/totoro.rb +2 -1
  9. data/lib/totoro/config.rb +2 -6
  10. data/lib/totoro/initializer.rb +2 -2
  11. data/lib/totoro/version.rb +1 -1
  12. data/pkg/totoro-0.1.4.gem +0 -0
  13. data/test/totoro_test/Gemfile +42 -0
  14. data/test/totoro_test/Gemfile.lock +146 -0
  15. data/test/totoro_test/README.md +24 -0
  16. data/test/totoro_test/Rakefile +6 -0
  17. data/test/totoro_test/app/channels/application_cable/channel.rb +4 -0
  18. data/test/totoro_test/app/channels/application_cable/connection.rb +4 -0
  19. data/test/totoro_test/app/controllers/application_controller.rb +2 -0
  20. data/test/totoro_test/app/jobs/application_job.rb +2 -0
  21. data/test/totoro_test/app/mailers/application_mailer.rb +4 -0
  22. data/test/totoro_test/app/models/application_record.rb +3 -0
  23. data/test/totoro_test/app/views/layouts/mailer.html.erb +13 -0
  24. data/test/totoro_test/app/views/layouts/mailer.text.erb +1 -0
  25. data/test/totoro_test/bin/bundle +3 -0
  26. data/test/totoro_test/bin/rails +9 -0
  27. data/test/totoro_test/bin/rake +9 -0
  28. data/test/totoro_test/bin/setup +35 -0
  29. data/test/totoro_test/bin/spring +17 -0
  30. data/test/totoro_test/bin/update +29 -0
  31. data/test/totoro_test/config.ru +5 -0
  32. data/test/totoro_test/config/application.rb +33 -0
  33. data/test/totoro_test/config/boot.rb +3 -0
  34. data/test/totoro_test/config/cable.yml +10 -0
  35. data/test/totoro_test/config/database.yml +25 -0
  36. data/test/totoro_test/config/environment.rb +5 -0
  37. data/test/totoro_test/config/environments/development.rb +47 -0
  38. data/test/totoro_test/config/environments/production.rb +83 -0
  39. data/test/totoro_test/config/environments/test.rb +42 -0
  40. data/test/totoro_test/config/initializers/application_controller_renderer.rb +8 -0
  41. data/test/totoro_test/config/initializers/backtrace_silencers.rb +7 -0
  42. data/test/totoro_test/config/initializers/cors.rb +16 -0
  43. data/test/totoro_test/config/initializers/filter_parameter_logging.rb +4 -0
  44. data/test/totoro_test/config/initializers/inflections.rb +16 -0
  45. data/test/totoro_test/config/initializers/mime_types.rb +4 -0
  46. data/test/totoro_test/config/initializers/totoro.rb +1 -0
  47. data/test/totoro_test/config/initializers/wrap_parameters.rb +14 -0
  48. data/test/totoro_test/config/locales/en.yml +33 -0
  49. data/test/totoro_test/config/puma.rb +56 -0
  50. data/test/totoro_test/config/routes.rb +3 -0
  51. data/test/totoro_test/config/secrets.yml +32 -0
  52. data/test/totoro_test/config/spring.rb +6 -0
  53. data/test/totoro_test/config/totoro.yml +31 -0
  54. data/test/totoro_test/db/seeds.rb +7 -0
  55. data/test/totoro_test/log/development.log +0 -0
  56. data/test/totoro_test/public/robots.txt +1 -0
  57. data/test/totoro_test/test/test_helper.rb +10 -0
  58. data/totoro.gemspec +1 -1
  59. metadata +52 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d269f2a6ff5d6ce6614c5d54ddff5b23a5c007d84e8a4ec4b2a57cda302bcf4a
4
- data.tar.gz: b5f71fbdcf2865d0680f10206654a5cd34d1532eed991a422986bd71ecdbc4d1
3
+ metadata.gz: c0ce1f9b6e844375ba38c9bbb6cdd3f0f844854e076e2f67844d33f8c13ec73f
4
+ data.tar.gz: 297c15584c20d54012e67e1fa8fd564c969a76109ba9479ddb260508426a6f3f
5
5
  SHA512:
6
- metadata.gz: ce032ca8e828afc6ad7a7ad787c0398a34fe390d9ba7b199bfd7814bac3ca3c8c03ca11e53b7f708c531d88ce75019111582103b2793be2c846f658c7c26d51a
7
- data.tar.gz: 646da7438886bf68ca7b41b4e30bdca329a1c42198f231ef6643da2a05a08191ea34eead2abf34275f08035153c67547ac80d7f9069dcc29ccf3210355467471
6
+ metadata.gz: f4c25c90c0e08e68af2a67b11035aeddfdfdad66cf291161adcb3734636c3dc76e16ce10b674a90a0d2b05531dcdc335b19e16223db6a8e2c83c7503f3ab3045
7
+ data.tar.gz: b7f891ebbba5a1bd1151cb93be5c73794908a54b16df68d3818bf0cab16f82682b0c239455f8541e1c9cd956d7d8ed2d25a076ce43195fd4f04910f063bf5d1c
@@ -0,0 +1,14 @@
1
+ FROM ruby:2.5.0
2
+
3
+ #Cache bundle install
4
+ WORKDIR /tmp
5
+ ADD . /totoro
6
+ ADD ./test/totoro_test/Gemfile Gemfile
7
+ ADD ./test/totoro_test/Gemfile.lock Gemfile.lock
8
+ RUN bundle install
9
+
10
+ RUN mkdir /app
11
+ WORKDIR /app
12
+ ADD ./test/totoro_test /app
13
+
14
+ CMD ["rails", "c"]
@@ -0,0 +1,39 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ totoro (0.1.5)
5
+ bunny (~> 2.10)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ amq-protocol (2.3.0)
11
+ bunny (2.10.0)
12
+ amq-protocol (~> 2.3.0)
13
+ diff-lcs (1.3)
14
+ rake (10.5.0)
15
+ rspec (3.7.0)
16
+ rspec-core (~> 3.7.0)
17
+ rspec-expectations (~> 3.7.0)
18
+ rspec-mocks (~> 3.7.0)
19
+ rspec-core (3.7.1)
20
+ rspec-support (~> 3.7.0)
21
+ rspec-expectations (3.7.0)
22
+ diff-lcs (>= 1.2.0, < 2.0)
23
+ rspec-support (~> 3.7.0)
24
+ rspec-mocks (3.7.0)
25
+ diff-lcs (>= 1.2.0, < 2.0)
26
+ rspec-support (~> 3.7.0)
27
+ rspec-support (3.7.1)
28
+
29
+ PLATFORMS
30
+ ruby
31
+
32
+ DEPENDENCIES
33
+ bundler (~> 1.16)
34
+ rake (~> 10.0)
35
+ rspec (~> 3.0)
36
+ totoro!
37
+
38
+ BUNDLED WITH
39
+ 1.16.1
@@ -0,0 +1,42 @@
1
+ version: '2.0'
2
+ services:
3
+ rabbitmq:
4
+ image: rabbitmq:3-management-alpine
5
+ environment:
6
+ RABBITMQ_DEFAULT_USER: app
7
+ RABBITMQ_DEFAULT_PASS: app
8
+ ports:
9
+ - '5672:5672'
10
+ - '15672:15672'
11
+
12
+ db:
13
+ image: postgres:9.6.6
14
+ restart: always
15
+ ports:
16
+ - '5432:5432'
17
+ volumes:
18
+ - 'postgres:/var/lib/postgresql/data'
19
+ environment:
20
+ POSTGRES_USER: root
21
+ POSTGRES_PASSWORD: root
22
+
23
+ totoro:
24
+ build: .
25
+ ports:
26
+ - '3000:3000'
27
+ volumes:
28
+ - ./test/totoro_test:/app
29
+ - .:/totoro
30
+ command: ./bin/rails c
31
+ environment:
32
+ POSTGRES_USER: root
33
+ POSTGRES_PASSWORD: root
34
+ RABBITMQ_HOST: rabbitmq
35
+ RABBITMQ_USERNAME: app
36
+ RABBITMQ_PASSWORD: app
37
+ depends_on:
38
+ - db
39
+ - rabbitmq
40
+
41
+ volumes:
42
+ postgres:
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Totoro
4
+ class InitGenerator < Rails::Generators::Base
5
+ source_root File.expand_path('../templates', __FILE__)
6
+ desc 'Generate totoro config file'
7
+
8
+ def copy_config_file
9
+ template 'totoro.yml', File.join('config', 'totoro.yml')
10
+ template 'initializer.rb', File.join('config/initializers', 'totoro.rb')
11
+ end
12
+ end
13
+ end
@@ -0,0 +1 @@
1
+ Totoro::Initializer.new.execute
@@ -6,21 +6,20 @@ default: &default
6
6
  user: app
7
7
  pass: app
8
8
  queue:
9
- # example_queue:
10
- # name: real.queue.name
11
- # durable: true
12
-
9
+ example_queue:
10
+ name: real.queue.name
11
+ durable: true
12
+
13
13
  custom:
14
14
  connect:
15
- host: rabbitmq2
15
+ host: rabbitmq
16
16
  port: 5672
17
17
  user: app
18
18
  pass: app
19
19
  queue:
20
- # example_queue:
21
- # name: real.queue.name
22
- # durable: true
23
-
20
+ custom_queue:
21
+ name: custom.queue.name
22
+ durable: true
24
23
 
25
24
  development:
26
25
  <<: *default
@@ -2,7 +2,8 @@
2
2
 
3
3
  require 'totoro/version'
4
4
  require 'totoro/config'
5
- require 'totoro/queue'
5
+ require 'totoro/base_queue'
6
+ require 'totoro/initializer'
6
7
 
7
8
  module Totoro
8
9
  # Your code goes here...
@@ -16,13 +16,9 @@ module Totoro
16
16
  end
17
17
 
18
18
  def queue(id)
19
- name = data[:queue][id][:name]
20
- settings = { durable: data[:queue][id][:durable] }
19
+ name = @data[:queue][id][:name]
20
+ settings = { durable: @data[:queue][id][:durable] }
21
21
  [name, settings]
22
22
  end
23
-
24
- def get_worker(worker_class)
25
- ::Worker.const_get(worker_class.to_s.camelize).new
26
- end
27
23
  end
28
24
  end
@@ -3,7 +3,7 @@
3
3
  module Totoro
4
4
  class Initializer
5
5
  DEFAULT_CONFIG = %i[default connect queue].freeze
6
- def excute
6
+ def execute
7
7
  config = Rails.application.config_for(:totoro).with_indifferent_access
8
8
  # set default queue class
9
9
  Totoro.const_set('Queue', default_queue_class(config))
@@ -32,7 +32,7 @@ module Totoro
32
32
  end
33
33
 
34
34
  def prefix_module(prefix, custom_queue_class)
35
- prefix_module = Totoro.const_set(prefix.camelize, Module.new)
35
+ prefix_module = Totoro.const_set(prefix.to_s.camelize, Module.new)
36
36
  prefix_module.const_set('Queue', custom_queue_class)
37
37
  end
38
38
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Totoro
4
- VERSION = '0.1.4'
4
+ VERSION = '0.1.5'
5
5
  end
Binary file
@@ -0,0 +1,42 @@
1
+ source 'https://rubygems.org'
2
+
3
+ git_source(:github) do |repo_name|
4
+ repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
5
+ "https://github.com/#{repo_name}.git"
6
+ end
7
+
8
+ gem 'bunny'
9
+ gem 'totoro', path: '/totoro'
10
+ # Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
11
+ gem 'rails', '~> 5.1.6'
12
+ # Use sqlite3 as the database for Active Record
13
+ gem 'sqlite3'
14
+ # Use Puma as the app server
15
+ gem 'puma', '~> 3.7'
16
+ # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
17
+ # gem 'jbuilder', '~> 2.5'
18
+ # Use Redis adapter to run Action Cable in production
19
+ # gem 'redis', '~> 4.0'
20
+ # Use ActiveModel has_secure_password
21
+ # gem 'bcrypt', '~> 3.1.7'
22
+
23
+ # Use Capistrano for deployment
24
+ # gem 'capistrano-rails', group: :development
25
+
26
+ # Use Rack CORS for handling Cross-Origin Resource Sharing (CORS), making cross-origin AJAX possible
27
+ # gem 'rack-cors'
28
+
29
+ group :development, :test do
30
+ # Call 'byebug' anywhere in the code to stop execution and get a debugger console
31
+ gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
32
+ end
33
+
34
+ group :development do
35
+ gem 'listen', '>= 3.0.5', '< 3.2'
36
+ # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
37
+ gem 'spring'
38
+ gem 'spring-watcher-listen', '~> 2.0.0'
39
+ end
40
+
41
+ # Windows does not include zoneinfo files, so bundle the tzinfo-data gem
42
+ gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
@@ -0,0 +1,146 @@
1
+ PATH
2
+ remote: /totoro
3
+ specs:
4
+ totoro (0.1.4)
5
+ bunny (~> 2.10)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ actioncable (5.1.6)
11
+ actionpack (= 5.1.6)
12
+ nio4r (~> 2.0)
13
+ websocket-driver (~> 0.6.1)
14
+ actionmailer (5.1.6)
15
+ actionpack (= 5.1.6)
16
+ actionview (= 5.1.6)
17
+ activejob (= 5.1.6)
18
+ mail (~> 2.5, >= 2.5.4)
19
+ rails-dom-testing (~> 2.0)
20
+ actionpack (5.1.6)
21
+ actionview (= 5.1.6)
22
+ activesupport (= 5.1.6)
23
+ rack (~> 2.0)
24
+ rack-test (>= 0.6.3)
25
+ rails-dom-testing (~> 2.0)
26
+ rails-html-sanitizer (~> 1.0, >= 1.0.2)
27
+ actionview (5.1.6)
28
+ activesupport (= 5.1.6)
29
+ builder (~> 3.1)
30
+ erubi (~> 1.4)
31
+ rails-dom-testing (~> 2.0)
32
+ rails-html-sanitizer (~> 1.0, >= 1.0.3)
33
+ activejob (5.1.6)
34
+ activesupport (= 5.1.6)
35
+ globalid (>= 0.3.6)
36
+ activemodel (5.1.6)
37
+ activesupport (= 5.1.6)
38
+ activerecord (5.1.6)
39
+ activemodel (= 5.1.6)
40
+ activesupport (= 5.1.6)
41
+ arel (~> 8.0)
42
+ activesupport (5.1.6)
43
+ concurrent-ruby (~> 1.0, >= 1.0.2)
44
+ i18n (>= 0.7, < 2)
45
+ minitest (~> 5.1)
46
+ tzinfo (~> 1.1)
47
+ amq-protocol (2.3.0)
48
+ arel (8.0.0)
49
+ builder (3.2.3)
50
+ bunny (2.10.0)
51
+ amq-protocol (~> 2.3.0)
52
+ byebug (10.0.2)
53
+ concurrent-ruby (1.0.5)
54
+ crass (1.0.4)
55
+ erubi (1.7.1)
56
+ ffi (1.9.25)
57
+ globalid (0.4.1)
58
+ activesupport (>= 4.2.0)
59
+ i18n (1.0.1)
60
+ concurrent-ruby (~> 1.0)
61
+ listen (3.1.5)
62
+ rb-fsevent (~> 0.9, >= 0.9.4)
63
+ rb-inotify (~> 0.9, >= 0.9.7)
64
+ ruby_dep (~> 1.2)
65
+ loofah (2.2.2)
66
+ crass (~> 1.0.2)
67
+ nokogiri (>= 1.5.9)
68
+ mail (2.7.0)
69
+ mini_mime (>= 0.1.1)
70
+ method_source (0.9.0)
71
+ mini_mime (1.0.0)
72
+ mini_portile2 (2.3.0)
73
+ minitest (5.11.3)
74
+ nio4r (2.3.1)
75
+ nokogiri (1.8.2)
76
+ mini_portile2 (~> 2.3.0)
77
+ puma (3.11.4)
78
+ rack (2.0.5)
79
+ rack-test (1.0.0)
80
+ rack (>= 1.0, < 3)
81
+ rails (5.1.6)
82
+ actioncable (= 5.1.6)
83
+ actionmailer (= 5.1.6)
84
+ actionpack (= 5.1.6)
85
+ actionview (= 5.1.6)
86
+ activejob (= 5.1.6)
87
+ activemodel (= 5.1.6)
88
+ activerecord (= 5.1.6)
89
+ activesupport (= 5.1.6)
90
+ bundler (>= 1.3.0)
91
+ railties (= 5.1.6)
92
+ sprockets-rails (>= 2.0.0)
93
+ rails-dom-testing (2.0.3)
94
+ activesupport (>= 4.2.0)
95
+ nokogiri (>= 1.6)
96
+ rails-html-sanitizer (1.0.4)
97
+ loofah (~> 2.2, >= 2.2.2)
98
+ railties (5.1.6)
99
+ actionpack (= 5.1.6)
100
+ activesupport (= 5.1.6)
101
+ method_source
102
+ rake (>= 0.8.7)
103
+ thor (>= 0.18.1, < 2.0)
104
+ rake (12.3.1)
105
+ rb-fsevent (0.10.3)
106
+ rb-inotify (0.9.10)
107
+ ffi (>= 0.5.0, < 2)
108
+ ruby_dep (1.5.0)
109
+ spring (2.0.2)
110
+ activesupport (>= 4.2)
111
+ spring-watcher-listen (2.0.1)
112
+ listen (>= 2.7, < 4.0)
113
+ spring (>= 1.2, < 3.0)
114
+ sprockets (3.7.1)
115
+ concurrent-ruby (~> 1.0)
116
+ rack (> 1, < 3)
117
+ sprockets-rails (3.2.1)
118
+ actionpack (>= 4.0)
119
+ activesupport (>= 4.0)
120
+ sprockets (>= 3.0.0)
121
+ sqlite3 (1.3.13)
122
+ thor (0.20.0)
123
+ thread_safe (0.3.6)
124
+ tzinfo (1.2.5)
125
+ thread_safe (~> 0.1)
126
+ websocket-driver (0.6.5)
127
+ websocket-extensions (>= 0.1.0)
128
+ websocket-extensions (0.1.3)
129
+
130
+ PLATFORMS
131
+ ruby
132
+
133
+ DEPENDENCIES
134
+ bunny
135
+ byebug
136
+ listen (>= 3.0.5, < 3.2)
137
+ puma (~> 3.7)
138
+ rails (~> 5.1.6)
139
+ spring
140
+ spring-watcher-listen (~> 2.0.0)
141
+ sqlite3
142
+ totoro!
143
+ tzinfo-data
144
+
145
+ BUNDLED WITH
146
+ 1.16.1
@@ -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,6 @@
1
+ # Add your own tasks in files placed in lib/tasks ending in .rake,
2
+ # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
+
4
+ require_relative 'config/application'
5
+
6
+ Rails.application.load_tasks
@@ -0,0 +1,4 @@
1
+ module ApplicationCable
2
+ class Channel < ActionCable::Channel::Base
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module ApplicationCable
2
+ class Connection < ActionCable::Connection::Base
3
+ end
4
+ end
@@ -0,0 +1,2 @@
1
+ class ApplicationController < ActionController::API
2
+ end
@@ -0,0 +1,2 @@
1
+ class ApplicationJob < ActiveJob::Base
2
+ end
@@ -0,0 +1,4 @@
1
+ class ApplicationMailer < ActionMailer::Base
2
+ default from: 'from@example.com'
3
+ layout 'mailer'
4
+ end
@@ -0,0 +1,3 @@
1
+ class ApplicationRecord < ActiveRecord::Base
2
+ self.abstract_class = true
3
+ end
@@ -0,0 +1,13 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5
+ <style>
6
+ /* Email styles need to be inline */
7
+ </style>
8
+ </head>
9
+
10
+ <body>
11
+ <%= yield %>
12
+ </body>
13
+ </html>
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
3
+ load Gem.bin_path('bundler', 'bundle')
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env ruby
2
+ begin
3
+ load File.expand_path('../spring', __FILE__)
4
+ rescue LoadError => e
5
+ raise unless e.message.include?('spring')
6
+ end
7
+ APP_PATH = File.expand_path('../config/application', __dir__)
8
+ require_relative '../config/boot'
9
+ require 'rails/commands'
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env ruby
2
+ begin
3
+ load File.expand_path('../spring', __FILE__)
4
+ rescue LoadError => e
5
+ raise unless e.message.include?('spring')
6
+ end
7
+ require_relative '../config/boot'
8
+ require 'rake'
9
+ Rake.application.run
@@ -0,0 +1,35 @@
1
+ #!/usr/bin/env ruby
2
+ require 'pathname'
3
+ require 'fileutils'
4
+ include FileUtils
5
+
6
+ # path to your application root.
7
+ APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
8
+
9
+ def system!(*args)
10
+ system(*args) || abort("\n== Command #{args} failed ==")
11
+ end
12
+
13
+ chdir APP_ROOT do
14
+ # This script is a starting point to setup your application.
15
+ # Add necessary setup steps to this file.
16
+
17
+ puts '== Installing dependencies =='
18
+ system! 'gem install bundler --conservative'
19
+ system('bundle check') || system!('bundle install')
20
+
21
+
22
+ # puts "\n== Copying sample files =="
23
+ # unless File.exist?('config/database.yml')
24
+ # cp 'config/database.yml.sample', 'config/database.yml'
25
+ # end
26
+
27
+ puts "\n== Preparing database =="
28
+ system! 'bin/rails db:setup'
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,17 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # This file loads spring without using Bundler, in order to be fast.
4
+ # It gets overwritten when you run the `spring binstub` command.
5
+
6
+ unless defined?(Spring)
7
+ require 'rubygems'
8
+ require 'bundler'
9
+
10
+ lockfile = Bundler::LockfileParser.new(Bundler.default_lockfile.read)
11
+ spring = lockfile.specs.detect { |spec| spec.name == "spring" }
12
+ if spring
13
+ Gem.use_paths Gem.dir, Bundler.bundle_path.to_s, *Gem.path
14
+ gem 'spring', spring.version
15
+ require 'spring/binstub'
16
+ end
17
+ end
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env ruby
2
+ require 'pathname'
3
+ require 'fileutils'
4
+ include FileUtils
5
+
6
+ # path to your application root.
7
+ APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
8
+
9
+ def system!(*args)
10
+ system(*args) || abort("\n== Command #{args} failed ==")
11
+ end
12
+
13
+ chdir APP_ROOT do
14
+ # This script is a way to update your development environment automatically.
15
+ # Add necessary update steps to this file.
16
+
17
+ puts '== Installing dependencies =='
18
+ system! 'gem install bundler --conservative'
19
+ system('bundle check') || system!('bundle install')
20
+
21
+ puts "\n== Updating database =="
22
+ system! 'bin/rails db:migrate'
23
+
24
+ puts "\n== Removing old logs and tempfiles =="
25
+ system! 'bin/rails log:clear tmp:clear'
26
+
27
+ puts "\n== Restarting application server =="
28
+ system! 'bin/rails restart'
29
+ end
@@ -0,0 +1,5 @@
1
+ # This file is used by Rack-based servers to start the application.
2
+
3
+ require_relative 'config/environment'
4
+
5
+ run Rails.application
@@ -0,0 +1,33 @@
1
+ require_relative 'boot'
2
+
3
+ require "rails"
4
+ # Pick the frameworks you want:
5
+ require "active_model/railtie"
6
+ require "active_job/railtie"
7
+ require "active_record/railtie"
8
+ require "action_controller/railtie"
9
+ require "action_mailer/railtie"
10
+ require "action_view/railtie"
11
+ require "action_cable/engine"
12
+ # require "sprockets/railtie"
13
+ require "rails/test_unit/railtie"
14
+
15
+ # Require the gems listed in Gemfile, including any gems
16
+ # you've limited to :test, :development, or :production.
17
+ Bundler.require(*Rails.groups)
18
+
19
+ module TotoroTest
20
+ class Application < Rails::Application
21
+ # Initialize configuration defaults for originally generated Rails version.
22
+ config.load_defaults 5.1
23
+
24
+ # Settings in config/environments/* take precedence over those specified here.
25
+ # Application configuration should go into files in config/initializers
26
+ # -- all .rb files in that directory are automatically loaded.
27
+
28
+ # Only loads a smaller set of middleware suitable for API only apps.
29
+ # Middleware like session, flash, cookies can be added back manually.
30
+ # Skip views, helpers and assets when generating a new resource.
31
+ config.api_only = true
32
+ end
33
+ end
@@ -0,0 +1,3 @@
1
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
2
+
3
+ require 'bundler/setup' # Set up gems listed in the Gemfile.
@@ -0,0 +1,10 @@
1
+ development:
2
+ adapter: async
3
+
4
+ test:
5
+ adapter: async
6
+
7
+ production:
8
+ adapter: redis
9
+ url: redis://localhost:6379/1
10
+ channel_prefix: totoro_test_production
@@ -0,0 +1,25 @@
1
+ # SQLite version 3.x
2
+ # gem install sqlite3
3
+ #
4
+ # Ensure the SQLite 3 gem is defined in your Gemfile
5
+ # gem 'sqlite3'
6
+ #
7
+ default: &default
8
+ adapter: sqlite3
9
+ pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
10
+ timeout: 5000
11
+
12
+ development:
13
+ <<: *default
14
+ database: db/development.sqlite3
15
+
16
+ # Warning: The database defined as "test" will be erased and
17
+ # re-generated from your development database when you run "rake".
18
+ # Do not set this db to the same as development or production.
19
+ test:
20
+ <<: *default
21
+ database: db/test.sqlite3
22
+
23
+ production:
24
+ <<: *default
25
+ database: db/production.sqlite3
@@ -0,0 +1,5 @@
1
+ # Load the Rails application.
2
+ require_relative 'application'
3
+
4
+ # Initialize the Rails application.
5
+ Rails.application.initialize!
@@ -0,0 +1,47 @@
1
+ Rails.application.configure do
2
+ # Settings specified here will take precedence over those in config/application.rb.
3
+
4
+ # In the development environment your application's code is reloaded on
5
+ # every request. This slows down response time but is perfect for development
6
+ # since you don't have to restart the web server when you make code changes.
7
+ config.cache_classes = false
8
+
9
+ # Do not eager load code on boot.
10
+ config.eager_load = false
11
+
12
+ # Show full error reports.
13
+ config.consider_all_requests_local = true
14
+
15
+ # Enable/disable caching. By default caching is disabled.
16
+ if Rails.root.join('tmp/caching-dev.txt').exist?
17
+ config.action_controller.perform_caching = true
18
+
19
+ config.cache_store = :memory_store
20
+ config.public_file_server.headers = {
21
+ 'Cache-Control' => "public, max-age=#{2.days.seconds.to_i}"
22
+ }
23
+ else
24
+ config.action_controller.perform_caching = false
25
+
26
+ config.cache_store = :null_store
27
+ end
28
+
29
+ # Don't care if the mailer can't send.
30
+ config.action_mailer.raise_delivery_errors = false
31
+
32
+ config.action_mailer.perform_caching = false
33
+
34
+ # Print deprecation notices to the Rails logger.
35
+ config.active_support.deprecation = :log
36
+
37
+ # Raise an error on page load if there are pending migrations.
38
+ config.active_record.migration_error = :page_load
39
+
40
+
41
+ # Raises error for missing translations
42
+ # config.action_view.raise_on_missing_translations = true
43
+
44
+ # Use an evented file watcher to asynchronously detect changes in source code,
45
+ # routes, locales, etc. This feature depends on the listen gem.
46
+ config.file_watcher = ActiveSupport::EventedFileUpdateChecker
47
+ end
@@ -0,0 +1,83 @@
1
+ Rails.application.configure do
2
+ # Settings specified here will take precedence over those in config/application.rb.
3
+
4
+ # Code is not reloaded between requests.
5
+ config.cache_classes = true
6
+
7
+ # Eager load code on boot. This eager loads most of Rails and
8
+ # your application in memory, allowing both threaded web servers
9
+ # and those relying on copy on write to perform better.
10
+ # Rake tasks automatically ignore this option for performance.
11
+ config.eager_load = true
12
+
13
+ # Full error reports are disabled and caching is turned on.
14
+ config.consider_all_requests_local = false
15
+ config.action_controller.perform_caching = true
16
+
17
+ # Attempt to read encrypted secrets from `config/secrets.yml.enc`.
18
+ # Requires an encryption key in `ENV["RAILS_MASTER_KEY"]` or
19
+ # `config/secrets.yml.key`.
20
+ config.read_encrypted_secrets = true
21
+
22
+ # Disable serving static files from the `/public` folder by default since
23
+ # Apache or NGINX already handles this.
24
+ config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?
25
+
26
+
27
+ # Enable serving of images, stylesheets, and JavaScripts from an asset server.
28
+ # config.action_controller.asset_host = 'http://assets.example.com'
29
+
30
+ # Specifies the header that your server uses for sending files.
31
+ # config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache
32
+ # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX
33
+
34
+ # Mount Action Cable outside main process or domain
35
+ # config.action_cable.mount_path = nil
36
+ # config.action_cable.url = 'wss://example.com/cable'
37
+ # config.action_cable.allowed_request_origins = [ 'http://example.com', /http:\/\/example.*/ ]
38
+
39
+ # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
40
+ # config.force_ssl = true
41
+
42
+ # Use the lowest log level to ensure availability of diagnostic information
43
+ # when problems arise.
44
+ config.log_level = :debug
45
+
46
+ # Prepend all log lines with the following tags.
47
+ config.log_tags = [ :request_id ]
48
+
49
+ # Use a different cache store in production.
50
+ # config.cache_store = :mem_cache_store
51
+
52
+ # Use a real queuing backend for Active Job (and separate queues per environment)
53
+ # config.active_job.queue_adapter = :resque
54
+ # config.active_job.queue_name_prefix = "totoro_test_#{Rails.env}"
55
+ config.action_mailer.perform_caching = false
56
+
57
+ # Ignore bad email addresses and do not raise email delivery errors.
58
+ # Set this to true and configure the email server for immediate delivery to raise delivery errors.
59
+ # config.action_mailer.raise_delivery_errors = false
60
+
61
+ # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
62
+ # the I18n.default_locale when a translation cannot be found).
63
+ config.i18n.fallbacks = true
64
+
65
+ # Send deprecation notices to registered listeners.
66
+ config.active_support.deprecation = :notify
67
+
68
+ # Use default logging formatter so that PID and timestamp are not suppressed.
69
+ config.log_formatter = ::Logger::Formatter.new
70
+
71
+ # Use a different logger for distributed setups.
72
+ # require 'syslog/logger'
73
+ # config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new 'app-name')
74
+
75
+ if ENV["RAILS_LOG_TO_STDOUT"].present?
76
+ logger = ActiveSupport::Logger.new(STDOUT)
77
+ logger.formatter = config.log_formatter
78
+ config.logger = ActiveSupport::TaggedLogging.new(logger)
79
+ end
80
+
81
+ # Do not dump schema after migrations.
82
+ config.active_record.dump_schema_after_migration = false
83
+ end
@@ -0,0 +1,42 @@
1
+ Rails.application.configure do
2
+ # Settings specified here will take precedence over those in config/application.rb.
3
+
4
+ # The test environment is used exclusively to run your application's
5
+ # test suite. You never need to work with it otherwise. Remember that
6
+ # your test database is "scratch space" for the test suite and is wiped
7
+ # and recreated between test runs. Don't rely on the data there!
8
+ config.cache_classes = true
9
+
10
+ # Do not eager load code on boot. This avoids loading your whole application
11
+ # just for the purpose of running a single test. If you are using a tool that
12
+ # preloads Rails for running tests, you may have to set it to true.
13
+ config.eager_load = false
14
+
15
+ # Configure public file server for tests with Cache-Control for performance.
16
+ config.public_file_server.enabled = true
17
+ config.public_file_server.headers = {
18
+ 'Cache-Control' => "public, max-age=#{1.hour.seconds.to_i}"
19
+ }
20
+
21
+ # Show full error reports and disable caching.
22
+ config.consider_all_requests_local = true
23
+ config.action_controller.perform_caching = false
24
+
25
+ # Raise exceptions instead of rendering exception templates.
26
+ config.action_dispatch.show_exceptions = false
27
+
28
+ # Disable request forgery protection in test environment.
29
+ config.action_controller.allow_forgery_protection = false
30
+ config.action_mailer.perform_caching = false
31
+
32
+ # Tell Action Mailer not to deliver emails to the real world.
33
+ # The :test delivery method accumulates sent emails in the
34
+ # ActionMailer::Base.deliveries array.
35
+ config.action_mailer.delivery_method = :test
36
+
37
+ # Print deprecation notices to the stderr.
38
+ config.active_support.deprecation = :stderr
39
+
40
+ # Raises error for missing translations
41
+ # config.action_view.raise_on_missing_translations = true
42
+ end
@@ -0,0 +1,8 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # ActiveSupport::Reloader.to_prepare do
4
+ # ApplicationController.renderer.defaults.merge!(
5
+ # http_host: 'example.org',
6
+ # https: false
7
+ # )
8
+ # end
@@ -0,0 +1,7 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
4
+ # Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }
5
+
6
+ # You can also remove all the silencers if you're trying to debug a problem that might stem from framework code.
7
+ # Rails.backtrace_cleaner.remove_silencers!
@@ -0,0 +1,16 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Avoid CORS issues when API is called from the frontend app.
4
+ # Handle Cross-Origin Resource Sharing (CORS) in order to accept cross-origin AJAX requests.
5
+
6
+ # Read more: https://github.com/cyu/rack-cors
7
+
8
+ # Rails.application.config.middleware.insert_before 0, Rack::Cors do
9
+ # allow do
10
+ # origins 'example.com'
11
+ #
12
+ # resource '*',
13
+ # headers: :any,
14
+ # methods: [:get, :post, :put, :patch, :delete, :options, :head]
15
+ # end
16
+ # end
@@ -0,0 +1,4 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Configure sensitive parameters which will be filtered from the log file.
4
+ Rails.application.config.filter_parameters += [:password]
@@ -0,0 +1,16 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Add new inflection rules using the following format. Inflections
4
+ # are locale specific, and you may define rules for as many different
5
+ # locales as you wish. All of these examples are active by default:
6
+ # ActiveSupport::Inflector.inflections(:en) do |inflect|
7
+ # inflect.plural /^(ox)$/i, '\1en'
8
+ # inflect.singular /^(ox)en/i, '\1'
9
+ # inflect.irregular 'person', 'people'
10
+ # inflect.uncountable %w( fish sheep )
11
+ # end
12
+
13
+ # These inflection rules are supported but not enabled by default:
14
+ # ActiveSupport::Inflector.inflections(:en) do |inflect|
15
+ # inflect.acronym 'RESTful'
16
+ # end
@@ -0,0 +1,4 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Add new mime types for use in respond_to blocks:
4
+ # Mime::Type.register "text/richtext", :rtf
@@ -0,0 +1 @@
1
+ Totoro::Initializer.new.execute
@@ -0,0 +1,14 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # This file contains settings for ActionController::ParamsWrapper which
4
+ # is enabled by default.
5
+
6
+ # Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
7
+ ActiveSupport.on_load(:action_controller) do
8
+ wrap_parameters format: [:json]
9
+ end
10
+
11
+ # To enable root element in JSON for ActiveRecord objects.
12
+ # ActiveSupport.on_load(:active_record) do
13
+ # self.include_root_in_json = true
14
+ # 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 http://guides.rubyonrails.org/i18n.html.
31
+
32
+ en:
33
+ hello: "Hello world"
@@ -0,0 +1,56 @@
1
+ # Puma can serve each request in a thread from an internal thread pool.
2
+ # The `threads` method setting takes two numbers: a minimum and maximum.
3
+ # Any libraries that use thread pools should be configured to match
4
+ # the maximum value specified for Puma. Default is set to 5 threads for minimum
5
+ # and maximum; this matches the default thread size of Active Record.
6
+ #
7
+ threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 }
8
+ threads threads_count, threads_count
9
+
10
+ # Specifies the `port` that Puma will listen on to receive requests; default is 3000.
11
+ #
12
+ port ENV.fetch("PORT") { 3000 }
13
+
14
+ # Specifies the `environment` that Puma will run in.
15
+ #
16
+ environment ENV.fetch("RAILS_ENV") { "development" }
17
+
18
+ # Specifies the number of `workers` to boot in clustered mode.
19
+ # Workers are forked webserver processes. If using threads and workers together
20
+ # the concurrency of the application would be max `threads` * `workers`.
21
+ # Workers do not work on JRuby or Windows (both of which do not support
22
+ # processes).
23
+ #
24
+ # workers ENV.fetch("WEB_CONCURRENCY") { 2 }
25
+
26
+ # Use the `preload_app!` method when specifying a `workers` number.
27
+ # This directive tells Puma to first boot the application and load code
28
+ # before forking the application. This takes advantage of Copy On Write
29
+ # process behavior so workers use less memory. If you use this option
30
+ # you need to make sure to reconnect any threads in the `on_worker_boot`
31
+ # block.
32
+ #
33
+ # preload_app!
34
+
35
+ # If you are preloading your application and using Active Record, it's
36
+ # recommended that you close any connections to the database before workers
37
+ # are forked to prevent connection leakage.
38
+ #
39
+ # before_fork do
40
+ # ActiveRecord::Base.connection_pool.disconnect! if defined?(ActiveRecord)
41
+ # end
42
+
43
+ # The code in the `on_worker_boot` will be called if you are using
44
+ # clustered mode by specifying a number of `workers`. After each worker
45
+ # process is booted, this block will be run. If you are using the `preload_app!`
46
+ # option, you will want to use this block to reconnect to any threads
47
+ # or connections that may have been created at application boot, as Ruby
48
+ # cannot share connections between processes.
49
+ #
50
+ # on_worker_boot do
51
+ # ActiveRecord::Base.establish_connection if defined?(ActiveRecord)
52
+ # end
53
+ #
54
+
55
+ # Allow puma to be restarted by `rails restart` command.
56
+ plugin :tmp_restart
@@ -0,0 +1,3 @@
1
+ Rails.application.routes.draw do
2
+ # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
3
+ end
@@ -0,0 +1,32 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Your secret key is used for verifying the integrity of signed cookies.
4
+ # If you change this key, all old signed cookies will become invalid!
5
+
6
+ # Make sure the secret is at least 30 characters and all random,
7
+ # no regular words or you'll be exposed to dictionary attacks.
8
+ # You can use `rails secret` to generate a secure secret key.
9
+
10
+ # Make sure the secrets in this file are kept private
11
+ # if you're sharing your code publicly.
12
+
13
+ # Shared secrets are available across all environments.
14
+
15
+ # shared:
16
+ # api_key: a1B2c3D4e5F6
17
+
18
+ # Environmental secrets are only available for that specific environment.
19
+
20
+ development:
21
+ secret_key_base: 18603e459035b11467babcf60df9665434f8eb50677f0e439e73f053234da4fe5a795e3d6a3efeb4f2d23f0d56d812a083a0289cc6aaed72ba1c30bc28598191
22
+
23
+ test:
24
+ secret_key_base: 23651e4160c7bfeedd73ab721b85917ea5fa74781fc8260bd7670b4e8aa52ddca5b5d98c3735e4b0a6720bbdf6d24da4a76f8e8d6b8ae0fb7e69bfb95f32e7b5
25
+
26
+ # Do not keep production secrets in the unencrypted secrets file.
27
+ # Instead, either read values from the environment.
28
+ # Or, use `bin/rails secrets:setup` to configure encrypted secrets
29
+ # and move the `production:` environment over there.
30
+
31
+ production:
32
+ secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
@@ -0,0 +1,6 @@
1
+ %w(
2
+ .ruby-version
3
+ .rbenv-vars
4
+ tmp/restart.txt
5
+ tmp/caching-dev.txt
6
+ ).each { |path| Spring.watch(path) }
@@ -0,0 +1,31 @@
1
+ default: &default
2
+ default:
3
+ connect:
4
+ host: rabbitmq
5
+ port: 5672
6
+ user: app
7
+ pass: app
8
+ queue:
9
+ example_queue:
10
+ name: real.queue.name
11
+ durable: true
12
+
13
+ custom:
14
+ connect:
15
+ host: rabbitmq
16
+ port: 5672
17
+ user: app
18
+ pass: app
19
+ queue:
20
+ custom_queue:
21
+ name: custom.queue.name
22
+ durable: true
23
+
24
+ development:
25
+ <<: *default
26
+
27
+ test:
28
+ <<: *default
29
+
30
+ production:
31
+ <<: *default
@@ -0,0 +1,7 @@
1
+ # This file should contain all the record creation needed to seed the database with its default values.
2
+ # The data can then be loaded with the rails db:seed command (or created alongside the database with db:setup).
3
+ #
4
+ # Examples:
5
+ #
6
+ # movies = Movie.create([{ name: 'Star Wars' }, { name: 'Lord of the Rings' }])
7
+ # Character.create(name: 'Luke', movie: movies.first)
File without changes
@@ -0,0 +1 @@
1
+ # See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file
@@ -0,0 +1,10 @@
1
+ ENV['RAILS_ENV'] ||= 'test'
2
+ require File.expand_path('../../config/environment', __FILE__)
3
+ require 'rails/test_help'
4
+
5
+ class ActiveSupport::TestCase
6
+ # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.
7
+ fixtures :all
8
+
9
+ # Add more helper methods to be used by all tests here...
10
+ end
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
20
20
  spec.executables = ['totoro']
21
21
  spec.require_paths = ['lib']
22
22
 
23
- spec.add_runtime_dependency 'bunny', '~> 2.10'
23
+ spec.add_dependency 'bunny', '~> 2.10'
24
24
 
25
25
  spec.add_development_dependency 'bundler', '~> 1.16'
26
26
  spec.add_development_dependency 'rake', '~> 10.0'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: totoro
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - ShuHui18
@@ -75,14 +75,19 @@ extensions: []
75
75
  extra_rdoc_files: []
76
76
  files:
77
77
  - CODE_OF_CONDUCT.md
78
+ - Dockerfile
78
79
  - Gemfile
80
+ - Gemfile.lock
79
81
  - LICENSE.txt
80
82
  - README.md
81
83
  - Rakefile
82
84
  - bin/console
83
85
  - bin/setup
84
86
  - bin/totoro
87
+ - docker-compose.yml
85
88
  - lib/generators/totoro/config_generator.rb
89
+ - lib/generators/totoro/init_generator.rb
90
+ - lib/generators/totoro/templates/initializer.rb
86
91
  - lib/generators/totoro/templates/totoro.yml
87
92
  - lib/generators/totoro/templates/worker.rb
88
93
  - lib/generators/totoro/worker_generator.rb
@@ -94,8 +99,54 @@ files:
94
99
  - pkg/totoro-0.1.1.gem
95
100
  - pkg/totoro-0.1.2.gem
96
101
  - pkg/totoro-0.1.3.gem
102
+ - pkg/totoro-0.1.4.gem
97
103
  - spec/spec_helper.rb
98
104
  - spec/totoro_spec.rb
105
+ - test/totoro_test/Gemfile
106
+ - test/totoro_test/Gemfile.lock
107
+ - test/totoro_test/README.md
108
+ - test/totoro_test/Rakefile
109
+ - test/totoro_test/app/channels/application_cable/channel.rb
110
+ - test/totoro_test/app/channels/application_cable/connection.rb
111
+ - test/totoro_test/app/controllers/application_controller.rb
112
+ - test/totoro_test/app/jobs/application_job.rb
113
+ - test/totoro_test/app/mailers/application_mailer.rb
114
+ - test/totoro_test/app/models/application_record.rb
115
+ - test/totoro_test/app/views/layouts/mailer.html.erb
116
+ - test/totoro_test/app/views/layouts/mailer.text.erb
117
+ - test/totoro_test/bin/bundle
118
+ - test/totoro_test/bin/rails
119
+ - test/totoro_test/bin/rake
120
+ - test/totoro_test/bin/setup
121
+ - test/totoro_test/bin/spring
122
+ - test/totoro_test/bin/update
123
+ - test/totoro_test/config.ru
124
+ - test/totoro_test/config/application.rb
125
+ - test/totoro_test/config/boot.rb
126
+ - test/totoro_test/config/cable.yml
127
+ - test/totoro_test/config/database.yml
128
+ - test/totoro_test/config/environment.rb
129
+ - test/totoro_test/config/environments/development.rb
130
+ - test/totoro_test/config/environments/production.rb
131
+ - test/totoro_test/config/environments/test.rb
132
+ - test/totoro_test/config/initializers/application_controller_renderer.rb
133
+ - test/totoro_test/config/initializers/backtrace_silencers.rb
134
+ - test/totoro_test/config/initializers/cors.rb
135
+ - test/totoro_test/config/initializers/filter_parameter_logging.rb
136
+ - test/totoro_test/config/initializers/inflections.rb
137
+ - test/totoro_test/config/initializers/mime_types.rb
138
+ - test/totoro_test/config/initializers/totoro.rb
139
+ - test/totoro_test/config/initializers/wrap_parameters.rb
140
+ - test/totoro_test/config/locales/en.yml
141
+ - test/totoro_test/config/puma.rb
142
+ - test/totoro_test/config/routes.rb
143
+ - test/totoro_test/config/secrets.yml
144
+ - test/totoro_test/config/spring.rb
145
+ - test/totoro_test/config/totoro.yml
146
+ - test/totoro_test/db/seeds.rb
147
+ - test/totoro_test/log/development.log
148
+ - test/totoro_test/public/robots.txt
149
+ - test/totoro_test/test/test_helper.rb
99
150
  - totoro.gemspec
100
151
  homepage: https://github.com/blockchaintech-au/totoro
101
152
  licenses: