class Expo3

Public Class Methods

new(**context, &block) click to toggle source
# File lib/expo3.rb, line 89
def initialize(**context, &block)
  @block = block
  @context = context
end

Public Instance Methods

expects?(keyparam) click to toggle source
# File lib/expo3.rb, line 94
def expects?(keyparam)
  @block.parameters.detect{|k,param| param == keyparam }
end
expo(obj=nil, **context) click to toggle source
# File lib/expo3.rb, line 112
def expo(obj=nil, **context)
  builder = Builder.new(self)
  builder.instance_exec(obj, **(@context.merge(context)), &@block) if @block
  builder.output(obj, **context)
end
expo_collection(coll) click to toggle source
# File lib/expo3.rb, line 118
def expo_collection(coll)
  coll.map(&method(:expo))
end
fix(**context) click to toggle source
# File lib/expo3.rb, line 98
def fix(**context)
  Expo3.new(**(@context.merge(context)), &@block)
end
upgrade(&block) click to toggle source
# File lib/expo3.rb, line 102
def upgrade(&block)
  return self unless block
  return Expo3.new(**(@context), &block) unless @block
  this = self
  Expo3.new do |obj|
    merge_expo obj, this
    merge_expo obj, Expo3.new(&block)
  end
end