Coder Social home page Coder Social logo

active-record-ex's Introduction

Deprecated

This library is no longer in active development.

ActiveRecordEx

A library to make ActiveRecord::Relations even more awesome.

Build Status

ActiveRecordEx is made of several modules that are used by includeing them on your ActiveRecord model classes.

Installation

Run

gem install active-record-ex

or add

gem 'active-record-ex', '~> 0.2.1'

to your Gemfile.

Compatibility

Currently, only ActiveRecord 3.2 is supported. However, other versions have not been tested and may be compatible.

Modules

AssocOrdering

Extends setters for has_many associations so that ordering of association arrays is persisted.

AssumeDestroy

Changes the behavior of accepts_nested_attributes_for so that an explicit _destroy: true is not required to destroy an association model.

Instead, all models in the association will be destroyed if they are not included in the set of models used to update the association.

ManyToMany

Allows chaining of calls to has_many and belongs_to relationships.

NillableFind

Allows you to treat passing nil to a parent association as representing the "parent" of all of the child associations without a parent association.

PolymorphicBuild

Allows choosing the subclass of a model in an association via a passed :type parameter, useful for accepts_nested_attributes_for on a polymorphic association.

Development

Run tests with rake test.

active-record-ex's People

Contributors

akavi avatar smasry avatar steverice avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

active-record-ex's Issues

Rename to "EmbracesNestedAttributes" and remove ManyToMany/NillableFind

ManyToMany's already made available in https://github.com/PagerDuty/manytomany and is thematically different from the other modules present here. NillableFind isn't there, but perhaps should be.

The other ones are about making passing nested attributes through #update_attributes, #create, #build_attributes, et al more flexible, while ManyToMany and NillableFind are simply about making building complicated queries easier. These are very different things, and should be kept separate to reflect that.

The naming of "EmbracesNestedAttributes" (Or perhaps "LovesNestedAttributes") would better capture the purpose of the modules that would remain.

ManyToMany should support non string class name

Seeing this error when attempting to create a many to many relationship:

NoMethodError: undefined method constantize' for #Class:0x007feae9c62f60`

It was solved when making the class_name in the association definition a string.

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.