Module: JSONAPIonify::Api::Relationship::Blocks
- Included in:
- JSONAPIonify::Api::Relationship
- Defined in:
- lib/jsonapionify/api/relationship/blocks.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.extended(klass) ⇒ Object
4 5 6 7 8 9 |
# File 'lib/jsonapionify/api/relationship/blocks.rb', line 4 def self.extended(klass) klass.class_eval do prepend_class append_class end end |
Instance Method Details
#append_class(&block) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/jsonapionify/api/relationship/blocks.rb', line 26 def append_class(&block) block ||= proc {} if method_defined? :class_appends previous_appends = instance_method(:class_appends) define_method :class_appends do (previous_appends.bind(self).call + [block]).freeze end else appends = [block].freeze define_method :class_appends do appends end end end |
#prepend_class(&block) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/jsonapionify/api/relationship/blocks.rb', line 11 def prepend_class(&block) block ||= proc {} if method_defined? :class_prepends previous_prepends = instance_method(:class_prepends) define_method :class_prepends do (previous_prepends.bind(self).call + [block]).freeze end else prepends = [block].freeze define_method :class_prepends do prepends end end end |