azeroth 0.8.1 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 60f05e09418f7fc0e6155ee3c4e7349e3a80638295eb01032dc0c284a5ccbaa5
4
- data.tar.gz: 97e333436d04d1cfb255c2dc26751e43aa9da6fad9a383f4c26de33c1df70ffe
3
+ metadata.gz: b05d8bcf76fadc6b48d87c98c5523a21e5cdb68857d0ba42d99e5e2b1c3ec41b
4
+ data.tar.gz: f3e65b23e171f6c63ae143bb2a47aa7100a11ee29fdde85dd7938d5ba2a62408
5
5
  SHA512:
6
- metadata.gz: 2d01f8321b172c0f3d6aedde71ae3e34de04ba261bcacaa4f9157bf8223a75390378167dee429e704a67c38d9d8bb21e695d00faaf612b32dd09d2f53aff9927
7
- data.tar.gz: b73a0aee9cc39faff3f6e7a3281987028a27bee1034ecc22e0176e36bd8113fa784800d0460966e16fe973384e081112a74472c7e5878595a4156375b09d0ce2
6
+ metadata.gz: 1807ceb2a7450f2d469d9232d3c3fb36ebcb7b8942b1309a7ba8686a30bebc1074598b649820d94553be4917ce15aeb2b0a919b7f2eb1a4e361bd159a50751fa
7
+ data.tar.gz: 76992063fb6218ef13ebbf38416b8165b7f79bb69bb1f56330dc0c5d66cb8186394509e8b52fa7aa4c3d6f950db031692139f315cd126aa2c44b1c57ab511894
data/.circleci/config.yml CHANGED
@@ -7,8 +7,12 @@ workflows:
7
7
  filters:
8
8
  tags:
9
9
  only: /.*/
10
+ - checks:
11
+ filters:
12
+ tags:
13
+ only: /.*/
10
14
  - build-and-release:
11
- requires: [test]
15
+ requires: [test, checks]
12
16
  filters:
13
17
  tags:
14
18
  only: /\d+\.\d+\.\d+/
@@ -18,7 +22,7 @@ workflows:
18
22
  jobs:
19
23
  test:
20
24
  docker:
21
- - image: darthjee/circleci_rails_gems:0.6.3
25
+ - image: darthjee/circleci_rails_gems:1.0.0
22
26
  environment:
23
27
  PROJECT: azeroth
24
28
  steps:
@@ -32,12 +36,22 @@ jobs:
32
36
  - run:
33
37
  name: RSpec
34
38
  command: bundle exec rspec
35
- - run:
36
- name: Rubocop
37
- command: rubocop
38
39
  - run:
39
40
  name: Coverage Test Report
40
41
  command: cc-test-reporter after-build --exit-code $?
42
+ checks:
43
+ docker:
44
+ - image: darthjee/circleci_rails_gems:1.0.0
45
+ environment:
46
+ PROJECT: azeroth
47
+ steps:
48
+ - checkout
49
+ - run:
50
+ name: Bundle Install
51
+ command: bundle install
52
+ - run:
53
+ name: Rubocop
54
+ command: rubocop
41
55
  - run:
42
56
  name: Yardstick coverage check
43
57
  command: bundle exec rake verify_measurements
@@ -52,7 +66,7 @@ jobs:
52
66
  command: check_specs
53
67
  build-and-release:
54
68
  docker:
55
- - image: darthjee/circleci_rails_gems:0.6.3
69
+ - image: darthjee/circleci_rails_gems:1.0.0
56
70
  environment:
57
71
  PROJECT: azeroth
58
72
  steps:
