features2cards 0.3.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +3 -0
- data/History.txt +11 -0
- data/README.rdoc +2 -3
- data/Rakefile +26 -2
- data/Thorfile +114 -0
- data/examples/i18n/.gitignore +1 -0
- data/examples/i18n/README.textile +18 -0
- data/examples/i18n/Rakefile +30 -0
- data/examples/i18n/ar/addition.feature +17 -0
- data/examples/i18n/bg/addition.feature +12 -0
- data/examples/i18n/bg/consecutive_calculations.feature +19 -0
- data/examples/i18n/bg/division.feature +17 -0
- data/examples/i18n/cat/suma.feature +17 -0
- data/examples/i18n/da/summering.feature +18 -0
- data/examples/i18n/de/addition.feature +17 -0
- data/examples/i18n/de/division.feature +10 -0
- data/examples/i18n/en-lol/stuffing.feature +8 -0
- data/examples/i18n/en/addition.feature +17 -0
- data/examples/i18n/en/division.feature +10 -0
- data/examples/i18n/es/adicion.feature +17 -0
- data/examples/i18n/et/jagamine.feature +10 -0
- data/examples/i18n/et/liitmine.feature +17 -0
- data/examples/i18n/fi/jakolasku.feature +10 -0
- data/examples/i18n/fi/yhteenlasku.feature +16 -0
- data/examples/i18n/fr/addition.feature +18 -0
- data/examples/i18n/he/addition.feature +17 -0
- data/examples/i18n/he/division.feature +10 -0
- data/examples/i18n/hu/addition.feature +17 -0
- data/examples/i18n/hu/division.feature +10 -0
- data/examples/i18n/id/addition.feature +17 -0
- data/examples/i18n/id/division.feature +10 -0
- data/examples/i18n/it/somma.feature +11 -0
- data/examples/i18n/ja/addition.feature +17 -0
- data/examples/i18n/ja/division.feature +10 -0
- data/examples/i18n/ko/addition.feature +17 -0
- data/examples/i18n/ko/division.feature +11 -0
- data/examples/i18n/lt/addition.feature +17 -0
- data/examples/i18n/lt/division.feature +10 -0
- data/examples/i18n/lv/addition.feature +17 -0
- data/examples/i18n/lv/division.feature +10 -0
- data/examples/i18n/no/summering.feature +19 -0
- data/examples/i18n/pl/addition.feature +17 -0
- data/examples/i18n/pl/division.feature +10 -0
- data/examples/i18n/pt/adicao.feature +11 -0
- data/examples/i18n/ro/suma.feature +11 -0
- data/examples/i18n/ru/addition.feature +11 -0
- data/examples/i18n/ru/consecutive_calculations.feature +17 -0
- data/examples/i18n/ru/division.feature +16 -0
- data/examples/i18n/se/summering.feature +18 -0
- data/examples/i18n/sk/addition.feature +17 -0
- data/examples/i18n/sk/division.feature +10 -0
- data/examples/i18n/zh-CN/addition.feature +18 -0
- data/examples/i18n/zh-TW/addition.feature +17 -0
- data/examples/i18n/zh-TW/division.feature +11 -0
- data/examples/self_test/.gitignore +2 -0
- data/examples/self_test/features/features2cards.feature +19 -0
- data/features/features2cards_cli.feature +40 -0
- data/features/step_definitions/features2cards_steps.rb +41 -0
- data/features/support/env.rb +79 -0
- data/features2cards.gemspec +118 -0
- data/lib/features2cards.rb +2 -8
- data/lib/features2cards/card.rb +14 -10
- data/lib/features2cards/cli.rb +27 -34
- data/lib/features2cards/platform.rb +1 -1
- data/lib/features2cards/prawn.rb +13 -13
- data/spec/features2cards/card_spec.rb +8 -0
- data/spec/features2cards/cli_spec.rb +21 -0
- data/spec/features2cards/prawn_spec.rb +5 -0
- data/spec/spec.opts +2 -0
- data/spec/spec_helper.rb +7 -0
- metadata +81 -12
    
        data/lib/features2cards/cli.rb
    CHANGED
    
    | @@ -4,46 +4,42 @@ require "features2cards/prawn" | |
| 4 4 |  | 
| 5 5 | 
             
            module Features2Cards
         | 
| 6 6 | 
             
              class CLI
         | 
| 7 | 
            -
             | 
| 7 | 
            +
             | 
| 8 8 | 
             
                attr_reader :paths
         | 
