Skip to content

Instantly share code, notes, and snippets.

@yuya-takeyama
Created May 21, 2010 01:53
Show Gist options
  • Save yuya-takeyama/408368 to your computer and use it in GitHub Desktop.
Save yuya-takeyama/408368 to your computer and use it in GitHub Desktop.
# This script generates properties for PHP.
class String
def camelize
result = ""
self.split("_").each do |word|
result += word.capitalize
end
result
end
def lower_camelize
result = ""
i = 0
self.split("_").each do |word|
if i == 0
result += word.downcase
else
result += word.capitalize
end
i += 1
end
result
end
end
%W!zip pref city town!.each do |prop|
puts "
/**
* #{prop.camelize}
* @var
*/
private $_#{prop.lower_camelize};
"
end
class String
def camelize
result = ""
self.split("_").each do |word|
result += word.capitalize
end
result
end
def lower_camelize
result = ""
i = 0
self.split("_").each do |word|
if i == 0
result += word.downcase
else
result += word.capitalize
end
i += 1
end
result
end
end
props = %W!id name addr_pref tel!
max_length = props.max_by {|prop| prop.length }.length
puts " protected static $_properties = array("
props.each_with_index do |prop, key|
print " '#{prop}' "
print " " * (max_length - prop.size)
print "=> '#{prop.lower_camelize}'"
print "," if key != (props.size - 1)
puts
end
puts " );";
# This script generates setter and getter methods for PHP.
class String
def camelize
result = ""
self.split("_").each do |word|
result += word.capitalize
end
result
end
def lower_camelize
result = ""
i = 0
self.split("_").each do |word|
if i == 0
result += word.downcase
else
result += word.capitalize
end
i += 1
end
result
end
end
%W!zip pref city town!.each do |prop|
puts "
/**
* Setter for #{prop.camelize}
*
* @param
* @return
*/
public function set#{prop.camelize}($val)
{
$this->_#{prop.lower_camelize} = $val;
return $this;
}
/**
* Getter for #{prop.camelize}
*
* @param void
* @return
*/
public function get#{prop.camelize}()
{
return $this->_#{prop.lower_camelize};
}
"
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment