Sha256: ba5eff9efbfb55ad36ab6b1c2b8ae9900fbec8dec633d8f59955fe8b7f304ede
Contents?: true
Size: 922 Bytes
Versions: 1
Compression:
Stored size: 922 Bytes
Contents
# frozen_string_literal: true require 'active_record' require 'forwardable' module Rack::Scaffold::Adapters class ActiveRecord < Base extend Forwardable def_delegators :@klass, :count, :all, :find, :create!, :update!, :destroy! class << self def ===(model) ::ActiveRecord::Base === model end def resources(model, _options = {}) model end def timestamps? record_timestamps? end end def singular @klass.name.downcase end def plural @klass.table_name end def paginate(limit, offset) @klass.limit(limit).offset(offset) end def [](id) find(id) end def one_to_many_associations @klass.reflect_on_all_associations(:has_many).collect(&:name) end def update_timestamp_field attribute_names.include?('updated_at') ? 'updated_at' : 'updated_on' end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rack-scaffold-0.2.2 | ./lib/rack/scaffold/adapters/active_record.rb |