Class: PgSerializable::Visitors::Base
- Inherits:
-
Object
- Object
- PgSerializable::Visitors::Base
- Defined in:
- lib/pg_serializable/visitors/base.rb
Direct Known Subclasses
Instance Method Summary collapse
- #visit(subject, **kwargs) ⇒ Object
- #visit_class(subject, **kwargs) ⇒ Object
- #visit_method_for(subject) ⇒ Object
- #visit_node(subject, **kwargs) ⇒ Object
-
#visit_other(subject, **kwargs) ⇒ Object
everything else.
-
#visit_record(subject, **kwargs) ⇒ Object
activerecord.
- #visit_scope(subject, **kwargs) ⇒ Object
- #visit_trait(subject, **kwargs) ⇒ Object
-
#visit_trait_manager(subject, **kwargs) ⇒ Object
pg_serializable.
Instance Method Details
#visit(subject, **kwargs) ⇒ Object
4 5 6 |
# File 'lib/pg_serializable/visitors/base.rb', line 4 def visit(subject, **kwargs) send(visit_method_for(subject), subject, **kwargs) end |
#visit_class(subject, **kwargs) ⇒ Object
26 27 28 |
# File 'lib/pg_serializable/visitors/base.rb', line 26 def visit_class(subject, **kwargs) raise NotImplementedError.new end |
#visit_method_for(subject) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/pg_serializable/visitors/base.rb', line 8 def visit_method_for(subject) case subject when record? then :visit_record when class? then :visit_class when relation? then :visit_relation when trait_manager? then :visit_trait_manager when trait? then :visit_trait when node? then :visit_node else :visit_other end end |
#visit_node(subject, **kwargs) ⇒ Object
44 45 46 |
# File 'lib/pg_serializable/visitors/base.rb', line 44 def visit_node(subject, **kwargs) raise NotImplementedError.new end |
#visit_other(subject, **kwargs) ⇒ Object
everything else
50 51 52 |
# File 'lib/pg_serializable/visitors/base.rb', line 50 def visit_other(subject, **kwargs) raise NotImplementedError.new end |
#visit_record(subject, **kwargs) ⇒ Object
activerecord
22 23 24 |
# File 'lib/pg_serializable/visitors/base.rb', line 22 def visit_record(subject, **kwargs) raise NotImplementedError.new end |
#visit_scope(subject, **kwargs) ⇒ Object
30 31 32 |
# File 'lib/pg_serializable/visitors/base.rb', line 30 def visit_scope(subject, **kwargs) raise NotImplementedError.new end |
#visit_trait(subject, **kwargs) ⇒ Object
40 41 42 |
# File 'lib/pg_serializable/visitors/base.rb', line 40 def visit_trait(subject, **kwargs) raise NotImplementedError.new end |
#visit_trait_manager(subject, **kwargs) ⇒ Object
pg_serializable
36 37 38 |
# File 'lib/pg_serializable/visitors/base.rb', line 36 def visit_trait_manager(subject, **kwargs) raise NotImplementedError.new end |