corm

Version, currently master branch1 version
  • master branchlatestJan 1, 2018

github.com/gdotdesign/cr-corm

SQL Statement Builder

5 stars
0 dependents
License: MIT

Installation

# Add this to your shard.yml
dependencies:
  corm:
    github: gdotdesign/cr-corm
    branch: master

master is a branch, not a release, so this tracks it rather than pinning a version.

Then run:

shards install

shard.yml

Crystal
no constraint declared
License
MIT
Author
Szikszai Gusztáv

Dependencies

Runtime Dependencies

  • pg*github: will/crystal-pg
  • pool*github: ysbaddaden/pool

README

Corm

SQL Statement Builder (currently supporting PostgreSQL)

Installation

Add this to your application's shard.yml:

dependencies:
  corm:
    github: gdotdesign/corm

Features

TODO: Finalize feature list

Statements:

  • [x] SELECT
  • [x] INNER_JOIN
  • [x] GROUP BY
  • [x] WHERE
  • [ ] INSERT
  • [ ] CREATE
  • [ ] DELETE
  • [ ] OUTER_JOIN
  • [ ] LIMIT
  • [ ] ORDER BY
  • [ ] ALTER TABLE
  • [ ] CREATE TABLE

Functions:

  • [x] MAX
  • [x] MIN
  • [x] COUNT
  • [x] SUM
  • [x] AVG
  • [ ] ROUND
  • [ ] DISTINCT

Helpers:

  • [ ] .columns

Usage

TODO: Write more useful documentation

require "corm"

# Simple query without type casting
Corm.table("users")
    .select("id", "name")
    .where({ "id" => 23 })
    .one
# [[23 : PG::PGValue, "Some User" : PG::PGValue ]]

# Simple query with type casting
Corm.table("users")
    .select("id", "name")
    .where({ "id" => 23 })
    .one({Int32, String})
# {23 : Int32, "Some User" : String}

Development

There is no special development dependencies other then PostgreSQL so far.

Contributing

  1. Fork it ( https://github.com/gdotdesign/corm/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors

  • gdotdesign Szikszai Gusztáv - creator, maintainer