Skip to content

Commit

Permalink
Adding in display of ringers per individual assigned number.
Browse files Browse the repository at this point in the history
  • Loading branch information
nherzing committed Nov 28, 2012
1 parent 679848a commit 7567f79
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 4 deletions.
4 changes: 4 additions & 0 deletions lib/crowdring/campaign.rb
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@ def ringers
rings.all.ringer
end

def ringers_from(assigned_number)
ringers.select {|r| r.tagged?(assigned_number.tag) }
end

def ring(ringer)
return unless rings.create(ringer: ringer).saved?
ask = asks.reverse.find {|ask| ask.handle?(:voice, ringer) }
Expand Down
4 changes: 4 additions & 0 deletions lib/crowdring/crowdring.rb
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,10 @@ def pretty_phone_number(phone_number)
PhoneNumberFields.pretty_number(phone_number)
end

def pluralize(count, noun)
"#{count} #{noun}#{count != 1 ? 's' : ''}"
end

end

before /^((?!((voice|sms)response)|reports|login|resetpassword|voicemails|progress-embed).)*$/ do
Expand Down
7 changes: 3 additions & 4 deletions lib/views/campaign.haml
Original file line number Diff line number Diff line change
Expand Up @@ -52,12 +52,11 @@
%h2 Ringers
.counts
%h4.total_count
= "#{@ring_count} " + (@ring_count !=1 ? 'Total Rings' : 'Total Ring')
=pluralize(@ring_count, 'Total Ring')
%h4.unique_count
= "#{@ringer_count} " + (@ringer_count !=1 ? 'Unique Ringers' : 'Unique Ringer')
=pluralize(@ringer_count, 'Unique Ringer')
%h4.subscribed_count
-subscribes = @campaign.ringers.subscribed.count
= "#{subscribes} " + (subscribes !=1 ? 'Subscribed Ringers' : 'Subscribed Ringer')
=pluralize(@campaign.ringers.subscribed.count, 'Subscribed Ringer')
#ringers-numbers
%ul.ringers
-@ringers.each do |ringer|
Expand Down
1 change: 1 addition & 0 deletions lib/views/voice_numbers.haml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
.assigned-number
%h3=voice_number.pretty_phone_number
.description= "Description: #{voice_number.description}"
%h3=pluralize(campaign.ringers_from(voice_number).count, 'ringer')
%form{action: "/campaign/#{campaign.id}/assigned_voice_number/#{voice_number.id}/destroy", method: 'post'}
%button{type: 'submit'} I'm done with this number
%hr
16 changes: 16 additions & 0 deletions spec/campaign_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@ def app
@number1 = '+18001111111'
@number2 = '+18002222222'
@number3 = '+18003333333'
@number4 = '+18004444444'
@number5 = '+18005555555'
@c = Crowdring::Campaign.create(title: 'test', voice_numbers: [{phone_number: @number2, description: 'num1'}], sms_number: @number3)
end

Expand Down Expand Up @@ -92,7 +94,20 @@ def app
Crowdring::Ring.all.should be_empty
Crowdring::Ringer.all.count.should eq(1)
end

it 'should be able to provide the ringers of a certain assigned number' do
@c.voice_numbers << {phone_number: @number3, description: 'num3'}
@c.save
r = Crowdring::Ringer.create(phone_number: @number4)
r2 = Crowdring::Ringer.create(phone_number: @number5)
@c.voice_numbers.first.ring(r)
@c.voice_numbers.last.ring(r2)

@c.ringers_from(@c.voice_numbers.first).should eq([r])
@c.ringers_from(@c.voice_numbers.last).should eq([r2])
end
end

describe 'campaign and asks' do
include Rack::Test::Methods

Expand All @@ -112,4 +127,5 @@ def app
@c.asks.count.should eq(2)
end
end

end

0 comments on commit 7567f79

Please sign in to comment.