A summary of data about the Ruby ecosystem.

https://github.com/ianwhite/orm_adapter

Provides a single point of entry for using basic features of ruby ORMs
https://github.com/ianwhite/orm_adapter

Keywords from Contributors

activerecord rubygems activejob mvc devise dsl form-builder rails-helper controllers flash-messages

Last synced: about 2 hours ago
JSON representation

Repository metadata

Provides a single point of entry for using basic features of ruby ORMs

README.rdoc

          = ORM Adapter {Build Status}[http://travis-ci.org/ianwhite/orm_adapter]

Provides a single point of entry for popular ruby ORMs.  Its target audience is gem authors who want to support more than one ORM.

== Example of use

  require 'orm_adapter'

  User # is it an ActiveRecord, DM Resource, MongoMapper or MongoId Document?

  User.to_adapter.find_first :name => 'Fred' # we don't care!

  user_model = User.to_adapter
  user_model.get!(1)                      # find a record by id
  user_model.find_first(:name => 'fred')  # find first fred
  user_model.find_first(:level => 'awesome', :id => 23)
                                          # find user 23, only if it's level is awesome
  user_model.find_all                     # find all users
  user_model.find_all(:name => 'fred')    # find all freds
  user_model.find_all(:order => :name)    # find all freds, ordered by name
  user_model.create!(:name => 'fred')     # create a fred
  user_model.destroy(object)              # destroy the user object


@see OrmAdapter::Base for more details of the supported API

== Supported ORMs

Currently supported ORMs are *ActiveRecord*, *DataMapper*, *MongoMapper*, and *MongoId*.

We welcome you to write new adapters as gems. ORM Adapter will stay focused in having these major ORMs working. Other adapters will be named orm_adapter-somedatabase, you can find the ones available {on rubygems}[https://rubygems.org/search?query=orm_adapter-].

To write an adapter look at lib/orm_adapter/adapters/active_record.rb for an example of implementation.  To see how to test it, look at spec/orm_adapter/example_app_shared.rb, spec/orm_adapter/adapters/active_record_spec.rb.  You'll need to require the target ORM in spec/spec_helper.rb


== Goals

ORM Adapter's goal is to support a minimum API used by most of the plugins that needs agnosticism beyond Active Model.

ORM Adapter will support only basic methods, as +get+, +find_first+, create! and so forth. It is not ORM Adapter's goal to support different query constructions, handle table joins, etc.

ORM adapter provides a consistent API for these basic class or 'factory' methods. It does not attempt to unify the behaviour of model instances returned by these methods.  This means that unifying the behaviour of methods such as `model.save`, and `model.valid?` is beyond the scope of orm_adapter.

If you need complex queries, we recommend you to subclass ORM Adapters in your plugin and extend it expressing these query conditions as part of your domain logic.

== History

orm_adapter is an extraction from {pickle}[http://github.com/ianwhite/pickle] by {Ian White}[http://github.com/ianwhite].  Pickle's orm adapter included work by {Daniel Neighman}[http://github.com/hassox], {Josh Bassett}[http://github.com/nullobject], {Marc Lee}[http://github.com/maleko], and {Sebastian Zuchmanski}[http://github.com/sebcioz].

{José Valim}[http://github.com/josevalim] suggested the extraction, and worked on the first release with Ian.

{Luke Cunningham}[http://github.com/icaruswings] contributes the Mongo Mapper adapter.

{Fred Wu}[http://github.com/fredwu] contributes the #destroy methods, and :limit, :offset options for #find_all

{Tim Galeckas}[http://github.com/timgaleckas]

== Development

To run the specs, you can start from the last known good set of gem dependencies in Gemfile.lock.development:

  git clone http://github.com/ianwhite/orm_adapter
  cd orm_adapter
  bundle install
  bundle exec rake spec

To run specs for different versions of ORMs, you can specify a gemfile from the `gemfiles` directory, e.g.

  BUNDLE_GEMFILE=gemfiles/activerecord-4.1.gemfile bundle install
  BUNDLE_GEMFILE=gemfiles/activerecord-4.1.gemfile bundle exec rake spec

== Copyright

Copyright (c) 2010-2013 Ian White and José Valim. See LICENSE for details.

        

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 1 day ago

Total Commits: 114
Total Committers: 14
Avg Commits per committer: 8.143
Development Distribution Score (DDS): 0.342

Commits in past year: 0
Committers in past year: 0
Avg Commits per committer in past year: 0.0
Development Distribution Score (DDS) in past year: 0.0

Name Email Commits
Ian White i****e@g****m 75
Fred Wu i****u@g****m 9
José Valim j****m@g****m 8
Andreas Ronge a****e@g****m 4
Tim Galeckas t****m@g****m 3
Philip Arndt p****t@g****m 3
Philipp Fehre p****e@g****m 2
Luke Cunningham l****e@i****m 2
dxw c****t@t****m 2
José Valim j****m@p****r 2
Peter M. Goldstein p****n@g****m 1
Jeremy Evans c****e@j****t 1
Brian Underwood m****b@s****m 1
linus l****s@l****) 1

Committer domains:


Issue and Pull Request metadata

Last synced: 15 days ago

Total issues: 19
Total pull requests: 29
Average time to close issues: 8 months
Average time to close pull requests: 9 months
Total issue authors: 17
Total pull request authors: 25
Average comments per issue: 3.42
Average comments per pull request: 3.24
Merged pull request: 10
Bot issues: 0
Bot pull requests: 0

Past year issues: 0
Past year pull requests: 0
Past year average time to close issues: N/A
Past year average time to close pull requests: N/A
Past year issue authors: 0
Past year pull request authors: 0
Past year average comments per issue: 0
Past year average comments per pull request: 0
Past year merged pull request: 0
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/ianwhite/orm_adapter

Top Issue Authors

  • ianwhite (3)
  • jeroenvandijk (1)
  • fwoeck (1)
  • timoschilling (1)
  • jc00ke (1)
  • HoneyryderChuck (1)
  • pravi (1)
  • alexandru-calinoiu (1)
  • lkalwa (1)
  • nevir (1)
  • alexanderedge (1)
  • jabberfest (1)
  • lsimoneau (1)
  • westonplatter (1)
  • krsyoung (1)

Top Pull Request Authors

  • timgaleckas (2)
  • dxw (2)
  • fredwu (2)
  • jeremyevans (2)
  • HoneyryderChuck (1)
  • ghost (1)
  • icaruswings (1)
  • nviennot (1)
  • gudata (1)
  • sideshowcoder (1)
  • mjgiarlo (1)
  • hauleth (1)
  • webhat (1)
  • u2 (1)
  • boutil (1)

Top Issue Labels

Top Pull Request Labels


Package metadata

gem.coop: orm_adapter

Provides a single point of entry for using basic features of ruby ORMs

  • Homepage: http://github.com/ianwhite/orm_adapter
  • Documentation: http://www.rubydoc.info/gems/orm_adapter/
  • Licenses: MIT
  • Latest release: 0.5.0 (published over 12 years ago)
  • Last Synced: 2026-03-02T02:31:49.770Z (2 days ago)
  • Versions: 13
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 260,198,480 Total
  • Docker Downloads: 502,216,305
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 0.073%
    • Downloads: 0.098%
    • Docker downloads count: 0.196%
  • Maintainers (2)
rubygems.org: orm_adapter

Provides a single point of entry for using basic features of ruby ORMs

  • Homepage: http://github.com/ianwhite/orm_adapter
  • Documentation: http://www.rubydoc.info/gems/orm_adapter/
  • Licenses: MIT
  • Latest release: 0.5.0 (published over 12 years ago)
  • Last Synced: 2026-03-02T04:01:59.993Z (2 days ago)
  • Versions: 13
  • Dependent Packages: 83
  • Dependent Repositories: 222,968
  • Downloads: 260,204,773 Total
  • Docker Downloads: 502,216,305
  • Rankings:
    • Dependent repos count: 0.094%
    • Downloads: 0.096%
    • Docker downloads count: 0.241%
    • Dependent packages count: 0.367%
    • Average: 1.316%
    • Forks count: 3.048%
    • Stargazers count: 4.05%
  • Maintainers (2)
gem.coop: orm_adapter_rails4_fix

Provides a single point of entry for using basic features of ruby ORMs

  • Homepage: http://github.com/ianwhite/orm_adapter
  • Documentation: http://www.rubydoc.info/gems/orm_adapter_rails4_fix/
  • Licenses: mit
  • Latest release: 0.4.1 (published over 13 years ago)
  • Last Synced: 2026-02-28T21:00:51.428Z (3 days ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 4,474 Total
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 24.516%
    • Downloads: 73.548%
  • Maintainers (1)
rubygems.org: orm_adapter_rails4_fix

Provides a single point of entry for using basic features of ruby ORMs

  • Homepage: http://github.com/ianwhite/orm_adapter
  • Documentation: http://www.rubydoc.info/gems/orm_adapter_rails4_fix/
  • Licenses: mit
  • Latest release: 0.4.1 (published over 13 years ago)
  • Last Synced: 2026-02-28T21:00:51.670Z (3 days ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 4,474 Total
  • Rankings:
    • Forks count: 2.701%
    • Stargazers count: 3.712%
    • Dependent packages count: 15.706%
    • Average: 28.787%
    • Dependent repos count: 46.782%
    • Downloads: 75.036%
  • Maintainers (1)
ubuntu-24.04: ruby-orm-adapter

  • Homepage: http://github.com/ianwhite/orm_adapter
  • Licenses:
  • Latest release: 0.5.0-2.1 (published 25 days ago)
  • Last Synced: 2026-02-06T15:42:41.615Z (25 days ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
ubuntu-20.04: ruby-orm-adapter

  • Homepage: http://github.com/ianwhite/orm_adapter
  • Licenses:
  • Latest release: 0.5.0-2 (published 19 days ago)
  • Last Synced: 2026-02-13T07:19:25.534Z (19 days ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
ubuntu-23.10: ruby-orm-adapter

  • Homepage: http://github.com/ianwhite/orm_adapter
  • Licenses:
  • Latest release: 0.5.0-2.1 (published 18 days ago)
  • Last Synced: 2026-02-13T18:28:18.273Z (18 days ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
ubuntu-23.04: ruby-orm-adapter

  • Homepage: http://github.com/ianwhite/orm_adapter
  • Licenses:
  • Latest release: 0.5.0-2.1 (published 21 days ago)
  • Last Synced: 2026-02-11T06:45:59.790Z (21 days ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
debian-11: ruby-orm-adapter

  • Homepage: http://github.com/ianwhite/orm_adapter
  • Documentation: https://packages.debian.org/bullseye/ruby-orm-adapter
  • Licenses:
  • Latest release: 0.5.0-2.1 (published 21 days ago)
  • Last Synced: 2026-02-13T08:23:15.939Z (19 days ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
debian-10: ruby-orm-adapter

  • Homepage: http://github.com/ianwhite/orm_adapter
  • Documentation: https://packages.debian.org/buster/ruby-orm-adapter
  • Licenses:
  • Latest release: 0.5.0-2 (published 21 days ago)
  • Last Synced: 2026-02-13T04:24:13.013Z (19 days ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
debian-12: ruby-orm-adapter

  • Homepage: http://github.com/ianwhite/orm_adapter
  • Documentation: https://packages.debian.org/bookworm/ruby-orm-adapter
  • Licenses:
  • Latest release: 0.5.0-2.1 (published 19 days ago)
  • Last Synced: 2026-02-12T23:37:04.770Z (19 days ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
ubuntu-24.10: ruby-orm-adapter

  • Homepage: http://github.com/ianwhite/orm_adapter
  • Licenses:
  • Latest release: 0.5.0-2.1ubuntu1 (published 19 days ago)
  • Last Synced: 2026-02-13T09:54:01.903Z (19 days ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
ubuntu-22.04: ruby-orm-adapter

  • Homepage: http://github.com/ianwhite/orm_adapter
  • Licenses:
  • Latest release: 0.5.0-2.1 (published 18 days ago)
  • Last Synced: 2026-02-13T13:22:18.226Z (18 days ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
debian-13: ruby-orm-adapter

  • Homepage: http://github.com/ianwhite/orm_adapter
  • Documentation: https://packages.debian.org/trixie/ruby-orm-adapter
  • Licenses:
  • Latest release: 0.5.0-2.1 (published 19 days ago)
  • Last Synced: 2026-02-13T13:18:11.096Z (18 days ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%

Dependencies

Gemfile rubygems
  • activerecord-jdbcsqlite3-adapter >= 0
  • bson_ext >= 1.3.2
  • rspec ~> 2.4
  • rubysl ~> 2.0
  • sqlite3 >= 1.3.2
orm_adapter.gemspec rubygems
  • activerecord >= 3.2.15 development
  • bundler >= 1.0.0 development
  • datamapper >= 1.0 development
  • dm-active_model >= 1.0 development
  • dm-sqlite-adapter >= 1.0 development
  • git >= 1.2.5 development
  • mongo_mapper ~> 0.11.0 development
  • mongoid ~> 2.8.0 development
  • rake >= 0.8.7 development
  • rspec >= 2.4.0 development
  • yard >= 0.6.0 development

Score: 29.102482809441963