hsss 0.1.13 → 0.1.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/exe/hsss +1 -1
  3. data/lib/hsss/version.rb +1 -1
  4. data/lib/hsss.rb +24 -15
  5. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f1664e6c83468f56b9c849d810198affc6b598ec
4
- data.tar.gz: 6aa1c40b2971fb1bb24749700b0d03c77c283a7f
3
+ metadata.gz: c63fa9e158201da35d648e6a03ed4ca5b471387d
4
+ data.tar.gz: 6cadb149d7b7ba5089bc3b93364a90c53025272a
5
5
  SHA512:
6
- metadata.gz: 67a16b01da0dd267d06fa266876997c342d74d90b88029a736a43eea7cae40e42ac6ab53fd9b1c555491522a573368fa246bbf2a78f93fa630e10dda5946893c
7
- data.tar.gz: cbd123d2c4e7e75f2f0875e96b94054fd4a58cf75b8ef47e733fa2bf77603e2075ad658822d52c97c2b052079cd15c83e1043e7ce1f6ceb3c1ec244e7265388d
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 PREFIX", "Prefix default names with this"){|v| opt[:prefix]=v}
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
@@ -1,3 +1,3 @@
1
1
  module Hsss
2
- VERSION = "0.1.13"
2
+ VERSION = "0.1.14"
3
3
  end
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="redis_lua_scripts_t"
6
- DEFAULT_ROW_STRUCT_NAME="redis_lua_script_t"
7
- DEFAULT_HASHES_NAME="redis_lua_hashes"
8
- DEFAULT_NAMES_NAME="redis_lua_script_names"
9
- DEFAULT_SCRIPTS_NAME="redis_lua_scripts"
10
- DEFAULT_COUNT_NAME="redis_lua_scripts_count"
11
- DEFAULT_ITER_MACRO_NAME="REDIS_LUA_SCRIPTS_EACH"
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}.each do |var, default|
26
- send "#{var}=", opt[var]!=false ? opt[var] || default : false
27
- end
37
+ iter_macro_name: DEFAULT_ITER_MACRO_NAME}
28
38
 
29
- if opt[:prefix]
30
- [:struct_name, :hashes_struct, :names_struct, :scripts_struct].each do |var|
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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hsss
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.13
4
+ version: 0.1.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Leo P.