Class: Users::ProjectStudio

Inherits:
Object
  • Object
show all
Defined in:
app/models/users/project_studio.rb

Instance Method Summary collapse

Constructor Details

#initialize(user) ⇒ ProjectStudio

Returns a new instance of ProjectStudio.



5
6
7
# File 'app/models/users/project_studio.rb', line 5

def initialize(user)
  @user = user
end

Instance Method Details

#available?Boolean

Returns:

  • (Boolean)


17
18
19
20
21
22
23
# File 'app/models/users/project_studio.rb', line 17

def available?
  return false if user.nil?

  Feature.enabled?(:global_topbar, user) &&
    Feature.enabled?(:paneled_view, user) &&
    Feature.enabled?(:tailwind_container_queries, user)
end

#enabled?Boolean

Returns:

  • (Boolean)


9
10
11
12
13
14
15
# File 'app/models/users/project_studio.rb', line 9

def enabled?
  return false if user.nil?

  # Project Studio is only enabled for the user if it's available,
  # regardless of their preference
  available? && user.project_studio_enabled
end