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.
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.