Sha256: 3b181294786a988656887350bd66d8ca30b05d9c809e566978df18356286233f

Contents?: true

Size: 831 Bytes

Versions: 94

Compression:

Stored size: 831 Bytes

Contents

require 'ostruct'

module Generator
  class ExerciseCase
    using Generator::Underscore
    include CaseHelpers
    include Assertion

    attr_reader :canonical
    def initialize(canonical:)
      @canonical = canonical
    end

    def name
      'test_%s' % canonical.description.strip.underscore
    end

    def skipped(index)
      index.zero? ? '# skip' : 'skip'
    end

    def method_missing(sym, *args, &block)
      return canonical.send(sym) if canonical.respond_to?(sym)
      super(sym, *args, &block)
    end

    def respond_to?(sym, include_private = false)
      canonical.respond_to?(sym) || super
    end

    protected

    def literal(number)
      number.underscore
    end

    def underscore(string)
      string.underscore
    end

    def camel_case(string)
      string.camel_case
    end

  end
end

Version data entries

94 entries across 94 versions & 1 rubygems

Version Path
trackler-2.2.1.76 tracks/ruby/lib/generator/exercise_case.rb
trackler-2.2.1.75 tracks/ruby/lib/generator/exercise_case.rb
trackler-2.2.1.74 tracks/ruby/lib/generator/exercise_case.rb
trackler-2.2.1.73 tracks/ruby/lib/generator/exercise_case.rb
trackler-2.2.1.72 tracks/ruby/lib/generator/exercise_case.rb
trackler-2.2.1.71 tracks/ruby/lib/generator/exercise_case.rb
trackler-2.2.1.70 tracks/ruby/lib/generator/exercise_case.rb
trackler-2.2.1.69 tracks/ruby/lib/generator/exercise_case.rb
trackler-2.2.1.68 tracks/ruby/lib/generator/exercise_case.rb
trackler-2.2.1.67 tracks/ruby/lib/generator/exercise_case.rb
trackler-2.2.1.66 tracks/ruby/lib/generator/exercise_case.rb
trackler-2.2.1.65 tracks/ruby/lib/generator/exercise_case.rb
trackler-2.2.1.64 tracks/ruby/lib/generator/exercise_case.rb
trackler-2.2.1.63 tracks/ruby/lib/generator/exercise_case.rb
trackler-2.2.1.62 tracks/ruby/lib/generator/exercise_case.rb
trackler-2.2.1.61 tracks/ruby/lib/generator/exercise_case.rb
trackler-2.2.1.60 tracks/ruby/lib/generator/exercise_case.rb
trackler-2.2.1.59 tracks/ruby/lib/generator/exercise_case.rb
trackler-2.2.1.58 tracks/ruby/lib/generator/exercise_case.rb
trackler-2.2.1.57 tracks/ruby/lib/generator/exercise_case.rb