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