class Gobstones::ExampleCodeBuilder

Public Class Methods

new(code, example, options) click to toggle source
# File lib/gobstones/example_code_builder.rb, line 2
def initialize(code, example, options)
  @code = code
  @example = example
  @options = options
end

Public Instance Methods

build() click to toggle source
# File lib/gobstones/example_code_builder.rb, line 8
  def build
    return nil unless subject
<<GBS
#{@code}
program {
   #{code_call}
}
GBS
  end

Private Instance Methods

arguments() click to toggle source
# File lib/gobstones/example_code_builder.rb, line 32
def arguments
  (@example[:preconditions][:arguments] || []).join ','
end
code_call() click to toggle source
# File lib/gobstones/example_code_builder.rb, line 20
def code_call
  subject.initial_is_lower? ? "return (#{invocation})" : invocation
end
invocation() click to toggle source
# File lib/gobstones/example_code_builder.rb, line 28
def invocation
  "#{subject}(#{arguments})"
end
subject() click to toggle source
# File lib/gobstones/example_code_builder.rb, line 24
def subject
  @options[:subject]
end