shamu 0.0.13 → 0.0.14
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/.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
|