Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ruby-refinements

to4iki
September 07, 2014

 ruby-refinements

to4iki

September 07, 2014
Tweet

More Decks by to4iki

Other Decks in Programming

Transcript

  1. class  String      def  hello        

     "#{self}  hello!"      end   end       puts  'hoge'.hello   #=>  'hoge  hello!'   puts  'fuga'.hello     #=>  'fuga  hello!'
  2. class  String      def  length        

     5      end          define_method  :to_i,  -­‐>  {  "#{self}  convert  number"  }   end       puts  'a'.length   #=>  5   puts  'javascript'.length   #=>  5   puts  '0'.to_i   #=>  '0  convert  number'   puts  'hoge'.to_i   #=>  'hoge  convert  number'
  3. module  TimeExtensions      refine  Time  do      

       def  changed_date?              self.beginning_of_day  <  Time.zone.now.beginning_of_day          end      end   end       class  User  <  ActiveRecord::Base      using  TimeExtensions          def  login!          if  self.login_at.changed_date?              #  add  login  bonus          end      end   end