shamu 0.0.13 → 0.0.14
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +55 -20
- data/Gemfile +3 -3
- data/Gemfile.lock +13 -11
- data/circle.yml +1 -1
- data/lib/shamu/attributes/assignment.rb +44 -5
- data/lib/shamu/attributes/camel_case.rb +21 -0
- data/lib/shamu/attributes/validation.rb +13 -1
- data/lib/shamu/attributes/validators/valid_validator.rb +14 -0
- data/lib/shamu/attributes/validators.rb +7 -0
- data/lib/shamu/attributes.rb +13 -8
- data/lib/shamu/auditing/auditing_service.rb +1 -5
- data/lib/shamu/auditing/support.rb +14 -2
- data/lib/shamu/entities/active_record.rb +16 -2
- data/lib/shamu/entities/active_record_soft_destroy.rb +7 -3
- data/lib/shamu/entities/entity.rb +1 -1
- data/lib/shamu/entities/entity_lookup_service.rb +137 -0
- data/lib/shamu/entities/entity_path.rb +6 -9
- data/lib/shamu/entities/list.rb +8 -2
- data/lib/shamu/entities/list_scope/paging.rb +3 -3
- data/lib/shamu/entities/list_scope/sorting.rb +21 -2
- data/lib/shamu/entities/list_scope/window_paging.rb +96 -0
- data/lib/shamu/entities/list_scope.rb +2 -2
- data/lib/shamu/entities/opaque_entity_lookup_service.rb +59 -0
- data/lib/shamu/entities/opaque_id.rb +54 -0
- data/lib/shamu/entities/paged_list.rb +137 -0
- data/lib/shamu/entities.rb +5 -1
- data/lib/shamu/events/active_record/service.rb +1 -2
- data/lib/shamu/events/in_memory/service.rb +1 -2
- data/lib/shamu/features/conditions/percentage.rb +3 -3
- data/lib/shamu/features/features_service.rb +2 -2
- data/lib/shamu/features/toggle.rb +2 -3
- data/lib/shamu/json_api/context.rb +0 -1
- data/lib/shamu/json_api/rails/controller.rb +0 -2
- data/lib/shamu/rails/controller.rb +0 -1
- data/lib/shamu/rails/entity.rb +1 -1
- data/lib/shamu/security/policy.rb +1 -2
- data/lib/shamu/services/active_record.rb +16 -0
- data/lib/shamu/services/active_record_crud.rb +32 -22
- data/lib/shamu/services/lazy_transform.rb +31 -0
- data/lib/shamu/services/request_support.rb +3 -2
- data/lib/shamu/services/service.rb +11 -3
- data/lib/shamu/to_model_id_extension.rb +2 -1
- data/lib/shamu/version.rb +2 -1
- data/shamu.gemspec +2 -1
- data/spec/lib/shamu/active_record_support.rb +6 -0
- data/spec/lib/shamu/attributes/assignment_spec.rb +69 -5
- data/spec/lib/shamu/attributes/camel_case_spec.rb +33 -0
- data/spec/lib/shamu/attributes/validation_spec.rb +9 -1
- data/spec/lib/shamu/attributes_spec.rb +4 -0
- data/spec/lib/shamu/entities/active_record_spec.rb +27 -0
- data/spec/lib/shamu/entities/entity_lookup_models.rb +11 -0
- data/spec/lib/shamu/entities/entity_lookup_service_spec.rb +77 -0
- data/spec/lib/shamu/entities/entity_path_spec.rb +3 -4
- data/spec/lib/shamu/entities/list_scope/paging_spec.rb +7 -3
- data/spec/lib/shamu/entities/list_scope/sorting_spec.rb +1 -7
- data/spec/lib/shamu/entities/opaque_entity_lookup_service_spec.rb +39 -0
- data/spec/lib/shamu/entities/opaque_id_spec.rb +30 -0
- data/spec/lib/shamu/entities/paged_list_spec.rb +170 -0
- data/spec/lib/shamu/services/active_record_crud_spec.rb +10 -1
- data/spec/lib/shamu/services/lazy_transform_spec.rb +14 -0
- data/spec/lib/shamu/to_model_id_extension_spec.rb +5 -1
- data/spec/support/active_record.rb +1 -1
- metadata +24 -4
@@ -7,7 +7,6 @@ module EntityPathSpec
|
|
7
7
|
end
|
8
8
|
|
9
9
|
describe Shamu::Entities::EntityPath do
|
10
|
-
include Shamu::Entities::EntityPath
|
11
10
|
|
12
11
|
{
|
13
12
|
"User[45]/Calendar[567]/Event[1]" => [
|
@@ -19,7 +18,7 @@ describe Shamu::Entities::EntityPath do
|
|
19
18
|
"EntityPathSpec::Example[91]" => [ [ "EntityPathSpec::Example", "91" ] ]
|
20
19
|
}.each do |path, entities|
|
21
20
|
it "decompose #{ path } to #{ entities }" do
|
22
|
-
expect( decompose_entity_path( path ) ).to eq entities
|
21
|
+
expect( Shamu::Entities::EntityPath.decompose_entity_path( path ) ).to eq entities
|
23
22
|
end
|
24
23
|
end
|
25
24
|
|
@@ -34,7 +33,7 @@ describe Shamu::Entities::EntityPath do
|
|
34
33
|
"EntityPathSpec::Example[91]" => [ EntityPathSpec::ExampleEntity.new( id: 91 ) ]
|
35
34
|
}.each do |path, entities|
|
36
35
|
it "composes #{ entities } to #{ path }" do
|
37
|
-
expect( compose_entity_path( entities ) ).to eq path
|
36
|
+
expect( Shamu::Entities::EntityPath.compose_entity_path( entities ) ).to eq path
|
38
37
|
end
|
39
38
|
end
|
40
|
-
end
|
39
|
+
end
|
@@ -21,11 +21,15 @@ describe Shamu::Entities::ListScope::Paging do
|
|
21
21
|
end
|
22
22
|
|
23
23
|
it "uses default_per_page if not per_page set" do
|
24
|
-
|
24
|
+
scope = klass.new
|
25
|
+
scope.default_per_page = 25
|
26
|
+
expect( scope.per_page ).to eq 25
|
25
27
|
end
|
26
28
|
|
27
29
|
it "includes paging values in to_param" do
|
28
|
-
|
30
|
+
scope = klass.new
|
31
|
+
scope.default_per_page = 25
|
32
|
+
expect( scope.params ).to eq page: nil, per_page: 25
|
29
33
|
end
|
30
34
|
|
31
35
|
it "should not be paged if using defaults" do
|
@@ -38,4 +42,4 @@ describe Shamu::Entities::ListScope::Paging do
|
|
38
42
|
expect( scope.paged? ).to be_truthy
|
39
43
|
end
|
40
44
|
|
41
|
-
end
|
45
|
+
end
|
@@ -18,12 +18,6 @@ describe Shamu::Entities::ListScope::Paging do
|
|
18
18
|
expect( scope.sort_by ).to eq first_name: :asc, last_name: :asc
|
19
19
|
end
|
20
20
|
|
21
|
-
it "parses array of args to fluid_assignment" do
|
22
|
-
scope = klass.new
|
23
|
-
scope.sort_by :first_name, :last_name
|
24
|
-
expect( scope.sort_by ).to eq first_name: :asc, last_name: :asc
|
25
|
-
end
|
26
|
-
|
27
21
|
it "parses array via assignment" do
|
28
22
|
scope = klass.new
|
29
23
|
scope.sort_by = [ :first_name, :last_name ]
|
@@ -56,4 +50,4 @@ describe Shamu::Entities::ListScope::Paging do
|
|
56
50
|
it "is sorted when asked" do
|
57
51
|
expect( klass.new( sort_by: :name ).sorted? ).to be_truthy
|
58
52
|
end
|
59
|
-
end
|
53
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
require_relative "entity_lookup_models"
|
3
|
+
|
4
|
+
describe Shamu::Entities::OpaqueEntityLookupService do
|
5
|
+
let( :service ) { scorpion.new Shamu::Entities::OpaqueEntityLookupService }
|
6
|
+
|
7
|
+
describe "#ids" do
|
8
|
+
it "obfuscates the ids" do
|
9
|
+
entity = EntityLookupServiceSpecs::ExampleEntity.new( id: 5 )
|
10
|
+
expect( service.ids( entity ) ).not_to include( match( /EntityLookupServiceSpecs/ ) )
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
describe "#record_ids" do
|
15
|
+
it "gets the original record id" do
|
16
|
+
entity = EntityLookupServiceSpecs::ExampleEntity.new( id: 5 )
|
17
|
+
id = service.ids( entity ).first
|
18
|
+
|
19
|
+
expect( service.record_ids( id ).first ).to eq( 5 )
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
describe "#lookup" do
|
24
|
+
let( :examples_service ) { double( EntityLookupServiceSpecs::ExamplesService ) }
|
25
|
+
|
26
|
+
before( :each ) do
|
27
|
+
allow( service.scorpion ).to receive( :fetch )
|
28
|
+
.with( EntityLookupServiceSpecs::ExamplesService )
|
29
|
+
.and_return( examples_service )
|
30
|
+
end
|
31
|
+
|
32
|
+
it "finds an entity" do
|
33
|
+
expect( examples_service ).to receive( :lookup ).with( "4" ).and_return [ "Found" ]
|
34
|
+
id = service.ids( "EntityLookupServiceSpecs::Example[4]" ).first
|
35
|
+
|
36
|
+
expect( service.lookup( id ).to_a ).to eq [ "Found" ]
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe Shamu::Entities::OpaqueId do
|
4
|
+
|
5
|
+
describe ".to_model_id" do
|
6
|
+
it "gets the encoded id for a valid opaque id" do
|
7
|
+
# Patients::Patient[1]
|
8
|
+
expect( Shamu::Entities::OpaqueId.to_model_id( "::UGF0aWVudHM6OlBhdGllbnRbMV0=" ) ).to eq 1
|
9
|
+
end
|
10
|
+
|
11
|
+
it "is int for raw ids" do
|
12
|
+
expect( Shamu::Entities::OpaqueId.to_model_id( "23" ) ).to eq 23
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
describe ".opaque_id?" do
|
17
|
+
it "recognizes encoded ids" do
|
18
|
+
expect( Shamu::Entities::OpaqueId.opaque_id?( "::UGF0aWVudHM6OlBhdGllbnRbMV0=" ) ).to be_truthy
|
19
|
+
end
|
20
|
+
|
21
|
+
it "does not recognize raw numbers" do
|
22
|
+
expect( Shamu::Entities::OpaqueId.opaque_id?( "123" ) ).to be_falsy
|
23
|
+
end
|
24
|
+
|
25
|
+
it "does not recognize base64 encoded" do
|
26
|
+
expect( Shamu::Entities::OpaqueId.opaque_id?( "UGF0aWVudHM6OlBhdGllbnRbMV0=" ) ).to be_falsy
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
@@ -0,0 +1,170 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
require "active_record"
|
3
|
+
require "lib/shamu/active_record_support"
|
4
|
+
|
5
|
+
module PagedListSpec
|
6
|
+
class Scope < ::ActiveRecordSpec::FavoriteScope
|
7
|
+
include Shamu::Entities::ListScope::Paging
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
describe Shamu::Entities::PagedList do
|
12
|
+
use_active_record
|
13
|
+
|
14
|
+
let( :relation ) do
|
15
|
+
scope = PagedListSpec::Scope.new( per_page: 10 )
|
16
|
+
ActiveRecordSpec::Favorite.by_list_scope( scope )
|
17
|
+
end
|
18
|
+
|
19
|
+
let( :transform ) do
|
20
|
+
Shamu::Services::LazyTransform.new( relation ) do |records|
|
21
|
+
records.map do |record|
|
22
|
+
ActiveRecordSpec::FavoriteEntity.new( record: record )
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
describe "#total_count" do
|
28
|
+
it "delegates to underlying relation" do
|
29
|
+
list = Shamu::Entities::PagedList.new( transform )
|
30
|
+
|
31
|
+
expect( relation ).to receive( :total_count )
|
32
|
+
list.total_count
|
33
|
+
end
|
34
|
+
|
35
|
+
it "uses absolute value" do
|
36
|
+
list = Shamu::Entities::PagedList.new( transform, total_count: 23 )
|
37
|
+
|
38
|
+
expect( list.total_count ).to eq 23
|
39
|
+
end
|
40
|
+
|
41
|
+
it "invokes block" do
|
42
|
+
expect do |b|
|
43
|
+
list = Shamu::Entities::PagedList.new( transform, total_count: b.to_proc )
|
44
|
+
list.total_count
|
45
|
+
end.to yield_control
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
describe "#limit" do
|
50
|
+
|
51
|
+
it "delegates to underlying relation" do
|
52
|
+
list = Shamu::Entities::PagedList.new( transform )
|
53
|
+
|
54
|
+
expect( relation ).to receive( :limit_value )
|
55
|
+
list.limit
|
56
|
+
end
|
57
|
+
|
58
|
+
it "uses absolute value" do
|
59
|
+
list = Shamu::Entities::PagedList.new( transform, limit: 23 )
|
60
|
+
|
61
|
+
expect( list.limit ).to eq 23
|
62
|
+
end
|
63
|
+
|
64
|
+
it "invokes block" do
|
65
|
+
expect do |b|
|
66
|
+
list = Shamu::Entities::PagedList.new( transform, limit: b.to_proc )
|
67
|
+
list.limit
|
68
|
+
end.to yield_control
|
69
|
+
end
|
70
|
+
|
71
|
+
end
|
72
|
+
|
73
|
+
describe "#offset" do
|
74
|
+
|
75
|
+
it "delegates to underlying relation" do
|
76
|
+
list = Shamu::Entities::PagedList.new( transform )
|
77
|
+
|
78
|
+
expect( relation ).to receive( :offset_value )
|
79
|
+
list.offset
|
80
|
+
end
|
81
|
+
|
82
|
+
it "uses absolute value" do
|
83
|
+
list = Shamu::Entities::PagedList.new( transform, offset: 23 )
|
84
|
+
|
85
|
+
expect( list.offset ).to eq 23
|
86
|
+
end
|
87
|
+
|
88
|
+
it "invokes block" do
|
89
|
+
expect do |b|
|
90
|
+
list = Shamu::Entities::PagedList.new( transform, offset: b.to_proc )
|
91
|
+
list.offset
|
92
|
+
end.to yield_control
|
93
|
+
end
|
94
|
+
|
95
|
+
end
|
96
|
+
|
97
|
+
describe "#next?" do
|
98
|
+
|
99
|
+
it "delegates to underlying relation has_next?" do
|
100
|
+
list = Shamu::Entities::PagedList.new( transform )
|
101
|
+
|
102
|
+
expect( relation ).to receive( :has_next? )
|
103
|
+
list.next?
|
104
|
+
end
|
105
|
+
|
106
|
+
it "delegates to underlying relation last_page?" do
|
107
|
+
list = Shamu::Entities::PagedList.new( transform )
|
108
|
+
|
109
|
+
expect( relation ).to receive( :last_page? )
|
110
|
+
list.next?
|
111
|
+
end
|
112
|
+
|
113
|
+
it "uses absolute value" do
|
114
|
+
list = Shamu::Entities::PagedList.new( transform, has_next: true )
|
115
|
+
|
116
|
+
expect( list.next? ).to be_truthy
|
117
|
+
end
|
118
|
+
|
119
|
+
it "invokes block" do
|
120
|
+
expect do |b|
|
121
|
+
list = Shamu::Entities::PagedList.new( transform, has_next: b.to_proc )
|
122
|
+
list.next?
|
123
|
+
end.to yield_control
|
124
|
+
end
|
125
|
+
|
126
|
+
end
|
127
|
+
|
128
|
+
describe "#previous?" do
|
129
|
+
|
130
|
+
it "delegates to underlying relation has_previous?" do
|
131
|
+
list = Shamu::Entities::PagedList.new( transform )
|
132
|
+
|
133
|
+
expect( relation ).to receive( :has_previous? )
|
134
|
+
list.previous?
|
135
|
+
end
|
136
|
+
|
137
|
+
it "delegates to underlying relation last_page?" do
|
138
|
+
list = Shamu::Entities::PagedList.new( transform )
|
139
|
+
|
140
|
+
expect( relation ).to receive( :first_page? )
|
141
|
+
list.previous?
|
142
|
+
end
|
143
|
+
|
144
|
+
it "uses absolute value" do
|
145
|
+
list = Shamu::Entities::PagedList.new( transform, has_previous: true )
|
146
|
+
|
147
|
+
expect( list.previous? ).to be_truthy
|
148
|
+
end
|
149
|
+
|
150
|
+
it "invokes block" do
|
151
|
+
expect do |b|
|
152
|
+
list = Shamu::Entities::PagedList.new( transform, has_previous: b.to_proc )
|
153
|
+
list.previous?
|
154
|
+
end.to yield_control
|
155
|
+
end
|
156
|
+
|
157
|
+
end
|
158
|
+
|
159
|
+
describe "current_page" do
|
160
|
+
it "calculates page" do
|
161
|
+
list = Shamu::Entities::PagedList.new( transform, limit: 5, offset: 15 )
|
162
|
+
expect( list.current_page ).to eq 4
|
163
|
+
end
|
164
|
+
|
165
|
+
it "calculates page with padding" do
|
166
|
+
list = Shamu::Entities::PagedList.new( transform, limit: 5, offset: 16 )
|
167
|
+
expect( list.current_page ).to eq 4
|
168
|
+
end
|
169
|
+
end
|
170
|
+
end
|
@@ -23,6 +23,10 @@ module ActiveRecordCrudSpec
|
|
23
23
|
attribute :id
|
24
24
|
end
|
25
25
|
|
26
|
+
class Destroy < Change
|
27
|
+
attribute :id
|
28
|
+
end
|
29
|
+
|
26
30
|
end
|
27
31
|
|
28
32
|
class Service < Shamu::Services::Service
|
@@ -189,6 +193,11 @@ describe Shamu::Services::ActiveRecordCrud do
|
|
189
193
|
service.update entity, request
|
190
194
|
end
|
191
195
|
|
196
|
+
it "backfills missing attributes" do
|
197
|
+
expect( request ).to receive( :assign_attributes ).with( hash_including( label: "Books" ) )
|
198
|
+
service.update entity, request
|
199
|
+
end
|
200
|
+
|
192
201
|
it "calls apply_changes if present" do
|
193
202
|
expect( service ).to receive( :apply_changes )
|
194
203
|
.with(
|
@@ -425,7 +434,7 @@ describe Shamu::Services::ActiveRecordCrud do
|
|
425
434
|
|
426
435
|
it "destroys the record" do
|
427
436
|
expect do
|
428
|
-
service.destroy entity
|
437
|
+
service.destroy( entity ).valid!
|
429
438
|
end.to change( ActiveRecordSpec::Favorite, :count ).by( -1 )
|
430
439
|
end
|
431
440
|
|
@@ -47,6 +47,20 @@ describe Shamu::Services::LazyTransform do
|
|
47
47
|
end.to yield_control.exactly(3)
|
48
48
|
end
|
49
49
|
|
50
|
+
it "short-circuits last" do
|
51
|
+
expect do |block|
|
52
|
+
transformed = Shamu::Services::LazyTransform.new( source, &transformer( &block ) )
|
53
|
+
transformed.last
|
54
|
+
end.to yield_control.once
|
55
|
+
end
|
56
|
+
|
57
|
+
it "doesn't short-circuit last(n)" do
|
58
|
+
expect do |block|
|
59
|
+
transformed = Shamu::Services::LazyTransform.new( source, &transformer( &block ) )
|
60
|
+
transformed.last( 2 )
|
61
|
+
end.to yield_control.exactly(3)
|
62
|
+
end
|
63
|
+
|
50
64
|
it "short-circuits empty?" do
|
51
65
|
expect do |block|
|
52
66
|
transformed = Shamu::Services::LazyTransform.new( source, &transformer( &block ) )
|
@@ -23,6 +23,10 @@ describe Shamu::ToModelIdExtension do
|
|
23
23
|
it "returns self for an integer" do
|
24
24
|
expect( 789.to_model_id ).to eq 789
|
25
25
|
end
|
26
|
+
|
27
|
+
it "returns nil for nil" do
|
28
|
+
expect( nil.to_model_id ).to eq nil
|
29
|
+
end
|
26
30
|
end
|
27
31
|
|
28
32
|
describe Shamu::ToModelIdExtension::Enumerables do
|
@@ -51,4 +55,4 @@ describe Shamu::ToModelIdExtension do
|
|
51
55
|
end
|
52
56
|
end
|
53
57
|
|
54
|
-
end
|
58
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shamu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Paul Alexander
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-05
|
11
|
+
date: 2017-06-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemodel
|
@@ -58,14 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 1.11
|
61
|
+
version: '1.11'
|
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: 1.11
|
68
|
+
version: '1.11'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rack
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -230,10 +230,13 @@ files:
|
|
230
230
|
- lib/shamu/attributes.rb
|
231
231
|
- lib/shamu/attributes/README.md
|
232
232
|
- lib/shamu/attributes/assignment.rb
|
233
|
+
- lib/shamu/attributes/camel_case.rb
|
233
234
|
- lib/shamu/attributes/equality.rb
|
234
235
|
- lib/shamu/attributes/fluid_assignment.rb
|
235
236
|
- lib/shamu/attributes/html_sanitation.rb
|
236
237
|
- lib/shamu/attributes/validation.rb
|
238
|
+
- lib/shamu/attributes/validators.rb
|
239
|
+
- lib/shamu/attributes/validators/valid_validator.rb
|
237
240
|
- lib/shamu/auditing.rb
|
238
241
|
- lib/shamu/auditing/README.md
|
239
242
|
- lib/shamu/auditing/audit_record.rb
|
@@ -247,6 +250,7 @@ files:
|
|
247
250
|
- lib/shamu/entities/active_record.rb
|
248
251
|
- lib/shamu/entities/active_record_soft_destroy.rb
|
249
252
|
- lib/shamu/entities/entity.rb
|
253
|
+
- lib/shamu/entities/entity_lookup_service.rb
|
250
254
|
- lib/shamu/entities/entity_path.rb
|
251
255
|
- lib/shamu/entities/html_sanitation.rb
|
252
256
|
- lib/shamu/entities/identity_cache.rb
|
@@ -256,7 +260,11 @@ files:
|
|
256
260
|
- lib/shamu/entities/list_scope/paging.rb
|
257
261
|
- lib/shamu/entities/list_scope/scoped_paging.rb
|
258
262
|
- lib/shamu/entities/list_scope/sorting.rb
|
263
|
+
- lib/shamu/entities/list_scope/window_paging.rb
|
259
264
|
- lib/shamu/entities/null_entity.rb
|
265
|
+
- lib/shamu/entities/opaque_entity_lookup_service.rb
|
266
|
+
- lib/shamu/entities/opaque_id.rb
|
267
|
+
- lib/shamu/entities/paged_list.rb
|
260
268
|
- lib/shamu/error.rb
|
261
269
|
- lib/shamu/events.rb
|
262
270
|
- lib/shamu/events/README.md
|
@@ -370,6 +378,7 @@ files:
|
|
370
378
|
- spec/internal/public/favicon.ico
|
371
379
|
- spec/lib/shamu/active_record_support.rb
|
372
380
|
- spec/lib/shamu/attributes/assignment_spec.rb
|
381
|
+
- spec/lib/shamu/attributes/camel_case_spec.rb
|
373
382
|
- spec/lib/shamu/attributes/equality_spec.rb
|
374
383
|
- spec/lib/shamu/attributes/fluid_assignment_spec.rb
|
375
384
|
- spec/lib/shamu/attributes/html_sanitation_spec.rb
|
@@ -379,6 +388,8 @@ files:
|
|
379
388
|
- spec/lib/shamu/auditing/support_spec.rb
|
380
389
|
- spec/lib/shamu/entities/active_record_soft_destroy_spec.rb
|
381
390
|
- spec/lib/shamu/entities/active_record_spec.rb
|
391
|
+
- spec/lib/shamu/entities/entity_lookup_models.rb
|
392
|
+
- spec/lib/shamu/entities/entity_lookup_service_spec.rb
|
382
393
|
- spec/lib/shamu/entities/entity_path_spec.rb
|
383
394
|
- spec/lib/shamu/entities/entity_spec.rb
|
384
395
|
- spec/lib/shamu/entities/html_sanitation_spec.rb
|
@@ -390,6 +401,9 @@ files:
|
|
390
401
|
- spec/lib/shamu/entities/list_scope_spec.rb
|
391
402
|
- spec/lib/shamu/entities/list_spec.rb
|
392
403
|
- spec/lib/shamu/entities/null_entity_spec.rb
|
404
|
+
- spec/lib/shamu/entities/opaque_entity_lookup_service_spec.rb
|
405
|
+
- spec/lib/shamu/entities/opaque_id_spec.rb
|
406
|
+
- spec/lib/shamu/entities/paged_list_spec.rb
|
393
407
|
- spec/lib/shamu/events/active_record/migration_spec.rb
|
394
408
|
- spec/lib/shamu/events/active_record/service_spec.rb
|
395
409
|
- spec/lib/shamu/events/events_service_spec.rb
|
@@ -486,6 +500,7 @@ test_files:
|
|
486
500
|
- spec/internal/public/favicon.ico
|
487
501
|
- spec/lib/shamu/active_record_support.rb
|
488
502
|
- spec/lib/shamu/attributes/assignment_spec.rb
|
503
|
+
- spec/lib/shamu/attributes/camel_case_spec.rb
|
489
504
|
- spec/lib/shamu/attributes/equality_spec.rb
|
490
505
|
- spec/lib/shamu/attributes/fluid_assignment_spec.rb
|
491
506
|
- spec/lib/shamu/attributes/html_sanitation_spec.rb
|
@@ -495,6 +510,8 @@ test_files:
|
|
495
510
|
- spec/lib/shamu/auditing/support_spec.rb
|
496
511
|
- spec/lib/shamu/entities/active_record_soft_destroy_spec.rb
|
497
512
|
- spec/lib/shamu/entities/active_record_spec.rb
|
513
|
+
- spec/lib/shamu/entities/entity_lookup_models.rb
|
514
|
+
- spec/lib/shamu/entities/entity_lookup_service_spec.rb
|
498
515
|
- spec/lib/shamu/entities/entity_path_spec.rb
|
499
516
|
- spec/lib/shamu/entities/entity_spec.rb
|
500
517
|
- spec/lib/shamu/entities/html_sanitation_spec.rb
|
@@ -506,6 +523,9 @@ test_files:
|
|
506
523
|
- spec/lib/shamu/entities/list_scope_spec.rb
|
507
524
|
- spec/lib/shamu/entities/list_spec.rb
|
508
525
|
- spec/lib/shamu/entities/null_entity_spec.rb
|
526
|
+
- spec/lib/shamu/entities/opaque_entity_lookup_service_spec.rb
|
527
|
+
- spec/lib/shamu/entities/opaque_id_spec.rb
|
528
|
+
- spec/lib/shamu/entities/paged_list_spec.rb
|
509
529
|
- spec/lib/shamu/events/active_record/migration_spec.rb
|
510
530
|
- spec/lib/shamu/events/active_record/service_spec.rb
|
511
531
|
- spec/lib/shamu/events/events_service_spec.rb
|