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



56
57
58
59
60
61
62
# File 'lib/invitation/configuration.rb', line 56

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’.



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

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].



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

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`.



46
47
48
# File 'lib/invitation/configuration.rb', line 46

def routes
  @routes
end

#user_modelActiveRecord::Base

ActiveRecord model class name that represents your user.

Defaults to ‘::User’.



15
16
17
# File 'lib/invitation/configuration.rb', line 15

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.



26
27
28
# File 'lib/invitation/configuration.rb', line 26

def user_registration_url
  @user_registration_url
end

Instance Method Details

#routes_enabled?Boolean



73
74
75
# File 'lib/invitation/configuration.rb', line 73

def routes_enabled?
  @routes
end

#user_model_class_nameObject



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

def user_model_class_name
  @user_model.name.to_s
end

#user_model_instance_varObject



68
69
70
# File 'lib/invitation/configuration.rb', line 68

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