Class: Ink::MysqlAdapter
- Inherits:
-
Object
- Object
- Ink::MysqlAdapter
- Defined in:
- lib/mysql_adapter.rb
Instance Method Summary collapse
- #close ⇒ Object
-
#initialize(config) ⇒ MysqlAdapter
constructor
A new instance of MysqlAdapter.
- #primary_key_autoincrement(pk = "id") ⇒ Object
- #query(query, type = Hash) ⇒ Object
- #tables ⇒ Object
Constructor Details
#initialize(config) ⇒ MysqlAdapter
Returns a new instance of MysqlAdapter.
5 6 7 8 9 10 |
# File 'lib/mysql_adapter.rb', line 5 def initialize(config) @type = config[:db_type] @db = Mysql.real_connect(config[:db_server],config[:db_user], config[:db_pass],config[:db_database]) @db.reconnect = true end |
Instance Method Details
#close ⇒ Object
45 46 47 48 |
# File 'lib/mysql_adapter.rb', line 45 def close @db.close @db = nil end |
#primary_key_autoincrement(pk = "id") ⇒ Object
50 51 52 |
# File 'lib/mysql_adapter.rb', line 50 def primary_key_autoincrement(pk="id") ["`#{pk}`", "INTEGER", "PRIMARY KEY", "AUTO_INCREMENT"] end |
#query(query, type = Hash) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/mysql_adapter.rb', line 23 def query(query, type=Hash) type = Hash if not block_given? result = Array.new re = @db.method("query").call query if re keys = re.fetch_fields.map(&:name) re.each do |row| result.push type.new row.each_index do |i| k = keys[i] v = self.class.transform_from_sql(row[i]) if block_given? yield(result[result.length-1], k, v) else result[result.length-1][k] = v end end end end return result end |
#tables ⇒ Object
12 13 14 15 16 17 18 19 20 21 |
# File 'lib/mysql_adapter.rb', line 12 def tables result = Array.new re = @db.query "show tables;" re.each do |row| row.each do |t| result.push t end end return result end |