Как записать константу внутри модуля? - PullRequest
1 голос
/ 04 августа 2011
module Test1
  module Test2
    def self.included(base)
      # Where can I declare constant ? How ?
      base.extend ClassMethods
      base.class_eval do
           # named scopes
      end
    end
  end
end

class abc
  include Test1::Test2
end

Где я могу объявить константу?Как?

Ответы [ 2 ]

7 голосов
/ 04 августа 2011

Я не уверен, что понимаю - вы имели в виду это:

module Test1
  module Test2
    CONSTANT = 5
    def self.included(base)
      # Where can I declare constant ? How ?
      base.extend ClassMethods
      base.class_eval do
       # named scopes
      end
    end

    module ClassMethods
    end
  end
end

class A
  include Test1::Test2
end

puts A::CONSTANT # => 5
0 голосов
/ 05 августа 2011

В Ruby переменная, которая начинается с заглавной буквы, считается константой. Таким образом, вы можете использовать переменную как Pi = 3.14 для объявления постоянного значения.

...