```ruby
#!/usr/bin/env ruby
# 
# http://projecteuler.net/index.php?section=problems&id=1

class EulerNumber
  
  def initialize(integer)
    @number = integer
  end
  
  def sum_of_natural_multiples_of_three_or_five
    current_total = 0
  
    for i in 1...@number 
      if ( i % 3 == 0 ) || ( i % 5 == 0 )
        current_total = current_total + i
      end      
    end
  
    return current_total
  end
end```

Rewrite Ruby for problem 1 in functional style
user
```ruby
#!/usr/bin/env ruby
# 
# http://projecteuler.net/problem=1

class EulerNumber
  
  def initialize(integer)
    @number = integer
  end

  def sum_of_natural_multiples_of_three_or_five
    return (1...@number).to_a.keep_if {|v| (v % 3 == 0 || v % 5 == 0)}.reduce(:+)
  end
end```
assistant