Skip to content

Commit

Permalink
fixed a syntax error using MySQL (double quotes around table names)
Browse files Browse the repository at this point in the history
  • Loading branch information
EppO committed Apr 26, 2012
1 parent 3d7106a commit da1ec59
Showing 1 changed file with 9 additions and 3 deletions.
12 changes: 9 additions & 3 deletions lib/rolify/adapters/active_record/resource_adapter.rb
Expand Up @@ -4,13 +4,19 @@ module Rolify
module Adapter
class ResourceAdapter < ResourceAdapterBase
def resources_find(roles_table, relation, role_name)
resources = relation.joins("INNER JOIN \"#{roles_table}\" ON \"#{roles_table}\".\"resource_type\" = '#{relation.to_s}'")
resources = resources.where("#{roles_table}.name = ? AND #{roles_table}.resource_type = ?", role_name, relation.to_s)
resources = relation.joins("INNER JOIN #{quote(roles_table)} ON #{quote(roles_table)}.resource_type = '#{relation.to_s}'")
resources = resources.where("#{quote(roles_table)}.name = ? AND #{quote(roles_table)}.resource_type = ?", role_name, relation.to_s)
resources
end

def in(relation, roles)
relation.where("#{role_class.to_s.tableize}.id IN (?) AND ((resource_id = #{relation.table_name}.id) OR (resource_id IS NULL))", roles)
relation.where("#{quote(role_class.to_s.tableize)}.id IN (?) AND ((resource_id = #{quote(relation.table_name)}.id) OR (resource_id IS NULL))", roles)
end

private

def quote(column)
ActiveRecord::Base.connection.quote_column_name column
end
end
end
Expand Down

0 comments on commit da1ec59

Please sign in to comment.