hsss 0.1.13 → 0.1.14
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 +4 -4
- data/exe/hsss +1 -1
- data/lib/hsss/version.rb +1 -1
- data/lib/hsss.rb +24 -15
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c63fa9e158201da35d648e6a03ed4ca5b471387d
|
4
|
+
data.tar.gz: 6cadb149d7b7ba5089bc3b93364a90c53025272a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f1ceb56c5b93b08394ee2436345e3745b23d534a5a1b1612e4afae5c2268744394540fd30ec87ff516bf0f7b535e447172dbd92fd2f4b52274e02a2be0a5f537
|
7
|
+
data.tar.gz: 2682f818c6ab443bcb1720ed67a4a931b2c8a1455641937f7e7ad2b6ab271f22ff2c9df490fa7e7856564d154d089be9aa8dd167109bb5058b7943645a5e92f1
|
data/exe/hsss
CHANGED
@@ -18,7 +18,7 @@ arg=OptionParser.new do |opts|
|
|
18
18
|
opts.on("--no-each", "Omit the iterator macro"){opt[:skip_each]=true}
|
19
19
|
opts.on("--no-parse", "Skip using luac to check script syntax"){opt[:no_luac]=true}
|
20
20
|
opts.on("--no-static", "Don't make variables static (file-scoped)"){opt[:no_static]=true}
|
21
|
-
opts.on("--prefix
|
21
|
+
opts.on("--prefix [#{Hsss::DEFAULT_PREFIX}]", "Prefix default names with this"){|v| opt[:prefix]=v}
|
22
22
|
end
|
23
23
|
arg.banner=<<EOS
|
24
24
|
Hash-Safe Script Splinterer, a Lua Script and hash embedder into C source.
|
data/lib/hsss/version.rb
CHANGED
data/lib/hsss.rb
CHANGED
@@ -2,35 +2,44 @@ require "hsss/version"
|
|
2
2
|
require 'digest/sha1'
|
3
3
|
|
4
4
|
module Hsss
|
5
|
-
DEFAULT_STRUCT_NAME="
|
6
|
-
DEFAULT_ROW_STRUCT_NAME="
|
7
|
-
DEFAULT_HASHES_NAME="
|
8
|
-
DEFAULT_NAMES_NAME="
|
9
|
-
DEFAULT_SCRIPTS_NAME="
|
10
|
-
DEFAULT_COUNT_NAME="
|
11
|
-
DEFAULT_ITER_MACRO_NAME="
|
5
|
+
DEFAULT_STRUCT_NAME="lua_scripts_t"
|
6
|
+
DEFAULT_ROW_STRUCT_NAME="lua_script_t"
|
7
|
+
DEFAULT_HASHES_NAME="lua_hashes"
|
8
|
+
DEFAULT_NAMES_NAME="lua_script_names"
|
9
|
+
DEFAULT_SCRIPTS_NAME="lua_scripts"
|
10
|
+
DEFAULT_COUNT_NAME="lua_scripts_count"
|
11
|
+
DEFAULT_ITER_MACRO_NAME="LUA_SCRIPTS_EACH"
|
12
|
+
DEFAULT_PREFIX="redis_"
|
12
13
|
|
13
14
|
class COutput
|
14
15
|
EXT="lua"
|
15
16
|
attr_accessor :struct_name, :hashes_struct, :names_struct, :scripts_struct, :count_name, :iter_macro_name, :row_struct_name
|
16
17
|
|
18
|
+
def cased_prefix(prefix, name)
|
19
|
+
if name && prefix
|
20
|
+
if name.upcase == name and name.downcase != name
|
21
|
+
name = "#{prefix.upcase}#{name}"
|
22
|
+
else
|
23
|
+
name = "#{prefix}#{name}"
|
24
|
+
end
|
25
|
+
end
|
26
|
+
name
|
27
|
+
end
|
28
|
+
|
17
29
|
def initialize(files, opt={})
|
18
30
|
@scripts={}
|
19
|
-
{ struct_name: DEFAULT_STRUCT_NAME,
|
31
|
+
names = { struct_name: DEFAULT_STRUCT_NAME,
|
20
32
|
row_struct_name: DEFAULT_ROW_STRUCT_NAME,
|
21
33
|
hashes_struct: DEFAULT_HASHES_NAME,
|
22
34
|
names_struct: DEFAULT_NAMES_NAME,
|
23
35
|
scripts_struct: DEFAULT_SCRIPTS_NAME,
|
24
36
|
count_name: DEFAULT_COUNT_NAME,
|
25
|
-
iter_macro_name: DEFAULT_ITER_MACRO_NAME}
|
26
|
-
send "#{var}=", opt[var]!=false ? opt[var] || default : false
|
27
|
-
end
|
37
|
+
iter_macro_name: DEFAULT_ITER_MACRO_NAME}
|
28
38
|
|
29
|
-
|
30
|
-
|
31
|
-
send "#{var}=", "#{opt[:prefix]}#{send var}" if send(var)
|
32
|
-
end
|
39
|
+
names.each do |var, default|
|
40
|
+
send "#{var}=", opt[var]!=false ? opt[var] || cased_prefix(opt[:prefix], default) : false
|
33
41
|
end
|
42
|
+
|
34
43
|
@include_count = !opt[:skip_count]
|
35
44
|
@include_iter_macro = !opt[:skip_each]
|
36
45
|
@include_hash = !!hashes_struct
|