Giter Club home page Giter Club logo

meth's Introduction

METH

M​aladroit E​lusive T​ransaction H​ub

A wrapper around upper.io/db to ease some repetitive tasks.

Reasoning Behind

Working with upper.io/db sometimes becomes a little bit repetitive, so METH is an attempt to minimize the scaffolding needed in some basic tasks [fetching by id, by certain conditions].

Badges

GoDoc Build Status Go Report Card

Usage

Install

go get github.com/worg/meth

Any type must implement Persistent interface and return an initalized and valid db.Collection in order to use METH functions.

Example

package person

import (
    "upper.io/db"
    "upper.io/db/some_driver"
    
)

type Person struct {
    ID      int    `db:"id"`
    Name    string `db:"name"`
    Address string `db:"address"`
}

var (
    collection db.Collection
)

func init() {
    //init DB and set collection
}

func (p *Person) Collection() db.Collection {
    return collection
}

func (p *Person) ById(id int) {
    if err := meth.One(&p); err := nil {
        // handle err
    }
    // by this point p should've been filled with db data
}

meth's People

Contributors

worg avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

meth's Issues

Allow working with the result in some way

While providing enough abstraction to avoid the code duplication/verbosity in vanilla upper.io
i'm thinking in something like a callback… excecuted sometime before execute All/One

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.