restme 1.0.2 → 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/README.md +1 -1
- data/lib/restme/authorize/rules.rb +1 -1
- data/lib/restme/configuration.rb +20 -0
- data/lib/restme/create/rules.rb +1 -1
- data/lib/restme/restme.rb +2 -1
- data/lib/restme/scope/paginate/rules.rb +4 -8
- data/lib/restme/scope/rules.rb +1 -1
- data/lib/restme/shared/restme_current_user_role.rb +2 -2
- data/lib/restme/update/rules.rb +1 -1
- data/lib/restme/version.rb +1 -1
- data/lib/restme.rb +6 -0
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 852b2273c90c0c2eb2673bed5fe62a28df112f2eddd55287c415afff487647db
|
4
|
+
data.tar.gz: 746415d80a0fd053b9fb89e86f06116416c16c978727472475d6e22bf2c974ae
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 981cfa7a02a73c7024cab361704daf3151660abf062324ce3ad44ecf121083349272782a72df26349f58c0550d7f3b7287b71e03e2fdb8502e386267ef1b3464
|
7
|
+
data.tar.gz: a5d92fa8e80b2f1ff7fceee0c0e0c5d42067b4908d07e45fcf461ebcc6528559dec7b4422ba4c8ae42ab0f7c422482c08fdbe57425d4b0efed0f115975221fc7
|
data/README.md
CHANGED
@@ -8,7 +8,7 @@ module Restme
|
|
8
8
|
# Defines the rules used to authotize user
|
9
9
|
module Rules
|
10
10
|
include ::Restme::Shared::CurrentModel
|
11
|
-
include ::Restme::Shared::
|
11
|
+
include ::Restme::Shared::RestmeCurrentUserRole
|
12
12
|
|
13
13
|
def user_authorized?
|
14
14
|
return true if restme_current_user.blank? || authorize?
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Restme
|
4
|
+
# Defines the initialization configuration for restme gem
|
5
|
+
module Configuration
|
6
|
+
@current_user_variable = :current_user
|
7
|
+
@user_role_field = :role
|
8
|
+
@pagination_default_per_page = 12
|
9
|
+
@pagination_default_page = 1
|
10
|
+
@pagination_max_per_page = 100
|
11
|
+
|
12
|
+
class << self
|
13
|
+
attr_accessor :current_user_variable,
|
14
|
+
:user_role_field,
|
15
|
+
:pagination_default_per_page,
|
16
|
+
:pagination_default_page,
|
17
|
+
:pagination_max_per_page
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
data/lib/restme/create/rules.rb
CHANGED
data/lib/restme/restme.rb
CHANGED
@@ -5,16 +5,12 @@ module Restme
|
|
5
5
|
module Paginate
|
6
6
|
# Defines pagination rules
|
7
7
|
module Rules
|
8
|
-
DEFAULT_PER_PAGE = ENV.fetch("PAGINATION_DEFAULT_PER_PAGE", 12)
|
9
|
-
DEFAULT_PAGE = ENV.fetch("PAGINATION_DEFAULT_PAGE", 1)
|
10
|
-
MAX_PER_PAGE = ENV.fetch("PAGINATION_MAX_PER_PAGE", 100)
|
11
|
-
|
12
8
|
def paginable_scope(user_scope)
|
13
9
|
user_scope.limit(per_page).offset(paginate_offset)
|
14
10
|
end
|
15
11
|
|
16
12
|
def page_no
|
17
|
-
params[:page]&.to_i ||
|
13
|
+
params[:page]&.to_i || ::Restme::Configuration.pagination_default_page
|
18
14
|
end
|
19
15
|
|
20
16
|
def pages(user_scope)
|
@@ -26,7 +22,7 @@ module Restme
|
|
26
22
|
end
|
27
23
|
|
28
24
|
def per_page
|
29
|
-
params[:per_page]&.to_i ||
|
25
|
+
params[:per_page]&.to_i || ::Restme::Configuration.pagination_default_per_page
|
30
26
|
end
|
31
27
|
|
32
28
|
def paginate_offset
|
@@ -34,12 +30,12 @@ module Restme
|
|
34
30
|
end
|
35
31
|
|
36
32
|
def per_page_errors
|
37
|
-
return if per_page <=
|
33
|
+
return if per_page <= ::Restme::Configuration.pagination_max_per_page
|
38
34
|
|
39
35
|
restme_scope_errors(
|
40
36
|
{
|
41
37
|
message: "Invalid per page value",
|
42
|
-
body: { per_page_max_value:
|
38
|
+
body: { per_page_max_value: ::Restme::Configuration.pagination_max_per_page }
|
43
39
|
}
|
44
40
|
)
|
45
41
|
|
data/lib/restme/scope/rules.rb
CHANGED
@@ -20,7 +20,7 @@ module Restme
|
|
20
20
|
include ::Restme::Scope::Filter::Rules
|
21
21
|
include ::Restme::Shared::ControllerParams
|
22
22
|
include ::Restme::Shared::CurrentModel
|
23
|
-
include ::Restme::Shared::
|
23
|
+
include ::Restme::Shared::RestmeCurrentUserRole
|
24
24
|
|
25
25
|
attr_reader :filtered_scope, :sorted_scope, :paginated_scope, :fieldated_scope
|
26
26
|
attr_writer :restme_scope_errors, :restme_scope_status
|
@@ -3,9 +3,9 @@
|
|
3
3
|
module Restme
|
4
4
|
module Shared
|
5
5
|
# Returns the roles associated with the user, if any exist.
|
6
|
-
module
|
6
|
+
module RestmeCurrentUserRole
|
7
7
|
def restme_current_user_role
|
8
|
-
restme_current_user&.try(
|
8
|
+
restme_current_user&.try(::Restme::Configuration.user_role_field)
|
9
9
|
end
|
10
10
|
end
|
11
11
|
end
|
data/lib/restme/update/rules.rb
CHANGED
data/lib/restme/version.rb
CHANGED
data/lib/restme.rb
CHANGED
@@ -1,9 +1,15 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require_relative "restme/version"
|
4
|
+
require_relative "restme/configuration"
|
4
5
|
require_relative "restme/restme"
|
5
6
|
|
7
|
+
# Restme gem
|
6
8
|
module Restme
|
7
9
|
class Error < StandardError; end
|
8
10
|
# Your code goes here...
|
11
|
+
|
12
|
+
def self.configure
|
13
|
+
yield(Configuration)
|
14
|
+
end
|
9
15
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: restme
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- everson-ever
|
@@ -28,6 +28,7 @@ files:
|
|
28
28
|
- docker-compose.yml
|
29
29
|
- lib/restme.rb
|
30
30
|
- lib/restme/authorize/rules.rb
|
31
|
+
- lib/restme/configuration.rb
|
31
32
|
- lib/restme/create/rules.rb
|
32
33
|
- lib/restme/restme.rb
|
33
34
|
- lib/restme/scope/field/attachable.rb
|