module JunglePath::SQL::Key

Public Class Methods

by_key(db, key) click to toggle source
# File lib/jungle_path/sql/key.rb, line 6
def self.by_key(db, key)
        sql = JunglePath::SQL::Helpers.sql("
                #{base_sql}
                where a.key = ?
                order by a.id
        ")
        #puts "sql:\n#{sql}"
        #puts "key: #{key}"
        ds = db.base[sql, key]
        all = ds.all
        #puts "count: #{all.length}"
        all
end
by_user_id(db, user_id) click to toggle source
# File lib/jungle_path/sql/key.rb, line 20
def self.by_user_id(db, user_id)
        sql = JunglePath::SQL::Helpers.sql("
                #{base_sql}
                where a.user_id = ?
                order by a.id
        ")
        ds = db.base[sql, user_id]
        ds.all
end
by_user_id_key_name(db, user_id, key_name) click to toggle source
# File lib/jungle_path/sql/key.rb, line 30
def self.by_user_id_key_name(db, user_id, key_name)
        sql = JunglePath::SQL::Helpers.sql("
                select
                        a.id,
                        a.key,
                        a.name,
                        a.user_id,
                        a.expires_at,
                        a.is_default,
                        a.created_at,
                        a.created_by_key_id,
                        a.updated_at,
                        a.updated_by_key_id
                from key a
                where a.user_id = ?
                and a.name = ?
        ")
        puts "db.class: #{db.class}."
        ds = db.base[sql, user_id, key_name]
        #puts "sql: #{ds.sql}."
        ds.all
end
default_by_user_id(db, user_id) click to toggle source
# File lib/jungle_path/sql/key.rb, line 53
def self.default_by_user_id(db, user_id)
        sql = JunglePath::SQL::Helpers.sql("
                #{base_sql}
                where a.user_id = ?
                and a.is_default = true
                order by a.id
        ")
        ds = db.base[sql, user_id]
        ds.all
end

Private Class Methods

base_sql() click to toggle source
# File lib/jungle_path/sql/key.rb, line 66
def self.base_sql
        JunglePath::SQL::Helpers.sql("
                select
                        a.id,
                        a.key,
                        a.name,
                        a.user_id,
                        a.expires_at,
                        a.is_default
                from key a
                join (
                        select
                                b.key_id
                        from role a
                        join key_role b on b.role_id = a.id
                        group by b.key_id
                ) b on b.key_id = a.id
        ")
end