cheatly 0.0.5 → 0.0.6

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.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- MGMyM2JmZjdkNDRmYTFlYjY1MGZlZmRiNmFmOTY2YTQ5YzU4ZWRkYg==
5
- data.tar.gz: !binary |-
6
- NmE0ZGQ2ZDY3ZmRmMjYxY2YzNzk5ZGQ1N2ExMzAwNTljNTIwOGJmNA==
2
+ SHA1:
3
+ metadata.gz: 421926d9ff00815422d160384717b4662abf87a7
4
+ data.tar.gz: 9c59d3a7dc556d9d590303257a3f92bcec4bdac8
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- OWM5MmQxMmEyYWQ4YjEyMDBkOGYzNDZkZGJiYjY1YzNlZjIzNzVmOGNmYmE3
10
- OGI1MzdkNjc2YjVkN2VhMzllY2Q4M2NlNDAxYmU0ZjFlODZlYTZmYTAyMzc1
11
- NmFmOTEwOWY0NDY3MjQ1YWM3NzJlNzZjYjEwYzdkNDNhOWZhYWM=
12
- data.tar.gz: !binary |-
13
- MjIzMTJiNDBkMzQwMzU5MWIxYzc3Zjc3MWQyZjI5ZDFiYTIyZGM2OTJkN2E3
14
- ZWQxMGY0MDU5NDM1OTNhZWIzMzYzMDJhNjQwNWY3Y2JlOGVlMjgwZDQzMDBm
15
- YmJiNmQ2NDQ4NThlNGM2MzE2OWI3ODI1NzUwZDg4M2ZkMDgxNTQ=
6
+ metadata.gz: 85f518f577e4c910a5e3ffd815bb23d93406c2fbb04a1665f98012408cd51439827aece7acefa34d8ddb1f6da20f010c1983ba21b0ddce9a0a9f387f9bb60f98
7
+ data.tar.gz: c1691f0f69cae08f3963fde38a5ebde04a8ceaf84fe782c63e77a3f9587ab1764a380b05b7d90086ed95fe5dcf51ceeaed6c21f9d895bb7d7713882aaa447fc6
data/.travis.yml ADDED
@@ -0,0 +1,7 @@
1
+ language: ruby
2
+ rvm:
3
+ - "1.9.3"
4
+ - "2.0.0"
5
+ - "2.1.0"
6
+
7
+ script: bundle exec rake test
data/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # Cheatly
2
2
 
3
+ [![Build Status](https://travis-ci.org/arthurnn/cheatly.png?branch=master)](https://travis-ci.org/arthurnn/cheatly)
4
+
3
5
  This is a command line toolset to handle the cheat-sheets reposity located at [sheets](https://github.com/arthurnn/cheatly/tree/master/sheets) folder.
4
6
 
5
7
  This gem is not a fork but inspired by [defunkt/cheat](https://github.com/defunkt/cheat). However instead of using a full server to store the sheets, it uses github as central repository, making more reliable and easy to add new ones.
@@ -9,8 +11,9 @@ This gem is not a fork but inspired by [defunkt/cheat](https://github.com/defunk
9
11
  Submit a PR, adding a file to `sheets` folder, with the cheat-sheet name.
10
12
 
11
13
  1. Fork it
12
- 2. `cheatly new name` (replacing name with name of the sheet)
13
- 3. Create new Pull Request
14
+ 1. `cheatly create name` (replacing name with name of the sheet)
15
+ 1. `cheatly show --local NAME` to test your new sheet
16
+ 1. Create new Pull Request
14
17
 
15
18
  ## Installation
16
19
 
@@ -38,6 +41,16 @@ Submit a PR, adding a file to `sheets` folder, with the cheat-sheet name.
38
41
  4. Push to the branch (`git push origin my-new-feature`)
39
42
  5. Create new Pull Request
40
43
 
44
+ ## Build from source
45
+
46
+ Building from source will allow you to test changes to your code locally before pushing it back to origin.
47
+
48
+ 1. `git clone https://github.com/arthurnn/cheatly.git`
49
+ 2. `cd cheatly`
50
+ 3. `bundle exec rake install`
51
+
52
+ Repeat steps 3-4 to check modified code.
53
+
41
54
 
42
55
  [![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/arthurnn/cheatly/trend.png)](https://bitdeli.com/free "Bitdeli Badge")
43
56
 
data/Rakefile CHANGED
@@ -1 +1,13 @@
1
+ #!/usr/bin/env rake
1
2
  require "bundler/gem_tasks"
3
+ require "rake/testtask"
4
+
5
+ desc 'Run tests'
6
+ Rake::TestTask.new do |t|
7
+ t.libs << 'lib'
8
+ t.libs << 'test'
9
+ t.pattern = 'test/**/*_test.rb'
10
+ t.verbose = true
11
+ end
12
+
13
+ task :default => :test
data/bin/cheatly CHANGED
@@ -1,11 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
-
3
- begin
4
- require 'cheatly'
5
- rescue LoadError
6
- require 'rubygems'
7
- require 'cheatly'
8
- end
9
-
10
- c = Cheatly::CLI.new(ARGV)
11
- c.process
2
+ $:.unshift File.expand_path("../../lib", __FILE__)
3
+ require 'cheatly/cli'
4
+ Cheatly::CLI.start
data/cheatly.gemspec CHANGED
@@ -18,9 +18,11 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_dependency "httparty", "~> 0.12.0"
21
+ spec.add_dependency "octokit", "~> 2.6.1"
22
22
  spec.add_dependency "pager", "~> 1.0.1"
23
+ spec.add_dependency "thor", "~> 0.18.1"
23
24
 
24
- spec.add_development_dependency "bundler", "~> 1.3"
25
+ spec.add_development_dependency "bundler", ">= 1.3"
25
26
  spec.add_development_dependency "rake"
27
+ spec.add_development_dependency "minitest", "~> 5.0.8"
26
28
  end
@@ -0,0 +1,6 @@
1
+ # cheatly shell completion
2
+
3
+ To add autocompletion to your shell, look in this directory
4
+ and copy appropriate script to your shell completion directory e.g. `/etc/bash_completion.d/` for `bash`
5
+ or copy contents of the script to your shell initializer file.
6
+
@@ -0,0 +1,17 @@
1
+ _cheatly_complete() {
2
+ local cur prev commands lists
3
+ COMPREPLY=()
4
+ cur="${COMP_WORDS[COMP_CWORD]}"
5
+ prev="${COMP_WORDS[COMP_CWORD-1]}"
6
+ local IFS=$'\n'
7
+
8
+ if [ $COMP_CWORD -eq 1 ]; then
9
+ commands=`cheatly | sed -n 's/.* \$ cheatly \([a-z]*\).*$/\1/p'`
10
+ COMPREPLY=( $( compgen -W '${commands}' -- ${cur} ) )
11
+ elif [[ $COMP_CWORD -eq 2 && "$prev" == show ]]; then
12
+ lists=`cheatly list | sed -n 's/ \(.*\)$/\1/p'`
13
+ COMPREPLY=( $( compgen -W '${lists}' -- ${cur} ) )
14
+ fi
15
+ }
16
+ complete -F _cheatly_complete cheatly
17
+
@@ -0,0 +1,31 @@
1
+ require "tempfile"
2
+ require "yaml"
3
+
4
+ module Cheatly
5
+ module Adapter
6
+ class File
7
+ def find(name)
8
+ path = "sheets/#{name}.yml"
9
+ sheet_yaml = ::File.read(path)
10
+ yml = YAML.load(sheet_yaml).first
11
+ [yml.first, yml.last]
12
+ end
13
+
14
+ def all
15
+ Dir["sheets/*.yml"].map { |f| f.scan(/sheets\/(.*).yml/)[0][0] }
16
+ end
17
+
18
+ def create(name, body)
19
+ body = {name => body}.to_yaml
20
+ f = ::File.new("sheets/#{name}.yml", "w")
21
+ f.write(body)
22
+ f.close
23
+ end
24
+
25
+ def update(name, body)
26
+ ::File.delete("sheets/#{name}.yml")
27
+ create(name, body)
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,29 @@
1
+ require "base64"
2
+ require "yaml"
3
+
4
+ require "octokit"
5
+
6
+ module Cheatly
7
+ module Adapter
8
+ class GitHub
9
+ FOLDER = 'sheets'
10
+ REPO = 'arthurnn/cheatly'
11
+
12
+ def find(path)
13
+ response = Octokit.contents(REPO, path: "#{FOLDER}/#{path}.yml")
14
+ sheet_yaml = Base64.decode64(response.content)
15
+ yml = YAML.load(sheet_yaml).first
16
+ [yml.first, yml.last]
17
+ end
18
+
19
+ def all
20
+ response = Octokit.contents(REPO, path: "#{FOLDER}")
21
+ response.map { |f| f.name.gsub(/\.[a-z]+\z/, '') }
22
+ end
23
+
24
+ def create
25
+ raise NotImplementedError
26
+ end
27
+ end
28
+ end
29
+ end
@@ -1,45 +1,19 @@
1
- require "base64"
2
- require "json"
3
- require "tempfile"
4
- require "optparse"
1
+ require "cheatly/version"
2
+ require "cheatly/sheet"
3
+ require "cheatly/adapter/file"
4
+ require "cheatly/adapter/github"
5
5
 
6
- require "httparty"
7
6
  require "pager"
8
-
9
- require "cheatly/sheet"
10
- require "cheatly/version"
7
+ require "thor"
11
8
 
12
9
  module Cheatly
13
- class CLI
10
+ class CLI < Thor
14
11
  include Pager
15
12
 
16
- def initialize(args)
17
- @command = args.shift || "help"
18
- @handle = args.first
19
-
20
- if "help" == @command
21
- @handle = @command
22
- @command = "show"
23
- end
24
-
25
- @options = {}
26
- op_parser = OptionParser.new do |opts|
27
- opts.on("-l", "--local", "Run using local file system") do |v|
28
- @options[:local] = v
29
- end
30
- end
31
- op_parser.parse! args
32
- end
13
+ class_option :local, type: :boolean, aliases: "-l", desc: "Run using local file system"
33
14
 
34
- def model
35
- if @options[:local]
36
- Sheet.with_file_adapter
37
- else
38
- Sheet
39
- end
40
- end
41
-
42
- def sheet(handle)
15
+ desc "show SHEET_NAME", "show a cheat sheet"
16
+ def show(handle)
43
17
  sheet = model.find(handle)
44
18
  unless sheet
45
19
  puts "Sheet not found, run 'cheatly list' to see the availables."
@@ -50,6 +24,7 @@ module Cheatly
50
24
  puts sheet.to_s
51
25
  end
52
26
 
27
+ desc "list sheets", "list all available sheets"
53
28
  def list
54
29
  sheets = model.all
55
30
  page
@@ -59,18 +34,35 @@ module Cheatly
59
34
  end
60
35
  end
61
36
 
37
+ desc "create SHEET_NAME", "create a new sheet cheat"
62
38
  def create(handle)
63
39
  sheet = Sheet.with_file_adapter.new(handle)
64
40
  sheet.body = write_to_tempfile(handle)
65
41
  sheet.save
66
42
  end
67
43
 
44
+ desc "edit SHEET_NAME", "edit an existent sheet cheat"
68
45
  def edit(handle)
69
46
  sheet = Sheet.with_file_adapter.find(handle)
70
47
  sheet.body = write_to_tempfile(handle, sheet.body)
71
48
  sheet.save
72
49
  end
73
50
 
51
+ desc "help", "help"
52
+ def help
53
+ show('help')
54
+ end
55
+
56
+ private
57
+
58
+ def model
59
+ if options[:local]
60
+ Sheet.with_file_adapter
61
+ else
62
+ Sheet
63
+ end
64
+ end
65
+
74
66
  def write_to_tempfile(title, body = nil)
75
67
  tempfile = Tempfile.new(title + '.yml')
76
68
  tempfile.write(body) if body
@@ -85,20 +77,5 @@ module Cheatly
85
77
  def editor
86
78
  ENV['VISUAL'] || ENV['EDITOR'] || "nano"
87
79
  end
88
-
89
- def process
90
- case @command
91
- when "show"
92
- sheet(@handle)
93
- when "list"
94
- list
95
- when "new"
96
- create(@handle)
97
- when "edit"
98
- edit(@handle)
99
- else
100
- puts "Command [#{@command}] not found :-( . You can try running 'cheatly list' to check the available commands. "
101
- end
102
- end
103
80
  end
104
81
  end
data/lib/cheatly/sheet.rb CHANGED
@@ -30,8 +30,8 @@ module Cheatly
30
30
  def self.find(handle)
31
31
  t, b = adapter.find(handle)
32
32
  Sheet.new(t, b, persisted: true)
33
- rescue ## TODO: this is bad, fix me
34
- nil
33
+ rescue RuntimeError => e
34
+ puts e.message
35
35
  end
36
36
 
37
37
  def self.all
@@ -40,11 +40,11 @@ module Cheatly
40
40
  end
41
41
 
42
42
  def self.adapter
43
- @adapter ||= GithubAdapter.new
43
+ @adapter ||= Cheatly::Adapter::GitHub.new
44
44
  end
45
45
 
46
46
  def self.with_file_adapter
47
- @adapter = FileAdapter.new
47
+ @adapter = Cheatly::Adapter::File.new
48
48
  self
49
49
  end
50
50
 
@@ -54,60 +54,4 @@ module Cheatly
54
54
  self.class.adapter
55
55
  end
56
56
  end
57
-
58
- class FileAdapter
59
- def find(name)
60
- path = "sheets/#{name}.yml"
61
- sheet_yaml = File.read(path)
62
- yml = YAML.load(sheet_yaml).first
63
- [yml.first, yml.last]
64
- end
65
-
66
- def all
67
- Dir["sheets/*.yml"].map { |f| f.scan(/sheets\/(.*).yml/)[0][0] }
68
- end
69
-
70
- def create(name, body)
71
- body = {name => body}.to_yaml
72
- f = File.new "sheets/#{name}.yml", "w"
73
- f.write(body)
74
- f.close
75
- end
76
-
77
- def update(name, body)
78
- File.delete "sheets/#{name}.yml"
79
- create(name, body)
80
- end
81
- end
82
-
83
- class GithubAdapter
84
- include HTTParty
85
- base_uri 'https://api.github.com'
86
-
87
- def headers
88
- { :headers => {"User-Agent" => "Cheatly Gem"} }
89
- end
90
-
91
- def base_path
92
- "/repos/arthurnn/cheatly/contents/sheets"
93
- end
94
-
95
- def find(path)
96
- response = self.class.get("#{base_path}/#{path}.yml", headers)
97
- json = JSON.parse(response.body)
98
- sheet_yaml = Base64.decode64(json["content"])
99
- yml = YAML.load(sheet_yaml).first
100
- [yml.first, yml.last]
101
- end
102
-
103
- def all
104
- response = self.class.get(base_path, headers)
105
- json = JSON.parse(response.body)
106
- json.map { |entry| entry["name"].gsub('.yml', '') }
107
- end
108
-
109
- def create
110
- raise NotImplementedError
111
- end
112
- end
113
57
  end
@@ -1,3 +1,3 @@
1
1
  module Cheatly
2
- VERSION = "0.0.5"
2
+ VERSION = "0.0.6"
3
3
  end
data/sheets/help.yml CHANGED
@@ -1,6 +1,18 @@
1
1
  ---
2
- help: ! "cheatly help\n------------\nusage: $ cheatly list\n To list the available
3
- sheets\n\n $ cheatly show (sheetname)\n To see the sheet\n\n To
4
- create a new sheet local:\n 1. Clone the project: https://github.com/arthurnn/cheatly\n
5
- \ 2. $ cheatly new (sheetname)\n 3. Create a PR\n\n $ cheatly
6
- help\n To see this\n happy cheating !\n"
2
+ help: |
3
+ cheatly help
4
+ ------------
5
+ usage: $ cheatly list
6
+ To list the available sheets
7
+
8
+ $ cheatly show (sheetname)
9
+ To see the sheet
10
+
11
+ To create a new sheet local:
12
+ 1. Clone the project: https://github.com/arthurnn/cheatly
13
+ 2. $ cheatly create (sheetname)
14
+ 3. Create a PR
15
+
16
+ $ cheatly help
17
+ To see this
18
+ happy cheating !
@@ -0,0 +1,50 @@
1
+ ---
2
+ markdown: |
3
+ Headings:
4
+
5
+ # h1 => <h1>h1</h1>
6
+ ## h2 => <h2>h2</h2>
7
+ ...
8
+ ###### h6 => <h6>h6</h6>
9
+
10
+ Paragraphs
11
+
12
+ Separate paragraphs with double newlines. => <p>Separate paragraphs with double newlines.</p>
13
+
14
+ This is a second paragraph. => <p>This is a second paragraph.
15
+ This is not a third paragraph. => This is not a third paragraph.</p>
16
+
17
+ Blockquotes:
18
+ => <blockquote>
19
+ > This is a quote. => <p>This is a quote. You can use multiple lines.</p>
20
+ > You can use multiple lines. => </blockquote>
21
+
22
+ Code:
23
+
24
+ `code goes here` => <code>code goes here</code>
25
+
26
+ Lists:
27
+ => <ul>
28
+ * item 1 => <li>item 1</li>
29
+ * item 2 => <li>item 2</li>
30
+ * item 3 => <li>item 3</li>
31
+ => </ul>
32
+
33
+ => <ol>
34
+ 1. item 1 => <li>item 1</li>
35
+ 1. item 2 => <li>item 2</li>
36
+ 1. item 3 => <li>item 3</li>
37
+ => </ol>
38
+
39
+ Inline:
40
+
41
+ *emphasis* => <em>emphasis</em>
42
+ **strong** => <strong>strong</strong>
43
+
44
+ Links:
45
+
46
+ [Text to display](http://example.com/) => <a href='http://example.com'>Text to display</a>
47
+
48
+ Images:
49
+
50
+ ![alt text](/path/to/image.jpg) => <img src='/path/to/image.jpg alt='alt text' />
@@ -0,0 +1,14 @@
1
+ require 'test_helper'
2
+
3
+ class SheetTest < MiniTest::Test
4
+ def test_sheet_find
5
+ sheet = Cheatly::Sheet.find("bash")
6
+ assert sheet
7
+ end
8
+
9
+ def test_sheet_list
10
+ sheets = Cheatly::Sheet.all
11
+ assert sheets.is_a?(Array)
12
+ assert sheets.any?
13
+ end
14
+ end
@@ -0,0 +1,2 @@
1
+ require 'cheatly/cli'
2
+ require 'minitest/autorun'
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cheatly
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arthur Neves
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-01 00:00:00.000000000 Z
11
+ date: 2013-12-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: httparty
14
+ name: octokit
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ~>
18
18
  - !ruby/object:Gem::Version
19
- version: 0.12.0
19
+ version: 2.6.1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ~>
25
25
  - !ruby/object:Gem::Version
26
- version: 0.12.0
26
+ version: 2.6.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: pager
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -39,33 +39,61 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: 1.0.1
41
41
  - !ruby/object:Gem::Dependency
42
- name: bundler
42
+ name: thor
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: 0.18.1
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 0.18.1
55
+ - !ruby/object:Gem::Dependency
56
+ name: bundler
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
46
60
  - !ruby/object:Gem::Version
47
61
  version: '1.3'
48
62
  type: :development
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
- - - ~>
66
+ - - '>='
53
67
  - !ruby/object:Gem::Version
54
68
  version: '1.3'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: rake
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
- - - ! '>='
73
+ - - '>='
60
74
  - !ruby/object:Gem::Version
61
75
  version: '0'
62
76
  type: :development
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
- - - ! '>='
80
+ - - '>='
67
81
  - !ruby/object:Gem::Version
68
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: minitest
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ~>
88
+ - !ruby/object:Gem::Version
89
+ version: 5.0.8
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ~>
95
+ - !ruby/object:Gem::Version
96
+ version: 5.0.8
69
97
  description: A cheat-sheet cli for a cheat repository
70
98
  email:
71
99
  - arthurnn@gmail.com
@@ -75,13 +103,18 @@ extensions: []
75
103
  extra_rdoc_files: []
76
104
  files:
77
105
  - .gitignore
106
+ - .travis.yml
78
107
  - Gemfile
79
108
  - LICENSE.txt
80
109
  - README.md
81
110
  - Rakefile
82
111
  - bin/cheatly
83
112
  - cheatly.gemspec
84
- - lib/cheatly.rb
113
+ - completion/README.md
114
+ - completion/cheatly.bash
115
+ - lib/cheatly/adapter/file.rb
116
+ - lib/cheatly/adapter/github.rb
117
+ - lib/cheatly/cli.rb
85
118
  - lib/cheatly/sheet.rb
86
119
  - lib/cheatly/version.rb
87
120
  - sheets/assertions.yml
@@ -89,10 +122,13 @@ files:
89
122
  - sheets/exceptions.yml
90
123
  - sheets/gem_release.yml
91
124
  - sheets/help.yml
125
+ - sheets/markdown.yml
92
126
  - sheets/migrations.yml
93
127
  - sheets/sprintf.yml
94
128
  - sheets/status_codes.yml
95
129
  - sheets/strftime.yml
130
+ - test/sheet_test.rb
131
+ - test/test_helper.rb
96
132
  homepage: ''
97
133
  licenses:
98
134
  - MIT
@@ -103,18 +139,20 @@ require_paths:
103
139
  - lib
104
140
  required_ruby_version: !ruby/object:Gem::Requirement
105
141
  requirements:
106
- - - ! '>='
142
+ - - '>='
107
143
  - !ruby/object:Gem::Version
108
144
  version: '0'
109
145
  required_rubygems_version: !ruby/object:Gem::Requirement
110
146
  requirements:
111
- - - ! '>='
147
+ - - '>='
112
148
  - !ruby/object:Gem::Version
113
149
  version: '0'
114
150
  requirements: []
115
151
  rubyforge_project:
116
- rubygems_version: 2.1.10
152
+ rubygems_version: 2.1.11
117
153
  signing_key:
118
154
  specification_version: 4
119
155
  summary: A cheat-sheet cli for a cheat repository
120
- test_files: []
156
+ test_files:
157
+ - test/sheet_test.rb
158
+ - test/test_helper.rb