yore 0.0.4 → 0.0.5
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.
- data/.document +5 -0
- data/.gitignore +5 -0
- data/LICENSE +23 -0
- data/Rakefile +64 -57
- data/VERSION +1 -0
- data/bin/yore +6 -11
- data/lib/yore/yore_core.rb +70 -43
- data/notes.txt +27 -0
- data/test/S3_test.rb +2 -5
- data/test/test_helper.rb +10 -0
- data/test/test_job_b.xml +1 -1
- data/test/yore_browsercms_loadsave_test.rb +191 -0
- data/test/{loadsave_yore_test.rb → yore_spree_loadsave_test.rb} +9 -10
- data/test/yore_test.rb +1 -4
- data/test.crontab +5 -0
- data/yore.vpj +120 -0
- data/yore.vpw +6 -0
- metadata +38 -82
- data/History.txt +0 -22
- data/Manifest.txt +0 -26
- data/PostInstall.txt +0 -7
- data/lib/ihl_ruby/config.rb +0 -202
- data/lib/ihl_ruby/database_utils.rb +0 -89
- data/lib/ihl_ruby/enum.rb +0 -50
- data/lib/ihl_ruby/extend_base_classes.rb +0 -319
- data/lib/ihl_ruby/logging.rb +0 -159
- data/lib/ihl_ruby/misc_utils.rb +0 -382
- data/lib/ihl_ruby/shell_extras.rb +0 -84
- data/lib/ihl_ruby/string_utils.rb +0 -53
- data/lib/ihl_ruby/xml_utils.rb +0 -177
- data/lib/yore.orig.rb +0 -6
- data/script/console +0 -10
- data/script/destroy +0 -14
- data/script/generate +0 -14
data/lib/ihl_ruby/xml_utils.rb
DELETED
@@ -1,177 +0,0 @@
|
|
1
|
-
require 'net/http'
|
2
|
-
require 'rexml/document'
|
3
|
-
|
4
|
-
module XmlUtils
|
5
|
-
|
6
|
-
BASIC_HEADER = '<?xml version="1.0"?>'
|
7
|
-
|
8
|
-
def self.get_url_root(url)
|
9
|
-
xml = Net::HTTP.get(URI(url))
|
10
|
-
return nil if !xml
|
11
|
-
xdoc = REXML::Document.new(xml)
|
12
|
-
return nil if !xdoc
|
13
|
-
root = xdoc.root
|
14
|
-
end
|
15
|
-
|
16
|
-
def self.get_xml_root(xml)
|
17
|
-
xdoc = REXML::Document.new(xml)
|
18
|
-
return nil if !xdoc
|
19
|
-
root = xdoc.root
|
20
|
-
end
|
21
|
-
|
22
|
-
def self.get_file_root(aFilename)
|
23
|
-
return nil unless File.exists?(aFilename)
|
24
|
-
get_xml_root(MiscUtils.string_from_file(aFilename))
|
25
|
-
end
|
26
|
-
|
27
|
-
def self.single_node(node,xpath,default=nil)
|
28
|
-
return default if node.nil? || xpath.nil? || xpath==''
|
29
|
-
val = REXML::XPath.first(node,xpath)
|
30
|
-
return val.nil? ? default : val
|
31
|
-
end
|
32
|
-
|
33
|
-
def self.peek_node(node,xpath,default=nil)
|
34
|
-
return default if node.nil? || xpath.nil? || xpath==''
|
35
|
-
val = REXML::XPath.first(node,xpath)
|
36
|
-
return val.nil? ? default : val.to_s
|
37
|
-
end
|
38
|
-
|
39
|
-
def self.peek_node_value(aNode,aXPath,aDefault=nil)
|
40
|
-
node = single_node(aNode,aXPath)
|
41
|
-
return node.to_s if node.is_a?(REXML::Attribute)
|
42
|
-
return node.nil? ? aDefault : node.text()
|
43
|
-
end
|
44
|
-
|
45
|
-
# convert <root><a>one</a><b>two</b></root> to {'a' => 'one', 'b' => 'two'}
|
46
|
-
def self.hash_from_elements(aXMLRoot)
|
47
|
-
result = {}
|
48
|
-
aXMLRoot.elements.each{|e| result[e.name] = e.text}
|
49
|
-
return result
|
50
|
-
end
|
51
|
-
|
52
|
-
# given '<tag a="1" b="2">textblah</tag>' returns {:name=>"tag", :text=>"textblah", "a"=>"1", "b"=>"2"}
|
53
|
-
def self.hash_from_tag(aTagString)
|
54
|
-
result = {}
|
55
|
-
tag = get_xml_root(aTagString)
|
56
|
-
return nil if !tag
|
57
|
-
tag.attributes.each_attribute {|attr| result[attr.expanded_name] = attr.value }
|
58
|
-
result[:name] = tag.name
|
59
|
-
result[:text] = tag.text if tag.text
|
60
|
-
return result
|
61
|
-
end
|
62
|
-
|
63
|
-
# given {:name=>"tag", :text=>"textblah", "a"=>"1", "b"=>"2"} returns '<tag a="1" b="2">textblah</tag>'
|
64
|
-
def self.tag_from_hash(aHash,aName=nil,aText=nil)
|
65
|
-
aName ||= aHash[:name]
|
66
|
-
aText ||= aHash[:text]
|
67
|
-
result = "<#{aName}"
|
68
|
-
aHash.each {|k,v| result += " #{k}=\"#{encode(v.to_s)}\"" if k.is_a? String}
|
69
|
-
result += aText ? " >#{aText}</#{aName}>" : " />"
|
70
|
-
end
|
71
|
-
|
72
|
-
def self.add_xml_from_string(aString,aNode)
|
73
|
-
return nil unless xdoc = REXML::Document.new('<?xml version="1.0" encoding="UTF-8"?>'+aString)
|
74
|
-
r = xdoc.root
|
75
|
-
r.remove()
|
76
|
-
r.parent = nil
|
77
|
-
aNode.add_element(r)
|
78
|
-
return r
|
79
|
-
end
|
80
|
-
|
81
|
-
def self.hash_to_xml(aHash,aRootName,aDocHeader=true)
|
82
|
-
xdoc = REXML::Document.new(BASIC_HEADER)
|
83
|
-
root = xdoc.add_element(aRootName)
|
84
|
-
aHash.each do |n,v|
|
85
|
-
root.add_element(n).add_text(v)
|
86
|
-
end
|
87
|
-
return xdoc
|
88
|
-
end
|
89
|
-
|
90
|
-
def self.read_simple_items(aRoot,aParentXPath=nil)
|
91
|
-
result = {}
|
92
|
-
xp = aParentXPath ? File.join(aParentXPath,'Item') : 'Item'
|
93
|
-
REXML::XPath.each(aRoot, xp) do |item|
|
94
|
-
result[item.attribute('Name').to_s] = item.text
|
95
|
-
end
|
96
|
-
return result
|
97
|
-
end
|
98
|
-
|
99
|
-
def self.quick_write_simple_items(aHash,aParent)
|
100
|
-
return "<#{aParent} />\n" if !aHash || aHash.empty?
|
101
|
-
result = "<#{aParent}>\n"
|
102
|
-
aHash.each {|key,value| result += "\t<Item Name=\"#{key.to_s}\">#{value.to_s}</Item>\n" }
|
103
|
-
result += "<#{aParent}/>\n"
|
104
|
-
return result
|
105
|
-
end
|
106
|
-
|
107
|
-
# reads the simple items format given either a filename or xml node
|
108
|
-
def self.read_config_values(aXmlConfig)
|
109
|
-
xmlRoot = aXmlConfig.is_a?(REXML::Element) ? aXmlConfig : get_file_root(aXmlConfig)
|
110
|
-
return read_simple_items(xmlRoot,'/Config/SimpleItems')
|
111
|
-
end
|
112
|
-
|
113
|
-
# Takes a node or xml string and writes it out formatted nicely.
|
114
|
-
# aOutput may be given eg. a stream or nil can be given to get a returned string
|
115
|
-
def self.format_nicely(aXml,aOutput=nil)
|
116
|
-
aXml = REXML::Document.new(aXml) unless aXml.is_a?(REXML::Element)
|
117
|
-
f = REXML::Formatters::Pretty.new(2,true)
|
118
|
-
f.compact = true
|
119
|
-
f.width = 120
|
120
|
-
aOutput ||= ''
|
121
|
-
f.write(aXml,aOutput)
|
122
|
-
return aOutput
|
123
|
-
end
|
124
|
-
|
125
|
-
def self.encode(aString)
|
126
|
-
result = aString.clone;
|
127
|
-
result.gsub!('&','&')
|
128
|
-
result.gsub!('<','<')
|
129
|
-
result.gsub!('>','>')
|
130
|
-
result.gsub!('"','"')
|
131
|
-
result.gsub!("'",''')
|
132
|
-
result.gsub!(/[\x80-\xFF]/) {|c| "&#x#{'%X' % c[0]};"}
|
133
|
-
return result
|
134
|
-
end
|
135
|
-
|
136
|
-
def self.hash_to_deflist(aHash,aBuilder=nil)
|
137
|
-
aBuilder ||= Builder::XmlMarkup.new(:indent => 2)
|
138
|
-
aBuilder.dl do
|
139
|
-
aHash.each do |k,v|
|
140
|
-
aBuilder.dt(k.to_s)
|
141
|
-
aBuilder.dd(v.to_s)
|
142
|
-
end
|
143
|
-
end
|
144
|
-
end
|
145
|
-
|
146
|
-
def self.data_to_table(aRowHashes,aCaption=nil,aColNames=nil,aBuilder=nil)
|
147
|
-
aBuilder ||= Builder::XmlMarkup.new(:indent => 2)
|
148
|
-
aBuilder.table do
|
149
|
-
if aCaption.is_a? String
|
150
|
-
aBuilder.caption(aCaption)
|
151
|
-
elsif aCaption.is_a? Hash
|
152
|
-
aBuilder.caption do
|
153
|
-
XmlUtils.hash_to_deflist(aCaption,aBuilder)
|
154
|
-
end
|
155
|
-
end
|
156
|
-
aColNames ||= aRowHashes.first.keys
|
157
|
-
aBuilder.thead do
|
158
|
-
aBuilder.tr do
|
159
|
-
aColNames.each do |name|
|
160
|
-
aBuilder.td(name.to_s)
|
161
|
-
end
|
162
|
-
end
|
163
|
-
end
|
164
|
-
aBuilder.tbody do
|
165
|
-
aRowHashes.each do |row|
|
166
|
-
aBuilder.tr do
|
167
|
-
aColNames.each do |name|
|
168
|
-
aBuilder.td(row[name].to_s)
|
169
|
-
end
|
170
|
-
end
|
171
|
-
end
|
172
|
-
end
|
173
|
-
end
|
174
|
-
end
|
175
|
-
|
176
|
-
end
|
177
|
-
|
data/lib/yore.orig.rb
DELETED
data/script/console
DELETED
@@ -1,10 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
# File: script/console
|
3
|
-
irb = RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'irb.bat' : 'irb'
|
4
|
-
|
5
|
-
libs = " -r irb/completion"
|
6
|
-
# Perhaps use a console_lib to store any extra methods I may want available in the cosole
|
7
|
-
# libs << " -r #{File.dirname(__FILE__) + '/../lib/console_lib/console_logger.rb'}"
|
8
|
-
libs << " -r #{File.dirname(__FILE__) + '/../lib/yore.rb'}"
|
9
|
-
puts "Loading yore gem"
|
10
|
-
exec "#{irb} #{libs} --simple-prompt"
|
data/script/destroy
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
|
3
|
-
|
4
|
-
begin
|
5
|
-
require 'rubigen'
|
6
|
-
rescue LoadError
|
7
|
-
require 'rubygems'
|
8
|
-
require 'rubigen'
|
9
|
-
end
|
10
|
-
require 'rubigen/scripts/destroy'
|
11
|
-
|
12
|
-
ARGV.shift if ['--help', '-h'].include?(ARGV[0])
|
13
|
-
RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
|
14
|
-
RubiGen::Scripts::Destroy.new.run(ARGV)
|
data/script/generate
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
|
3
|
-
|
4
|
-
begin
|
5
|
-
require 'rubigen'
|
6
|
-
rescue LoadError
|
7
|
-
require 'rubygems'
|
8
|
-
require 'rubigen'
|
9
|
-
end
|
10
|
-
require 'rubigen/scripts/generate'
|
11
|
-
|
12
|
-
ARGV.shift if ['--help', '-h'].include?(ARGV[0])
|
13
|
-
RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
|
14
|
-
RubiGen::Scripts::Generate.new.run(ARGV)
|