diff options
author | Jeremy Kemper <jeremy@bitsweat.net> | 2009-03-29 02:31:08 -0700 |
---|---|---|
committer | Jeremy Kemper <jeremy@bitsweat.net> | 2009-03-29 02:31:08 -0700 |
commit | da8ade36b3dccc4e85a4d95a89c7700eaac367c0 (patch) | |
tree | 7244c2a7c4795154c44a43ed6c69c2dd7d1cc766 /activesupport/lib/active_support/core_ext/range/blockless_step.rb | |
parent | fe34d10f0c6a22c6a87a6fef5f3ebce6c7af70c9 (diff) | |
download | rails-da8ade36b3dccc4e85a4d95a89c7700eaac367c0.tar.gz rails-da8ade36b3dccc4e85a4d95a89c7700eaac367c0.tar.bz2 rails-da8ade36b3dccc4e85a4d95a89c7700eaac367c0.zip |
Convert Range step and include extension modules to class reopen
Diffstat (limited to 'activesupport/lib/active_support/core_ext/range/blockless_step.rb')
-rw-r--r-- | activesupport/lib/active_support/core_ext/range/blockless_step.rb | 48 |
1 files changed, 20 insertions, 28 deletions
diff --git a/activesupport/lib/active_support/core_ext/range/blockless_step.rb b/activesupport/lib/active_support/core_ext/range/blockless_step.rb index 6fa1eb5bee..98f333786d 100644 --- a/activesupport/lib/active_support/core_ext/range/blockless_step.rb +++ b/activesupport/lib/active_support/core_ext/range/blockless_step.rb @@ -1,32 +1,24 @@ -module ActiveSupport #:nodoc: - module CoreExtensions #:nodoc: - module Range #:nodoc: - # Return an array when step is called without a block. - module BlocklessStep - def self.included(base) #:nodoc: - base.alias_method_chain :step, :blockless - end - - if RUBY_VERSION < '1.9' - def step_with_blockless(value = 1, &block) - if block_given? - step_without_blockless(value, &block) - else - returning [] do |array| - step_without_blockless(value) { |step| array << step } - end - end - end - else - def step_with_blockless(value = 1, &block) - if block_given? - step_without_blockless(value, &block) - else - step_without_blockless(value).to_a - end - end - end +class Range + if RUBY_VERSION < '1.9' + # Return an array when step is called without a block. + def step_with_blockless(value = 1, &block) + if block_given? + step_without_blockless(value, &block) + else + array = [] + step_without_blockless(value) { |step| array << step } + array + end + end + else + def step_with_blockless(value = 1, &block) #:nodoc: + if block_given? + step_without_blockless + else + step_without_blockless(value).to_a end end end + + alias_method_chain :step, :blockless end |