| 9 | 
            -
                attr_reader :options | 
| 10 | 
            -
             | 
| 9 | 
            +
                attr_reader :options
         | 
| 10 | 
            +
             | 
| 11 11 | 
             
                def self.execute(args)
         | 
| 12 12 | 
             
                  new(args).execute!
         | 
| 13 13 | 
             
                end
         | 
| 14 | 
            -
             | 
| 14 | 
            +
             | 
| 15 15 | 
             
                def initialize(args, out_stream = STDOUT, error_stream = STDERR)
         | 
| 16 | 
            -
                  @args    = args | 
| 16 | 
            +
                  @args    = args
         | 
| 17 17 | 
             
                  @out_stream   = out_stream
         | 
| 18 18 | 
             
                  @error_stream = error_stream
         | 
| 19 19 | 
             
                  @paths   = []
         | 
| 20 | 
            -
                  @options = default_options | 
| 20 | 
            +
                  @options = default_options
         | 
| 21 21 | 
             
                end
         | 
| 22 22 |  | 
| 23 | 
            -
                def execute! | 
| 23 | 
            +
                def execute!
         | 
| 24 24 | 
             
                  parse!(@args)
         | 
| 25 | 
            -
                  load_cucumber | 
| 25 | 
            +
                  load_cucumber
         | 
| 26 26 | 
             
                  if feature_files.empty?
         | 
| 27 27 | 
             
                    usage
         | 
| 28 28 | 
             
                    exit
         | 
| 29 29 | 
             
                  end
         | 
| 30 | 
            -
             | 
| 30 | 
            +
             | 
| 31 31 | 
             
                  generate_pdf(cards)
         | 
| 32 32 | 
             
                end
         | 
| 33 | 
            -
             | 
| 33 | 
            +
             | 
| 34 34 | 
             
                def parse!(args)
         | 
| 35 35 | 
             
                  @args = args
         | 
| 36 | 
            -
                  @args.extend(::OptionParser::Arguable) | 
| 36 | 
            +
                  @args.extend(::OptionParser::Arguable)
         | 
| 37 37 | 
             
                  @args.options  do |opts|
         | 
| 38 38 | 
             
                    opts.banner = ["Usage: features2cards [options] [ [FILE|DIR] ]+", "",
         | 
| 39 39 | 
             
                      "Examples:",
         | 
| 40 40 | 
             
                      "features2cards features2cards.feature",
         | 
| 41 | 
            -
                      "features2cards  | 
| 41 | 
            +
                      "features2cards examples/i18n/it",
         | 
| 42 42 | 
             
                    ].join("\n")
         | 
| 43 | 
            -
                    opts.on("-l [LANG]", "--language [LANG]",
         | 
| 44 | 
            -
                      "Specify language for features (Default: #{@options[:lang]})") do |v|         
         | 
| 45 | 
            -
                      @options[:lang] = v
         | 
| 46 | 
            -
                    end
         | 
| 47 43 | 
             
                    opts.on("-o", "--out [FILE]",
         | 
| 48 44 | 
             
                      "Specify pdf output file (Default: #{@options[:pdf_file]}).") do |v|
         | 
| 49 45 | 
             
                      @options[:pdf_file] = v
         | 
| @@ -55,31 +51,29 @@ module Features2Cards | |
| 55 51 | 
             
                    opts.on_tail("-h", "--help", "You're looking at it.") do
         | 
| 56 52 | 
             
                      @out_stream.puts opts.help
         | 
| 57 53 | 
             
                      Kernel.exit
         | 
| 58 | 
            -
                    end | 
| 54 | 
            +
                    end
         | 
| 59 55 | 
             
                end.parse!
         | 
| 60 56 |  | 
| 61 57 | 
             
                  # Whatever is left after option parsing is the FILE arguments
         | 
| 62 58 | 
             
                  @paths += args
         | 
| 63 | 
            -
                end | 
| 64 | 
            -
             | 
| 65 | 
            -
                def load_cucumber | 
| 66 | 
            -
                  Cucumber.load_language(lang)
         | 
| 67 | 
            -
              
         | 
| 59 | 
            +
                end
         | 
| 60 | 
            +
             | 
| 61 | 
            +
                def load_cucumber
         | 
| 68 62 | 
             
                  Cucumber::Ast::Feature.class_eval do
         | 
| 69 63 | 
             
                    attr_reader :scenarios
         | 
| 70 64 | 
             
                  end
         | 
