facets 2.1.1 → 2.1.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.
- data/CHANGES +5 -0
- data/{LICENSE → COPYING} +4 -0
- data/{WHATSNEW → NOTES} +6 -1
- data/README +5 -0
- data/lib/core/facets.rb +1 -1
- data/lib/core/facets/dir/multiglob.rb +3 -67
- data/lib/core/facets/exception.rb +1 -0
- data/lib/core/facets/exception/detail.rb +20 -0
- data/lib/core/facets/kernel/tap.rb +13 -0
- data/lib/core/facets/{facets.rb → main.rb} +2 -0
- data/lib/methods/facets/facets/require_core.rb +1 -1
- data/lib/more/facets/logger.rb +11 -7
- data/lib/more/facets/registerable.rb +36 -0
- data/log/{history.txt → history.rd} +7 -1
- data/log/{todo.txt → todo.rd} +0 -0
- data/meta/{manifest.txt → MANIFEST} +23 -17
- data/meta/icli.yaml +3 -3
- data/meta/{facets-2.1.1.roll → project.yaml} +4 -11
- data/meta/rollrc +5 -0
- data/task/changes +29 -0
- data/task/install +7 -3
- data/task/{crosstest → test/cross} +0 -0
- data/task/{testeach → test/each} +0 -0
- data/task/{test → test/general} +0 -0
- data/task/{isotest → test/isotest} +0 -0
- data/task/{loadtest → test/loadtest} +0 -0
- data/task/{testpairs → test/pairs} +0 -0
- data/task/{syntax → test/syntax} +0 -0
- metadata +736 -737
- data/lib/more/facets/rbconfig.rb +0 -55
- data/log/release.txt +0 -10
- data/task/config/general.yaml +0 -66
- data/task/config/rdoc.yaml +0 -478
- data/task/rdoc +0 -163
- data/task/svn/tag +0 -22
data/CHANGES
ADDED
data/{LICENSE → COPYING}
RENAMED
data/{WHATSNEW → NOTES}
RENAMED
@@ -1,4 +1,8 @@
|
|
1
|
-
Facets 2.1.
|
1
|
+
Facets 2.1.2 has been released!
|
2
|
+
|
3
|
+
This release fixes then manual install script (task/install).
|
4
|
+
|
5
|
+
As of 2.1.0:
|
2
6
|
|
3
7
|
Major changes include a new and much-improved
|
4
8
|
command.rb, a new BiCrypt class for simple two-way
|
@@ -9,3 +13,4 @@ alias_xxx methods for all attr_xxx methods.
|
|
9
13
|
Enjoy!
|
10
14
|
|
11
15
|
http://facets.rubyforge.org
|
16
|
+
|
data/README
CHANGED
@@ -14,6 +14,11 @@ The core extensions is a large collection of methods which extend the core capab
|
|
14
14
|
The "more" additions are a collection of classes, modules and light meta-systems which constitutes an ever improving source of reusable components. Some very nice additions are provided, from the simple Functor class to a full-blown annotations system.
|
15
15
|
|
16
16
|
|
17
|
+
== Documentation
|
18
|
+
|
19
|
+
Note that Facets has special documentation needs due to it's extensive bredth. For this reason, rdocs are not automatically built by RubyGems on install. To find documentation, please see http://facets.rubyforge.org/learn.html. If you need off-line docs, there is a separate package available on the Files page of the Facets RubyForge project site.
|
20
|
+
|
21
|
+
|
17
22
|
== Installation
|
18
23
|
|
19
24
|
The easiest way to install is via RubyGems.
|
data/lib/core/facets.rb
CHANGED
@@ -1 +1 @@
|
|
1
|
-
require 'facets/
|
1
|
+
require 'facets/main.rb'
|
@@ -58,29 +58,12 @@ class Dir
|
|
58
58
|
|
59
59
|
patterns = [patterns].flatten.compact
|
60
60
|
|
61
|
-
if options[:default]
|
62
|
-
default = [options[:default]].flatten.compact
|
63
|
-
#if patterns.empty?
|
64
|
-
# patterns = default
|
65
|
-
if patterns.first =~ /^[+-]/ || patterns.empty?
|
66
|
-
patterns = default + patterns
|
67
|
-
end
|
68
|
-
end
|
69
|
-
|
70
|
-
patterns_include = patterns.select{ |f| f !~ /^[-]/ }
|
71
|
-
patterns_exclude = patterns.select{ |f| f =~ /^[-]/ }
|
72
|
-
|
73
|
-
patterns_include.collect!{ |f| f =~ /^[+]/ ? f[1..-1] : f }
|
74
|
-
patterns_exclude.collect!{ |f| f =~ /^[-]/ ? f[1..-1] : f }
|
75
|
-
|
76
61
|
if options[:recurse]
|
77
|
-
|
78
|
-
patterns_exclude += patterns_exclude.collect{ |f| File.join(f, '**', '*') }
|
62
|
+
patterns += patterns.collect{ |f| File.join(f, '**', '*') }
|
79
63
|
end
|
80
64
|
|
81
65
|
files = []
|
82
|
-
files +=
|
83
|
-
files -= patterns_exclude.collect{ |pattern| Dir.glob(pattern, bitflags) }.flatten.uniq
|
66
|
+
files += patterns.collect{ |pattern| Dir.glob(pattern, bitflags) }.flatten.uniq
|
84
67
|
|
85
68
|
return files
|
86
69
|
end
|
@@ -97,58 +80,11 @@ class Dir
|
|
97
80
|
#
|
98
81
|
# Dir.multiglob( 'folder', 'folder/**/*' )
|
99
82
|
|
100
|
-
def self.multiglob_r(
|
83
|
+
def self.multiglob_r(*patterns)
|
101
84
|
options = (Hash === patterns.last ? patterns.pop : {})
|
102
85
|
options[:recurse] = true
|
103
86
|
patterns << options
|
104
87
|
multiglob(*patterns)
|
105
88
|
end
|
106
89
|
|
107
|
-
# This is just like multiglob but handles a base pattern such that
|
108
|
-
# if the +patterns+ list starts with a '+' or '-' entry, then the base
|
109
|
-
# will be included in the result, otherwise it will be omitted.
|
110
|
-
#
|
111
|
-
# Dir.multiglob_with_default('*.yaml', '-*.rb') #=> [ 'foo.yaml' ]
|
112
|
-
# Dir.multiglob_with_default('*.yaml', '+*.rb') #=> [ 'foo.yaml', 'foo.rb' ]
|
113
|
-
# Dir.multiglob_with_default('*.yaml', '*.rb') #=> [ 'foo.rb' ]
|
114
|
-
#
|
115
|
-
# This is useful when a configuration option needs to supply a file list
|
116
|
-
# that may include files, exclude files or append files to a default list.
|
117
|
-
#
|
118
|
-
# TODO Deprecate this and replace with :default option on regular multiglob?
|
119
|
-
|
120
|
-
def self.multiglob_with_default(default, *patterns)
|
121
|
-
default = [default].flatten.compact
|
122
|
-
patterns = patterns.flatten.compact
|
123
|
-
|
124
|
-
if patterns.empty?
|
125
|
-
patterns = default
|
126
|
-
elsif patterns.first =~ /^[+-]/
|
127
|
-
patterns = default + patterns
|
128
|
-
end
|
129
|
-
|
130
|
-
multiglob(*patterns)
|
131
|
-
end
|
132
|
-
|
133
90
|
end
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
# _____ _
|
138
|
-
# |_ _|__ ___| |_
|
139
|
-
# | |/ _ \/ __| __|
|
140
|
-
# | | __/\__ \ |_
|
141
|
-
# |_|\___||___/\__|
|
142
|
-
#
|
143
|
-
|
144
|
-
# TODO Need to mock file system.
|
145
|
-
|
146
|
-
=begin #no test yet
|
147
|
-
|
148
|
-
require 'test/unit'
|
149
|
-
|
150
|
-
class TestDir < Test::Unit::TestCase
|
151
|
-
|
152
|
-
end
|
153
|
-
|
154
|
-
=end
|
@@ -0,0 +1 @@
|
|
1
|
+
require 'facets/exception/detail.rb'
|
@@ -0,0 +1,20 @@
|
|
1
|
+
|
2
|
+
class Exception
|
3
|
+
|
4
|
+
# Pretty string output of exception/error
|
5
|
+
# object useful for helpful debug messages.
|
6
|
+
#
|
7
|
+
# Input:
|
8
|
+
# The Exception/StandardError object
|
9
|
+
#
|
10
|
+
# Output:
|
11
|
+
# the pretty printed string
|
12
|
+
#
|
13
|
+
# CREDIT: George Moschovitis
|
14
|
+
|
15
|
+
def detail
|
16
|
+
return %{#{message}\n #{backtrace.join("\n ")}\n LOGGED FROM: #{caller[0]}}
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
20
|
+
|
@@ -24,6 +24,19 @@ module Kernel
|
|
24
24
|
self
|
25
25
|
end
|
26
26
|
|
27
|
+
# require 'facets/functor'
|
28
|
+
#
|
29
|
+
# # Yield self -and- return self.
|
30
|
+
#
|
31
|
+
# def tap(&b)
|
32
|
+
# if block_given?
|
33
|
+
# b.arity == 1 ? yield(self) : instance_eval(&b)
|
34
|
+
# self
|
35
|
+
# else
|
36
|
+
# Functor.new{ |op, *args| self.send(op, *args); self }
|
37
|
+
# end
|
38
|
+
# end
|
39
|
+
|
27
40
|
# A Ruby-ized realization of the K combinator.
|
28
41
|
#
|
29
42
|
# returning Book.new do |book|
|
@@ -15,6 +15,7 @@ module Facets
|
|
15
15
|
require "facets/curry"
|
16
16
|
require "facets/dir"
|
17
17
|
require "facets/enumerable"
|
18
|
+
require "facets/exception"
|
18
19
|
require "facets/file"
|
19
20
|
require "facets/filetest"
|
20
21
|
require "facets/float"
|
@@ -44,3 +45,4 @@ end
|
|
44
45
|
|
45
46
|
# Bring it on-line!
|
46
47
|
Facets.require_core
|
48
|
+
|
@@ -1 +1 @@
|
|
1
|
-
require 'facets/
|
1
|
+
require 'facets/main.rb'
|
data/lib/more/facets/logger.rb
CHANGED
@@ -58,16 +58,16 @@ class Logger
|
|
58
58
|
alias_method :devel, :debug
|
59
59
|
alias_method :fine, :debug
|
60
60
|
|
61
|
-
# Prints a trace message to DEBUGLOG (at debug level).
|
62
|
-
# Useful for emitting the value of variables, etc. Use
|
61
|
+
# Prints a trace message to DEBUGLOG (at debug level).
|
62
|
+
# Useful for emitting the value of variables, etc. Use
|
63
63
|
# like this:
|
64
64
|
#
|
65
65
|
# x = y = 5
|
66
66
|
# trace 'x' # -> 'x = 5'
|
67
67
|
# trace 'x ** y' # -> 'x ** y = 3125'
|
68
68
|
#
|
69
|
-
# If you have a more complicated value, like an array of
|
70
|
-
# hashes, then you'll probably want to use an alternative
|
69
|
+
# If you have a more complicated value, like an array of
|
70
|
+
# hashes, then you'll probably want to use an alternative
|
71
71
|
# output format. For instance:
|
72
72
|
#
|
73
73
|
# trace 'value', :yaml
|
@@ -119,9 +119,9 @@ class Logger
|
|
119
119
|
:inspect => :inspect, :to_yaml => :to_yaml
|
120
120
|
)
|
121
121
|
|
122
|
-
# Dictate the way in which this logger should format the
|
123
|
-
# messages it displays. This method requires a block. The
|
124
|
-
# block should return formatted strings given severity,
|
122
|
+
# Dictate the way in which this logger should format the
|
123
|
+
# messages it displays. This method requires a block. The
|
124
|
+
# block should return formatted strings given severity,
|
125
125
|
# timestamp, msg, progname.
|
126
126
|
#
|
127
127
|
# === Example
|
@@ -136,6 +136,10 @@ class Logger
|
|
136
136
|
@format_proc = format_proc
|
137
137
|
end
|
138
138
|
|
139
|
+
def format_procedure
|
140
|
+
@format_proc
|
141
|
+
end
|
142
|
+
|
139
143
|
private
|
140
144
|
|
141
145
|
attr_accessor :format_proc
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# TITLE:
|
2
|
+
#
|
3
|
+
# Registerable
|
4
|
+
#
|
5
|
+
# COPYING:
|
6
|
+
#
|
7
|
+
# Copyright (c) 2007 Psi T Corp.
|
8
|
+
#
|
9
|
+
|
10
|
+
module Registerable
|
11
|
+
|
12
|
+
# Register format names.
|
13
|
+
|
14
|
+
def register(*names)
|
15
|
+
names.each do |name|
|
16
|
+
registry[name.to_s] = self
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
# Access registry.
|
21
|
+
|
22
|
+
def registry
|
23
|
+
@@registry ||= {}
|
24
|
+
end
|
25
|
+
|
26
|
+
#
|
27
|
+
|
28
|
+
def registry_invalid?(*types)
|
29
|
+
bad = []
|
30
|
+
types.each do |type|
|
31
|
+
bad << type unless @@registry[type]
|
32
|
+
end
|
33
|
+
return bad.empty? ? false : bad
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
@@ -1,8 +1,14 @@
|
|
1
1
|
= Facets Revision History
|
2
2
|
|
3
|
+
== 2.1.2 / 2007-11-22
|
4
|
+
|
5
|
+
* Dir::multiglob no longer handels -/+ modifiers. Use FileList instead.
|
6
|
+
* Fixed task/install script.
|
7
|
+
* Improved task/changes.
|
8
|
+
|
3
9
|
== 2.1.1 / 2007-11-16
|
4
10
|
|
5
|
-
* Fixed bug in command.rb that
|
11
|
+
* Fixed bug in command.rb that clobbered options.
|
6
12
|
* Added kernel/ergo.rb.
|
7
13
|
|
8
14
|
== 2.1.0 / 2007-11-10
|
data/log/{todo.txt → todo.rd}
RENAMED
File without changes
|
@@ -1,8 +1,9 @@
|
|
1
1
|
# -x dev -x pkg -x doc
|
2
2
|
AUTHORS
|
3
|
-
|
3
|
+
CHANGES
|
4
|
+
COPYING
|
5
|
+
NOTES
|
4
6
|
README
|
5
|
-
WHATSNEW
|
6
7
|
demo
|
7
8
|
demo/bench
|
8
9
|
demo/bench/enumerable
|
@@ -64,7 +65,9 @@ lib/core/facets/enumerable/count.rb
|
|
64
65
|
lib/core/facets/enumerable/permutation.rb
|
65
66
|
lib/core/facets/enumerable/probability.rb
|
66
67
|
lib/core/facets/enumerable.rb
|
67
|
-
lib/core/facets/
|
68
|
+
lib/core/facets/exception
|
69
|
+
lib/core/facets/exception/detail.rb
|
70
|
+
lib/core/facets/exception.rb
|
68
71
|
lib/core/facets/file
|
69
72
|
lib/core/facets/file/read.rb
|
70
73
|
lib/core/facets/file/topath.rb
|
@@ -123,6 +126,7 @@ lib/core/facets/kernel/tap.rb
|
|
123
126
|
lib/core/facets/kernel/val.rb
|
124
127
|
lib/core/facets/kernel/withattr.rb
|
125
128
|
lib/core/facets/kernel.rb
|
129
|
+
lib/core/facets/main.rb
|
126
130
|
lib/core/facets/matchdata
|
127
131
|
lib/core/facets/matchdata/matchset.rb
|
128
132
|
lib/core/facets/matchdata.rb
|
@@ -721,6 +725,7 @@ lib/more/facets/recorder.rb
|
|
721
725
|
lib/more/facets/recursive.rb
|
722
726
|
lib/more/facets/reference.rb
|
723
727
|
lib/more/facets/reflection.rb
|
728
|
+
lib/more/facets/registerable.rb
|
724
729
|
lib/more/facets/rwdelegator.rb
|
725
730
|
lib/more/facets/semaphore.rb
|
726
731
|
lib/more/facets/settings.rb
|
@@ -742,26 +747,22 @@ lib/more/facets/yaml.rb
|
|
742
747
|
lib/more/facets/ziputils.rb
|
743
748
|
log
|
744
749
|
log/changelog.txt
|
745
|
-
log/history.
|
746
|
-
log/
|
747
|
-
log/todo.txt
|
750
|
+
log/history.rd
|
751
|
+
log/todo.rd
|
748
752
|
meta
|
749
|
-
meta/
|
753
|
+
meta/MANIFEST
|
750
754
|
meta/google_ad.html
|
751
755
|
meta/icli.yaml
|
752
|
-
meta/
|
756
|
+
meta/project.yaml
|
757
|
+
meta/rollrc
|
753
758
|
task
|
759
|
+
task/changes
|
754
760
|
task/clean
|
755
761
|
task/clobber
|
756
762
|
task/clobber/package
|
757
|
-
task/config
|
758
|
-
task/config/general.yaml
|
759
|
-
task/config/rdoc.yaml
|
760
|
-
task/crosstest
|
763
|
+
task/config.yaml
|
761
764
|
task/groups
|
762
765
|
task/install
|
763
|
-
task/isotest
|
764
|
-
task/loadtest
|
765
766
|
task/log
|
766
767
|
task/methods
|
767
768
|
task/prepare
|
@@ -772,11 +773,16 @@ task/special
|
|
772
773
|
task/special/quickopts
|
773
774
|
task/stats
|
774
775
|
task/svn
|
776
|
+
task/svn/changelog
|
775
777
|
task/svn/tag
|
776
|
-
task/syntax
|
777
778
|
task/test
|
778
|
-
task/
|
779
|
-
task/
|
779
|
+
task/test/cross
|
780
|
+
task/test/each
|
781
|
+
task/test/general
|
782
|
+
task/test/isotest
|
783
|
+
task/test/loadtest
|
784
|
+
task/test/pairs
|
785
|
+
task/test/syntax
|
780
786
|
test
|
781
787
|
test/lib
|
782
788
|
test/lib/rq.rb
|
data/meta/icli.yaml
CHANGED
@@ -20,23 +20,16 @@ email : facets-universal@rubyforge.org
|
|
20
20
|
homepage : 'http://facets.rubyforge.org'
|
21
21
|
download : 'http://rubyforge.org/projects/facets'
|
22
22
|
|
23
|
-
|
24
|
-
|
25
|
-
load_paths:
|
26
|
-
- lib/core/facets
|
27
|
-
- lib/more/facets
|
28
|
-
- lib/methods/facets
|
23
|
+
# Packaging Information
|
29
24
|
|
30
25
|
gem_paths:
|
31
26
|
- lib/core
|
32
27
|
- lib/more
|
33
28
|
- lib/methods
|
34
29
|
|
35
|
-
# Packaging information
|
36
|
-
|
37
|
-
formats : [ gem, tgz ]
|
38
30
|
document : false
|
31
|
+
formats : [ gem, zip ] #tgz
|
39
32
|
|
40
|
-
|
41
|
-
|
33
|
+
manifest : meta/MANIFEST
|
34
|
+
exclude : [ dev, doc, pkg ]
|
42
35
|
|
data/meta/rollrc
ADDED
data/task/changes
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
#!/usr/bin/env ratch
|
2
|
+
|
3
|
+
# generate changes from history
|
4
|
+
|
5
|
+
config = configuration['changes']
|
6
|
+
|
7
|
+
history_file = config['history'] || 'log/history.rd'
|
8
|
+
changes_file = config['changes'] || 'CHANGES'
|
9
|
+
|
10
|
+
history_file.to_actual_filename!
|
11
|
+
|
12
|
+
name, version = rollrc.name, rollrc.version
|
13
|
+
|
14
|
+
main :changes do
|
15
|
+
build changes_file
|
16
|
+
end
|
17
|
+
|
18
|
+
file changes_file => [ history_file ] do
|
19
|
+
history = File.read(history_file)
|
20
|
+
matches = /^==\s*#{version}(.*?)(\n==|\Z)/m.match(history)
|
21
|
+
changes = matches[0]
|
22
|
+
changes = changes.chomp('==').strip.sub(/^==\s+/, "#{name} ")
|
23
|
+
if dryrun?
|
24
|
+
puts "#{changes_file} would have been updated (dryrun mode)."
|
25
|
+
else
|
26
|
+
File.open(changes_file, 'w'){ |f| f << changes }
|
27
|
+
puts "#{changes_file} updated."
|
28
|
+
end
|
29
|
+
end
|