cheatorious 0.0.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/.travis.yml +8 -0
- data/GEM_VERSION +1 -0
- data/README.md +5 -0
- data/cheatorious.gemspec +36 -0
- data/lib/cheatorious/.gitkeep +0 -0
- data/lib/cheatorious/cheatsheet.rb +102 -0
- data/lib/cheatorious/version.rb +19 -0
- data/lib/cheatorious.rb +12 -0
- data/lib/tasks/task_sample.rake +7 -0
- metadata +67 -0
data/.travis.yml
ADDED
data/GEM_VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
v0.0.0+2
|
data/README.md
ADDED
data/cheatorious.gemspec
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$:.unshift lib unless $:.include?(lib)
|
4
|
+
|
5
|
+
version_file = File.expand_path "../GEM_VERSION", __FILE__
|
6
|
+
File.delete version_file if File.exists? version_file
|
7
|
+
|
8
|
+
require 'step-up'
|
9
|
+
require 'cheatorious'
|
10
|
+
|
11
|
+
Gem::Specification.new do |s|
|
12
|
+
s.name = "cheatorious"
|
13
|
+
s.version = Cheatorious::VERSION
|
14
|
+
s.platform = Gem::Platform::RUBY
|
15
|
+
s.summary = "generator of simple, searchable, command line cheatsheets"
|
16
|
+
s.require_paths = ['lib']
|
17
|
+
excepts = %w[
|
18
|
+
.gitignore
|
19
|
+
cheatsheets.gemspec
|
20
|
+
Gemfile
|
21
|
+
Gemfile.lock
|
22
|
+
Rakefile
|
23
|
+
]
|
24
|
+
tests = `git ls-files -- {script,test}/*`.split("\n")
|
25
|
+
s.files = `git ls-files`.split("\n") - excepts - tests + %w[GEM_VERSION]
|
26
|
+
|
27
|
+
s.author = "Luis Cipriani"
|
28
|
+
s.email = "lfcipriani@gmail.com"
|
29
|
+
s.homepage = "https://github.com/abril/cheatorious"
|
30
|
+
|
31
|
+
# s.add_dependency('dependency', '>= 1.0.0')
|
32
|
+
|
33
|
+
# s.add_development_dependency('cover_me')
|
34
|
+
# s.add_development_dependency('ruby-debug19')
|
35
|
+
s.add_development_dependency('step-up')
|
36
|
+
end
|
File without changes
|
@@ -0,0 +1,102 @@
|
|
1
|
+
module Cheatorious
|
2
|
+
class CheatSheet
|
3
|
+
|
4
|
+
class << self
|
5
|
+
def compile(name, &block)
|
6
|
+
c = self.new(name, &block)
|
7
|
+
c.compile!
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
attr_reader :name
|
12
|
+
|
13
|
+
def initialize(name, &block)
|
14
|
+
@name = name
|
15
|
+
@block = block
|
16
|
+
@keys = {}
|
17
|
+
@cheat_hash = {
|
18
|
+
:cheatsheet => {
|
19
|
+
:root => {}
|
20
|
+
}
|
21
|
+
}
|
22
|
+
@current_section = @cheat_hash[:cheatsheet][:root]
|
23
|
+
@separator = ""
|
24
|
+
end
|
25
|
+
|
26
|
+
def compile!
|
27
|
+
self.instance_eval(&@block)
|
28
|
+
return @cheat_hash
|
29
|
+
end
|
30
|
+
|
31
|
+
def description(info)
|
32
|
+
root["description"] = info
|
33
|
+
end
|
34
|
+
|
35
|
+
def version(numbers)
|
36
|
+
root["version"] = numbers.to_s
|
37
|
+
end
|
38
|
+
|
39
|
+
def author(*args)
|
40
|
+
root["author"] = args
|
41
|
+
end
|
42
|
+
|
43
|
+
def key_separator(separator)
|
44
|
+
@separator = separator
|
45
|
+
end
|
46
|
+
|
47
|
+
def key(identifier, value)
|
48
|
+
@keys[identifier] = value
|
49
|
+
end
|
50
|
+
|
51
|
+
def section(name, &block)
|
52
|
+
@current_section[:sections] = {} unless @current_section.key?(:sections)
|
53
|
+
@current_section[:sections][name] = {} unless @current_section[:sections].key?(name)
|
54
|
+
parent_section = @current_section
|
55
|
+
@current_section = @current_section[:sections][name]
|
56
|
+
|
57
|
+
self.instance_eval(&block)
|
58
|
+
|
59
|
+
@current_section = parent_section
|
60
|
+
end
|
61
|
+
|
62
|
+
def ___(name, *values)
|
63
|
+
@current_section[:entries] = {} unless @current_section.key?(:entries)
|
64
|
+
@current_section[:entries][name] = [] unless @current_section[:entries].key?(name)
|
65
|
+
values.each do |v|
|
66
|
+
@current_section[:entries][name] << v
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
def method_missing(method, *args)
|
71
|
+
method_name = method.to_s
|
72
|
+
|
73
|
+
if method_name.start_with?("_")
|
74
|
+
method_name = method_name[/_(.*)/,1].to_sym
|
75
|
+
return @keys[method_name] + (args[0].nil? ? "" : @separator + args[0].to_s) if @keys.key?(method_name)
|
76
|
+
end
|
77
|
+
|
78
|
+
super
|
79
|
+
end
|
80
|
+
|
81
|
+
private
|
82
|
+
|
83
|
+
def root
|
84
|
+
@cheat_hash
|
85
|
+
end
|
86
|
+
|
87
|
+
def sheet
|
88
|
+
@cheat_hash[:cheatsheet]
|
89
|
+
end
|
90
|
+
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
# hash = {
|
95
|
+
# "description" => "bla",
|
96
|
+
# "cheatsheet" => {
|
97
|
+
# :root => {
|
98
|
+
# :entries => { "Save File" => [":w"] },
|
99
|
+
# :sections => { "files" => {} }
|
100
|
+
# }
|
101
|
+
# }
|
102
|
+
# }
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
module Cheatorious
|
3
|
+
module VERSION #:nodoc:
|
4
|
+
version = nil
|
5
|
+
version_file = ::File.expand_path('../../../GEM_VERSION', __FILE__)
|
6
|
+
version = File.read(version_file) if ::File.exists?(version_file)
|
7
|
+
if version.nil? && ::File.exists?(::File.expand_path('../../../.git', __FILE__))
|
8
|
+
version = ::StepUp::Driver::Git.new.last_version_tag("HEAD", true) rescue "v0.0.0+0"
|
9
|
+
::File.open(version_file, "w"){ |f| f.write version }
|
10
|
+
end
|
11
|
+
|
12
|
+
STRING = version.gsub(/^v([^\+]+)\+?\d*$/, '\1')
|
13
|
+
MAJOR, MINOR, PATCH, TINY = STRING.scan(/\d+/)
|
14
|
+
|
15
|
+
def self.to_s
|
16
|
+
STRING
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
data/lib/cheatorious.rb
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
$:.unshift(File.dirname(__FILE__)) unless $:.include?(File.dirname(__FILE__))
|
3
|
+
|
4
|
+
# Dependencies
|
5
|
+
require "rubygems"
|
6
|
+
require "bundler/setup"
|
7
|
+
|
8
|
+
# Gem requirements
|
9
|
+
module Cheatorious
|
10
|
+
autoload :CheatSheet, "cheatorious/cheatsheet"
|
11
|
+
autoload :VERSION , 'cheatorious/version'
|
12
|
+
end
|
metadata
ADDED
@@ -0,0 +1,67 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: cheatorious
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.0
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Luis Cipriani
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2011-12-08 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: step-up
|
16
|
+
requirement: &2152980340 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :development
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *2152980340
|
25
|
+
description:
|
26
|
+
email: lfcipriani@gmail.com
|
27
|
+
executables: []
|
28
|
+
extensions: []
|
29
|
+
extra_rdoc_files: []
|
30
|
+
files:
|
31
|
+
- .travis.yml
|
32
|
+
- README.md
|
33
|
+
- cheatorious.gemspec
|
34
|
+
- lib/cheatorious.rb
|
35
|
+
- lib/cheatorious/.gitkeep
|
36
|
+
- lib/cheatorious/cheatsheet.rb
|
37
|
+
- lib/cheatorious/version.rb
|
38
|
+
- lib/tasks/task_sample.rake
|
39
|
+
- GEM_VERSION
|
40
|
+
homepage: https://github.com/abril/cheatorious
|
41
|
+
licenses: []
|
42
|
+
post_install_message:
|
43
|
+
rdoc_options: []
|
44
|
+
require_paths:
|
45
|
+
- lib
|
46
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
47
|
+
none: false
|
48
|
+
requirements:
|
49
|
+
- - ! '>='
|
50
|
+
- !ruby/object:Gem::Version
|
51
|
+
version: '0'
|
52
|
+
segments:
|
53
|
+
- 0
|
54
|
+
hash: -2831247960477896023
|
55
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
56
|
+
none: false
|
57
|
+
requirements:
|
58
|
+
- - ! '>='
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '0'
|
61
|
+
requirements: []
|
62
|
+
rubyforge_project:
|
63
|
+
rubygems_version: 1.8.10
|
64
|
+
signing_key:
|
65
|
+
specification_version: 3
|
66
|
+
summary: generator of simple, searchable, command line cheatsheets
|
67
|
+
test_files: []
|