| 71 65 | 
             
                end
         | 
| 72 | 
            -
             | 
| 66 | 
            +
             | 
| 73 67 | 
             
                def cards
         | 
| 74 68 | 
             
                  features_to_cards(features)
         | 
| 75 69 | 
             
                end
         | 
| 76 | 
            -
             | 
| 70 | 
            +
             | 
| 77 71 | 
             
                def features
         | 
| 78 72 | 
             
                  feature_files.map do |file|
         | 
| 79 | 
            -
                     | 
| 73 | 
            +
                    Cucumber::FeatureFile.new(file).parse(Cucumber::StepMother.new, {})
         | 
| 80 74 | 
             
                  end
         | 
| 81 75 | 
             
                end
         | 
| 82 | 
            -
             | 
| 76 | 
            +
             | 
| 83 77 | 
             
                def feature_files
         | 
| 84 78 | 
             
                  potential_feature_files = @paths.map do |path|
         | 
| 85 79 | 
             
                    path = path.gsub(/\\/, '/') # In case we're on windows. Globs don't work with backslashes.
         | 
| @@ -88,33 +82,32 @@ module Features2Cards | |
| 88 82 | 
             
                  end.flatten.uniq
         | 
| 89 83 | 
             
                  potential_feature_files
         | 
| 90 84 | 
             
                end
         | 
| 91 | 
            -
             | 
| 92 | 
            -
             | 
| 85 | 
            +
             | 
| 86 | 
            +
             | 
| 93 87 | 
             
                def parser
         | 
| 94 88 | 
             
                  @parser ||= Cucumber::Parser::FeatureParser.new
         | 
| 95 89 | 
             
                end
         | 
| 96 90 |  | 
| 97 91 | 
             
                def features_to_cards(features)
         | 
| 98 92 | 
             
                  features.map do |feature|
         | 