data/.gitignore CHANGED
@@ -11,3 +11,4 @@ rubycritic/
11
11
  spec/dummy/log/*
12
12
  spec/dummy/tmp/*
13
13
  spec/dummy/db/*.sqlite3
14
+ spec/dummy/db/*.sqlite3-journal
data/Dockerfile CHANGED
@@ -1,4 +1,4 @@
1
- FROM darthjee/rails_gems:0.7.0 as base
1
+ FROM darthjee/rails_gems:1.0.0 as base
2
2
  FROM darthjee/scripts:0.1.8 as scripts
3
3
 
4
4
  ######################################
@@ -0,0 +1,5 @@
1
+ FROM darthjee/circleci_rails_gems:1.0.0 as base
2
+
3
+ COPY --chown=circleci ./ /home/circleci/project/
4
+
5
+ RUN bundle install
data/README.md CHANGED
@@ -11,7 +11,7 @@ Azeroth
11
11
 
12
12
  Yard Documentation
13
13
  -------------------
14
- [https://www.rubydoc.info/gems/azeroth/0.8.1](https://www.rubydoc.info/gems/azeroth/0.8.1)
14
+ [https://www.rubydoc.info/gems/azeroth/0.10.0](https://www.rubydoc.info/gems/azeroth/0.10.0)
15
15
 
16
16
  Azeroth has been designed making the coding of controllers easier
17
17
  as routes in controllers are usually copy, paste and replace of same
@@ -61,6 +61,7 @@ It accepts options
61
61
  - before_save: Method/Proc to be ran before saving the resource on create or update
62
62
  - after_save: Method/Proc to be ran after saving the resource on create or update
63
63
  - build_with: Method/Block to be ran when building the reource on create
64
+ - update_with: Method/Block to be ran when updating the reource on update
64
65
  - paginated: Flag when pagination should be applied
65
66
  - per_page: Number of items returned when pagination is active
66
67
 
data/azeroth.gemspec CHANGED
@@ -25,28 +25,30 @@ Gem::Specification.new do |gem|
25
25
 
26
26
  gem.add_development_dependency 'actionpack', '~> 5.2.x'
27
27
  gem.add_development_dependency 'activerecord', '~> 5.2.x'
28
- gem.add_development_dependency 'bundler', '1.16.1'
29
- gem.add_development_dependency 'factory_bot', '5.2.0'
30
- gem.add_development_dependency 'nokogiri', '1.11.4'
31
- gem.add_development_dependency 'pry', '0.12.2'
32
- gem.add_development_dependency 'pry-nav', '0.3.0'
28
+ gem.add_development_dependency 'bundler', '~> 2.3.14'
29
+ gem.add_development_dependency 'factory_bot', '6.2.1'
30
+ gem.add_development_dependency 'minitest', '~> 5.15.0'
31
+ gem.add_development_dependency 'nokogiri', '1.13.6'
32
+ gem.add_development_dependency 'pry', '0.14.1'
33
+ gem.add_development_dependency 'pry-nav', '1.0.0'
33
34
  gem.add_development_dependency 'rails', '~> 5.2.x'
34
35
  gem.add_development_dependency 'rails-controller-testing', '1.0.4'
35
- gem.add_development_dependency 'rake', '13.0.3'
36
+ gem.add_development_dependency 'rake', '13.0.6'
36
37
  gem.add_development_dependency 'reek', '6.0.3'
37
- gem.add_development_dependency 'rspec', '3.9.0'
38
+ gem.add_development_dependency 'rspec', '3.11.0'
38
39
  gem.add_development_dependency 'rspec-collection_matchers', '1.2.0'
39
- gem.add_development_dependency 'rspec-core', '3.9.3'
40
- gem.add_development_dependency 'rspec-expectations', '3.9.4'
41
- gem.add_development_dependency 'rspec-mocks', '3.9.1'
42
- gem.add_development_dependency 'rspec-rails', '3.9.0'
43
- gem.add_development_dependency 'rspec-support', '3.9.4'
40
+ gem.add_development_dependency 'rspec-core', '3.11.0'
41
+ gem.add_development_dependency 'rspec-expectations', '3.11.0'
42
+ gem.add_development_dependency 'rspec-mocks', '3.11.1'
43
+ gem.add_development_dependency 'rspec-rails', '5.1.2'
44
+ gem.add_development_dependency 'rspec-support', '3.11.0'
44
45
  gem.add_development_dependency 'rubocop', '0.80.1'
45
46
  gem.add_development_dependency 'rubocop-rspec', '1.38.1'
46
47
  gem.add_development_dependency 'rubycritic', '4.6.1'
47
48
  gem.add_development_dependency 'shoulda-matchers', '4.3.0'
48
- gem.add_development_dependency 'simplecov', '0.17.1'
49
+ gem.add_development_dependency 'simplecov', '0.21.2'
49
50
  gem.add_development_dependency 'sqlite3', '1.4.2'
50
- gem.add_development_dependency 'yard', '0.9.26'
51
+ gem.add_development_dependency 'tzinfo-data', '~> 1.2022.1'
52
+ gem.add_development_dependency 'yard', '0.9.27'
51
53
  gem.add_development_dependency 'yardstick', '0.9.9'
52
54
  end
data/docker-compose.yml CHANGED
@@ -21,3 +21,11 @@ services:
21
21
  <<: *base
22
22
  depends_on: [base_build]
23
23
  command: /bin/bash -c 'rspec && yard && rake yardstick_measure && rake verify_measurements'
24
+
25
+ circleci:
26
+ image: azeroth_circleci
27
+ build:
28
+ context: ./
29
+ dockerfile: Dockerfile.circleci
30
+ volumes:
31
+ - .:/home/circleci/project
@@ -42,6 +42,21 @@ module Azeroth
42
42
  controller.instance_variable_set("@#{variable}", value)
43
43
  end
44
44
 
45
+ # Forces a controller to run a block
46
+ #
47
+ # When the block is a +Proc+ that is evaluated,
48
+ # when it is a +Symbol+ or +String+, a method is called
49
+ #
50
+ # @return [Object] whatever the block returns
51
+ def run(block)
52
+ case block
53
+ when Proc
54
+ controller.instance_eval(&block)
55
+ else
56
+ controller.send(block)
57
+ end
58
+ end
59
+
45
60
  private
46
61
 
47
62
  attr_reader :controller
@@ -21,6 +21,7 @@ module Azeroth
21
21
  before_save: nil,
22
22
  after_save: nil,
23
23
  build_with: nil,
24
+ update_with: nil,
24
25
  paginated: false,
25
26
  per_page: 20
26
27
  }.freeze
@@ -110,6 +111,13 @@ module Azeroth
110
111
  #
111
112
  # @return [Symbol,Proc]
112
113
 
114
+ # @method update_with
115
+ # @api private
116
+ #
117
+ # Block or method name to be ran when updating the resource
118
+ #
119
+ # @return [Symbol,Proc]
120
+
113
121
  # @method paginated
114
122
  # @api private
115
123
  #
@@ -47,12 +47,7 @@ module Azeroth
47
47
  def build_resource
48
48
  return collection.build(attributes) unless build_with
49
49
 
50
- case build_with
51
- when Proc
52
- controller.instance_eval(&build_with)
53
- else
54
- controller.send(build_with)
55
- end
50
+ controller.run(build_with)
56
51
  end
57
52
 
58
53
  # @private
@@ -8,6 +8,8 @@ module Azeroth
8
8
  class Update < RequestHandler
9
9
  private
10
10
 
11
+ delegate :update_with, to: :options
12
+
11
13
  # @private
12
14
  #
13
15
  # Updates and return an instance of the model
@@ -17,20 +19,33 @@ module Azeroth
17
19
  #
18
20
  # @return [Object]
19
21
  def resource
20
- @resource ||= update_resource
22
+ @resource ||= perform_update
21
23
  end
22
24
 
23
- # build resource for update
25
+ # Update a resource saving it to the database
24
26
  #
25
- # @return [Object]
26
- def update_resource
27
- controller.send(model.name).tap do |entry|
27
+ # @return [Object] updated resource
28
+ def perform_update
29
+ @resource = controller.send(model.name)
30
+ resource.tap do
28
31
  trigger_event(:save) do
29
- entry.update(attributes)
32
+ update_and_save_resource
30
33
  end
31
34
  end
32
35
  end
33
36
 
37
+ # @private
38
+ #
39
+ # Update the resource, either by running update_with
40
+ # or directly updating the attributes in the object
41
+ #
42
+ # @return [Object] updated resource
43
+ def update_and_save_resource
44
+ return resource.update(attributes) unless update_with
45
+
46
+ controller.run(update_with)
47
+ end
48
+
34
49
  # @private
35
50
  #
36
51
  # Response status
@@ -25,6 +25,7 @@ module Azeroth
25
25
  add_params
26
26
  add_resource
27
27
  add_routes
28
+ add_helpers
28
29
  end
29
30
 
30
31
  private
@@ -127,6 +128,14 @@ module Azeroth
127
128
  RoutesBuilder.new(model, builder, options).append
128
129
  end
129
130
 
131
+ # Add helpers to render objects on template
132
+ #
133
+ # @return [String]
134
+ def add_helpers
135
+ clazz.public_send(:helper_method, model.name)
136
+ clazz.public_send(:helper_method, model.plural)
137
+ end
138
+
130
139
  # Returns all updatable attributes
131
140
  #
132
141
  # @return [Array<String>]
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Azeroth
4
- VERSION = '0.8.1'
4
+ VERSION = '0.10.0'
5
5
  end
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ describe RenderingController do
6
+ let(:parsed_response) do
7
+ JSON.parse(response.body)
8
+ end
9
+
10
+ describe 'GET index' do
11
+ render_views
12
+
13
+ let(:documents_count) { Random.rand(2..5) }
14
+
15
+ let(:expected_content) do
16
+ documents.map do |document|
17
+ "<li><strong>Name:</strong>#{document.name}</li>"
18
+ end.join("\n ")
19
+ end
20
+
21
+ let!(:documents) { create_list(:document, documents_count) }
22
+
23
+ context 'when calling on format html' do
24
+ before do
25
+ get :index, params: { format: :html }
26
+ end
27
+
28
+ it { expect(response).to be_successful }
29
+
30
+ it { expect(response).to render_template('rendering/index') }
31
+
32
+ it { expect(response.body).to include(expected_content) }
33
+ end
34
+ end
35
+
36
+ describe 'GET show' do
37
+ render_views
38
+
39
+ let(:document) { create(:document) }
40
+ let(:document_id) { document.id }
41
+ let(:expected_content) do
42
+ "<p><strong>Name:</strong>#{document.name}</p>"
43
+ end
44
+
45
+ context 'when calling on format html' do
46
+ before do
47
+ get :show, params: { id: document.id, format: :html }
48
+ end
49
+
50
+ it { expect(response).to be_successful }
51
+
52
+ it { expect(response).to render_template('rendering/show') }
53
+
54
+ it { expect(response.body).to include(expected_content) }
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ class RenderingController < ApplicationController
4
+ include Azeroth::Resourceable
5
+
6
+ resource_for :document
7
+ end
@@ -0,0 +1,5 @@
1
+ <ul>
2
+ <% documents.each do |document| %>
3
+ <li><strong>Name:</strong><%= document.name %></li>
4
+ <% end %>
5
+ </ul>
@@ -0,0 +1 @@
1
+ <p><strong>Name:</strong><%= document.name %></p>
@@ -2,6 +2,7 @@
2
2
 
3
3
  Rails.application.routes.draw do
4
4
  resources :documents
5
+ resources :rendering
5
6
  resources :public_documents, controller: :index_documents
6
7
  resources :create_documents, controller: :documents_with_error
7
8
  resources :paginated_documents
@@ -30,6 +30,118 @@ describe Azeroth::RequestHandler::Update do
30
30
  end
31
31
  end
32
32
 
33
+ context 'when update_with option is given ' do
34
+ context 'with block' do
35
+ it_behaves_like 'a request handler' do
36
+ let(:block) do
37
+ proc do
38
+ document.assign_attributes(document_params)
39
+ document.name = "#{document.name}!"
40
+ document.save
41
+ end
42
+ end
43
+
44
+ let(:options_hash) do
45
+ {
46
+ update_with: block
47
+ }
48
+ end
49
+
50
+ let(:expected_resource) { document }
51
+
52
+ let(:extra_params) do
53
+ {
54
+ id: document.id,
55
+ document: {
56
+ name: 'New Name'
57
+ }
58
+ }
59
+ end
60
+
61
+ let(:expected_json) do
62
+ {
63
+ 'name' => 'New Name!'
64
+ }
65
+ end
66
+
67
+ it 'updates the values given by request' do
68
+ expect { handler.process }
69
+ .to change { document.reload.name }
70
+ .from(document.name)
71
+ .to('New Name!')
72
+ end
73
+ end
74
+ end
75
+
76
+ context 'with symbol' do
77
+ it_behaves_like 'a request handler' do
78
+ let(:options_hash) do
79
+ {
80
+ update_with: :add_bang_name
81
+ }
82
+ end
83
+
84
+ let(:expected_resource) { document }
85
+
86
+ let(:extra_params) do
87
+ {
88
+ id: document.id,
89
+ document: {
90
+ name: 'New Name'
91
+ }
92
+ }
93
+ end
94
+
95
+ let(:expected_json) do
96
+ {
97
+ 'name' => 'New Name!'
98
+ }
99
+ end
100
+
101
+ it 'updates the values given by request' do
102
+ expect { handler.process }
103
+ .to change { document.reload.name }
104
+ .from(document.name)
105
+ .to('New Name!')
106
+ end
107
+ end
108
+ end
109
+
110
+ context 'with string' do
111
+ it_behaves_like 'a request handler' do
112
+ let(:options_hash) do
113
+ {
114
+ update_with: 'add_bang_name'
115
+ }
116
+ end
117
+
118
+ let(:expected_resource) { document }
119
+
120
+ let(:extra_params) do
121
+ {
122
+ id: document.id,
123
+ document: {
124
+ name: 'New Name'
125
+ }
126
+ }
127
+ end
128
+
129
+ let(:expected_json) do
130
+ {
131
+ 'name' => 'New Name!'
132
+ }
133
+ end
134
+
135
+ it 'updates the values given by request' do
136
+ expect { handler.process }
137
+ .to change { document.reload.name }
138
+ .from(document.name)
139
+ .to('New Name!')
140
+ end
141
+ end
142
+ end
143
+ end
144
+
33
145
  context 'with before_save block option' do
34
146
  it_behaves_like 'a request handler' do
35
147
  let(:block) do
@@ -67,5 +67,15 @@ describe Azeroth::RequestHandler do
67
67
  expect(controller).not_to have_received(:render)
68
68
  end
69
69
  end
70
+
71
+ context 'with format js' do
72
+ let(:format) { 'js' }
73
+
74
+ it do
75
+ handler.process
76
+
77
+ expect(controller).not_to have_received(:render)
78
+ end
79
+ end
70
80
  end
71
81
  end
@@ -28,4 +28,10 @@ class RequestHandlerController < ActionController::Base
28
28
  documents.where(reference: 'X-MAGIC-15')
29
29
  .build(document_params)
30
30
  end
31
+
32
+ def add_bang_name
33
+ document.assign_attributes(document_params)
34
+ document.name = "#{document.name}!"
35
+ document.save
36
+ end
31
37
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: azeroth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.1
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Darthjee
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-08-12 00:00:00.000000000 Z
11
+ date: 2022-06-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -98,72 +98,86 @@ dependencies:
98
98
  name: bundler
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - '='
101
+ - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 1.16.1
103
+ version: 2.3.14
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - '='
108
+ - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 1.16.1
110
+ version: 2.3.14
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: factory_bot
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - '='
116
116
  - !ruby/object:Gem::Version
117
- version: 5.2.0
117
+ version: 6.2.1
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - '='
123
123
  - !ruby/object:Gem::Version
124
- version: 5.2.0
124
+ version: 6.2.1
125
+ - !ruby/object:Gem::Dependency
126
+ name: minitest
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: 5.15.0
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: 5.15.0
125
139
  - !ruby/object:Gem::Dependency
126
140
  name: nokogiri
127
141
  requirement: !ruby/object:Gem::Requirement
128
142
  requirements:
129
143
  - - '='
130
144
  - !ruby/object:Gem::Version
131
- version: 1.11.4
145
+ version: 1.13.6
132
146
  type: :development
133
147
  prerelease: false
134
148
  version_requirements: !ruby/object:Gem::Requirement
135
149
  requirements:
136
150
  - - '='
137
151
  - !ruby/object:Gem::Version
138
- version: 1.11.4
152
+ version: 1.13.6
139
153
  - !ruby/object:Gem::Dependency
140
154
  name: pry
141
155
  requirement: !ruby/object:Gem::Requirement
142
156
  requirements:
143
157
  - - '='
144
158
  - !ruby/object:Gem::Version
145
- version: 0.12.2
159
+ version: 0.14.1
146
160
  type: :development
147
161
  prerelease: false
148
162
  version_requirements: !ruby/object:Gem::Requirement
149
163
  requirements:
150
164
  - - '='
151
165
  - !ruby/object:Gem::Version
152
- version: 0.12.2
166
+ version: 0.14.1
153
167
  - !ruby/object:Gem::Dependency
154
168
  name: pry-nav
155
169
  requirement: !ruby/object:Gem::Requirement
156
170
  requirements:
157
171
  - - '='
158
172
  - !ruby/object:Gem::Version
159
- version: 0.3.0
173
+ version: 1.0.0
160
174
  type: :development
161
175
  prerelease: false
162
176
  version_requirements: !ruby/object:Gem::Requirement
163
177
  requirements:
164
178
  - - '='
165
179
  - !ruby/object:Gem::Version
166
- version: 0.3.0
180
+ version: 1.0.0
167
181
  - !ruby/object:Gem::Dependency
168
182
  name: rails
169
183
  requirement: !ruby/object:Gem::Requirement
@@ -198,14 +212,14 @@ dependencies:
198
212
  requirements:
199
213
  - - '='
200
214
  - !ruby/object:Gem::Version
201
- version: 13.0.3
215
+ version: 13.0.6
202
216
  type: :development
203
217
  prerelease: false
204
218
  version_requirements: !ruby/object:Gem::Requirement
205
219
  requirements:
206
220
  - - '='
207
221
  - !ruby/object:Gem::Version
208
- version: 13.0.3
222
+ version: 13.0.6
209
223
  - !ruby/object:Gem::Dependency
210
224
  name: reek
211
225
  requirement: !ruby/object:Gem::Requirement
@@ -226,14 +240,14 @@ dependencies:
226
240
  requirements:
227
241
  - - '='
228
242
  - !ruby/object:Gem::Version
229
- version: 3.9.0
243
+ version: 3.11.0
230
244
  type: :development
231
245
  prerelease: false
232
246
  version_requirements: !ruby/object:Gem::Requirement
233
247
  requirements:
234
248
  - - '='
235
249
  - !ruby/object:Gem::Version
236
- version: 3.9.0
250
+ version: 3.11.0
237
251
  - !ruby/object:Gem::Dependency
238
252
  name: rspec-collection_matchers
239
253
  requirement: !ruby/object:Gem::Requirement
@@ -254,70 +268,70 @@ dependencies:
254
268
  requirements:
255
269
  - - '='
256
270
  - !ruby/object:Gem::Version
257
- version: 3.9.3
271
+ version: 3.11.0
258
272
  type: :development
259
273
  prerelease: false
260
274
  version_requirements: !ruby/object:Gem::Requirement
261
275
  requirements:
262
276
  - - '='
263
277
  - !ruby/object:Gem::Version
264
- version: 3.9.3
278
+ version: 3.11.0
265
279
  - !ruby/object:Gem::Dependency
266
280
  name: rspec-expectations
267
281
  requirement: !ruby/object:Gem::Requirement
268
282
  requirements:
269
283
  - - '='
270
284
  - !ruby/object:Gem::Version
271
- version: 3.9.4
285
+ version: 3.11.0
272
286
  type: :development
273
287
  prerelease: false
274
288
  version_requirements: !ruby/object:Gem::Requirement
275
289
  requirements:
276
290
  - - '='
277
291
  - !ruby/object:Gem::Version
278
- version: 3.9.4
292
+ version: 3.11.0
279
293
  - !ruby/object:Gem::Dependency
280
294
  name: rspec-mocks
281
295
  requirement: !ruby/object:Gem::Requirement
282
296
  requirements:
283
297
  - - '='
284
298
  - !ruby/object:Gem::Version
285
- version: 3.9.1
299
+ version: 3.11.1
286
300
  type: :development
287
301
  prerelease: false
288
302
  version_requirements: !ruby/object:Gem::Requirement
289
303
  requirements:
290
304
  - - '='
291
305
  - !ruby/object:Gem::Version
292
- version: 3.9.1
306
+ version: 3.11.1
293
307
  - !ruby/object:Gem::Dependency
294
308
  name: rspec-rails
295
309
  requirement: !ruby/object:Gem::Requirement
296
310
  requirements:
297
311
  - - '='
298
312
  - !ruby/object:Gem::Version
299
- version: 3.9.0
313
+ version: 5.1.2
300
314
  type: :development
301
315
  prerelease: false
302
316
  version_requirements: !ruby/object:Gem::Requirement
303
317
  requirements:
304
318
  - - '='
305
319
  - !ruby/object:Gem::Version
306
- version: 3.9.0
320
+ version: 5.1.2
307
321
  - !ruby/object:Gem::Dependency
308
322
  name: rspec-support
309
323
  requirement: !ruby/object:Gem::Requirement
310
324
  requirements:
311
325
  - - '='
312
326
  - !ruby/object:Gem::Version
313
- version: 3.9.4
327
+ version: 3.11.0
314
328
  type: :development
315
329
  prerelease: false
316
330
  version_requirements: !ruby/object:Gem::Requirement
317
331
  requirements:
318
332
  - - '='
319
333
  - !ruby/object:Gem::Version
320
- version: 3.9.4
334
+ version: 3.11.0
321
335
  - !ruby/object:Gem::Dependency
322
336
  name: rubocop
323
337
  requirement: !ruby/object:Gem::Requirement
@@ -380,14 +394,14 @@ dependencies:
380
394
  requirements:
381
395
  - - '='
382
396
  - !ruby/object:Gem::Version
383
- version: 0.17.1
397
+ version: 0.21.2
384
398
  type: :development
385
399
  prerelease: false
386
400
  version_requirements: !ruby/object:Gem::Requirement
387
401
  requirements:
388
402
  - - '='
389
403
  - !ruby/object:Gem::Version
390
- version: 0.17.1
404
+ version: 0.21.2
391
405
  - !ruby/object:Gem::Dependency
392
406
  name: sqlite3
393
407
  requirement: !ruby/object:Gem::Requirement
@@ -402,20 +416,34 @@ dependencies:
402
416
  - - '='
403
417
  - !ruby/object:Gem::Version
404
418
  version: 1.4.2
419
+ - !ruby/object:Gem::Dependency
420
+ name: tzinfo-data
421
+ requirement: !ruby/object:Gem::Requirement
422
+ requirements:
423
+ - - "~>"
424
+ - !ruby/object:Gem::Version
425
+ version: 1.2022.1
426
+ type: :development
427
+ prerelease: false
428
+ version_requirements: !ruby/object:Gem::Requirement
429
+ requirements:
430
+ - - "~>"
431
+ - !ruby/object:Gem::Version
432
+ version: 1.2022.1
405
433
  - !ruby/object:Gem::Dependency
406
434
  name: yard
407
435
  requirement: !ruby/object:Gem::Requirement
408
436
  requirements:
409
437
  - - '='
410
438
  - !ruby/object:Gem::Version
411
- version: 0.9.26
439
+ version: 0.9.27
412
440
  type: :development
413
441
  prerelease: false
414
442
  version_requirements: !ruby/object:Gem::Requirement
415
443
  requirements:
416
444
  - - '='
417
445
  - !ruby/object:Gem::Version
418
- version: 0.9.26
446
+ version: 0.9.27
419
447
  - !ruby/object:Gem::Dependency
420
448
  name: yardstick
421
449
  requirement: !ruby/object:Gem::Requirement
@@ -443,6 +471,7 @@ files:
443
471
  - ".rubocop.yml"
444
472
  - ".rubocop_todo.yml"
445
473
  - Dockerfile
474
+ - Dockerfile.circleci
446
475
  - Gemfile
447
476
  - LICENSE
448
477
  - README.md
@@ -485,6 +514,7 @@ files:
485
514
  - spec/controllers/paginated_documents_controller_spec.rb
486
515
  - spec/controllers/pokemon_masters_controller_spec.rb
487
516
  - spec/controllers/pokemons_controller_spec.rb
517
+ - spec/controllers/rendering_controller_spec.rb
488
518
  - spec/dummy/.ruby-version
489
519
  - spec/dummy/Rakefile
490
520
  - spec/dummy/app/assets/config/manifest.js
@@ -505,6 +535,7 @@ files:
505
535
  - spec/dummy/app/controllers/pokemon_masters_controller.rb
506
536
  - spec/dummy/app/controllers/pokemons_controller.rb
507
537
  - spec/dummy/app/controllers/publishers_controller.rb
538
+ - spec/dummy/app/controllers/rendering_controller.rb
508
539
  - spec/dummy/app/helpers/application_helper.rb
509
540
  - spec/dummy/app/jobs/application_job.rb
510
541
  - spec/dummy/app/mailers/application_mailer.rb
@@ -538,6 +569,8 @@ files:
538
569
  - spec/dummy/app/views/layouts/application.html.erb
539
570
  - spec/dummy/app/views/layouts/mailer.html.erb
540
571
  - spec/dummy/app/views/layouts/mailer.text.erb
572
+ - spec/dummy/app/views/rendering/index.html.erb
573
+ - spec/dummy/app/views/rendering/show.html.erb
541
574
  - spec/dummy/bin/bundle
542
575
  - spec/dummy/bin/rails
543
576
  - spec/dummy/bin/rake
@@ -639,8 +672,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
639
672
  - !ruby/object:Gem::Version
640
673
  version: '0'
641
674
  requirements: []
642
- rubyforge_project:
643
- rubygems_version: 2.7.6
675
+ rubygems_version: 3.3.15
644
676
  signing_key:
645
677
  specification_version: 4
646
678
  summary: Azeroth
@@ -651,6 +683,7 @@ test_files:
651
683
  - spec/controllers/paginated_documents_controller_spec.rb
652
684
  - spec/controllers/pokemon_masters_controller_spec.rb
653
685
  - spec/controllers/pokemons_controller_spec.rb
686
+ - spec/controllers/rendering_controller_spec.rb
654
687
  - spec/dummy/.ruby-version
655
688
  - spec/dummy/Rakefile
656
689
  - spec/dummy/app/assets/config/manifest.js
@@ -671,6 +704,7 @@ test_files:
671
704
  - spec/dummy/app/controllers/pokemon_masters_controller.rb
672
705
  - spec/dummy/app/controllers/pokemons_controller.rb
673
706
  - spec/dummy/app/controllers/publishers_controller.rb
707
+ - spec/dummy/app/controllers/rendering_controller.rb
674
708
  - spec/dummy/app/helpers/application_helper.rb
675
709
  - spec/dummy/app/jobs/application_job.rb
676
710
  - spec/dummy/app/mailers/application_mailer.rb
@@ -704,6 +738,8 @@ test_files:
704
738
  - spec/dummy/app/views/layouts/application.html.erb
705
739
  - spec/dummy/app/views/layouts/mailer.html.erb
706
740
  - spec/dummy/app/views/layouts/mailer.text.erb
741
+ - spec/dummy/app/views/rendering/index.html.erb
742
+ - spec/dummy/app/views/rendering/show.html.erb
707
743
  - spec/dummy/bin/bundle
708
744
  - spec/dummy/bin/rails
709
745
  - spec/dummy/bin/rake