ktutils 0.0.1 → 0.0.2
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/README.md +12 -0
- data/lib/ktutils.rb +1 -0
- data/lib/ktutils/parse_template.rb +57 -0
- data/lib/ktutils/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a3e9a77a176435e38bb93403e12bad14e8f2adf9
|
4
|
+
data.tar.gz: 5da5fb39d166b498cc3d8e8bb97d71a3807a54b6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a232dc920f46eb7384e56356fa201ca6bbf7cc93debb048318570b9e7488650dd5fdcf7e919b436892c4da428b2ed68acfd47444c47c7f9ddf14c2372cfccf49
|
7
|
+
data.tar.gz: bacb0ce1e031577d72ea4d040be6251317dadf71dcefaa30849c556f87e3f7735b06bcadc20caa54b5976de73454142956295d62b6c49d1fee84fd94e36e71c6
|
data/README.md
CHANGED
@@ -31,8 +31,20 @@ or two modules/classes at a time.
|
|
31
31
|
|
32
32
|
### OS Detection
|
33
33
|
|
34
|
+
Determine if you're running on windows, linux or mac. Doesn't currently
|
35
|
+
support jruby.
|
36
|
+
|
34
37
|
require 'ktutils/os'
|
35
38
|
|
39
|
+
### Template Parsing
|
40
|
+
|
41
|
+
Brute force template parsing.
|
42
|
+
|
43
|
+
require 'ktutils/parse_template'
|
44
|
+
|
45
|
+
## TODOs
|
46
|
+
|
47
|
+
+ TESTS!
|
36
48
|
|
37
49
|
## Contributing
|
38
50
|
|
data/lib/ktutils.rb
CHANGED
@@ -0,0 +1,57 @@
|
|
1
|
+
##############################################################################
|
2
|
+
# File:: parse_template.rb
|
3
|
+
# Purpose:: Parse a template file and replace parameters.
|
4
|
+
#
|
5
|
+
# Author:: Jeff McAffee 06/05/2014
|
6
|
+
# Copyright:: Copyright (c) 2014, kTech Systems LLC. All rights reserved.
|
7
|
+
# Website:: http://ktechsystems.com
|
8
|
+
##############################################################################
|
9
|
+
|
10
|
+
# Parse a template file and create a new file with the supplied
|
11
|
+
# parameters replaced.
|
12
|
+
#
|
13
|
+
# Note: this uses brute force token replacement. I'm sure there are better
|
14
|
+
# ways to do this.
|
15
|
+
|
16
|
+
module Ktutils
|
17
|
+
class ParseTemplate
|
18
|
+
|
19
|
+
# start_delim:: Char(s) used to indicate start of replacement token. (default: @)
|
20
|
+
# stop_delim:: Char(s) used to indicate end of replacement token. (default: @)
|
21
|
+
def initialize(start_delim='@', stop_delim='@')
|
22
|
+
@start_delim = start_delim
|
23
|
+
@stop_delim = stop_delim
|
24
|
+
@tokens = {}
|
25
|
+
end
|
26
|
+
|
27
|
+
# Add a token that will be replaced. The key *must* be surrounded with '@'
|
28
|
+
# (or the specified delimiters) in the template document
|
29
|
+
# key:: token to be replaced.
|
30
|
+
# val:: value to replace token with.
|
31
|
+
def add_token(key, val)
|
32
|
+
@tokens[key] = val
|
33
|
+
end
|
34
|
+
|
35
|
+
# Parse the src document and place the result at dest.
|
36
|
+
# src:: source document (template) to parse.
|
37
|
+
# dest:: destination path to resulting document.
|
38
|
+
def parse(src, dest)
|
39
|
+
return unless @tokens.size > 0
|
40
|
+
|
41
|
+
File.open( src, "r" ) do |sf|
|
42
|
+
File.open( dest, "w" ) do |df|
|
43
|
+
sf.each do |sline|
|
44
|
+
@tokens.each do |token, val|
|
45
|
+
val = val.to_s unless (val.class == String)
|
46
|
+
rtok = "#{@start_delim}#{token}#{@stop_delim}"
|
47
|
+
sline.gsub!(rtok, val)
|
48
|
+
end # each token
|
49
|
+
|
50
|
+
df.write( sline )
|
51
|
+
end # each src line
|
52
|
+
end # Dest file open
|
53
|
+
end # Src file open
|
54
|
+
end
|
55
|
+
end # ParseTemplate
|
56
|
+
end # Ktutils
|
57
|
+
|
data/lib/ktutils/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ktutils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeff McAffee
|
@@ -53,6 +53,7 @@ files:
|
|
53
53
|
- ktutils.gemspec
|
54
54
|
- lib/ktutils.rb
|
55
55
|
- lib/ktutils/os.rb
|
56
|
+
- lib/ktutils/parse_template.rb
|
56
57
|
- lib/ktutils/version.rb
|
57
58
|
homepage: https://github.com/jmcaffee/ktutils
|
58
59
|
licenses:
|