I have the following in my controller:
def color_coding(value = nil)
case value
when 101…1000000000
“busy_11”
when 91..100
"busy_10"
when 81..90
"busy_9"
when 71..80
"busy_8"
when 61..70
"busy_7"
when 51..60
"busy_6"
when 41..50
"busy_5"
when 31..40
"busy_4"
when 21..30
"busy_3"
when 11..20
"busy_2"
when 1..10
"busy_1"
else
"no_class"
end
end
Two questions:
-
when 101..1000000000
"busy_11"
is obviously an ugly hack. What I want is: output “busy_11” if value
is 101 or higher. Not sure how I should write this in ruby.
-
when 91..100
"busy_10"
What I want is: output “busy_10” when value is >= 91 and <= 100. Not
sure if it should be 91…100 or 91…100 or some other syntax.
Tried to google this but couldn’t find a tutorial that covers the
above fully. Thanks in advance!
Best,
Gabor
def color_coding(value = nil)
if value && value > 0
if value > 100
“busy_11”
else
“busy_” + ((value/10)+1).to_s
end
end
end
Cheers,
Tyler
gabordemeter [email protected] wrote:
"busy_6"
when 11..20
-
when 91..100
Gabor
–
How about this (untested) instead…
def color_coding(value = nil)
if value >= 101
“busy_11”
elsif value <= 0 || value.nil?
“no_class”
else
“busy_” + (value/10.0).ceil.to_s
end
end
Would be a lot shorter…
Thanks guys! Great stuff!
But one question still remains:
what does 91…100 (two dots between the two numbers) mean, and what
does 91…100 (three dots between the two numbers) mean in Ruby?
Best,
Gabor
On Jun 20, 2007, at 4:34 PM, Tyler MacDonald wrote:
Cheers,
when 91..100
"busy_3"
end
Two questions:
-
when 101..1000000000
"busy_11"
is obviously an ugly hack. What I want is: output “busy_11” if value
is 101 or higher. Not sure how I should write this in ruby.
when nil, 0
“no_class”
else
“busy_11”
I’m guessing what you might want for value==0
Gabor
91…100 === x will test (91 <= x && x <= 100)
91…100 === x (three dot range excludes end) will test (91 <= x && x
< 100)
What should color_coding(100.5) give?
-Rob
Rob B. http://agileconsultingllc.com
[email protected]
Hi –
On Wed, 20 Jun 2007, gabordemeter wrote:
Thanks guys! Great stuff!
But one question still remains:
what does 91…100 (two dots between the two numbers) mean, and what
does 91…100 (three dots between the two numbers) mean in Ruby?
The … is inclusive; the … is exclusive.
David
–
But one question still remains:
what does 91…100 (two dots between the two numbers) mean, and what
does 91…100 (three dots between the two numbers) mean in Ruby?
The … is inclusive; the … is exclusive.
Best analogy I’ve heard is that that extra dot pushes the last number
off
the cliff where cliff is your range.
That’s the only way I can remember it