azeroth 0.10.1 → 1.1.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 +3 -3
- data/Dockerfile +1 -1
- data/README.md +43 -30
- data/azeroth.gemspec +8 -7
- data/config/check_specs.yml +1 -0
- data/lib/azeroth/decorator/class_methods.rb +249 -0
- data/lib/azeroth/decorator/hash_builder.rb +3 -1
- data/lib/azeroth/decorator/key_value_extractor.rb +3 -8
- data/lib/azeroth/decorator/method_builder.rb +23 -7
- data/lib/azeroth/decorator/options.rb +3 -1
- data/lib/azeroth/decorator.rb +30 -188
- data/lib/azeroth/params_builder.rb +11 -8
- data/lib/azeroth/request_handler/index.rb +7 -33
- data/lib/azeroth/request_handler/pagination.rb +53 -0
- data/lib/azeroth/request_handler.rb +8 -7
- data/lib/azeroth/resource_builder.rb +9 -10
- data/lib/azeroth/resourceable/builder.rb +15 -11
- data/lib/azeroth/routes_builder.rb +8 -10
- data/lib/azeroth/version.rb +1 -1
- data/spec/controllers/documents_with_error_controller_spec.rb +3 -1
- data/spec/dummy/app/models/website/decorator.rb +11 -0
- data/spec/dummy/app/models/website/with_location.rb +21 -0
- data/spec/dummy/app/models/website.rb +4 -0
- data/spec/dummy/config/environments/development.rb +1 -0
- data/spec/dummy/db/schema.rb +5 -1
- data/spec/integration/yard/azeroth/decorator_spec.rb +15 -0
- data/spec/lib/azeroth/decorator/key_value_extractor_spec.rb +3 -1
- data/spec/lib/azeroth/decorator/method_builder_spec.rb +61 -2
- data/spec/lib/azeroth/decorator_spec.rb +96 -3
- data/spec/lib/azeroth/params_builder_spec.rb +3 -1
- data/spec/lib/azeroth/request_handler/pagination_spec.rb +133 -0
- data/spec/lib/azeroth/resource_builder_spec.rb +3 -1
- data/spec/lib/azeroth/routes_builder_spec.rb +3 -1
- metadata +41 -17
@@ -3,21 +3,80 @@
|
|
3
3
|
require 'spec_helper'
|
4
4
|
|
5
5
|
describe Azeroth::Decorator::MethodBuilder do
|
6
|
+
subject(:build_reader) do
|
7
|
+
described_class.build_reader(decorator_class, :age, options)
|
8
|
+
end
|
9
|
+
|
6
10
|
let(:decorator_class) { Class.new(Azeroth::Decorator) }
|
7
11
|
let(:decorator) { decorator_class.new(object) }
|
8
12
|
let(:model) { build(:dummy_model) }
|
9
13
|
let(:object) { model }
|
14
|
+
let(:options) { Azeroth::Decorator::Options.new(options_hash) }
|
15
|
+
let(:options_hash) { {} }
|
10
16
|
|
11
17
|
describe '.build_reader' do
|
12
18
|
it do
|
13
|
-
expect {
|
19
|
+
expect { build_reader }
|
14
20
|
.to add_method(:age).to(decorator)
|
15
21
|
end
|
16
22
|
|
17
23
|
it do
|
18
|
-
|
24
|
+
build_reader
|
19
25
|
|
20
26
|
expect(decorator.age).to eq(model.age)
|
21
27
|
end
|
28
|
+
|
29
|
+
context 'when passing reader option' do
|
30
|
+
context 'when passing true' do
|
31
|
+
let(:options_hash) { { reader: true } }
|
32
|
+
|
33
|
+
it do
|
34
|
+
expect { build_reader }
|
35
|
+
.to add_method(:age).to(decorator)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
context 'when passing false' do
|
40
|
+
let(:options_hash) { { reader: false } }
|
41
|
+
|
42
|
+
it do
|
43
|
+
expect { build_reader }
|
44
|
+
.not_to add_method(:age).to(decorator)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
context 'when passing override option as true' do
|
50
|
+
let(:options_hash) { { override: false } }
|
51
|
+
|
52
|
+
it do
|
53
|
+
expect { build_reader }
|
54
|
+
.to add_method(:age).to(decorator)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
context 'when method already existed' do
|
59
|
+
before do
|
60
|
+
decorator_class.define_method(:age) { 1 }
|
61
|
+
end
|
62
|
+
|
63
|
+
context 'when passing override option as true' do
|
64
|
+
let(:options_hash) { { override: true } }
|
65
|
+
|
66
|
+
it do
|
67
|
+
expect { build_reader }
|
68
|
+
.to change_method(:age).on(decorator)
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
context 'when passing override option as false' do
|
73
|
+
let(:options_hash) { { override: false } }
|
74
|
+
|
75
|
+
it do
|
76
|
+
expect { build_reader }
|
77
|
+
.not_to change_method(:age).on(decorator)
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
22
81
|
end
|
23
82
|
end
|
@@ -5,14 +5,16 @@ require 'spec_helper'
|
|
5
5
|
describe Azeroth::Decorator do
|
6
6
|
subject(:decorator) { DummyModel::Decorator.new(object) }
|
7
7
|
|
8
|
-
let(:model)
|
9
|
-
let(:object)
|
8
|
+
let(:model) { build(:dummy_model) }
|
9
|
+
let(:object) { model }
|
10
|
+
let(:instance) { decorator.new(object) }
|
10
11
|
|
11
12
|
describe '.expose' do
|
12
13
|
subject(:decorator) { Class.new(described_class) }
|
13
14
|
|
15
|
+
let(:options_hash) { {} }
|
14
16
|
let(:expected_options) do
|
15
|
-
Azeroth::Decorator::Options.new
|
17
|
+
Azeroth::Decorator::Options.new(options_hash)
|
16
18
|
end
|
17
19
|
|
18
20
|
it do
|
@@ -59,6 +61,97 @@ describe Azeroth::Decorator do
|
|
59
61
|
.and raise_error(Sinclair::Exception::InvalidOptions)
|
60
62
|
end
|
61
63
|
end
|
64
|
+
|
65
|
+
context 'when decorator already has the method' do
|
66
|
+
before do
|
67
|
+
decorator.define_method(:name) do
|
68
|
+
'some name'
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
context 'when not passing override' do
|
73
|
+
it do
|
74
|
+
expect { decorator.send(:expose, :name) }
|
75
|
+
.to change(decorator, :attributes_map)
|
76
|
+
.from({})
|
77
|
+
.to({ name: expected_options })
|
78
|
+
end
|
79
|
+
|
80
|
+
it do
|
81
|
+
expect { decorator.send(:expose, :name) }
|
82
|
+
.to change_method(:name)
|
83
|
+
.on(instance)
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
context 'when passing override as true' do
|
88
|
+
let(:options_hash) { { override: true } }
|
89
|
+
|
90
|
+
it do
|
91
|
+
expect { decorator.send(:expose, :name, **options_hash) }
|
92
|
+
.to change(decorator, :attributes_map)
|
93
|
+
.from({})
|
94
|
+
.to({ name: expected_options })
|
95
|
+
end
|
96
|
+
|
97
|
+
it do
|
98
|
+
expect { decorator.send(:expose, :name, **options_hash) }
|
99
|
+
.to change_method(:name)
|
100
|
+
.on(instance)
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
104
|
+
context 'when passing override as false' do
|
105
|
+
let(:options_hash) { { override: false } }
|
106
|
+
|
107
|
+
it do
|
108
|
+
expect { decorator.send(:expose, :name, **options_hash) }
|
109
|
+
.to change(decorator, :attributes_map)
|
110
|
+
.from({})
|
111
|
+
.to({ name: expected_options })
|
112
|
+
end
|
113
|
+
|
114
|
+
it do
|
115
|
+
expect { decorator.send(:expose, :name, **options_hash) }
|
116
|
+
.not_to change_method(:name)
|
117
|
+
.on(instance)
|
118
|
+
end
|
119
|
+
end
|
120
|
+
end
|
121
|
+
|
122
|
+
context 'when passing reader option' do
|
123
|
+
context 'when option is true' do
|
124
|
+
let(:options_hash) { { reader: true } }
|
125
|
+
|
126
|
+
it do
|
127
|
+
expect { decorator.send(:expose, :name, **options_hash) }
|
128
|
+
.to change(decorator, :attributes_map)
|
129
|
+
.from({})
|
130
|
+
.to({ name: expected_options })
|
131
|
+
end
|
132
|
+
|
133
|
+
it do
|
134
|
+
expect { decorator.send(:expose, :name, **options_hash) }
|
135
|
+
.to add_method(:name).to(decorator)
|
136
|
+
end
|
137
|
+
end
|
138
|
+
|
139
|
+
context 'when option is false' do
|
140
|
+
let(:options_hash) { { reader: false } }
|
141
|
+
|
142
|
+
it do
|
143
|
+
expect { decorator.send(:expose, :name, **options_hash) }
|
144
|
+
.to change(decorator, :attributes_map)
|
145
|
+
.from({})
|
146
|
+
.to({ name: expected_options })
|
147
|
+
end
|
148
|
+
|
149
|
+
it do
|
150
|
+
expect { decorator.send(:expose, :name, **options_hash) }
|
151
|
+
.not_to add_method(:name).to(decorator)
|
152
|
+
end
|
153
|
+
end
|
154
|
+
end
|
62
155
|
end
|
63
156
|
|
64
157
|
describe '#as_json' do
|
@@ -3,7 +3,9 @@
|
|
3
3
|
require 'spec_helper'
|
4
4
|
|
5
5
|
describe Azeroth::ParamsBuilder do
|
6
|
-
subject(:params_builder)
|
6
|
+
subject(:params_builder) do
|
7
|
+
described_class.new(model: model, builder: builder)
|
8
|
+
end
|
7
9
|
|
8
10
|
let(:model) { Azeroth::Model.new(:document, options) }
|
9
11
|
let(:options) { Azeroth::Options.new }
|
@@ -0,0 +1,133 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe Azeroth::RequestHandler::Pagination do
|
6
|
+
subject(:pagination) { described_class.new(params, options) }
|
7
|
+
|
8
|
+
let(:options) { Azeroth::Options.new(options_hash) }
|
9
|
+
let(:options_hash) { {} }
|
10
|
+
let(:params) { ActionController::Parameters.new(parameters) }
|
11
|
+
let(:parameters) { {} }
|
12
|
+
|
13
|
+
describe '#offset' do
|
14
|
+
context 'when nothing was defined' do
|
15
|
+
it do
|
16
|
+
expect(pagination.offset).to be_zero
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
context 'when parameters has page value' do
|
21
|
+
let(:parameters) { { page: page } }
|
22
|
+
let(:page) { Random.rand(1..10) }
|
23
|
+
let(:expected_offset) { (page - 1) * expected_per_page }
|
24
|
+
let(:expected_per_page) { 20 }
|
25
|
+
|
26
|
+
it 'returns value from request using default per_page' do
|
27
|
+
expect(pagination.offset).to eq(expected_offset)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
context 'when parameters has per_page value' do
|
32
|
+
let(:parameters) { { per_page: per_page } }
|
33
|
+
let(:per_page) { Random.rand(1..10) }
|
34
|
+
|
35
|
+
it do
|
36
|
+
expect(pagination.offset).to be_zero
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
context 'when parameters has page and per page values' do
|
41
|
+
let(:parameters) { { page: page, per_page: per_page } }
|
42
|
+
let(:page) { Random.rand(1..10) }
|
43
|
+
let(:per_page) { Random.rand(1..10) }
|
44
|
+
let(:expected_offset) { (page - 1) * expected_per_page }
|
45
|
+
let(:expected_per_page) { per_page }
|
46
|
+
|
47
|
+
it 'returns value from request' do
|
48
|
+
expect(pagination.offset).to eq(expected_offset)
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
context 'when parameters has page and options per page values' do
|
53
|
+
let(:parameters) { { page: page } }
|
54
|
+
let(:options_hash) { { per_page: per_page } }
|
55
|
+
let(:page) { Random.rand(1..10) }
|
56
|
+
let(:per_page) { Random.rand(1..10) }
|
57
|
+
let(:expected_offset) { (page - 1) * expected_per_page }
|
58
|
+
let(:expected_per_page) { per_page }
|
59
|
+
|
60
|
+
it 'returns value from request and options' do
|
61
|
+
expect(pagination.offset).to eq(expected_offset)
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
context 'when params has page and per_page and options per page values' do
|
66
|
+
let(:parameters) { { page: page, per_page: per_page } }
|
67
|
+
let(:options_hash) { { per_page: options_per_page } }
|
68
|
+
let(:page) { Random.rand(1..10) }
|
69
|
+
let(:options_per_page) { Random.rand(1..10) }
|
70
|
+
let(:per_page) { Random.rand(1..10) }
|
71
|
+
let(:expected_offset) { (page - 1) * expected_per_page }
|
72
|
+
let(:expected_per_page) { per_page }
|
73
|
+
|
74
|
+
it 'returns value from request' do
|
75
|
+
expect(pagination.offset).to eq(expected_offset)
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
describe '#limit' do
|
81
|
+
context 'when nothing was defined' do
|
82
|
+
it 'returns default value' do
|
83
|
+
expect(pagination.limit).to eq(20)
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
context 'when parameters has per_page' do
|
88
|
+
let(:parameters) { { per_page: per_page } }
|
89
|
+
let(:per_page) { Random.rand(1..10) }
|
90
|
+
|
91
|
+
it 'returns value from request' do
|
92
|
+
expect(pagination.limit).to eq(per_page)
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
context 'when options has per_page' do
|
97
|
+
let(:options_hash) { { per_page: per_page } }
|
98
|
+
let(:per_page) { Random.rand(1..10) }
|
99
|
+
|
100
|
+
it 'returns value from options' do
|
101
|
+
expect(pagination.limit).to eq(per_page)
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
context 'when params and options have per_page' do
|
106
|
+
let(:parameters) { { per_page: per_page } }
|
107
|
+
let(:per_page) { Random.rand(1..10) }
|
108
|
+
let(:options_hash) { { per_page: options_per_page } }
|
109
|
+
let(:options_per_page) { Random.rand(1..10) }
|
110
|
+
|
111
|
+
it 'returns value from request' do
|
112
|
+
expect(pagination.limit).to eq(per_page)
|
113
|
+
end
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
describe '#current_page' do
|
118
|
+
context 'when nothing was defined' do
|
119
|
+
it 'returns first page' do
|
120
|
+
expect(pagination.current_page).to eq(1)
|
121
|
+
end
|
122
|
+
end
|
123
|
+
|
124
|
+
context 'when parameters has page' do
|
125
|
+
let(:parameters) { { page: page } }
|
126
|
+
let(:page) { Random.rand(1..10) }
|
127
|
+
|
128
|
+
it 'returns value from request' do
|
129
|
+
expect(pagination.current_page).to eq(page)
|
130
|
+
end
|
131
|
+
end
|
132
|
+
end
|
133
|
+
end
|
@@ -3,7 +3,9 @@
|
|
3
3
|
require 'spec_helper'
|
4
4
|
|
5
5
|
describe Azeroth::ResourceBuilder do
|
6
|
-
subject(:resource_builder)
|
6
|
+
subject(:resource_builder) do
|
7
|
+
described_class.new(model: model, builder: builder)
|
8
|
+
end
|
7
9
|
|
8
10
|
let(:model) { Azeroth::Model.new(:document, options) }
|
9
11
|
let(:options) { Azeroth::Options.new }
|
@@ -4,7 +4,9 @@ require 'spec_helper'
|
|
4
4
|
|
5
5
|
describe Azeroth::RoutesBuilder do
|
6
6
|
subject(:routes_builder) do
|
7
|
-
described_class.new(
|
7
|
+
described_class.new(
|
8
|
+
model: model, builder: builder, options: options
|
9
|
+
)
|
8
10
|
end
|
9
11
|
|
10
12
|
let(:controller) { controller_class.new }
|
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:
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Darthjee
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-05-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 7.0.x
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 7.0.x
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: darthjee-active_ext
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -58,56 +58,56 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: 2.0.0
|
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:
|
68
|
+
version: 2.0.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: actionpack
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - '='
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: 7.0.4.3
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - '='
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
82
|
+
version: 7.0.4.3
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: activerecord
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - '='
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
89
|
+
version: 7.0.4.3
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - '='
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
96
|
+
version: 7.0.4.3
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: bundler
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: 2.
|
103
|
+
version: 2.4.8
|
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: 2.
|
110
|
+
version: 2.4.8
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: factory_bot
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -142,14 +142,14 @@ dependencies:
|
|
142
142
|
requirements:
|
143
143
|
- - '='
|
144
144
|
- !ruby/object:Gem::Version
|
145
|
-
version: 1.13.
|
145
|
+
version: 1.13.8
|
146
146
|
type: :development
|
147
147
|
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
150
|
- - '='
|
151
151
|
- !ruby/object:Gem::Version
|
152
|
-
version: 1.13.
|
152
|
+
version: 1.13.8
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
154
|
name: pry
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
@@ -184,14 +184,14 @@ dependencies:
|
|
184
184
|
requirements:
|
185
185
|
- - '='
|
186
186
|
- !ruby/object:Gem::Version
|
187
|
-
version:
|
187
|
+
version: 7.0.4.3
|
188
188
|
type: :development
|
189
189
|
prerelease: false
|
190
190
|
version_requirements: !ruby/object:Gem::Requirement
|
191
191
|
requirements:
|
192
192
|
- - '='
|
193
193
|
- !ruby/object:Gem::Version
|
194
|
-
version:
|
194
|
+
version: 7.0.4.3
|
195
195
|
- !ruby/object:Gem::Dependency
|
196
196
|
name: rails-controller-testing
|
197
197
|
requirement: !ruby/object:Gem::Requirement
|
@@ -402,6 +402,20 @@ dependencies:
|
|
402
402
|
- - '='
|
403
403
|
- !ruby/object:Gem::Version
|
404
404
|
version: 0.21.2
|
405
|
+
- !ruby/object:Gem::Dependency
|
406
|
+
name: sprockets-rails
|
407
|
+
requirement: !ruby/object:Gem::Requirement
|
408
|
+
requirements:
|
409
|
+
- - '='
|
410
|
+
- !ruby/object:Gem::Version
|
411
|
+
version: 3.4.2
|
412
|
+
type: :development
|
413
|
+
prerelease: false
|
414
|
+
version_requirements: !ruby/object:Gem::Requirement
|
415
|
+
requirements:
|
416
|
+
- - '='
|
417
|
+
- !ruby/object:Gem::Version
|
418
|
+
version: 3.4.2
|
405
419
|
- !ruby/object:Gem::Dependency
|
406
420
|
name: sqlite3
|
407
421
|
requirement: !ruby/object:Gem::Requirement
|
@@ -486,6 +500,7 @@ files:
|
|
486
500
|
- lib/azeroth.rb
|
487
501
|
- lib/azeroth/controller_interface.rb
|
488
502
|
- lib/azeroth/decorator.rb
|
503
|
+
- lib/azeroth/decorator/class_methods.rb
|
489
504
|
- lib/azeroth/decorator/hash_builder.rb
|
490
505
|
- lib/azeroth/decorator/key_value_extractor.rb
|
491
506
|
- lib/azeroth/decorator/method_builder.rb
|
@@ -500,6 +515,7 @@ files:
|
|
500
515
|
- lib/azeroth/request_handler/edit.rb
|
501
516
|
- lib/azeroth/request_handler/index.rb
|
502
517
|
- lib/azeroth/request_handler/new.rb
|
518
|
+
- lib/azeroth/request_handler/pagination.rb
|
503
519
|
- lib/azeroth/request_handler/show.rb
|
504
520
|
- lib/azeroth/request_handler/update.rb
|
505
521
|
- lib/azeroth/resource_builder.rb
|
@@ -564,6 +580,9 @@ files:
|
|
564
580
|
- spec/dummy/app/models/product/decorator_with_factory.rb
|
565
581
|
- spec/dummy/app/models/publisher.rb
|
566
582
|
- spec/dummy/app/models/user.rb
|
583
|
+
- spec/dummy/app/models/website.rb
|
584
|
+
- spec/dummy/app/models/website/decorator.rb
|
585
|
+
- spec/dummy/app/models/website/with_location.rb
|
567
586
|
- spec/dummy/app/views/documents/edit.html
|
568
587
|
- spec/dummy/app/views/documents/index.html
|
569
588
|
- spec/dummy/app/views/documents/new.html
|
@@ -634,6 +653,7 @@ files:
|
|
634
653
|
- spec/lib/azeroth/request_handler/edit_spec.rb
|
635
654
|
- spec/lib/azeroth/request_handler/index_spec.rb
|
636
655
|
- spec/lib/azeroth/request_handler/new_spec.rb
|
656
|
+
- spec/lib/azeroth/request_handler/pagination_spec.rb
|
637
657
|
- spec/lib/azeroth/request_handler/show_spec.rb
|
638
658
|
- spec/lib/azeroth/request_handler/update_spec.rb
|
639
659
|
- spec/lib/azeroth/request_handler_spec.rb
|
@@ -679,7 +699,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
679
699
|
- !ruby/object:Gem::Version
|
680
700
|
version: '0'
|
681
701
|
requirements: []
|
682
|
-
rubygems_version: 3.
|
702
|
+
rubygems_version: 3.1.2
|
683
703
|
signing_key:
|
684
704
|
specification_version: 4
|
685
705
|
summary: Azeroth
|
@@ -740,6 +760,9 @@ test_files:
|
|
740
760
|
- spec/dummy/app/models/product/decorator_with_factory.rb
|
741
761
|
- spec/dummy/app/models/publisher.rb
|
742
762
|
- spec/dummy/app/models/user.rb
|
763
|
+
- spec/dummy/app/models/website.rb
|
764
|
+
- spec/dummy/app/models/website/decorator.rb
|
765
|
+
- spec/dummy/app/models/website/with_location.rb
|
743
766
|
- spec/dummy/app/views/documents/edit.html
|
744
767
|
- spec/dummy/app/views/documents/index.html
|
745
768
|
- spec/dummy/app/views/documents/new.html
|
@@ -810,6 +833,7 @@ test_files:
|
|
810
833
|
- spec/lib/azeroth/request_handler/edit_spec.rb
|
811
834
|
- spec/lib/azeroth/request_handler/index_spec.rb
|
812
835
|
- spec/lib/azeroth/request_handler/new_spec.rb
|
836
|
+
- spec/lib/azeroth/request_handler/pagination_spec.rb
|
813
837
|
- spec/lib/azeroth/request_handler/show_spec.rb
|
814
838
|
- spec/lib/azeroth/request_handler/update_spec.rb
|
815
839
|
- spec/lib/azeroth/request_handler_spec.rb
|