Module: EffectiveMailchimp

Includes:
EffectiveGem
Defined in:
lib/effective_mailchimp.rb,
lib/effective_mailchimp/engine.rb,
lib/effective_mailchimp/version.rb,
lib/generators/effective_mailchimp/install_generator.rb

Defined Under Namespace

Modules: Generators Classes: Engine

Constant Summary collapse

VERSION =
'0.8.0'.freeze

Class Method Summary collapse

Class Method Details

.apiObject



18
19
20
# File 'lib/effective_mailchimp.rb', line 18

def self.api
  Effective::MailchimpApi.new(api_key: api_key)
end

.api_blank?Boolean

Returns:

  • (Boolean)


30
31
32
# File 'lib/effective_mailchimp.rb', line 30

def self.api_blank?
  api_key.blank?
end

.api_present?Boolean

Returns:

  • (Boolean)


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

def self.api_present?
  api_key.present?
end

.config_keysObject



8
9
10
11
12
13
14
# File 'lib/effective_mailchimp.rb', line 8

def self.config_keys
  [
    :mailchimp_lists_table_name, :mailchimp_list_members_table_name, :mailchimp_categories_table_name, :mailchimp_interests_table_name,
    :layout,
    :api_key, :sandbox_mode, :user_class_name
  ]
end

.merge_fieldsObject



45
46
47
48
49
# File 'lib/effective_mailchimp.rb', line 45

def self.merge_fields
  merge_fields = self.User().new.mailchimp_merge_fields
  raise('expected a Hash of merge fields') unless merge_fields.kind_of?(Hash)
  merge_fields
end

.permitted_paramsObject



51
52
53
# File 'lib/effective_mailchimp.rb', line 51

def self.permitted_params
  [ :mailchimp_user_form_action, mailchimp_list_members_attributes: [:id, :mailchimp_list_id, :subscribed, interests: []] ]
end

.sandbox_mode?Boolean

Returns:

  • (Boolean)


22
23
24
# File 'lib/effective_mailchimp.rb', line 22

def self.sandbox_mode?
  !!sandbox_mode
end

.UserObject



34
35
36
37
38
39
40
41
42
43
# File 'lib/effective_mailchimp.rb', line 34

def self.User
  klass = user_class_name.constantize if user_class_name.present?
  klass ||= Tenant.User if defined?(Tenant)
  klass ||= '::User'.safe_constantize

  raise('unable to determine User klass. Please set config.user_class_name') unless klass.kind_of?(Class)
  raise('expecting an effective_mailchimp_user User class') unless klass.respond_to?(:effective_mailchimp_user)

  klass
end