class TrustyCms::ResourceResponses::Response
def default(&block)
def default(&block) if block_given? @default = block end @default end
def each_format
def each_format @block_order.each do |format| yield format, @blocks[format] if block_given? end end
def each_published
def each_published publish_formats.each do |format| yield format, publish_block if block_given? end end
def initialize
def initialize @publish_formats = [] @blocks = {} @block_order = [] end
def initialize_copy(orig)
def initialize_copy(orig) @publish_formats = orig.publish_formats.dup @blocks = orig.blocks.dup @block_order = orig.block_order.dup @publish_block = orig.publish_block.dup if orig.publish_block @default = orig.default.dup if orig.default end
def method_missing(method, *args, &block)
def method_missing(method, *args, &block) if block_given? @blocks[method] = block @block_order << method unless @block_order.include?(method) elsif args.empty? @block_order << method else super end end
def publish(*formats, &block)
def publish(*formats, &block) @publish_formats.concat(formats) if block_given? @publish_block = block else raise ArgumentError, "Block required to publish" unless @publish_block end end