Module: Heya

Extended by:
Heya
Included in:
Heya
Defined in:
lib/heya.rb,
lib/heya/config.rb,
lib/heya/engine.rb,
lib/heya/version.rb,
lib/heya/campaigns/base.rb,
lib/heya/campaigns/step.rb,
lib/heya/campaigns/action.rb,
lib/heya/campaigns/queries.rb,
lib/heya/campaigns/scheduler.rb,
app/jobs/heya/application_job.rb,
app/mailers/heya/campaign_mailer.rb,
app/models/heya/campaign_receipt.rb,
lib/heya/active_record_extension.rb,
lib/heya/campaigns/actions/block.rb,
lib/heya/campaigns/actions/email.rb,
app/models/heya/application_record.rb,
lib/heya/campaigns/step_action_job.rb,
app/helpers/heya/application_helper.rb,
app/mailers/heya/application_mailer.rb,
app/models/heya/campaign_membership.rb,
app/controllers/heya/application_controller.rb

Defined Under Namespace

Modules: ActiveRecordRelationExtension, ApplicationHelper, Campaigns Classes: ApplicationController, ApplicationJob, ApplicationMailer, ApplicationRecord, CampaignGenerator, CampaignMailer, CampaignMembership, CampaignReceipt, Config, Engine, InstallGenerator

Constant Summary collapse

VERSION =
"0.5.3"

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#campaignsObject

Returns the value of attribute campaigns.



19
20
21
# File 'lib/heya.rb', line 19

def campaigns
  @campaigns
end

Instance Method Details

#configObject



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

def config
  @config ||= Config.new
end

#configure {|config| ... } ⇒ Object

Yields:



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

def configure
  yield(config) if block_given?
  config
end

#in_segment?(user, segment) ⇒ Boolean

Returns:

  • (Boolean)


44
45
46
47
48
# File 'lib/heya.rb', line 44

def in_segment?(user, segment)
  return true if segment.nil?
  return user.send(segment) if segment.is_a?(Symbol)
  segment.call(user)
end

#in_segments?(user, *segments) ⇒ Boolean

Returns:

  • (Boolean)


39
40
41
42
# File 'lib/heya.rb', line 39

def in_segments?(user, *segments)
  return false if segments.any? { |s| !in_segment?(user, s) }
  true
end

#register_campaign(klass) ⇒ Object



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

def register_campaign(klass)
  campaigns.push(klass) unless campaigns.include?(klass)
end

#unregister_campaign(klass) ⇒ Object



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

def unregister_campaign(klass)
  campaigns.delete(klass)
end