cheatset 1.4.8 → 1.5.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8fdc1eca37055c92a396339e49c9cefabf314017418e1e12d7f5acfd1c921bbf
4
- data.tar.gz: 06f4d7ffd7184381f1ee664f8fed31c864cf10a2aa683a8e9119fc6afd1ebf37
3
+ metadata.gz: ba6e2c076332be0e6772b04b226e55dc23c7ca490653636fad401c83f8d69074
4
+ data.tar.gz: de4315f0e3121b8c419803e9c721ccdb90f5d91afc4e5b864c33cfafa9a0b056
5
5
  SHA512:
6
- metadata.gz: '08bf7aa87f90d6166e3e6586dffdab1d3cecc5ede9176fe5b39f17a55d2efefd3af12d867b1cdeb199434e59070e62c8b950345f9adb92c368541ab150c2e69f'
7
- data.tar.gz: d1a8a210bf728f54711131a8da71515ee651b2792bfdaed2ab340c71d5e2f013d1b5e3b460e4b822409408be23ad82907a4800bd5b2b0e9411971824ac4b3600
6
+ metadata.gz: 2596c3fb55bf8ddb6f714a0e8bdd15810112a1c99996dfa4bc69649f9b78030e4f94376367a47b480348c44a99254cf285357fbead5aa94ad5329b838ccd42b1
7
+ data.tar.gz: 100676f1ce26b3e7e63b6254738e236be156b68426a345d4e8ac16ec8d9f4e28b35810c00fa9c4215ef834a4821be63767437e1fb47ad6b0de0cd35b28c671d3
data/.gitignore CHANGED
@@ -18,3 +18,4 @@ test/version_tmp
18
18
  tmp
19
19
  .sass-cache/
20
20
  lib/cheatset/templates/template.html
