Translate

Friday, May 16, 2014

Range in Ruby

Ranges as Conditions:


score = 45

    case score
       when 0..40
        puts "Fail"
       when 41..60
        puts "Pass"
       when 61..70
        puts "Pass with Merit"
       when 71..100
        puts "Pass with Distinction"
       else "Invalid Score"
    end

Ranges as Intervals:


if ((1..10) === 5)
      puts "5 lies in (1..10)"
    end

    if (('a'..'j') === 'c')
      puts "c lies in ('a'..'j')"
    end

    if (('a'..'j') === 'z')
      puts "z lies in ('a'..'j')"
    else
      puts "z Doesn't lie in ('a'..'j')"
    end



Time In Ruby

The Time class represents dates and times in Ruby. It is a thin layer over the system date and time functionality provided by the operating system. This class may be unable on your system to represent dates before 1970 or after 2038.

time1 = Time.new

puts "Current Time : " + time1.inspect

# Time.now is a synonym:
time2 = Time.now
puts "Current Time : " + time2.inspect

Current Time : Mon Jun 02 12:02:39 -0700 2008
Current Time : Mon Jun 02 12:02:39 -0700 2008

time = Time.new

# Components of a Time
puts "Current Time : " + time.inspect
puts time.year    # => Year of the date 
puts time.month   # => Month of the date (1 to 12)
puts time.day     # => Day of the date (1 to 31 )
puts time.wday    # => 0: Day of week: 0 is Sunday
puts time.yday    # => 365: Day of year
puts time.hour    # => 23: 24-hour clock
puts time.min     # => 59
puts time.sec     # => 59
puts time.usec    # => 999999: microseconds
puts time.zone    # => "UTC": timezone name

Current Time : Mon Jun 02 12:03:08 -0700 2008
2008
6
2
1
154
12
3
8
247476
UTC

time = Time.new

puts time.to_s
puts time.ctime
puts time.localtime
puts time.strftime("%Y-%m-%d %H:%M:%S")
This will produce the following result:
Mon Jun 02 12:35:19 -0700 2008
Mon Jun  2 12:35:19 2008
Mon Jun 02 12:35:19 -0700 2008
2008-06-02 12:35:19


DirectiveDescription
%aThe abbreviated weekday name (Sun).
%AThe full weekday name (Sunday).
%bThe abbreviated month name (Jan).
%BThe full month name (January).
%cThe preferred local date and time representation.
%dDay of the month (01 to 31).
%HHour of the day, 24-hour clock (00 to 23).
%IHour of the day, 12-hour clock (01 to 12).
%jDay of the year (001 to 366).
%mMonth of the year (01 to 12).
%MMinute of the hour (00 to 59).
%pMeridian indicator (AM or PM).
%SSecond of the minute (00 to 60).
%UWeek number of the current year, starting with the first Sunday as the first day of the first week (00 to 53).
%WWeek number of the current year, starting with the first Monday as the first day of the first week (00 to 53).
%wDay of the week (Sunday is 0, 0 to 6).
%xPreferred representation for the date alone, no time.
%XPreferred representation for the time alone, no date.
%yYear without a century (00 to 99).
%YYear with century.
%ZTime zone name.
%%Literal % character.


Time arithmetic:

You can do simple arithmetic with time as follows:
now = Time.now           # Current time
puts now

past = now - 10          # 10 seconds ago. Time - number => Time
puts past

future = now + 10        # 10 seconds from now Time + number => Time
puts future

diff = future - now      # => 10  Time - Time => number of seconds
puts diff
This will produce the following result:
Thu Aug 01 20:57:05 -0700 2013
Thu Aug 01 20:56:55 -0700 2013
Thu Aug 01 20:57:15 -0700 2013
10.0

distance_of_time_in_words(from_time, to_time)
time_ago_in_words(from_time)


Saturday, May 3, 2014

root .htaccess file for symfony

Change the example.com with your domain.
<IfModule mod_rewrite.c>
    RewriteCond %{HTTP_HOST} ^example.com$ [OR]
    RewriteCond %{HTTP_HOST} ^www.example.com$
    RewriteRule ^(.*)$ /symfony_project/web/$1
</IfModule>