groovestack-identities 0.1.2 → 0.1.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2d59b08b6d477f405e4e1327239468d2c79278c44506db4f42e55afd1d1be1c0
4
- data.tar.gz: eb3e3382e004f0aca6dfbf2321df889cf1e230ed11fecb13da4e4664f3cbd736
3
+ metadata.gz: '085c8622cbe7655616a1210e3899054691c67bf0cf3ea68cdf85a9bfcaa21218'
4
+ data.tar.gz: c182a22fb009c1f0ec1a6af10c6f0815278b54ba826586541f63ff8e5c88978d
5
5
  SHA512:
6
- metadata.gz: c93a00e67278ddec5e9d0682c8e94e9f08f86fa75d2d5368cdd6543c07cd83736485ce5dcfb663f52340db7c5ded525a8d5185ecad71fc4727494c20bf740206
7
- data.tar.gz: e63f06722b2053f53a03fd1bb7abd083facaafe45afafe17c0d796d4ff1419824654ecb846409a90c09a6607c141da12561122f8f032c35ab6d27f1fee2938f2
6
+ metadata.gz: 7234c6f0f9c45ceeb47ca43164f4d96ca3161a580e188a3b76bd655f60d810994b6576dd02278076459d9026dfa9b2f2423d00093deb2d55ac0e7e699e2943c1
7
+ data.tar.gz: 0ccbb341717921b55e4c7e7f253e0dc6d9c86270fdd0ad3c291b9fbcc75f39a7a36b59921b270e6feeba1ed358d13f08ff6adc2b0e2018f876415efc03d9a6e5
data/CHANGELOG.md CHANGED
@@ -1,4 +1,7 @@
1
- ## [Unreleased]
1
+ ## [0.1.2] - 2025-04-26
2
+
3
+ - fabricators loading correctly in specs
4
+ - fabricators included in built gem when app has fabrication/faker gems installed
2
5
 
3
6
  ## [0.1.0] - 2025-04-23
4
7
 
@@ -11,14 +11,17 @@ module Users
11
11
  roles_array = Array(roles).map(&:to_s)
12
12
  where('roles ?| array[:roles]', roles: roles_array)
13
13
  }
14
- scope :admins, -> { with_roles(Role::ADMIN) }
15
14
 
16
15
  module Role
17
16
  ADMIN = 'admin'
17
+ EXEC = 'exec'.freeze
18
+ STAFF = 'staff'.freeze
18
19
  end
19
20
 
20
21
  ROLES = [
21
- Role::ADMIN
22
+ Role::ADMIN,
23
+ Role::EXEC,
24
+ Role::STAFF
22
25
  ].freeze
23
26
 
24
27
  def add_roles(roles)
@@ -29,17 +32,21 @@ module Users
29
32
  add_roles([role])
30
33
  end
31
34
 
32
- def admin!
33
- add_role(User::Role::ADMIN)
34
- save!
35
+ def role?(role)
36
+ roles.include? role.to_s
35
37
  end
36
38
 
37
- def admin?
38
- roles.include? User::Role::ADMIN
39
- end
39
+ ROLES.each do |role|
40
+ define_method("#{role}!") do
41
+ add_role(role)
42
+ save!
43
+ end
40
44
 
41
- def role?(role)
42
- roles.include? role.to_s
45
+ define_method("#{role}?") do
46
+ role?(role)
47
+ end
48
+
49
+ scope :"#{role}", -> { with_roles(role) }
43
50
  end
44
51
  end
45
52
  end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ ActiveSupport.on_load(:after_initialize) do
4
+ if defined?(Groovestack::Config)
5
+ Groovestack::Config::App.dynamic_config << { key: :has_admins, build: proc { User.admin.count.positive? } }
6
+ Groovestack::Config::App.dynamic_config << { key: :user_roles, build: proc { User::ROLES } }
7
+ end
8
+ end
data/gem_files.txt ADDED
File without changes
@@ -16,12 +16,6 @@ module GraphQL
16
16
  identity
17
17
  end
18
18
  end
19
-
20
- extend ActiveSupport::Concern
21
-
22
- included do
23
- field :delete_identity, mutation: ::GraphQL::Identity::Mutations::Delete, description: 'delete identity'
24
- end
25
19
  end
26
20
  end
27
21
  end
@@ -13,7 +13,7 @@ module GraphQL
13
13
  type ::GraphQL::User::Type
14
14
 
15
15
  def current_user
16
- context[:current_resource]
16
+ context[:current_user]
17
17
  end