| 99 | 
            -
                    [Card.for_feature(feature | 
| 93 | 
            +
                    [Card.for_feature(feature)]
         | 
| 100 94 | 
             
                  end.flatten
         | 
| 101 95 | 
             
                end
         | 
| 102 96 |  | 
| 103 97 | 
             
                def generate_pdf(cards)
         | 
| 104 98 | 
             
                  Prawn::Document.generate_cards(@options[:pdf_file], cards)
         | 
| 105 99 | 
             
                end
         | 
| 106 | 
            -
             | 
| 100 | 
            +
             | 
| 107 101 | 
             
                def usage
         | 
| 108 102 | 
             
                  @error_stream.puts "ERROR: No feature files given"
         | 
| 109 103 | 
             
                  @error_stream.puts "Type 'features2cards --help' for usage."
         | 
| 110 104 | 
             
                end
         | 
| 111 | 
            -
             | 
| 105 | 
            +
             | 
| 112 106 | 
             
                def default_options
         | 
| 113 107 | 
             
                  {
         | 
| 114 | 
            -
                    :lang     => "en",
         | 
| 115 108 | 
             
                    :pdf_file => "cards.pdf"
         | 
| 116 109 | 
             
                  }
         | 
| 117 110 | 
             
                end
         | 
| 118 | 
            -
             | 
| 111 | 
            +
             | 
| 119 112 | 
             
              end
         | 
| 120 | 
            -
            end
         | 
| 113 | 
            +
            end
         | 
    
        data/lib/features2cards/prawn.rb
    CHANGED
    
    | @@ -3,23 +3,23 @@ require "prawn" | |
| 3 3 | 
             
            class Prawn::Document
         | 
| 4 4 | 
             
              CARD_WIDTH  = 72 * 5 # 5 inches
         | 
| 5 5 | 
             
              CARD_HEIGHT = 72 * 3 # 3 inches
         | 
| 6 | 
            -
             | 
| 6 | 
            +
             | 
| 7 7 | 
             
              def self.generate_cards(outfile, cards)
         | 
| 8 8 | 
             
                generate(outfile, :page_layout => :landscape) do
         | 
| 9 9 | 
             
                  row = 2
         | 
| 10 10 | 
             
                  col = 0
         | 
| 11 | 
            -
             | 
| 11 | 
            +
             | 
| 12 12 | 
             
                  cards.each do |card|
         | 
| 13 13 | 
             
                    if row == 0
         | 
| 14 14 | 
             
                      start_new_page
         | 
| 15 15 | 
             
                      row = 2
         | 
| 16 16 | 
             
                      col = 0
         | 
| 17 17 | 
             
                    end
         | 
| 18 | 
            -
             | 
| 18 | 
            +
             | 
| 19 19 | 
             
                    draw_card(card, row, col)
         | 
| 20 | 
            -
             | 
| 20 | 
            +
             | 
| 21 21 | 
             
                    col += 1
         | 
| 22 | 
            -
             | 
| 22 | 
            +
             | 
| 23 23 | 
             
                    if col > 1
         | 
| 24 24 | 
             
                      col = 0
         | 
| 25 25 | 
             
                      row -= 1
         | 
| @@ -27,13 +27,13 @@ class Prawn::Document | |
| 27 27 | 
             
                  end
         | 
| 28 28 | 
             
                end
         | 
| 29 29 | 
             
              end
         | 
| 30 | 
            -
             | 
| 30 | 
            +
             | 
| 31 31 | 
             
              def margin_box(margin, &block)
         | 
| 32 32 | 
             
                bounding_box [bounds.left + margin, bounds.top - margin],
         | 
| 33 33 | 
             
                  :width => bounds.width - (margin * 2), :height => bounds.height - (margin * 2),
         | 
| 34 34 | 
             
                  &block
         | 
| 35 35 | 
             
              end
         | 
| 36 | 
            -
             | 
| 36 | 
            +
             | 
| 37 37 | 
             
              def outline_box
         | 
| 38 38 | 
             
                stroke_rectangle bounds.top_left, bounds.width, bounds.height
         | 
| 39 39 | 
             
              end
         | 
| @@ -41,16 +41,16 @@ class Prawn::Document | |
| 41 41 | 
             
              def draw_card(card, row, col)
         | 
| 42 42 | 
             
                bounding_box [CARD_WIDTH * col, CARD_HEIGHT * row + ((bounds.height - (2*CARD_HEIGHT))/2)],
         | 
| 43 43 | 
             
                  :width => CARD_WIDTH, :height => CARD_HEIGHT do
         | 
| 44 | 
            -
             | 
| 44 | 
            +
             | 
| 45 45 | 
             
                  outline_box
         | 
| 46 | 
            -
             | 
| 46 | 
            +
             | 
| 47 47 | 
             
                  margin_box 8 do
         | 
| 48 48 | 
             
                    text card.type, :size => 12
         | 
| 49 | 
            -
             | 
| 49 | 
            +
             | 
| 50 50 | 
             
                    margin_box 16 do
         | 
| 51 51 | 
             
                      text card.body, :size => 10, :align => :left
         | 
| 52 52 | 
             
                    end
         | 
| 53 | 
            -
             | 
| 53 | 
            +
             | 
| 54 54 | 
             
                    unless card.footer.nil?
         | 
| 55 55 | 
             
                      bounding_box [bounds.left, bounds.bottom + 10], :width => bounds.width, :height => 10 do
         | 
| 56 56 | 
             
                        text card.footer, :size => 8, :align => :right
         | 
| @@ -59,5 +59,5 @@ class Prawn::Document | |
| 59 59 | 
             
                  end
         | 
| 60 60 | 
             
                end
         | 
| 61 61 | 
             
              end
         | 
| 62 | 
            -
             | 
| 63 | 
            -
            end
         | 
| 62 | 
            +
             | 
| 63 | 
            +
            end
         | 
| @@ -0,0 +1,21 @@ | |
| 1 | 
            +
            require File.dirname(__FILE__) + '/../spec_helper'
         | 
| 2 | 
            +
            require 'features2cards/cli'
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            module Features2Cards
         | 
| 5 | 
            +
              describe CLI do
         | 
| 6 | 
            +
                it "should parse feature" do
         | 
| 7 | 
            +
                  cli = CLI.execute(%w{examples/self_test/features/features2cards.feature})
         | 
| 8 | 
            +
                end
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                it "should parse feature in german" do
         | 
| 11 | 
            +
                  cli = CLI.execute(%w{examples/i18n/de})
         | 
| 12 | 
            +
                end
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                it "should accept --out option" do
         | 
| 15 | 
            +
                  cli = CLI.new(StringIO.new)
         | 
| 16 | 
            +
                  cli.parse!(%w{--out test.pdf})
         | 
| 17 | 
            +
                  cli.options[:pdf_file].should == 'test.pdf'
         | 
| 18 | 
            +
                end
         | 
| 19 | 
            +
              end
         | 
| 20 | 
            +
            end
         | 
| 21 | 
            +
             | 
    
        data/spec/spec.opts
    ADDED
    
    
    
        data/spec/spec_helper.rb
    ADDED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: features2cards
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.4.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors: 
         | 
| 7 7 | 
             
            - Bryan Helmkamp
         | 
| @@ -9,8 +9,8 @@ autorequire: | |
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 11 |  | 
| 12 | 
            -
            date: 2009- | 
| 13 | 
            -
            default_executable: 
         | 
| 12 | 
            +
            date: 2009-11-09 00:00:00 -05:00
         | 
| 13 | 
            +
            default_executable: features2cards
         | 
| 14 14 | 
             
            dependencies: 
         | 
| 15 15 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| 16 16 | 
             
              name: prawn
         | 
| @@ -22,25 +22,91 @@ dependencies: | |
| 22 22 | 
             
                  - !ruby/object:Gem::Version 
         | 
| 23 23 | 
             
                    version: "0"
         | 
| 24 24 | 
             
                version: 
         | 
| 25 | 
            -
            description:  | 
| 25 | 
            +
            description: |-
         | 
| 26 | 
            +
              Create PDF cards from Cucumber features and scenarios for printing. We use it as we kick
         | 
| 27 | 
            +
              off our sprints to create index cards for our task board.
         | 
| 26 28 | 
             
            email: bryan@brynary.com
         | 
| 27 29 | 
             
            executables: 
         | 
| 28 30 | 
             
            - features2cards
         | 
| 29 31 | 
             
            extensions: []
         | 
| 30 32 |  | 
| 31 | 
            -
            extra_rdoc_files:  | 
| 32 | 
            -
             | 
| 33 | 
            +
            extra_rdoc_files: 
         | 
| 34 | 
            +
            - History.txt
         | 
| 35 | 
            +
            - README.rdoc
         | 
| 36 | 
            +
            - MIT-LICENSE.txt
         | 
| 33 37 | 
             
            files: 
         | 
| 38 | 
            +
            - .gitignore
         | 
| 34 39 | 
             
            - History.txt
         | 
| 35 40 | 
             
            - MIT-LICENSE.txt
         | 
| 36 41 | 
             
            - README.rdoc
         | 
| 37 42 | 
             
            - Rakefile
         | 
| 43 | 
            +
            - Thorfile
         | 
| 38 44 | 
             
            - bin/features2cards
         | 
| 45 | 
            +
            - examples/i18n/.gitignore
         | 
| 46 | 
            +
            - examples/i18n/README.textile
         | 
| 47 | 
            +
            - examples/i18n/Rakefile
         | 
| 48 | 
            +
            - examples/i18n/ar/addition.feature
         | 
| 49 | 
            +
            - examples/i18n/bg/addition.feature
         | 
| 50 | 
            +
            - examples/i18n/bg/consecutive_calculations.feature
         | 
| 51 | 
            +
            - examples/i18n/bg/division.feature
         | 
| 52 | 
            +
            - examples/i18n/cat/suma.feature
         | 
| 53 | 
            +
            - examples/i18n/da/summering.feature
         | 
| 54 | 
            +
            - examples/i18n/de/addition.feature
         | 
| 55 | 
            +
            - examples/i18n/de/division.feature
         | 
| 56 | 
            +
            - examples/i18n/en-lol/stuffing.feature
         | 
| 57 | 
            +
            - examples/i18n/en/addition.feature
         | 
| 58 | 
            +
            - examples/i18n/en/division.feature
         | 
| 59 | 
            +
            - examples/i18n/es/adicion.feature
         | 
| 60 | 
            +
            - examples/i18n/et/jagamine.feature
         | 
| 61 | 
            +
            - examples/i18n/et/liitmine.feature
         | 
| 62 | 
            +
            - examples/i18n/fi/jakolasku.feature
         | 
| 63 | 
            +
            - examples/i18n/fi/yhteenlasku.feature
         | 
| 64 | 
            +
            - examples/i18n/fr/addition.feature
         | 
| 65 | 
            +
            - examples/i18n/he/addition.feature
         | 
| 66 | 
            +
            - examples/i18n/he/division.feature
         | 
| 67 | 
            +
            - examples/i18n/hu/addition.feature
         | 
| 68 | 
            +
            - examples/i18n/hu/division.feature
         | 
| 69 | 
            +
            - examples/i18n/id/addition.feature
         | 
| 70 | 
            +
            - examples/i18n/id/division.feature
         | 
| 71 | 
            +
            - examples/i18n/it/somma.feature
         | 
| 72 | 
            +
            - examples/i18n/ja/addition.feature
         | 
| 73 | 
            +
            - examples/i18n/ja/division.feature
         | 
| 74 | 
            +
            - examples/i18n/ko/addition.feature
         | 
| 75 | 
            +
            - examples/i18n/ko/division.feature
         | 
| 76 | 
            +
            - examples/i18n/lt/addition.feature
         | 
| 77 | 
            +
            - examples/i18n/lt/division.feature
         | 
| 78 | 
            +
            - examples/i18n/lv/addition.feature
         | 
| 79 | 
            +
            - examples/i18n/lv/division.feature
         | 
| 80 | 
            +
            - examples/i18n/no/summering.feature
         | 
| 81 | 
            +
            - examples/i18n/pl/addition.feature
         | 
| 82 | 
            +
            - examples/i18n/pl/division.feature
         | 
| 83 | 
            +
            - examples/i18n/pt/adicao.feature
         | 
| 84 | 
            +
            - examples/i18n/ro/suma.feature
         | 
| 85 | 
            +
            - examples/i18n/ru/addition.feature
         | 
| 86 | 
            +
            - examples/i18n/ru/consecutive_calculations.feature
         | 
| 87 | 
            +
            - examples/i18n/ru/division.feature
         | 
| 88 | 
            +
            - examples/i18n/se/summering.feature
         | 
| 89 | 
            +
            - examples/i18n/sk/addition.feature
         | 
| 90 | 
            +
            - examples/i18n/sk/division.feature
         | 
| 91 | 
            +
            - examples/i18n/zh-CN/addition.feature
         | 
| 92 | 
            +
            - examples/i18n/zh-TW/addition.feature
         | 
| 93 | 
            +
            - examples/i18n/zh-TW/division.feature
         | 
| 94 | 
            +
            - examples/self_test/.gitignore
         | 
| 95 | 
            +
            - examples/self_test/features/features2cards.feature
         | 
| 96 | 
            +
            - features/features2cards_cli.feature
         | 
| 97 | 
            +
            - features/step_definitions/features2cards_steps.rb
         | 
| 98 | 
            +
            - features/support/env.rb
         | 
| 99 | 
            +
            - features2cards.gemspec
         | 
| 100 | 
            +
            - lib/features2cards.rb
         | 
| 39 101 | 
             
            - lib/features2cards/card.rb
         | 
| 40 102 | 
             
            - lib/features2cards/cli.rb
         | 
| 41 103 | 
             
            - lib/features2cards/platform.rb
         | 
| 42 104 | 
             
            - lib/features2cards/prawn.rb
         | 
| 43 | 
            -
            -  | 
| 105 | 
            +
            - spec/features2cards/card_spec.rb
         | 
| 106 | 
            +
            - spec/features2cards/cli_spec.rb
         | 
| 107 | 
            +
            - spec/features2cards/prawn_spec.rb
         | 
| 108 | 
            +
            - spec/spec.opts
         | 
| 109 | 
            +
            - spec/spec_helper.rb
         | 
| 44 110 | 
             
            has_rdoc: true
         | 
| 45 111 | 
             
            homepage: http://github.com/brynary/features2cards
         | 
| 46 112 | 
             
            licenses: []
         | 
| @@ -64,10 +130,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 64 130 | 
             
              version: 
         | 
| 65 131 | 
             
            requirements: []
         | 
| 66 132 |  | 
| 67 | 
            -
            rubyforge_project: 
         | 
| 68 | 
            -
            rubygems_version: 1.3. | 
| 133 | 
            +
            rubyforge_project: features2cards
         | 
| 134 | 
            +
            rubygems_version: 1.3.5
         | 
| 69 135 | 
             
            signing_key: 
         | 
| 70 136 | 
             
            specification_version: 3
         | 
| 71 | 
            -
            summary:  | 
| 72 | 
            -
            test_files:  | 
| 73 | 
            -
             | 
| 137 | 
            +
            summary: Generate printable PDF index cards from Cucumber feature files
         | 
| 138 | 
            +
            test_files: 
         | 
| 139 | 
            +
            - spec/features2cards/card_spec.rb
         | 
| 140 | 
            +
            - spec/features2cards/cli_spec.rb
         | 
| 141 | 
            +
            - spec/features2cards/prawn_spec.rb
         | 
| 142 | 
            +
            - spec/spec_helper.rb
         |