qualitysmith_extensions 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/Readme +72 -0
- data/lib/qualitysmith_extensions/all.rb +2 -0
- data/lib/qualitysmith_extensions/array/all.rb +2 -0
- data/lib/qualitysmith_extensions/array/average.rb +42 -0
- data/lib/qualitysmith_extensions/array/expand_ranges.rb +48 -0
- data/lib/qualitysmith_extensions/array/group_by.rb +112 -0
- data/lib/qualitysmith_extensions/array/sequence.rb +64 -0
- data/lib/qualitysmith_extensions/array/shell_escape.rb +34 -0
- data/lib/qualitysmith_extensions/array/to_a_recursive.rb +39 -0
- data/lib/qualitysmith_extensions/array/to_query_string.rb +94 -0
- data/lib/qualitysmith_extensions/collection_extensions_for_cgi.rb +2 -0
- data/lib/qualitysmith_extensions/console/command.facets.1.8.51.rb +749 -0
- data/lib/qualitysmith_extensions/console/command.rb +940 -0
- data/lib/qualitysmith_extensions/date/all.rb +2 -0
- data/lib/qualitysmith_extensions/date/deprecated.rb +38 -0
- data/lib/qualitysmith_extensions/date/iso8601.rb +29 -0
- data/lib/qualitysmith_extensions/date/month_ranges.rb +120 -0
- data/lib/qualitysmith_extensions/enumerable/enum.rb +72 -0
- data/lib/qualitysmith_extensions/file/exact_match_regexp.rb +32 -0
- data/lib/qualitysmith_extensions/file_test/binary_file.rb +108 -0
- data/lib/qualitysmith_extensions/filter_output.rb +107 -0
- data/lib/qualitysmith_extensions/global_variable_set.rb +151 -0
- data/lib/qualitysmith_extensions/hash/all.rb +2 -0
- data/lib/qualitysmith_extensions/hash/to_date.rb +32 -0
- data/lib/qualitysmith_extensions/hash/to_query_string.rb +119 -0
- data/lib/qualitysmith_extensions/kernel/all.rb +2 -0
- data/lib/qualitysmith_extensions/kernel/backtrace.rb +69 -0
- data/lib/qualitysmith_extensions/kernel/capture_output.rb +113 -0
- data/lib/qualitysmith_extensions/kernel/die.rb +34 -0
- data/lib/qualitysmith_extensions/kernel/require_all.rb +118 -0
- data/lib/qualitysmith_extensions/kernel/require_once.rb +16 -0
- data/lib/qualitysmith_extensions/month.rb +62 -0
- data/lib/qualitysmith_extensions/object/singleton.rb +95 -0
- data/lib/qualitysmith_extensions/simulate_input.rb +51 -0
- data/lib/qualitysmith_extensions/string/all.rb +2 -0
- data/lib/qualitysmith_extensions/string/digits_only.rb +25 -0
- data/lib/qualitysmith_extensions/string/md5.rb +27 -0
- data/lib/qualitysmith_extensions/string/shell_escape.rb +41 -0
- data/lib/qualitysmith_extensions/string/to_underscored_label.rb +35 -0
- data/lib/qualitysmith_extensions/test/assert_changed.rb +64 -0
- data/lib/qualitysmith_extensions/test/assert_exception.rb +63 -0
- data/lib/qualitysmith_extensions/test/assert_includes.rb +34 -0
- data/lib/qualitysmith_extensions/test/assert_user_error.rb +34 -0
- data/lib/qualitysmith_extensions/time/all.rb +2 -0
- data/lib/qualitysmith_extensions/time/deprecated.rb +29 -0
- data/test/all.rb +16 -0
- metadata +94 -0
@@ -0,0 +1,25 @@
|
|
1
|
+
# Author:: Tyler Rick
|
2
|
+
# Copyright:: Copyright (c) 2007 QualitySmith, Inc.
|
3
|
+
# License:: Ruby License
|
4
|
+
# Submit to Facets?:: Yes
|
5
|
+
|
6
|
+
class String
|
7
|
+
# Strips out everything except digits.
|
8
|
+
def digits_only
|
9
|
+
self.gsub(/[^0-9]/, "")
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
# _____ _
|
14
|
+
# |_ _|__ ___| |_
|
15
|
+
# | |/ _ \/ __| __|
|
16
|
+
# | | __/\__ \ |_
|
17
|
+
# |_|\___||___/\__|
|
18
|
+
#
|
19
|
+
=begin test
|
20
|
+
class TheTest < Test::Unit::TestCase
|
21
|
+
def test_digits_only
|
22
|
+
assert_equal "123", "$!@)(*&abc123[]{}".digits_only
|
23
|
+
end
|
24
|
+
end
|
25
|
+
=end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# Author:: Tyler Rick
|
2
|
+
# Copyright:: Copyright (c) 2007 QualitySmith, Inc.
|
3
|
+
# License:: Ruby License
|
4
|
+
# Submit to Facets?:: Yes
|
5
|
+
|
6
|
+
require "digest/md5"
|
7
|
+
|
8
|
+
class String
|
9
|
+
# Because it's so much more natural to have this as a method of the string rather than having to call <tt>Digest::MD5.hexdigest(string)</tt>.
|
10
|
+
def md5
|
11
|
+
return Digest::MD5.hexdigest(self)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
# _____ _
|
16
|
+
# |_ _|__ ___| |_
|
17
|
+
# | |/ _ \/ __| __|
|
18
|
+
# | | __/\__ \ |_
|
19
|
+
# |_|\___||___/\__|
|
20
|
+
#
|
21
|
+
=begin test
|
22
|
+
class TheTest < Test::Unit::TestCase
|
23
|
+
def test_md5
|
24
|
+
assert_equal "abc".md5, Digest::MD5.hexdigest("abc")
|
25
|
+
end
|
26
|
+
end
|
27
|
+
=end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# Author:: Tyler Rick
|
2
|
+
# Copyright:: Copyright (c) 2007 QualitySmith, Inc.
|
3
|
+
# License:: Ruby License
|
4
|
+
# Submit to Facets?:: Yes
|
5
|
+
|
6
|
+
require 'rubygems'
|
7
|
+
require 'escape' # http://www.a-k-r.org/escape/
|
8
|
+
require 'extensions/symbol' unless Symbol.method_defined?(:to_proc)
|
9
|
+
require 'facets/core/kernel/require_local'
|
10
|
+
|
11
|
+
class String
|
12
|
+
def shell_escape
|
13
|
+
Escape.shell_command([self])
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
# _____ _
|
18
|
+
# |_ _|__ ___| |_
|
19
|
+
# | |/ _ \/ __| __|
|
20
|
+
# | | __/\__ \ |_
|
21
|
+
# |_|\___||___/\__|
|
22
|
+
#
|
23
|
+
=begin test
|
24
|
+
require 'test/unit'
|
25
|
+
class TheTest < Test::Unit::TestCase
|
26
|
+
def assert_that_echo_gives_back_what_we_put_in(input)
|
27
|
+
input = %q{!&'"`$0 |()<>}
|
28
|
+
output = `echo -n #{input.shell_escape}`
|
29
|
+
assert_equal input, output
|
30
|
+
end
|
31
|
+
def test_1
|
32
|
+
assert_that_echo_gives_back_what_we_put_in(
|
33
|
+
%q{!&'"`$0 |()<>} )
|
34
|
+
end
|
35
|
+
def test_2
|
36
|
+
assert_that_echo_gives_back_what_we_put_in(
|
37
|
+
%q{'an arg that's got "quotes"} )
|
38
|
+
end
|
39
|
+
end
|
40
|
+
=end
|
41
|
+
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# Author:: Tyler Rick
|
2
|
+
# Copyright:: Copyright (c) 2007 QualitySmith, Inc.
|
3
|
+
# License:: Ruby License
|
4
|
+
# Submit to Facets?:: Probably not.
|
5
|
+
# Developer notes:
|
6
|
+
# * Can we use a more general method instead (like humanize or methodize)? Does this really have a use distinct from all the other inflection methods out there?
|
7
|
+
|
8
|
+
class String
|
9
|
+
# Strips out most non-alphanumeric characters and leaves you with a lowercased, underscored string that can safely be used as a class_name
|
10
|
+
def to_underscored_label
|
11
|
+
self.
|
12
|
+
downcase.
|
13
|
+
gsub(/-+/, "_").gsub(/ +/, "_"). # spaces and -'s-> underscores
|
14
|
+
gsub(/[^a-z0-9_]/, ""). # keep only alphanumeric and _ characters
|
15
|
+
gsub(/_+$/, ""). # We don't want any _ characters at the end
|
16
|
+
gsub(/^_+/, "") # ... or the beginning
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
# _____ _
|
21
|
+
# |_ _|__ ___| |_
|
22
|
+
# | |/ _ \/ __| __|
|
23
|
+
# | | __/\__ \ |_
|
24
|
+
# |_|\___||___/\__|
|
25
|
+
#
|
26
|
+
=begin test
|
27
|
+
class TheTest < Test::Unit::TestCase
|
28
|
+
def test_to_underscored_label
|
29
|
+
assert_equal "discount_amount", "Discount Amount".to_underscored_label
|
30
|
+
assert_equal "more_spaces", "More SPACES".to_underscored_label
|
31
|
+
assert_equal "other_123_types_of_characters", "Other-123 Types? Of!!! Characters".to_underscored_label
|
32
|
+
assert_equal "weird_characters_on_the_end", "weird characters on the end *#*#**".to_underscored_label
|
33
|
+
end
|
34
|
+
end
|
35
|
+
=end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
# Author:: Tyler Rick
|
2
|
+
# Copyright:: Copyright (c) 2007 QualitySmith, Inc.
|
3
|
+
# License:: Ruby License
|
4
|
+
# Submit to Facets?:: Yes
|
5
|
+
|
6
|
+
require 'test/unit'
|
7
|
+
class Test::Unit::TestCase
|
8
|
+
|
9
|
+
# Asserts that the block that is passed in causes the value of the specified variable (+variable+) to change.
|
10
|
+
# +variable+ should be a Proc that, when evaluated, returns the current value of the variable.
|
11
|
+
#
|
12
|
+
# Options:
|
13
|
+
# * If the optional +:from+ option is supplied, it also asserts that it had that initial value.
|
14
|
+
# * If the optional +:to+ option is supplied, it also asserts that it changed _to_ that value.
|
15
|
+
#
|
16
|
+
# So instead of doing this:
|
17
|
+
# assert_equal 1, Model.count
|
18
|
+
# do_something_that_should_cause_count_to_increase
|
19
|
+
# assert_equal 2, Model.count
|
20
|
+
# we can do this:
|
21
|
+
# assert_changed(lambda {ErrorType.count}, :from => 1, :to => 2) do
|
22
|
+
# do_something_that_should_cause_count_to_increase
|
23
|
+
# end
|
24
|
+
# Or, if we don't care what it's changing _from_ as long as it increases in value _by_ 1, we can write this:
|
25
|
+
# assert_changed(c = lambda {ErrorType.count}, :to => c.call+1) do
|
26
|
+
# do_something_that_should_cause_count_to_increase
|
27
|
+
# end
|
28
|
+
# instead of this:
|
29
|
+
# before = Model.count
|
30
|
+
# do_something_that_should_cause_count_to_increase
|
31
|
+
# assert_equal before + 1, Model.count
|
32
|
+
#
|
33
|
+
def assert_changed(variable, options = {}, &block)
|
34
|
+
expected_from = options.delete(:from) || variable.call
|
35
|
+
|
36
|
+
assert_equal expected_from, variable.call
|
37
|
+
|
38
|
+
failure_message = build_message(failure_message, "The variable was expected to change from <?> to <?> but it didn't", variable.call, options.delete(:to) || "something else")
|
39
|
+
assert_block(failure_message) do
|
40
|
+
before = variable.call
|
41
|
+
yield
|
42
|
+
expected_to = options.delete(:to) || variable.call
|
43
|
+
before != variable.call and variable.call == expected_to
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
48
|
+
|
49
|
+
# _____ _
|
50
|
+
# |_ _|__ ___| |_
|
51
|
+
# | |/ _ \/ __| __|
|
52
|
+
# | | __/\__ \ |_
|
53
|
+
# |_|\___||___/\__|
|
54
|
+
#
|
55
|
+
=begin test
|
56
|
+
require 'test/unit'
|
57
|
+
|
58
|
+
class TheTest < Test::Unit::TestCase
|
59
|
+
def test_1
|
60
|
+
end
|
61
|
+
end
|
62
|
+
=end
|
63
|
+
|
64
|
+
|
@@ -0,0 +1,63 @@
|
|
1
|
+
# Author:: Tyler Rick
|
2
|
+
# Copyright:: Copyright (c) 2007 QualitySmith, Inc.
|
3
|
+
# License:: Ruby License
|
4
|
+
# Submit to Facets?:: Yes
|
5
|
+
|
6
|
+
require 'test/unit'
|
7
|
+
class Test::Unit::TestCase
|
8
|
+
|
9
|
+
# Used when you want to make assertions *about* an assertion that you expect to be raised. (With the built-in assert_raise()
|
10
|
+
# you can only assert *that* a particular class of exception is raised, not any specifics about it.
|
11
|
+
#
|
12
|
+
# Before:
|
13
|
+
#
|
14
|
+
# assert_raises(ArgumentError) { SomeCommand.execute("foo '''") }
|
15
|
+
# begin
|
16
|
+
# SomeCommand.execute("foo -m '''")
|
17
|
+
# rescue Exception => _exception
|
18
|
+
# exception = _exception
|
19
|
+
# end
|
20
|
+
# assert_equal "Unmatched single quote: '", exception.message
|
21
|
+
#
|
22
|
+
# After:
|
23
|
+
#
|
24
|
+
# assert_exception(ArgumentError, lambda { |exception|
|
25
|
+
# assert_match /Unmatched single quote/, exception.message
|
26
|
+
# }) do
|
27
|
+
# SomeCommand.execute("foo -m 'stuff''")
|
28
|
+
# end
|
29
|
+
#
|
30
|
+
def assert_exception(expected_class, additional_expectations = nil, &block)
|
31
|
+
exception = nil
|
32
|
+
assert_raise(expected_class) do
|
33
|
+
begin
|
34
|
+
yield
|
35
|
+
rescue Exception => _exception
|
36
|
+
exception = _exception
|
37
|
+
raise
|
38
|
+
end
|
39
|
+
end
|
40
|
+
additional_expectations.call(exception) if additional_expectations
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
# _____ _
|
45
|
+
# |_ _|__ ___| |_
|
46
|
+
# | |/ _ \/ __| __|
|
47
|
+
# | | __/\__ \ |_
|
48
|
+
# |_|\___||___/\__|
|
49
|
+
#
|
50
|
+
=begin test
|
51
|
+
require 'test/unit'
|
52
|
+
|
53
|
+
class TheTest < Test::Unit::TestCase
|
54
|
+
def test_1
|
55
|
+
assert_exception(RuntimeError, lambda { |exception|
|
56
|
+
assert_match /est/, exception.message
|
57
|
+
}) do
|
58
|
+
raise "Test"
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
=end
|
63
|
+
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# Author:: Tyler Rick
|
2
|
+
# Copyright:: Copyright (c) 2007 QualitySmith, Inc.
|
3
|
+
# License:: Ruby License
|
4
|
+
# Submit to Facets?:: Yes
|
5
|
+
|
6
|
+
require 'test/unit'
|
7
|
+
class Test::Unit::TestCase
|
8
|
+
def assert_includes(container, expected_contents, failure_message = nil)
|
9
|
+
failure_message = build_message(failure_message, "Container <?> was expected to contain <?> but it didn't", container, expected_contents)
|
10
|
+
assert_block(failure_message) do
|
11
|
+
container.include?(expected_contents)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
alias_method :assert_contains, :assert_includes
|
15
|
+
|
16
|
+
end
|
17
|
+
|
18
|
+
# _____ _
|
19
|
+
# |_ _|__ ___| |_
|
20
|
+
# | |/ _ \/ __| __|
|
21
|
+
# | | __/\__ \ |_
|
22
|
+
# |_|\___||___/\__|
|
23
|
+
#
|
24
|
+
=begin test
|
25
|
+
require 'test/unit'
|
26
|
+
|
27
|
+
class TheTest < Test::Unit::TestCase
|
28
|
+
def test_1
|
29
|
+
end
|
30
|
+
end
|
31
|
+
=end
|
32
|
+
|
33
|
+
|
34
|
+
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# Author:: Tyler Rick
|
2
|
+
# Copyright:: Copyright (c) 2007 QualitySmith, Inc.
|
3
|
+
# License:: Ruby License
|
4
|
+
# Submit to Facets?:: No
|
5
|
+
|
6
|
+
require 'test/unit'
|
7
|
+
class Test::Unit::TestCase
|
8
|
+
def assert_user_error(error_message)
|
9
|
+
assert_tag({
|
10
|
+
:attributes => { :id => "errorExplanation" },
|
11
|
+
:descendant => {
|
12
|
+
:content => error_message
|
13
|
+
}
|
14
|
+
})
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
# _____ _
|
19
|
+
# |_ _|__ ___| |_
|
20
|
+
# | |/ _ \/ __| __|
|
21
|
+
# | | __/\__ \ |_
|
22
|
+
# |_|\___||___/\__|
|
23
|
+
#
|
24
|
+
=begin test
|
25
|
+
require 'test/unit'
|
26
|
+
|
27
|
+
class TheTest < Test::Unit::TestCase
|
28
|
+
def test_1
|
29
|
+
end
|
30
|
+
end
|
31
|
+
=end
|
32
|
+
|
33
|
+
|
34
|
+
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# Author:: Tyler Rick
|
2
|
+
# Copyright:: Copyright (c) 2007 QualitySmith, Inc.
|
3
|
+
# License:: Ruby License
|
4
|
+
# Submit to Facets?:: No!
|
5
|
+
|
6
|
+
class Time
|
7
|
+
# This should be moved elsewhere because it is subjective and depends on the context where it's used.
|
8
|
+
def datetime_for_report(line_break = false)
|
9
|
+
optional_line_break = (line_break ? "<br/>\n" : "")
|
10
|
+
strftime("%I:%M %p #{optional_line_break} %B %d, %Y") # Example: "June 18, 2006"
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
# _____ _
|
15
|
+
# |_ _|__ ___| |_
|
16
|
+
# | |/ _ \/ __| __|
|
17
|
+
# | | __/\__ \ |_
|
18
|
+
# |_|\___||___/\__|
|
19
|
+
#
|
20
|
+
=begin test
|
21
|
+
class TheTest < Test::Unit::TestCase
|
22
|
+
|
23
|
+
def test_date_for_report
|
24
|
+
assert_equal "01:49 PM June 18, 2006", Time.mktime(2006, 6, 18, 13, 49, 4).datetime_for_report()
|
25
|
+
assert_equal "01:49 PM <br/>\n June 18, 2006", Time.mktime(2006, 6, 18, 13, 49, 4).datetime_for_report(line_break = true)
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
=end
|
data/test/all.rb
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
#require File.dirname(__FILE__) + "/../lib/kernel/require_all.rb"
|
2
|
+
|
3
|
+
require "rubygems"
|
4
|
+
require "rake" # FileList
|
5
|
+
require 'exacto' # Test extractor
|
6
|
+
|
7
|
+
FileList[File.dirname(__FILE__) + "/../lib/" + "**/**/*.rb"].exclude(/all/).each do |filename|
|
8
|
+
puts "Running #{filename}"
|
9
|
+
begin
|
10
|
+
Exacto::RubyCommand.new([filename]).run
|
11
|
+
rescue SystemExit => exception # "Code block not found" -- we don't care -- keep going already!
|
12
|
+
end
|
13
|
+
#sh "exrb #{filename}"
|
14
|
+
end
|
15
|
+
|
16
|
+
|
metadata
ADDED
@@ -0,0 +1,94 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
rubygems_version: 0.8.11
|
3
|
+
specification_version: 1
|
4
|
+
name: qualitysmith_extensions
|
5
|
+
version: !ruby/object:Gem::Version
|
6
|
+
version: 0.0.3
|
7
|
+
date: 2007-03-20 00:00:00 -07:00
|
8
|
+
summary: A collection of reusable Ruby methods developed by QualitySmith.
|
9
|
+
require_paths:
|
10
|
+
- lib
|
11
|
+
email: rubyforge.org@tylerrick.com
|
12
|
+
homepage: http://qualitysmithext.rubyforge.org/
|
13
|
+
rubyforge_project: qualitysmith_extensions
|
14
|
+
description: A collection of reusable Ruby methods developed by QualitySmith.
|
15
|
+
autorequire:
|
16
|
+
default_executable:
|
17
|
+
bindir: bin
|
18
|
+
has_rdoc: true
|
19
|
+
required_ruby_version: !ruby/object:Gem::Version::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">"
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 0.0.0
|
24
|
+
version:
|
25
|
+
platform: ruby
|
26
|
+
signing_key:
|
27
|
+
cert_chain:
|
28
|
+
authors:
|
29
|
+
- Tyler Rick and others
|
30
|
+
files:
|
31
|
+
- lib/qualitysmith_extensions/global_variable_set.rb
|
32
|
+
- lib/qualitysmith_extensions/simulate_input.rb
|
33
|
+
- lib/qualitysmith_extensions/collection_extensions_for_cgi.rb
|
34
|
+
- lib/qualitysmith_extensions/all.rb
|
35
|
+
- lib/qualitysmith_extensions/filter_output.rb
|
36
|
+
- lib/qualitysmith_extensions/month.rb
|
37
|
+
- lib/qualitysmith_extensions/test/assert_exception.rb
|
38
|
+
- lib/qualitysmith_extensions/test/assert_user_error.rb
|
39
|
+
- lib/qualitysmith_extensions/test/assert_changed.rb
|
40
|
+
- lib/qualitysmith_extensions/test/assert_includes.rb
|
41
|
+
- lib/qualitysmith_extensions/file_test/binary_file.rb
|
42
|
+
- lib/qualitysmith_extensions/kernel/require_all.rb
|
43
|
+
- lib/qualitysmith_extensions/kernel/die.rb
|
44
|
+
- lib/qualitysmith_extensions/kernel/require_once.rb
|
45
|
+
- lib/qualitysmith_extensions/kernel/all.rb
|
46
|
+
- lib/qualitysmith_extensions/kernel/backtrace.rb
|
47
|
+
- lib/qualitysmith_extensions/kernel/capture_output.rb
|
48
|
+
- lib/qualitysmith_extensions/object/singleton.rb
|
49
|
+
- lib/qualitysmith_extensions/file/exact_match_regexp.rb
|
50
|
+
- lib/qualitysmith_extensions/date/iso8601.rb
|
51
|
+
- lib/qualitysmith_extensions/date/deprecated.rb
|
52
|
+
- lib/qualitysmith_extensions/date/all.rb
|
53
|
+
- lib/qualitysmith_extensions/date/month_ranges.rb
|
54
|
+
- lib/qualitysmith_extensions/time/deprecated.rb
|
55
|
+
- lib/qualitysmith_extensions/time/all.rb
|
56
|
+
- lib/qualitysmith_extensions/console/command.rb
|
57
|
+
- lib/qualitysmith_extensions/console/command.facets.1.8.51.rb
|
58
|
+
- lib/qualitysmith_extensions/enumerable/enum.rb
|
59
|
+
- lib/qualitysmith_extensions/hash/to_query_string.rb
|
60
|
+
- lib/qualitysmith_extensions/hash/all.rb
|
61
|
+
- lib/qualitysmith_extensions/hash/to_date.rb
|
62
|
+
- lib/qualitysmith_extensions/array/expand_ranges.rb
|
63
|
+
- lib/qualitysmith_extensions/array/shell_escape.rb
|
64
|
+
- lib/qualitysmith_extensions/array/to_query_string.rb
|
65
|
+
- lib/qualitysmith_extensions/array/sequence.rb
|
66
|
+
- lib/qualitysmith_extensions/array/to_a_recursive.rb
|
67
|
+
- lib/qualitysmith_extensions/array/all.rb
|
68
|
+
- lib/qualitysmith_extensions/array/average.rb
|
69
|
+
- lib/qualitysmith_extensions/array/group_by.rb
|
70
|
+
- lib/qualitysmith_extensions/string/digits_only.rb
|
71
|
+
- lib/qualitysmith_extensions/string/shell_escape.rb
|
72
|
+
- lib/qualitysmith_extensions/string/md5.rb
|
73
|
+
- lib/qualitysmith_extensions/string/to_underscored_label.rb
|
74
|
+
- lib/qualitysmith_extensions/string/all.rb
|
75
|
+
- test/all.rb
|
76
|
+
- Readme
|
77
|
+
test_files:
|
78
|
+
- test/all.rb
|
79
|
+
rdoc_options:
|
80
|
+
- --title
|
81
|
+
- qualitysmith_extensions
|
82
|
+
- --main
|
83
|
+
- Readme
|
84
|
+
- --line-numbers
|
85
|
+
extra_rdoc_files:
|
86
|
+
- Readme
|
87
|
+
executables: []
|
88
|
+
|
89
|
+
extensions: []
|
90
|
+
|
91
|
+
requirements: []
|
92
|
+
|
93
|
+
dependencies: []
|
94
|
+
|