Sha256: d98d22ca65288d7695451455caba08df12d155637cd3f726e17cd54559507a2d
Contents?: true
Size: 1.63 KB
Versions: 4
Compression:
Stored size: 1.63 KB
Contents
class SuperAuth::User < Sequel::Model(:users) one_to_many :edges dataset_module do def with_edges join(:edges, user_id: :id).select_all(:users) end def with_groups with_edges.join(Group.from(Group.trees).as(:groups), id: :group_id).select( Sequel[:users][:id].as(:id), Sequel[:users][:id].as(:user_id), Sequel[:groups][:id].as(:group_id), Sequel[:users][:name].as(:user_name), Sequel[:groups][:name].as(:group_name), Sequel[:edges][:id].as(:edge_id), Sequel[:edges][:permission_id].as(:edge_permission_id), Sequel[:edges][:group_id].as(:edge_group_id), Sequel[:edges][:user_id].as(:edge_user_id), Sequel[:edges][:role_id].as(:edge_role_id), Sequel[:groups][:group_path], Sequel[:groups][:group_name_path], Sequel[:groups][:parent_id] ) end def with_roles with_edges.join(Role.from(Role.trees).as(:roles), id: :role_id).select( Sequel[:users][:id].as(:id), Sequel[:users][:id].as(:user_id), Sequel[:roles][:id].as(:role_id), Sequel[:users][:name].as(:user_name), Sequel[:roles][:name].as(:role_name), Sequel[:edges][:id].as(:edge_id), Sequel[:edges][:permission_id].as(:edge_permission_id), Sequel[:edges][:group_id].as(:edge_group_id), Sequel[:edges][:user_id].as(:edge_user_id), Sequel[:edges][:role_id].as(:edge_role_id), Sequel[:roles][:role_path], Sequel[:roles][:role_name_path], Sequel[:roles][:parent_id] ) end def with_roles_with_groups with_groups_with_roles end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
super_auth-0.1.3 | lib/super_auth/user.rb |
super_auth-0.1.2 | lib/super_auth/user.rb |
super_auth-0.1.1 | lib/super_auth/user.rb |
super_auth-0.1.0 | lib/super_auth/user.rb |