pages_core 3.8.3 → 3.9.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/Rakefile +4 -4
- data/app/models/role.rb +6 -16
- data/lib/pages_core/cache_sweeper.rb +0 -9
- data/lib/pages_core/configuration/base.rb +3 -1
- data/lib/pages_core/pub_sub.rb +1 -2
- metadata +17 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e2692e584d5de6e4afb27ab99239182658ab625bbfa210a36e66ceabda3e0be2
|
4
|
+
data.tar.gz: a56a734875e5727c9b078f596543aea3907be51f35f4952583849ff88f26e5a0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ba7516de39aec3fcff0011afd6a18b25ba03e551447d5c42b7c34ab15c26cdefeb2ff5bf5338af081f445b92583e35ad639cb1a96b0515bbf351b1c70329c4f9
|
7
|
+
data.tar.gz: c4cd9ecf532d80e6253d0e05fc79c839fd5b4c29d825cae830339690e1e3cd6b9a779850711cf15b32fdfc0f1dd5bc9ec77607ee8da5278a48fd7ced6a4a201f
|
data/Rakefile
CHANGED
@@ -22,22 +22,22 @@ def write_version(version)
|
|
22
22
|
end
|
23
23
|
|
24
24
|
desc "Increment to next patch version"
|
25
|
-
task "version:patch" do
|
25
|
+
task "version:patch" => :environment do
|
26
26
|
write_version(current_version.patch!)
|
27
27
|
end
|
28
28
|
|
29
29
|
desc "Increment to next minor version"
|
30
|
-
task "version:minor" do
|
30
|
+
task "version:minor" => :environment do
|
31
31
|
write_version(current_version.minor!)
|
32
32
|
end
|
33
33
|
|
34
34
|
desc "Increment to next major version"
|
35
|
-
task "version:major" do
|
35
|
+
task "version:major" => :environment do
|
36
36
|
write_version(current_version.major!)
|
37
37
|
end
|
38
38
|
|
39
39
|
desc "Push NPM package"
|
40
|
-
task "release:npm" do
|
40
|
+
task "release:npm" => :environment do
|
41
41
|
system("npm publish --access public")
|
42
42
|
end
|
43
43
|
|
data/app/models/role.rb
CHANGED
@@ -7,17 +7,15 @@ class Role < ApplicationRecord
|
|
7
7
|
uniqueness: { scope: :user_id },
|
8
8
|
inclusion: { in: proc { Role.roles.map(&:name) } }
|
9
9
|
|
10
|
+
RoleDefinition = Struct.new(:name, :description, :default)
|
11
|
+
|
10
12
|
class << self
|
11
13
|
def define(name, description, default: false)
|
12
14
|
if roles.map(&:name).include?(name.to_s)
|
13
15
|
raise ArgumentError, "Tried to define role :#{role}, " \
|
14
16
|
"but a role by that name already exists"
|
15
17
|
else
|
16
|
-
roles <<
|
17
|
-
name: name.to_s,
|
18
|
-
description: description,
|
19
|
-
default: default
|
20
|
-
)
|
18
|
+
roles << RoleDefinition.new(name.to_s, description, default)
|
21
19
|
end
|
22
20
|
end
|
23
21
|
|
@@ -39,21 +37,13 @@ class Role < ApplicationRecord
|
|
39
37
|
return [] unless File.exist?(config_file)
|
40
38
|
|
41
39
|
YAML.load_file(config_file).map do |key, opts|
|
42
|
-
|
43
|
-
description: opts["description"],
|
44
|
-
default: opts["default"])
|
40
|
+
RoleDefinition.new(key.to_s, opts["description"], opts["default"])
|
45
41
|
end
|
46
42
|
end
|
47
43
|
|
48
44
|
def default_roles
|
49
|
-
[
|
50
|
-
|
51
|
-
name: "users", description: "Can manage users", default: false
|
52
|
-
),
|
53
|
-
OpenStruct.new(
|
54
|
-
name: "pages", description: "Can manage pages", default: true
|
55
|
-
)
|
56
|
-
]
|
45
|
+
[RoleDefinition.new("users", "Can manage users", false),
|
46
|
+
RoleDefinition.new("pages", "Can manage pages", true)]
|
57
47
|
end
|
58
48
|
end
|
59
49
|
|
@@ -16,15 +16,6 @@ module PagesCore
|
|
16
16
|
disable(&block)
|
17
17
|
PagesCore::StaticCache.handler.sweep!
|
18
18
|
end
|
19
|
-
|
20
|
-
def config
|
21
|
-
ActiveSupport::Deprecation.warn(
|
22
|
-
"PagesCore::CacheSweeper.config is no longer used."
|
23
|
-
)
|
24
|
-
configuration = OpenStruct.new(patterns: [])
|
25
|
-
yield configuration if block_given?
|
26
|
-
configuration
|
27
|
-
end
|
28
19
|
end
|
29
20
|
|
30
21
|
self.enabled ||= true
|
@@ -5,12 +5,14 @@ module PagesCore
|
|
5
5
|
class Base
|
6
6
|
class InvalidConfigurationKey < StandardError; end
|
7
7
|
|
8
|
+
SettingStruct = Struct.new(:type, :default)
|
9
|
+
|
8
10
|
def self.settings
|
9
11
|
@settings ||= {}
|
10
12
|
end
|
11
13
|
|
12
14
|
def self.setting(key, type, default = nil)
|
13
|
-
settings[key] =
|
15
|
+
settings[key] = SettingStruct.new(type, default)
|
14
16
|
|
15
17
|
define_method key do |*args|
|
16
18
|
args.any? ? set(key, *args) : get(key)
|
data/lib/pages_core/pub_sub.rb
CHANGED
@@ -4,9 +4,8 @@ module PagesCore
|
|
4
4
|
module PubSub
|
5
5
|
class << self
|
6
6
|
def publish(name, payload = {})
|
7
|
-
payload_struct = OpenStruct.new(payload)
|
8
7
|
subscribers.select { |s| s.name == name }
|
9
|
-
.each { |s| s.call(
|
8
|
+
.each { |s| s.call(payload) }
|
10
9
|
end
|
11
10
|
|
12
11
|
def subscribe(name, &block)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pages_core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Inge Jørgensen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-11-
|
11
|
+
date: 2021-11-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: capybara
|
@@ -95,7 +95,7 @@ dependencies:
|
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: 3.8.1
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
98
|
+
name: semantic
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - ">="
|
@@ -109,47 +109,47 @@ dependencies:
|
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
112
|
+
name: shoulda-matchers
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- - "
|
115
|
+
- - ">="
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: 0
|
117
|
+
version: '0'
|
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: 0
|
124
|
+
version: '0'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
126
|
+
name: simplecov
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
129
|
- - "~>"
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version: 0.
|
131
|
+
version: 0.17.1
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
136
|
- - "~>"
|
137
137
|
- !ruby/object:Gem::Version
|
138
|
-
version: 0.
|
138
|
+
version: 0.17.1
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
|
-
name:
|
140
|
+
name: timecop
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
142
142
|
requirements:
|
143
|
-
- - "
|
143
|
+
- - "~>"
|
144
144
|
- !ruby/object:Gem::Version
|
145
|
-
version:
|
145
|
+
version: 0.8.0
|
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:
|
152
|
+
version: 0.8.0
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
154
|
name: rails
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
@@ -848,7 +848,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
848
848
|
- !ruby/object:Gem::Version
|
849
849
|
version: '0'
|
850
850
|
requirements: []
|
851
|
-
rubygems_version: 3.2.
|
851
|
+
rubygems_version: 3.2.32
|
852
852
|
signing_key:
|
853
853
|
specification_version: 4
|
854
854
|
summary: Pages Core
|