Class: Invitation::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/invitation/configuration.rb

Overview

Configure the invitation module. Invoke from a rails initializer.

Example:

Invitation.configure do |config|
  config.user_registration_path = ->(params) { new_profile_path(param) }
end

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



65
66
67
68
69
70
71
# File 'lib/invitation/configuration.rb', line 65

def initialize
  @user_model = '::User' #if defined?(::User)
  @user_registration_url = ->(params) { Rails.application.routes.url_helpers.(params) }
  @mailer_sender = '[email protected]'
  @routes = true
  @case_sensitive_email = true
end

Instance Attribute Details

#case_sensitive_emailBoolean

Enable or disable email case-sensivity when inviting users. If set to ‘false’, searching for user existence via email will disregard case.

Defaults to ‘true’.

Returns:

  • (Boolean)


63
64
65
# File 'lib/invitation/configuration.rb', line 63

def case_sensitive_email
  @case_sensitive_email
end

#mailer_senderString

Controls the ‘from’ address for Invitation emails. Set this to a value appropriate to your application.

Defaults to [email protected].

Returns:

  • (String)


43
44
45
# File 'lib/invitation/configuration.rb', line 43

def mailer_sender
  @mailer_sender
end

#routesBoolean

Enable or disable Invitation’s built-in routes.

Defaults to ‘true’.

If you disable the routes, your application is responsible for all routes.

You can deploy a copy of Invitations’s routes with ‘rails generate invitation:routes`, which will also set `config.routes = false`.

Returns:

  • (Boolean)


55
56
57
# File 'lib/invitation/configuration.rb', line 55

def routes
  @routes
end

#user_modelClass

Returns:

  • (Class)


24
25
26
# File 'lib/invitation/configuration.rb', line 24

def user_model
  @user_model
end

#user_registration_urlLambda

Url for new users to register for your application. New users are invited to sign up at this url via email. The url should be expressed as a lambda that accepts one argument, a params hash. This hash will contain the invitation token.

Defaults to: ->(params) { Rails.application.routes.url_helpers.sign_up_url(params) }

Note that the default assumes you have ‘sign_up_url`.

Returns:

  • (Lambda)


35
36
37
# File 'lib/invitation/configuration.rb', line 35

def user_registration_url
  @user_registration_url
end

Instance Method Details

#routes_enabled?Boolean

Returns are Invitation’s built-in routes enabled?.

Returns:

  • (Boolean)

    are Invitation’s built-in routes enabled?



106
107
108
# File 'lib/invitation/configuration.rb', line 106

def routes_enabled?
  @routes
end

#user_model_class_nameObject



97
98
99
# File 'lib/invitation/configuration.rb', line 97

def user_model_class_name
  user_model.name.to_s
end

#user_model_instance_varObject



101
102
103
# File 'lib/invitation/configuration.rb', line 101

def user_model_instance_var
  '@' + user_model.name.demodulize.underscore
end