21
+ *.docset/
data/cheatset.gemspec CHANGED
@@ -1,5 +1,6 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path('lib', __dir__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
5
  require 'cheatset/version'
5
6
 
@@ -11,21 +12,21 @@ Gem::Specification.new do |spec|
11
12
  spec.summary = spec.description
12
13
  spec.homepage = 'https://github.com/Kapeli/cheatset'
13
14
  spec.license = 'MIT'
15
+ spec.required_ruby_version = '>= 2.7'
14
16
 
15
17
  spec.files = `git ls-files`.split($/)
16
18
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
- spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
19
  spec.require_paths = ['lib']
19
20
 
20
- spec.add_development_dependency 'bundler', '~> 1.3'
21
+ spec.add_development_dependency 'bundler', '>= 2.0'
21
22
  spec.add_development_dependency 'rake'
22
23
 
23
- spec.add_dependency 'thor', '>= 1.0.1', '< 2.0'
24
- spec.add_dependency 'haml', '> 5.2', '< 6.0'
25
- spec.add_dependency 'sqlite3', '>= 1.3.13', '< 1.4'
26
- spec.add_dependency 'plist', '>= 3.5.0', '< 4.0'
27
- spec.add_dependency 'redcarpet', '>= 3.5.1', '< 4.0'
28
- spec.add_dependency 'rouge', '>= 3.26.0', '< 4.0'
29
- spec.add_dependency 'sanitize', '>= 5.2.1', '< 6.0'
30
- spec.add_dependency 'unindent', '>= 1.0', '< 1.1'
24
+ spec.add_dependency 'thor', '>= 1.0.1'
25
+ spec.add_dependency 'haml', '>= 5.2'
26
+ spec.add_dependency 'sqlite3', '>= 1.6'
27
+ spec.add_dependency 'plist', '>= 3.5.0'
28
+ spec.add_dependency 'redcarpet', '>= 3.5.1'
29
+ spec.add_dependency 'rouge', '>= 3.26.0'
30
+ spec.add_dependency 'sanitize', '>= 5.2.1'
31
+ spec.add_dependency 'unindent', '>= 1.0'
31
32
  end
@@ -2,7 +2,6 @@ require 'plist'
2
2
  require 'sqlite3'
3
3
  require 'fileutils'
4
4
  require 'haml'
5
- require 'ostruct'
6
5
  require 'cgi'
7
6
  require 'pathname'
8
7
 
@@ -28,11 +27,28 @@ class Cheatset::Creator
28
27
  File.expand_path('../templates', __FILE__)
29
28
  end
30
29
 
30
+ # Haml 6+ uses Template.new; Haml 5.x uses Engine.new
31
+ def render_haml(template, scope)
32
+ if defined?(Haml::Template)
33
+ Haml::Template.new { template }.render(scope)
34
+ else
35
+ Haml::Engine.new(template).render(scope)
36
+ end
37
+ end
38
+
39
+ # sqlite3 2.x uses execute(sql, bind_array); sqlite3 1.x uses execute(sql, *bind_vars)
40
+ def db_execute(db, sql, bind_vars)
41
+ if Gem::Version.new(SQLite3::VERSION) >= Gem::Version.new('2.0')
42
+ db.execute(sql, bind_vars)
43
+ else
44
+ db.execute(sql, *bind_vars)
45
+ end
46
+ end
47
+
31
48
  def generate_html_file
32
49
  # HTML
33
50
  template = File.read("#{tpl_path}/template.haml")
34
- engine = Haml::Engine.new(template)
35
- out = engine.render(@cheatsheet)
51
+ out = render_haml(template, @cheatsheet)
36
52
  doc_path = "#{@path}Resources/Documents/"
37
53
  FileUtils.mkdir_p(doc_path)
38
54
  File.open("#{doc_path}index.html", 'w') { |file| file.write(out) }
@@ -82,43 +98,43 @@ class Cheatset::Creator
82
98
  SQL
83
99
 
84
100
  sql = 'INSERT INTO searchIndex(name, type, path) VALUES (?, ?, ?)'
85
- db.execute(sql, @cheatsheet.title, 'Category',
86
- "index.html")
101
+ bind_vars = [@cheatsheet.title, 'Category', "index.html"]
102
+ db_execute(db, sql, bind_vars)
87
103
 
88
104
  @cheatsheet.categories.each do |category|
89
105
  category_strip = CGI.escape(category.id.strip).gsub(/\//, '%252F').gsub(/\+/, '%20');
90
106
  if @cheatsheet.title != category.id
91
- db.execute(sql, category.id, 'Category',
92
- "index.html\#//dash_ref/Category/#{category_strip}/1")
107
+ db_execute(db, sql, [category.id, 'Category',
108
+ "index.html\#//dash_ref/Category/#{category_strip}/1"])
93
109
  end
94
110
  category.entries.each_with_index do |entry, index|
95
111
  first_command = nil;
96
112
  if entry.command && entry.command.length > 0
97
113
  first_command = entry.command.first
98
114
  end
99
- href = (entry.name || entry.index_name) ? "index.html\#//dash_ref_#{category_strip}/Entry/#{CGI.escape((entry.index_name) ? entry.index_name.strip : entry.tags_stripped_name.strip).gsub(/\//, '%252F').gsub(/\+/, '%20')}/0" : (first_command) ? "index.html\#//dash_ref_#{category_strip}/Command/#{URI.escape(first_command).gsub(/\//, '%252F').gsub(/\+/, '%20')}/0" : ""
115
+ href = (entry.name || entry.index_name) ? "index.html\#//dash_ref_#{category_strip}/Entry/#{CGI.escape((entry.index_name) ? entry.index_name.strip : entry.tags_stripped_name.strip).gsub(/\//, '%252F').gsub(/\+/, '%20')}/0" : (first_command) ? "index.html\#//dash_ref_#{category_strip}/Command/#{CGI.escape(first_command).gsub(/\//, '%252F').gsub(/\+/, '%20')}/0" : ""
100
116
  if entry.command
101
117
  entry.command.each do |command|
102
118
  if(!command.strip.empty? && !entry.not_in_main_index)
103
- db.execute(sql, command.strip, 'Command', href)
119
+ db_execute(db, sql, [command.strip, 'Command', href])
104
120
  end
105
121
  end
106
122
  end
107
123
  if entry.td_command
108
124
  entry.td_command.each do |command|
109
125
  if(!command.strip.empty? && !entry.not_in_main_index)
110
- db.execute(sql, command.strip, 'Command', href)
126
+ db_execute(db, sql, [command.strip, 'Command', href])
111
127
  end
112
128
  end
113
129
  end
114
130
  if entry.name || entry.index_name
115
131
  if(!entry.not_in_main_index)
116
- db.execute(sql, (entry.index_name) ? entry.index_name.strip : entry.tags_stripped_name.strip, 'Entry', href)
132
+ db_execute(db, sql, [(entry.index_name) ? entry.index_name.strip : entry.tags_stripped_name.strip, 'Entry', href])
117
133
  end
118
134
  end
119
135
  if entry.extra_index_name
120
136
  entry.extra_index_name.each do |extra_index_name|
121
- db.execute(sql, extra_index_name.strip, 'Entry', href)
137
+ db_execute(db, sql, [extra_index_name.strip, 'Entry', href])
122
138
  end
123
139
  end
124
140
  end
@@ -1,3 +1,3 @@
1
1
  module Cheatset
2
- VERSION = '1.4.8'
2
+ VERSION = '1.5.0'
3
3
  end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cheatset
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.8
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bogdan Popescu
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-10-03 00:00:00.000000000 Z
11
+ date: 2026-02-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '1.3'
19
+ version: '2.0'
20
20
  type: :development
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: '1.3'
26
+ version: '2.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -45,9 +45,6 @@ dependencies:
45
45
  - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: 1.0.1
48
- - - "<"
49
- - !ruby/object:Gem::Version
50
- version: '2.0'
51
48
  type: :runtime
52
49
  prerelease: false
53
50
  version_requirements: !ruby/object:Gem::Requirement
@@ -55,49 +52,34 @@ dependencies:
55
52
  - - ">="
56
53
  - !ruby/object:Gem::Version
57
54
  version: 1.0.1
58
- - - "<"
59
- - !ruby/object:Gem::Version
60
- version: '2.0'
61
55
  - !ruby/object:Gem::Dependency
62
56
  name: haml
63
57
  requirement: !ruby/object:Gem::Requirement
64
58
  requirements:
65
- - - ">"
59
+ - - ">="
66
60
  - !ruby/object:Gem::Version
67
61
  version: '5.2'
68
- - - "<"
69
- - !ruby/object:Gem::Version
70
- version: '6.0'
71
62
  type: :runtime
72
63
  prerelease: false
73
64
  version_requirements: !ruby/object:Gem::Requirement
74
65
  requirements:
75
- - - ">"
66
+ - - ">="
76
67
  - !ruby/object:Gem::Version
77
68
  version: '5.2'
78
- - - "<"
79
- - !ruby/object:Gem::Version
80
- version: '6.0'
81
69
  - !ruby/object:Gem::Dependency
82
70
  name: sqlite3
83
71
  requirement: !ruby/object:Gem::Requirement
84
72
  requirements:
85
73
  - - ">="
86
74
  - !ruby/object:Gem::Version
87
- version: 1.3.13
88
- - - "<"
89
- - !ruby/object:Gem::Version
90
- version: '1.4'
75
+ version: '1.6'
91
76
  type: :runtime
92
77
  prerelease: false
93
78
  version_requirements: !ruby/object:Gem::Requirement
94
79
  requirements:
95
80
  - - ">="
96
81
  - !ruby/object:Gem::Version
97
- version: 1.3.13
98
- - - "<"
99
- - !ruby/object:Gem::Version
100
- version: '1.4'
82
+ version: '1.6'
101
83
  - !ruby/object:Gem::Dependency
102
84
  name: plist
103
85
  requirement: !ruby/object:Gem::Requirement
@@ -105,9 +87,6 @@ dependencies:
105
87
  - - ">="
106
88
  - !ruby/object:Gem::Version
107
89
  version: 3.5.0
108
- - - "<"
109
- - !ruby/object:Gem::Version
110
- version: '4.0'
111
90
  type: :runtime
112
91
  prerelease: false
113
92
  version_requirements: !ruby/object:Gem::Requirement
@@ -115,9 +94,6 @@ dependencies:
115
94
  - - ">="
116
95
  - !ruby/object:Gem::Version
117
96
  version: 3.5.0
118
- - - "<"
119
- - !ruby/object:Gem::Version
120
- version: '4.0'
121
97
  - !ruby/object:Gem::Dependency
122
98
  name: redcarpet
123
99
  requirement: !ruby/object:Gem::Requirement
@@ -125,9 +101,6 @@ dependencies:
125
101
  - - ">="
126
102
  - !ruby/object:Gem::Version
127
103
  version: 3.5.1
128
- - - "<"
129
- - !ruby/object:Gem::Version
130
- version: '4.0'
131
104
  type: :runtime
132
105
  prerelease: false
133
106
  version_requirements: !ruby/object:Gem::Requirement
@@ -135,9 +108,6 @@ dependencies:
135
108
  - - ">="
136
109
  - !ruby/object:Gem::Version
137
110
  version: 3.5.1
138
- - - "<"
139
- - !ruby/object:Gem::Version
140
- version: '4.0'
141
111
  - !ruby/object:Gem::Dependency
142
112
  name: rouge
143
113
  requirement: !ruby/object:Gem::Requirement
@@ -145,9 +115,6 @@ dependencies:
145
115
  - - ">="
146
116
  - !ruby/object:Gem::Version
147
117
  version: 3.26.0
148
- - - "<"
149
- - !ruby/object:Gem::Version
150
- version: '4.0'
151
118
  type: :runtime
152
119
  prerelease: false
153
120
  version_requirements: !ruby/object:Gem::Requirement
@@ -155,9 +122,6 @@ dependencies:
155
122
  - - ">="
156
123
  - !ruby/object:Gem::Version
157
124
  version: 3.26.0
158
- - - "<"
159
- - !ruby/object:Gem::Version
160
- version: '4.0'
161
125
  - !ruby/object:Gem::Dependency
162
126
  name: sanitize
163
127
  requirement: !ruby/object:Gem::Requirement
@@ -165,9 +129,6 @@ dependencies:
165
129
  - - ">="
166
130
  - !ruby/object:Gem::Version
167
131
  version: 5.2.1
168
- - - "<"
169
- - !ruby/object:Gem::Version
170
- version: '6.0'
171
132
  type: :runtime
172
133
  prerelease: false
173
134
  version_requirements: !ruby/object:Gem::Requirement
@@ -175,9 +136,6 @@ dependencies:
175
136
  - - ">="
176
137
  - !ruby/object:Gem::Version
177
138
  version: 5.2.1
178
- - - "<"
179
- - !ruby/object:Gem::Version
180
- version: '6.0'
181
139
  - !ruby/object:Gem::Dependency
182
140
  name: unindent
183
141
  requirement: !ruby/object:Gem::Requirement
@@ -185,9 +143,6 @@ dependencies:
185
143
  - - ">="
186
144
  - !ruby/object:Gem::Version
187
145
  version: '1.0'
188
- - - "<"
189
- - !ruby/object:Gem::Version
190
- version: '1.1'
191
146
  type: :runtime
192
147
  prerelease: false
193
148
  version_requirements: !ruby/object:Gem::Requirement
@@ -195,9 +150,6 @@ dependencies:
195
150
  - - ">="
196
151
  - !ruby/object:Gem::Version
197
152
  version: '1.0'
198
- - - "<"
199
- - !ruby/object:Gem::Version
200
- version: '1.1'
201
153
  description: Generate cheat sheets for Dash
202
154
  email:
203
155
  executables:
@@ -245,7 +197,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
245
197
  requirements:
246
198
  - - ">="
247
199
  - !ruby/object:Gem::Version
248
- version: '0'
200
+ version: '2.7'
249
201
  required_rubygems_version: !ruby/object:Gem::Requirement
250
202
  requirements:
251
203
  - - ">="