hmstools 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/hmstools.rb +91 -0
- metadata +3 -3
data/lib/hmstools.rb
CHANGED
@@ -55,6 +55,15 @@ module HMSTools
|
|
55
55
|
@total = @total.to_i
|
56
56
|
end
|
57
57
|
|
58
|
+
# Starts the process of counting lines of code
|
59
|
+
#
|
60
|
+
# Example:
|
61
|
+
# >> LOCReader.run "./my_project/*", ".rb"
|
62
|
+
#
|
63
|
+
# Arguments:
|
64
|
+
# dir: (String) The directory you want to search. Include /* on the end.
|
65
|
+
# ext: (String) List of file extensions. Comma seperated
|
66
|
+
|
58
67
|
def run(dir, ext = "")
|
59
68
|
unless ext == ""
|
60
69
|
@ext = ext.split(',')
|
@@ -63,6 +72,14 @@ module HMSTools
|
|
63
72
|
get_files dir
|
64
73
|
@total = @lines - @blank_lines
|
65
74
|
end
|
75
|
+
|
76
|
+
# Grabs the directory and loops through the files. This is recursive to grab all sub directories
|
77
|
+
#
|
78
|
+
# Example
|
79
|
+
# >> LOCReader.get_files "./my_project/*"
|
80
|
+
#
|
81
|
+
# Arguments:
|
82
|
+
# dir: (String) The directory you want to search. Include /* on the end.
|
66
83
|
|
67
84
|
def get_files(dir)
|
68
85
|
|
@@ -83,6 +100,15 @@ module HMSTools
|
|
83
100
|
end
|
84
101
|
end
|
85
102
|
|
103
|
+
# Reads the files and counts the lines
|
104
|
+
#
|
105
|
+
# Example
|
106
|
+
# >> LOCReader.read_lines "./helloworld.rb"
|
107
|
+
# => Hello World
|
108
|
+
#
|
109
|
+
# Arguments:
|
110
|
+
# file: (String)
|
111
|
+
|
86
112
|
def read_lines(file)
|
87
113
|
begin
|
88
114
|
ofile = File.new(file, "r")
|
@@ -98,14 +124,33 @@ module HMSTools
|
|
98
124
|
end
|
99
125
|
end
|
100
126
|
|
127
|
+
# Returns an array of the number of files, total lines, blank lines, and actual lines
|
128
|
+
# Example
|
129
|
+
# >> LOCReader.print_array
|
130
|
+
# => [3, 90, 10, 100]
|
131
|
+
|
101
132
|
def print_array
|
102
133
|
[@num_files, @total, @blank_lines, @lines]
|
103
134
|
end
|
135
|
+
|
136
|
+
# Returns a hash of the number of files, total lines, blank lines, and actual lines
|
137
|
+
# Example
|
138
|
+
# >> LOCReader.print_hash
|
139
|
+
# => {"files" => 3, "loc" => 90, "bloc" => 10, "lines" => 100}
|
104
140
|
|
105
141
|
def print_hash
|
106
142
|
{"files" => @num_files, "loc" => @total, "bloc" => @blank_lines, "lines" => @lines}
|
107
143
|
end
|
108
144
|
|
145
|
+
|
146
|
+
# prints the number of files, total lines, blank lines, and actual lines
|
147
|
+
# Example
|
148
|
+
# >> LOCReader.print_output
|
149
|
+
# => Files 3
|
150
|
+
# => Lines of Code: 90
|
151
|
+
# => Blank Lines: 10
|
152
|
+
# => Total Lines: 10
|
153
|
+
|
109
154
|
def print_output
|
110
155
|
print "Files: #@num_files \n"
|
111
156
|
print "Lines of Code: #@total \n"
|
@@ -117,11 +162,26 @@ module HMSTools
|
|
117
162
|
|
118
163
|
class XFDL
|
119
164
|
|
165
|
+
# Base64 decodes a given string
|
166
|
+
# Example
|
167
|
+
# >> XFDL.b64decode_it "randommishmash"
|
168
|
+
# => "Not So Random Mish Mash"
|
169
|
+
#
|
170
|
+
# Arguments
|
171
|
+
# contents: (String)
|
120
172
|
def b64decode_it(contents = nil)
|
121
173
|
x = Base64.decode64(contents)
|
122
174
|
return x
|
123
175
|
end
|
124
176
|
|
177
|
+
# Base64 encodes a given string
|
178
|
+
# Example
|
179
|
+
# >> XFDL.b64eecode_it "Not So Random Mish Mash"
|
180
|
+
# => "randommishmash"
|
181
|
+
#
|
182
|
+
# Arguments
|
183
|
+
# contents: (String)
|
184
|
+
|
125
185
|
def b64encode_it(contents = nil)
|
126
186
|
unless contents.nil?
|
127
187
|
x = Base64.encode64(contents)
|
@@ -129,6 +189,16 @@ module HMSTools
|
|
129
189
|
end
|
130
190
|
end
|
131
191
|
|
192
|
+
|
193
|
+
# Searches for all xml files in a directory and turns them into xfdl files
|
194
|
+
# Example
|
195
|
+
# >> XFDL.build_and_write_xfdl_from_directory "myxmlfiles/*", "myxfdlfiles"
|
196
|
+
# => Packaging Form1.xml to Form1.xfdl - Complete
|
197
|
+
# => 1 out of 1 were XML files and processed to the XFDL format!
|
198
|
+
#
|
199
|
+
# Arguments
|
200
|
+
# xmldirectory: (String) A directory where all the xml files are stored
|
201
|
+
# xfdldirectory: (String) A directory where all the xfdl files will be written to
|
132
202
|
def build_and_write_xfdl_from_directory(xmldirectory, xfdldirectory)
|
133
203
|
@files = Dir.glob(xmldirectory)
|
134
204
|
numfiles = 0
|
@@ -148,6 +218,14 @@ module HMSTools
|
|
148
218
|
print "\n" + numxmlfiles.to_s + " out of " + numfiles.to_s + " were XML files and processed to the XFDL format!"
|
149
219
|
end
|
150
220
|
|
221
|
+
|
222
|
+
# Turns an xml file into an xfdl file
|
223
|
+
# Example
|
224
|
+
# >> XFDL.build_and_write_xfdl_from_xml "myform.xml", "myform.xfdl"
|
225
|
+
#
|
226
|
+
# Arguments
|
227
|
+
# xmlfile: (String) The xml file you want to convert
|
228
|
+
# xfdlfile: (String) The name of the xfdl file you want to save.
|
151
229
|
def build_and_write_xfdl_from_xml(xmlfile, xfdlfile)
|
152
230
|
# 1. Gzip
|
153
231
|
# 2. Base64
|
@@ -176,6 +254,13 @@ module HMSTools
|
|
176
254
|
|
177
255
|
end
|
178
256
|
|
257
|
+
# Turns an xfdl file into an xml file
|
258
|
+
# Example
|
259
|
+
# >> XFDL.deconstruct_and_write_xml "myform.xfdl", "myform.xml"
|
260
|
+
#
|
261
|
+
# Arguments
|
262
|
+
# old_filename: (String) The xfdl file you want to convert
|
263
|
+
# new_filename: (String) The name of the xml file
|
179
264
|
def deconstruct_and_write_xml(old_filename, new_filename)
|
180
265
|
|
181
266
|
if File.exists?(old_filename)
|
@@ -197,6 +282,12 @@ module HMSTools
|
|
197
282
|
end
|
198
283
|
|
199
284
|
|
285
|
+
# Turns an xfdl file into an xml file
|
286
|
+
# Example
|
287
|
+
# >> XFDL.get_xml "Some Fun Stuff"
|
288
|
+
#
|
289
|
+
# Arguments
|
290
|
+
# contents: (String) The base 64 encoded string after opening the xfdl file and stripping the content type information
|
200
291
|
def get_xml(contents)
|
201
292
|
b64_decoded = ''
|
202
293
|
xml_contents = ''
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hmstools
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 2
|
10
|
+
version: 0.0.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Jeff Kreitner
|