table_beet2 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +24 -0
- data/.rspec +2 -0
- data/.rubocop.yml +28 -0
- data/.travis.yml +20 -0
- data/Gemfile +6 -0
- data/Guardfile +7 -0
- data/LICENSE.txt +22 -0
- data/README.md +111 -0
- data/Rakefile +8 -0
- data/bin/table_beet +6 -0
- data/gemfiles/rspec-3.5.x.gemfile +8 -0
- data/gemfiles/rspec-3.6.x.gemfile +8 -0
- data/gemfiles/rspec-3.7.x.gemfile +8 -0
- data/lib/table_beet.rb +17 -0
- data/lib/table_beet/cli.rb +48 -0
- data/lib/table_beet/formatters.rb +6 -0
- data/lib/table_beet/formatters/base_formatter.rb +14 -0
- data/lib/table_beet/formatters/html_formatter.rb +52 -0
- data/lib/table_beet/formatters/html_template/data/css/font-awesome-ie7.min.css +22 -0
- data/lib/table_beet/formatters/html_template/data/css/groundwork-ie.css +52 -0
- data/lib/table_beet/formatters/html_template/data/css/groundwork.css +5802 -0
- data/lib/table_beet/formatters/html_template/data/css/no-svg.css +1 -0
- data/lib/table_beet/formatters/html_template/data/css/placeholder_polyfill.css +32 -0
- data/lib/table_beet/formatters/html_template/data/favicon.ico +0 -0
- data/lib/table_beet/formatters/html_template/data/font/FontAwesome.otf +0 -0
- data/lib/table_beet/formatters/html_template/data/font/fontawesome-webfont.eot +0 -0
- data/lib/table_beet/formatters/html_template/data/font/fontawesome-webfont.svg +284 -0
- data/lib/table_beet/formatters/html_template/data/font/fontawesome-webfont.ttf +0 -0
- data/lib/table_beet/formatters/html_template/data/font/fontawesome-webfont.woff +0 -0
- data/lib/table_beet/formatters/html_template/data/images/black_linen_v2.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/groundwork-logo.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/groundwork-logo.svg +1 -0
- data/lib/table_beet/formatters/html_template/data/images/kitchen-sink.gif +0 -0
- data/lib/table_beet/formatters/html_template/data/images/layout-1.gif +0 -0
- data/lib/table_beet/formatters/html_template/data/images/layout-2.gif +0 -0
- data/lib/table_beet/formatters/html_template/data/images/layout-3.gif +0 -0
- data/lib/table_beet/formatters/html_template/data/images/layout-4.gif +0 -0
- data/lib/table_beet/formatters/html_template/data/images/layout-5.gif +0 -0
- data/lib/table_beet/formatters/html_template/data/images/orbit/bullets.jpg +0 -0
- data/lib/table_beet/formatters/html_template/data/images/orbit/left-arrow.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/orbit/loading.gif +0 -0
- data/lib/table_beet/formatters/html_template/data/images/orbit/mask-black.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/orbit/pause-black.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/orbit/right-arrow.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/orbit/rotator-black.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/orbit/timer-black.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/500px-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/500px-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/500px.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/500px.svg +62 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/aboutme-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/aboutme-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/aboutme.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/aboutme.svg +42 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/adn-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/adn-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/adn.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/adn.svg +14 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/android-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/android-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/android.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/android.svg +30 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/apple-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/apple-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/apple.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/apple.svg +19 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/behance-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/behance-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/behance.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/behance.svg +48 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/bitbucket-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/bitbucket-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/bitbucket.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/bitbucket.svg +36 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/blogger-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/blogger-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/blogger.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/blogger.svg +22 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/coderwall-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/coderwall-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/coderwall.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/coderwall.svg +21 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/creativecloud-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/creativecloud-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/creativecloud.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/creativecloud.svg +48 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/dribbble-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/dribbble-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/dribbble.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/dribbble.svg +28 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/dropbox-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/dropbox-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/dropbox.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/dropbox.svg +73 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/evernote-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/evernote-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/evernote.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/evernote.svg +62 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/facebook-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/facebook-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/facebook.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/facebook.svg +15 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/fairheadcreative-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/fairheadcreative-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/fairheadcreative.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/fairheadcreative.svg +24 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/flickr-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/flickr-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/flickr.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/flickr.svg +14 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/foursquare-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/foursquare-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/foursquare.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/foursquare.svg +43 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/git-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/git-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/git.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/git.svg +22 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/github-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/github-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/github.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/github.svg +38 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/goodreads-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/goodreads-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/goodreads.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/goodreads.svg +38 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/googleplay-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/googleplay-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/googleplay.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/googleplay.svg +24 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/googleplus-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/googleplus-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/googleplus.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/googleplus.svg +52 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/html5-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/html5-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/html5.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/html5.svg +29 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/icloud-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/icloud-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/icloud.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/icloud.svg +26 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/instagram-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/instagram-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/instagram.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/instagram.svg +166 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/lastfm-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/lastfm-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/lastfm.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/lastfm.svg +44 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/linkedin-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/linkedin-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/linkedin.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/linkedin.svg +28 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/mail-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/mail-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/mail.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/mail.svg +27 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/mercurial-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/mercurial-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/mercurial.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/mercurial.svg +22 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/mixi-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/mixi-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/mixi.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/mixi.svg +32 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/msn-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/msn-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/msn.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/msn.svg +44 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/orkut-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/orkut-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/orkut.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/orkut.svg +23 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/picasa-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/picasa-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/picasa.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/picasa.svg +48 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/pinterest-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/pinterest-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/pinterest.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/pinterest.svg +42 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/pocketapp-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/pocketapp-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/pocketapp.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/pocketapp.svg +38 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/quora-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/quora-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/quora.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/quora.svg +20 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/rdio-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/rdio-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/rdio.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/rdio.svg +18 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/renren-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/renren-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/renren.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/renren.svg +79 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/rss-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/rss-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/rss.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/rss.svg +18 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/skitch-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/skitch-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/skitch.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/skitch.svg +24 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/skype-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/skype-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/skype.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/skype.svg +25 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/soundcloud-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/soundcloud-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/soundcloud.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/soundcloud.svg +60 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/spotify-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/spotify-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/spotify.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/spotify.svg +38 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/stackoverflow-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/stackoverflow-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/stackoverflow.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/stackoverflow.svg +32 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/stumbleupon-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/stumbleupon-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/stumbleupon.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/stumbleupon.svg +22 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/svn-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/svn-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/svn.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/svn.svg +25 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/tent-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/tent-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/tent.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/tent.svg +16 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/tripadvisor-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/tripadvisor-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/tripadvisor.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/tripadvisor.svg +30 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/tumblr-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/tumblr-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/tumblr.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/tumblr.svg +16 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/twitter-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/twitter-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/twitter.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/twitter.svg +24 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/vimeo-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/vimeo-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/vimeo.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/vimeo.svg +20 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/weibo-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/weibo-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/weibo.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/weibo.svg +54 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/windows-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/windows-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/windows.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/windows.svg +26 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/wordpress-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/wordpress-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/wordpress.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/wordpress.svg +50 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/xing-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/xing-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/xing.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/xing.svg +16 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/yelp-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/yelp-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/yelp.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/yelp.svg +54 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/youtube-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/youtube-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/youtube.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/youtube.svg +106 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/youversion-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/youversion-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/youversion.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/youversion.svg +54 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/zerply-m.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/zerply-s.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/zerply.png +0 -0
- data/lib/table_beet/formatters/html_template/data/images/social-icons/zerply.svg +20 -0
- data/lib/table_beet/formatters/html_template/data/js/groundwork.js +847 -0
- data/lib/table_beet/formatters/html_template/data/js/jquery.quicksearch.js +181 -0
- data/lib/table_beet/formatters/html_template/data/js/libs/boxsizing.htc +501 -0
- data/lib/table_beet/formatters/html_template/data/js/libs/html5shiv.js +299 -0
- data/lib/table_beet/formatters/html_template/data/js/libs/html5shiv.min.js +8 -0
- data/lib/table_beet/formatters/html_template/data/js/libs/jquery-1.8.2.min.js +2 -0
- data/lib/table_beet/formatters/html_template/data/js/libs/modernizr-2.6.2.min.js +4 -0
- data/lib/table_beet/formatters/html_template/data/js/libs/placeholder_polyfill.jquery.js +212 -0
- data/lib/table_beet/formatters/html_template/data/js/plugins/coffee/jquery.modals.coffee +162 -0
- data/lib/table_beet/formatters/html_template/data/js/plugins/coffee/jquery.popover.coffee +198 -0
- data/lib/table_beet/formatters/html_template/data/js/plugins/coffee/jquery.popover.js +10 -0
- data/lib/table_beet/formatters/html_template/data/js/plugins/coffee/jquery.responsiveTables.coffee +56 -0
- data/lib/table_beet/formatters/html_template/data/js/plugins/coffee/jquery.responsiveTables.js +10 -0
- data/lib/table_beet/formatters/html_template/data/js/plugins/coffee/jquery.responsiveText.coffee +32 -0
- data/lib/table_beet/formatters/html_template/data/js/plugins/coffee/jquery.responsiveText.js +10 -0
- data/lib/table_beet/formatters/html_template/data/js/plugins/coffee/jquery.tooltip.coffee +121 -0
- data/lib/table_beet/formatters/html_template/data/js/plugins/coffee/jquery.tooltip.js +10 -0
- data/lib/table_beet/formatters/html_template/data/js/plugins/jquery.modals.js +185 -0
- data/lib/table_beet/formatters/html_template/data/js/plugins/jquery.orbit-1.4.0.js +919 -0
- data/lib/table_beet/formatters/html_template/data/js/plugins/jquery.popover.js +206 -0
- data/lib/table_beet/formatters/html_template/data/js/plugins/jquery.responsiveTables.js +63 -0
- data/lib/table_beet/formatters/html_template/data/js/plugins/jquery.responsiveText.js +45 -0
- data/lib/table_beet/formatters/html_template/data/js/plugins/jquery.tooltip.js +118 -0
- data/lib/table_beet/formatters/html_template/index.erb +147 -0
- data/lib/table_beet/formatters/oneline_formatter.rb +17 -0
- data/lib/table_beet/formatters/text_formatter.rb +19 -0
- data/lib/table_beet/loader.rb +39 -0
- data/lib/table_beet/reporter.rb +35 -0
- data/lib/table_beet/runner.rb +25 -0
- data/lib/table_beet/step.rb +27 -0
- data/lib/table_beet/version.rb +5 -0
- data/lib/table_beet/world.rb +42 -0
- data/spec/fixtures/steps/global_steps.rb +9 -0
- data/spec/fixtures/steps/test_steps.rb +24 -0
- data/spec/formatters/html_formatter_spec.rb +48 -0
- data/spec/loader_spec.rb +62 -0
- data/spec/spec_helper.rb +33 -0
- data/spec/step_spec.rb +29 -0
- data/spec/world_spec.rb +31 -0
- data/table_beet.gemspec +29 -0
- metadata +485 -0
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'table_beet/formatters/base_formatter.rb'
|
4
|
+
|
5
|
+
module TableBeet
|
6
|
+
module Formatters
|
7
|
+
class OnelineFormatter < BaseFormatter
|
8
|
+
def flush
|
9
|
+
@scopes.each do |name, steps|
|
10
|
+
steps.each do |step|
|
11
|
+
puts "[@#{name}] #{step.name} at:#{step.file}:#{step.lineno}"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'table_beet/formatters/base_formatter.rb'
|
4
|
+
|
5
|
+
module TableBeet
|
6
|
+
module Formatters
|
7
|
+
class TextFormatter < BaseFormatter
|
8
|
+
def flush
|
9
|
+
@scopes.each do |name, steps|
|
10
|
+
puts name
|
11
|
+
steps.each do |step|
|
12
|
+
puts "- #{step.name}\tfile://#{step.file}:#{step.lineno}"
|
13
|
+
end
|
14
|
+
puts
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'pathname'
|
4
|
+
|
5
|
+
module TableBeet
|
6
|
+
class Loader
|
7
|
+
def initialize(config = {})
|
8
|
+
@suffix = config[:suffix] || '_steps.rb'
|
9
|
+
@directory = config[:path] || './spec'
|
10
|
+
end
|
11
|
+
|
12
|
+
#
|
13
|
+
# @return Integer Size of loaded file
|
14
|
+
#
|
15
|
+
def load
|
16
|
+
# https://github.com/jnicklas/turnip#where-to-place-steps
|
17
|
+
paths.each { |f| Kernel.load(f, true) }
|
18
|
+
paths.length
|
19
|
+
end
|
20
|
+
|
21
|
+
def paths
|
22
|
+
Pathname.glob(pattern)
|
23
|
+
end
|
24
|
+
|
25
|
+
def display_pattern
|
26
|
+
pattern
|
27
|
+
end
|
28
|
+
|
29
|
+
private
|
30
|
+
|
31
|
+
def glob
|
32
|
+
'**/*' + @suffix
|
33
|
+
end
|
34
|
+
|
35
|
+
def pattern
|
36
|
+
File.join(@directory, glob)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'table_beet/world'
|
4
|
+
require 'table_beet/formatters/text_formatter'
|
5
|
+
require 'table_beet/formatters/oneline_formatter'
|
6
|
+
require 'table_beet/formatters/html_formatter'
|
7
|
+
|
8
|
+
module TableBeet
|
9
|
+
class Reporter
|
10
|
+
#
|
11
|
+
# @param [Hash] config
|
12
|
+
# :format => [Symbol] Output format
|
13
|
+
# :t or :text is plain text
|
14
|
+
# otherwise HTML
|
15
|
+
#
|
16
|
+
# :output => [String] Directory to output'
|
17
|
+
#
|
18
|
+
def self.build(config = {})
|
19
|
+
type = config[:format]
|
20
|
+
output = config[:output] || './stepdoc'
|
21
|
+
formatter(type).new(TableBeet::World.scopes, output).flush
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.formatter(type)
|
25
|
+
case type
|
26
|
+
when :t, :text
|
27
|
+
TableBeet::Formatters::TextFormatter
|
28
|
+
when :s, :oneline
|
29
|
+
TableBeet::Formatters::OnelineFormatter
|
30
|
+
else
|
31
|
+
TableBeet::Formatters::HTMLFormatter
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'table_beet/reporter'
|
4
|
+
require 'table_beet/loader'
|
5
|
+
|
6
|
+
module TableBeet
|
7
|
+
class Runner
|
8
|
+
def initialize(config = {})
|
9
|
+
@config = config
|
10
|
+
end
|
11
|
+
|
12
|
+
def run
|
13
|
+
loader = TableBeet::Loader.new(@config)
|
14
|
+
number_of_load = loader.load
|
15
|
+
|
16
|
+
# TOOD logger..?
|
17
|
+
if number_of_load.zero?
|
18
|
+
puts '[warn] There are no loaded file with specified option.'
|
19
|
+
puts " finder => #{loader.display_pattern}"
|
20
|
+
end
|
21
|
+
|
22
|
+
TableBeet::Reporter.build(@config)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'method_source'
|
4
|
+
|
5
|
+
module TableBeet
|
6
|
+
class Step
|
7
|
+
attr_reader :name, :file, :lineno
|
8
|
+
|
9
|
+
def initialize(method)
|
10
|
+
@method = method
|
11
|
+
@name = method.name.to_s
|
12
|
+
@file, @lineno = method.source_location
|
13
|
+
end
|
14
|
+
|
15
|
+
def id
|
16
|
+
@method.hash
|
17
|
+
end
|
18
|
+
|
19
|
+
def source
|
20
|
+
@method.comment + @method.source
|
21
|
+
end
|
22
|
+
|
23
|
+
def location
|
24
|
+
File.expand_path(@file) + ':' + @lineno.to_s
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'English'
|
4
|
+
|
5
|
+
module TableBeet
|
6
|
+
class World
|
7
|
+
#
|
8
|
+
# @return [Hash] The hash that { scope name => Array of ::TableBeet:Step }
|
9
|
+
#
|
10
|
+
def self.scopes
|
11
|
+
scopes = Hash.new { |hash, key| hash[key] = [] }
|
12
|
+
|
13
|
+
include_modules.each do |mod, tags|
|
14
|
+
space = Space.new(mod)
|
15
|
+
step_names = space.define_steps
|
16
|
+
next if step_names.empty?
|
17
|
+
|
18
|
+
scope_name = tags.keys.first
|
19
|
+
|
20
|
+
step_names.each do |name|
|
21
|
+
scopes[scope_name] << Step.new(space.method(name))
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
scopes
|
26
|
+
end
|
27
|
+
|
28
|
+
def self.include_modules
|
29
|
+
RSpec.configuration.instance_variable_get(:@include_modules).items_and_filters
|
30
|
+
end
|
31
|
+
|
32
|
+
class Space
|
33
|
+
def initialize(mod)
|
34
|
+
extend(mod)
|
35
|
+
end
|
36
|
+
|
37
|
+
def define_steps
|
38
|
+
methods.grep(/^match: (?<name>.+)/) { $LAST_MATCH_INFO[:name] }
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
steps_for :test do
|
4
|
+
REQUIRE_TEST = %w[cola pizza].freeze
|
5
|
+
|
6
|
+
#
|
7
|
+
# When to run the test:
|
8
|
+
# | cola |
|
9
|
+
# | pizza |
|
10
|
+
#
|
11
|
+
step "To run the test:" do |table|
|
12
|
+
@tests << table.to_a.flatten
|
13
|
+
end
|
14
|
+
|
15
|
+
#
|
16
|
+
# When to run the test:
|
17
|
+
# | cola |
|
18
|
+
# | report |
|
19
|
+
# Then The test is insufficient
|
20
|
+
#
|
21
|
+
step "the test is insufficient" do
|
22
|
+
expect(@tests).not_to include(*REQUIRE_TEST)
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
require 'erb'
|
5
|
+
|
6
|
+
describe TableBeet::Formatters::HTMLFormatter do
|
7
|
+
before do
|
8
|
+
mock_load
|
9
|
+
scopes = TableBeet::World.scopes
|
10
|
+
directory = OUTPUT_PATH
|
11
|
+
formatter = TableBeet::Formatters::HTMLFormatter.new(scopes, directory)
|
12
|
+
formatter.flush
|
13
|
+
end
|
14
|
+
|
15
|
+
let(:file) do
|
16
|
+
File.readlines(OUTPUT_PATH + '/index.html').join
|
17
|
+
end
|
18
|
+
|
19
|
+
context 'not loaded steps', before_load: true do
|
20
|
+
let(:mock_load) { nil }
|
21
|
+
|
22
|
+
describe '.flush' do
|
23
|
+
it 'should make html that has no scopes and steps' do
|
24
|
+
expect(file).not_to include('<a href="' + ERB::Util.h('#turnip') + '">' + ERB::Util.h('turnip') + '</a>')
|
25
|
+
expect(file).not_to include('<a href="' + ERB::Util.h('#test') + '">' + ERB::Util.h('test') + '</a>')
|
26
|
+
expect(file).not_to include(ERB::Util.h('Are you talking about :name !!!!!'))
|
27
|
+
expect(file).not_to include(ERB::Util.h('the test is insufficient'))
|
28
|
+
expect(file).not_to include(ERB::Util.h('To run the test:'))
|
29
|
+
expect(file).not_to include(ERB::Util.h("When you give up, that's when the game is over."))
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
context 'not loaded steps' do
|
35
|
+
let(:mock_load) { TableBeet::Loader.new(path: FIXTURES_PATH).load }
|
36
|
+
|
37
|
+
describe '.flush' do
|
38
|
+
it 'should make html that has scopes and steps' do
|
39
|
+
expect(file).to include('<a href="' + ERB::Util.h('#turnip') + '">' + ERB::Util.h('turnip') + '</a>')
|
40
|
+
expect(file).to include('<a href="' + ERB::Util.h('#test') + '">' + ERB::Util.h('test') + '</a>')
|
41
|
+
expect(file).to include('<th class="step_name">' + ERB::Util.h('Are you talking about :name !!!!!') + '</th>')
|
42
|
+
expect(file).to include('<th class="step_name">' + ERB::Util.h('the test is insufficient') + '</th>')
|
43
|
+
expect(file).to include('<th class="step_name">' + ERB::Util.h('To run the test:') + '</th>')
|
44
|
+
expect(file).to include('<th class="step_name">' + ERB::Util.h("When you give up, that's when the game is over.") + '</th>')
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
data/spec/loader_spec.rb
ADDED
@@ -0,0 +1,62 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
require 'pathname'
|
5
|
+
|
6
|
+
describe TableBeet::Loader do
|
7
|
+
context 'when not specify in the constructor argument', before_load: true do
|
8
|
+
let(:loader) do
|
9
|
+
TableBeet::Loader.new
|
10
|
+
end
|
11
|
+
|
12
|
+
describe '#display_pattern' do
|
13
|
+
it 'should return default glob pattern' do
|
14
|
+
expect(loader.display_pattern).to eq('./spec/**/*_steps.rb')
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
context 'when specify pattern that does not exist', before_load: true do
|
20
|
+
let(:loader) do
|
21
|
+
TableBeet::Loader.new(suffix: '__hoge.rb', path: '/tmp')
|
22
|
+
end
|
23
|
+
|
24
|
+
describe '#display_pattern' do
|
25
|
+
it 'should return glob pattern' do
|
26
|
+
expect(loader.display_pattern).to eq('/tmp/**/*__hoge.rb')
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
describe '#paths' do
|
31
|
+
it 'should return empty array' do
|
32
|
+
expect(loader.paths).to be_empty
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
describe '#load' do
|
37
|
+
it 'should return zero' do
|
38
|
+
expect(loader.load).to be_zero
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
context 'when specify exist pattern' do
|
44
|
+
let(:loader) do
|
45
|
+
TableBeet::Loader.new(path: FIXTURES_PATH)
|
46
|
+
end
|
47
|
+
|
48
|
+
describe '#paths' do
|
49
|
+
it 'should return load files' do
|
50
|
+
files = Pathname.glob(FIXTURES_PATH + '/*_steps.rb')
|
51
|
+
expect(loader.paths).to eq(files)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
describe '#load' do
|
56
|
+
it 'should return number of steps file' do
|
57
|
+
count = Pathname.glob(FIXTURES_PATH + '/*_steps.rb').size
|
58
|
+
expect(loader.load).to eq(count)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'coveralls'
|
4
|
+
require 'rspec/core/sandbox'
|
5
|
+
require 'table_beet'
|
6
|
+
Coveralls.wear!
|
7
|
+
|
8
|
+
FIXTURES_PATH = File.dirname(__FILE__) + '/fixtures/steps'
|
9
|
+
OUTPUT_PATH = File.dirname(__FILE__) + '/stepdoc'
|
10
|
+
|
11
|
+
RSpec.configure do |c|
|
12
|
+
c.around(:each) do |ex|
|
13
|
+
#
|
14
|
+
# Reset the added steps
|
15
|
+
# on https://github.com/jnicklas/turnip/blob/v1.2.4/lib/turnip/dsl.rb#L21
|
16
|
+
#
|
17
|
+
RSpec::Core::Sandbox.sandboxed do |config|
|
18
|
+
#
|
19
|
+
# Sandbox config does not included Turnip::Steps yet.
|
20
|
+
#
|
21
|
+
config.include Turnip::Steps, turnip: true
|
22
|
+
|
23
|
+
ex.run
|
24
|
+
|
25
|
+
#
|
26
|
+
# Reset the addes 'global' steps
|
27
|
+
#
|
28
|
+
Turnip::Steps.instance_methods.each do |method|
|
29
|
+
Turnip::Steps.module_eval { undef_method method }
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
data/spec/step_spec.rb
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe TableBeet::Step do
|
6
|
+
let(:step) do
|
7
|
+
TableBeet::Loader.new(path: FIXTURES_PATH).load
|
8
|
+
TableBeet::World.scopes[:turnip].first
|
9
|
+
end
|
10
|
+
|
11
|
+
describe '#id' do
|
12
|
+
it 'should return method id' do
|
13
|
+
expect(step.id).to be_instance_of(Integer).or be_instance_of(Fixnum)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
describe '#source' do
|
18
|
+
it 'should return step source' do
|
19
|
+
expect(step.source).to include('expect(name).to eq("Kuririn")')
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
describe '#location' do
|
24
|
+
it 'should return location of source' do
|
25
|
+
expect(step.location).to include('global_steps.rb:3')
|
26
|
+
expect(step.location).to include(FIXTURES_PATH)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
data/spec/world_spec.rb
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
require 'pathname'
|
5
|
+
|
6
|
+
describe TableBeet::World do
|
7
|
+
let(:scopes) do
|
8
|
+
mock_loader
|
9
|
+
TableBeet::World.scopes
|
10
|
+
end
|
11
|
+
|
12
|
+
context 'before load steps', before_load: true do
|
13
|
+
let(:mock_loader) { nil }
|
14
|
+
|
15
|
+
describe '.scopes' do
|
16
|
+
it 'should return empty hash' do
|
17
|
+
expect(scopes).to be_empty
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
context 'after load steps' do
|
23
|
+
let(:mock_loader) { TableBeet::Loader.new(path: FIXTURES_PATH).load }
|
24
|
+
|
25
|
+
describe '.scopes' do
|
26
|
+
it 'should return hash of steps' do
|
27
|
+
expect(scopes.keys.sort).to eq(%i[test turnip].sort)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|