fop_lang

Fop is a tiny expression language implemented in Ruby for text filtering and modification.

Examples

  f = Fop("release-{N}.{N+1}.{N=0}")

  puts f.apply("release-5.99.1")
  =>           "release-5.100.0"

  puts f.apply("release-5")
  => nil
  # doesn't match the pattern
  f = Fop("release-{N=5}.{N+1}.{N=0}")

  puts f.apply("release-4.99.1")
  =>           "release-5.100.0"
  f = Fop("release-*{N=5}.{N+100}.{N=0}")

  puts f.apply("release-foo-4.100.1")
  =>           "release-foo-5.200.0"
  f = Fop("release-{N=5}.{N+1}.{N=0}{*=}")

  puts f.apply("release-4.100.1.foo.bar")
  =>           "release-5.101.0"
  f = Fop("{W=version}-{N=5}.{N+1}.{N=0}")

  puts f.apply("release-4.100.1")
  =>           "version-5.101.0"