hsss 0.1.13 → 0.1.14
Sign up to get free protection for your applications and to get access to all the features.
- 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
|