Module: AwesomePrint::Cistern

Defined in:
lib/cistern/formatter/awesome_print.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



10
11
12
13
# File 'lib/cistern/formatter/awesome_print.rb', line 10

def self.included(base)
  base.send :alias_method, :cast_without_cistern, :cast
  base.send :alias_method, :cast, :cast_with_cistern
end

Instance Method Details

#awesome_cistern_collection(object) ⇒ Object

Format Cistern::Model




36
37
38
# File 'lib/cistern/formatter/awesome_print.rb', line 36

def awesome_cistern_collection(object)
  "#{object.class.name} " << awesome_hash(attributes: object.attributes, records: object.to_a)
end

#awesome_cistern_model(object) ⇒ Object

Format Cistern::Model




29
30
31
32
# File 'lib/cistern/formatter/awesome_print.rb', line 29

def awesome_cistern_model(object)
  data = object.attributes.keys.sort.each_with_object({}) { |e, a| a[e] = object.public_send(e) }
  "#{object} " << awesome_hash(data)
end

#cast_with_cistern(object, type) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
# File 'lib/cistern/formatter/awesome_print.rb', line 15

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::Singular)
    cast = :cistern_model
  elsif object.is_a?(Cistern::Collection)
    cast = :cistern_collection
  end
  cast
end