Sha256: ec641e20c89ab3a25a3c8092b5f8d2f3e0f2135a7b6cc43d3725277e17946590

Contents?: true

Size: 983 Bytes

Versions: 18

Compression:

Stored size: 983 Bytes

Contents

#!/usr/bin/env ruby
# frozen_string_literal: true

if ARGV[0].nil?
  puts "Usage: #{$PROGRAM_NAME} file.md"
  exit
end

base_url = "https://github.com/mvidner/ruby-dbus/blob/master/"
base_url += ARGV[0].gsub("../", "")

File.open(ARGV[0]) do |f|
  title = nil
  setup = ""
  example = ""
  f.each_line do |line|
    case line
    when /^#+ *(.*)/
      new_title = Regexp.last_match(1)

      # write previous example
      unless example.empty?
        basename = title.downcase.gsub(/ +/, "_")
        if basename == "setting_up"
          setup = example
        else
          File.open("#{basename}.rb", "w") do |e|
            anchor = title.downcase.gsub(/ +/, "-")
            e.write setup
            e.write "# #{base_url}##{anchor}\n"
            e.write example
            e.chmod(0o755)
          end
        end
      end

      # set new
      title = new_title
      example = ""
    when /^    (.*)/
      example << Regexp.last_match(1) << "\n"
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
ruby-dbus-0.24.0 examples/doc/_extract_examples
ruby-dbus-0.23.1 examples/doc/_extract_examples
ruby-dbus-0.23.0.beta2 examples/doc/_extract_examples
ruby-dbus-0.23.0.beta1 examples/doc/_extract_examples
ruby-dbus-0.22.1 examples/doc/_extract_examples
ruby-dbus-0.22.0 examples/doc/_extract_examples
ruby-dbus-0.21.0 examples/doc/_extract_examples
ruby-dbus-0.20.0 examples/doc/_extract_examples
ruby-dbus-0.19.0 examples/doc/_extract_examples
ruby-dbus-0.18.1 examples/doc/_extract_examples
ruby-dbus-0.18.0.beta8 examples/doc/_extract_examples
ruby-dbus-0.18.0.beta7 examples/doc/_extract_examples
ruby-dbus-0.18.0.beta6 examples/doc/_extract_examples
ruby-dbus-0.18.0.beta5 examples/doc/_extract_examples
ruby-dbus-0.18.0.beta4 examples/doc/_extract_examples
ruby-dbus-0.18.0.beta3 examples/doc/_extract_examples
ruby-dbus-0.18.0.beta2 examples/doc/_extract_examples
ruby-dbus-0.18.0.beta1 examples/doc/_extract_examples