Is there any point of using constants instead of methods returning those constants like this?
class Foo
LETTERS = [:a, :b, :c]
# and them call it Foo::LETTERS
end
# or
class Foo
def self.letters
[:a, :b, :c]
# and then call it Foo.letters, more simplier
end
end
I could see only one advantage of first approach: warning when trying to redefine constant, but it's rare case, I think.