Sha256: 08fec278198adfd3f5e102053aea8840ba78427321bb9f23cb38dbc17b03087e
Contents?: true
Size: 1.1 KB
Versions: 1
Compression:
Stored size: 1.1 KB
Contents
require 'awesome_print' module Cistern::Formatter::AwesomePrint def self.call(model) model.ai end end module AwesomePrint::Cistern def self.included(base) base.send :alias_method, :cast_without_cistern, :cast base.send :alias_method, :cast, :cast_with_cistern end def cast_with_cistern(object, type) cast = cast_without_cistern(object, type) if object.is_a?(Cistern::Model) cast = :cistern_model elsif object.is_a?(Cistern::Collection) cast = :cistern_collection end cast end # Format Cistern::Model #------------------------------------------------------------------------------ def awesome_cistern_model(object) data = object.attributes.keys.inject({}){|r,k| r.merge(k => object.send(k))} "#{object} " << awesome_hash(data) end # Format Cistern::Model #------------------------------------------------------------------------------ def awesome_cistern_collection(object) "#{object.class.name} " << awesome_hash(attributes: object.attributes, records: object.records) end end AwesomePrint::Formatter.send(:include, AwesomePrint::Cistern)
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
cistern-0.5.4 | lib/cistern/formatter/awesome_print.rb |