18
18
 
19
19
  def perform(id:, **attrs)
@@ -16,7 +16,7 @@ module GraphQL
16
16
  end
17
17
 
18
18
  def current_user
19
- context[:current_resource]
19
+ context[:current_user]
20
20
  end
21
21
 
22
22
  def users_scope(base_scope:, sort_field: nil, sort_order: nil, filter: {}) # rubocop:disable Metrics/AbcSize
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Groovestack
4
4
  module Identities
5
- VERSION = '0.1.2'
5
+ VERSION = '0.1.3'
6
6
  end
7
7
  end
@@ -1,12 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative 'identities/version'
4
-
5
4
  require 'groovestack/base'
6
- require 'users/roles'
7
- require 'user'
8
- require 'identity'
9
-
10
5
  require 'groovestack/identities/railtie' if defined?(Rails::Railtie)
11
6
 
12
7
  # Load fabricators if Fabrication and Faker are available and we're not in a testing context
metadata CHANGED
@@ -1,13 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: groovestack-identities
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Max Schridde
8
+ autorequire:
8
9
  bindir: exe
9
10
  cert_chain: []
10
- date: 1980-01-02 00:00:00.000000000 Z
11
+ date: 2025-05-14 00:00:00.000000000 Z
11
12
  dependencies:
12
13
  - !ruby/object:Gem::Dependency
13
14
  name: groovestack-base
@@ -18,7 +19,7 @@ dependencies:
18
19
  version: '0.1'
19
20
  - - ">="
20
21
  - !ruby/object:Gem::Version
21
- version: 0.1.10
22
+ version: 0.1.12
22
23
  type: :runtime
23
24
  prerelease: false
24
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -28,7 +29,7 @@ dependencies:
28
29
  version: '0.1'
29
30
  - - ">="
30
31
  - !ruby/object:Gem::Version
31
- version: 0.1.10
32
+ version: 0.1.12
32
33
  description: Groovestack::Identities provides a flexible user and identity data model
33
34
  for the CORE Platform.
34
35
  email:
@@ -41,23 +42,25 @@ files:
41
42
  - CHANGELOG.md
42
43
  - README.md
43
44
  - Rakefile
45
+ - app/models/identity.rb
46
+ - app/models/user.rb
47
+ - app/models/users/roles.rb
48
+ - config/initializers/core_config.rb
44
49
  - db/migrate/20231103172517_create_users.rb
45
50
  - db/migrate/20231103174037_create_identities.rb
46
51
  - fabricators/user_fabricator.rb
47
- - graphql/identity/filter.rb
48
- - graphql/identity/mutations.rb
49
- - graphql/identity/queries.rb
50
- - graphql/identity/type.rb
51
- - graphql/user/filter.rb
52
- - graphql/user/mutations.rb
53
- - graphql/user/queries.rb
54
- - graphql/user/type.rb
52
+ - gem_files.txt
53
+ - lib/graphql/identity/filter.rb
54
+ - lib/graphql/identity/mutations.rb
55
+ - lib/graphql/identity/queries.rb
56
+ - lib/graphql/identity/type.rb
57
+ - lib/graphql/user/filter.rb
58
+ - lib/graphql/user/mutations.rb
59
+ - lib/graphql/user/queries.rb
60
+ - lib/graphql/user/type.rb
55
61
  - lib/groovestack/identities.rb
56
62
  - lib/groovestack/identities/railtie.rb
57
63
  - lib/groovestack/identities/version.rb
58
- - models/identity.rb
59
- - models/user.rb
60
- - models/users/roles.rb
61
64
  - sig/groovestack/identities.rbs
62
65
  homepage: https://talysto.com/tech/groovestack/
63
66
  licenses: []
@@ -67,6 +70,7 @@ metadata:
67
70
  source_code_uri: https://github.com/talysto/groovestack-core/
68
71
  changelog_uri: https://github.com/talysto/groovestack-core/
69
72
  rubygems_mfa_required: 'true'
73
+ post_install_message:
70
74
  rdoc_options: []
71
75
  require_paths:
72
76
  - lib
@@ -83,7 +87,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
83
87
  - !ruby/object:Gem::Version
84
88
  version: '0'
85
89
  requirements: []
86
- rubygems_version: 3.6.7
90
+ rubygems_version: 3.3.26
91
+ signing_key:
87
92
  specification_version: 4
88
93
  summary: User and Identity Management for the CORE Platform
89
94
  test_files: []
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes