filigree 0.2.1 → 0.3.0
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/lib/filigree/request_file.rb +2 -1
- data/lib/filigree/version.rb +1 -1
- data/lib/filigree/visitor.rb +6 -7
- data/test/tc_visitor.rb +8 -8
- metadata +27 -27
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f712ddbd29650262ea478bff2b9742c840929dee
|
4
|
+
data.tar.gz: 130669091a1246adac6601a9ec76848ac3772fc7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 896a8a4972016b0166c616c7115f598e5e43cd621451765e5435f39809818cc066fb751963531db5138030ade28096a1af08866067fb2fd8750bbda0c20e2af7
|
7
|
+
data.tar.gz: b008d5b0221615918e45a6a40bffa1619f19626aea7150b82a46b6ad3a8be8b7d185d80a659ed6ec9cafc79f75006f6961ac073a9c0b945755fd2f965658de25
|
@@ -15,7 +15,8 @@
|
|
15
15
|
# Methods #
|
16
16
|
###########
|
17
17
|
|
18
|
-
# Require a file, but fail gracefully if it isn't found.
|
18
|
+
# Require a file, but fail gracefully if it isn't found. If a block is given
|
19
|
+
# it will be called if the file is successfully required.
|
19
20
|
#
|
20
21
|
# @param [String] file File to be requested
|
21
22
|
# @param [Boolean] print_failure To print a message on failure or not
|
data/lib/filigree/version.rb
CHANGED
data/lib/filigree/visitor.rb
CHANGED
@@ -35,7 +35,7 @@ module Filigree
|
|
35
35
|
# @return [Object] Result of calling the matched pattern's block
|
36
36
|
#
|
37
37
|
# @raise [MatchError] Raised when no matching pattern is found
|
38
|
-
def
|
38
|
+
def visit(*objects)
|
39
39
|
self.class.patterns.each do |pattern|
|
40
40
|
@match_bindings = OpenStruct.new
|
41
41
|
|
@@ -45,7 +45,6 @@ module Filigree
|
|
45
45
|
# If we didn't find anything we raise a MatchError.
|
46
46
|
raise MatchError
|
47
47
|
end
|
48
|
-
alias :visit :call
|
49
48
|
|
50
49
|
#############
|
51
50
|
# Callbacks #
|
@@ -176,8 +175,8 @@ module Filigree
|
|
176
175
|
# @param [Object] objects Objects to be visited
|
177
176
|
#
|
178
177
|
# @return [Array<Visitor>] The wrapped visitors
|
179
|
-
def
|
180
|
-
@visitors.each { |visitor| visitor.(*objects) }
|
178
|
+
def visit(*objects)
|
179
|
+
@visitors.each { |visitor| visitor.visit(*objects) }
|
181
180
|
end
|
182
181
|
|
183
182
|
# Construct a tour guide for a list of visitors.
|
@@ -203,7 +202,7 @@ module Filigree
|
|
203
202
|
def visit(visitor, method = :preorder)
|
204
203
|
case method
|
205
204
|
when :preorder
|
206
|
-
visitor.(self)
|
205
|
+
visitor.visit(self)
|
207
206
|
children.compact.each { |child| child.visit(visitor, :preorder) }
|
208
207
|
|
209
208
|
when :inorder
|
@@ -211,12 +210,12 @@ module Filigree
|
|
211
210
|
|
212
211
|
while node = nodes.shift
|
213
212
|
nodes += node.children.compact
|
214
|
-
visitor.(node)
|
213
|
+
visitor.visit(node)
|
215
214
|
end
|
216
215
|
|
217
216
|
when :postorder
|
218
217
|
children.compact.each { |child| child.visit(visitor, :postorder) }
|
219
|
-
visitor.(self)
|
218
|
+
visitor.visit(self)
|
220
219
|
end
|
221
220
|
end
|
222
221
|
end
|
data/test/tc_visitor.rb
CHANGED
@@ -35,7 +35,7 @@ class VisitorTester < Minitest::Test
|
|
35
35
|
end
|
36
36
|
|
37
37
|
def visit(visitor)
|
38
|
-
visitor.(self)
|
38
|
+
visitor.visit(self)
|
39
39
|
end
|
40
40
|
end
|
41
41
|
|
@@ -186,12 +186,12 @@ class VisitorTester < Minitest::Test
|
|
186
186
|
def test_simple_visitor
|
187
187
|
sv = SimpleVisitor.new
|
188
188
|
|
189
|
-
assert_equal :one, sv.(1)
|
190
|
-
assert_equal :two, sv.(:two)
|
191
|
-
assert_equal :three, sv.('three')
|
192
|
-
assert_equal :four, sv.(Foo.new(4))
|
193
|
-
assert_equal :five, sv.(Foo.new(5))
|
194
|
-
assert_equal :six, sv.(Foo.new('six'))
|
189
|
+
assert_equal :one, sv.visit(1)
|
190
|
+
assert_equal :two, sv.visit(:two)
|
191
|
+
assert_equal :three, sv.visit('three')
|
192
|
+
assert_equal :four, sv.visit(Foo.new(4))
|
193
|
+
assert_equal :five, sv.visit(Foo.new(5))
|
194
|
+
assert_equal :six, sv.visit(Foo.new('six'))
|
195
195
|
end
|
196
196
|
|
197
197
|
def test_stateful_visitor
|
@@ -216,7 +216,7 @@ class VisitorTester < Minitest::Test
|
|
216
216
|
def test_visibility
|
217
217
|
hmv = HelperMethodVisitor.new
|
218
218
|
|
219
|
-
assert_equal :foo, hmv.(Foo.new(42))
|
219
|
+
assert_equal :foo, hmv.visit(Foo.new(42))
|
220
220
|
end
|
221
221
|
|
222
222
|
def test_visitable
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: filigree
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Wailes
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-06-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -175,33 +175,33 @@ files:
|
|
175
175
|
- AUTHORS
|
176
176
|
- README.md
|
177
177
|
- Rakefile
|
178
|
-
- lib/filigree/request_file.rb
|
179
|
-
- lib/filigree/class_methods_module.rb
|
180
|
-
- lib/filigree/visitor.rb
|
181
178
|
- lib/filigree/types.rb
|
182
|
-
- lib/filigree/object.rb
|
183
|
-
- lib/filigree/string.rb
|
184
|
-
- lib/filigree/commands.rb
|
185
|
-
- lib/filigree/abstract_class.rb
|
186
179
|
- lib/filigree/boolean.rb
|
180
|
+
- lib/filigree/match.rb
|
187
181
|
- lib/filigree/application.rb
|
182
|
+
- lib/filigree/abstract_class.rb
|
183
|
+
- lib/filigree/class.rb
|
184
|
+
- lib/filigree/string.rb
|
188
185
|
- lib/filigree/version.rb
|
189
186
|
- lib/filigree/configuration.rb
|
190
|
-
- lib/filigree/
|
191
|
-
- lib/filigree/
|
187
|
+
- lib/filigree/visitor.rb
|
188
|
+
- lib/filigree/object.rb
|
189
|
+
- lib/filigree/commands.rb
|
190
|
+
- lib/filigree/request_file.rb
|
191
|
+
- lib/filigree/class_methods_module.rb
|
192
192
|
- lib/filigree.rb
|
193
|
-
- test/
|
193
|
+
- test/tc_boolean.rb
|
194
|
+
- test/tc_object.rb
|
194
195
|
- test/tc_types.rb
|
195
|
-
- test/
|
196
|
+
- test/tc_configuration.rb
|
197
|
+
- test/tc_commands.rb
|
196
198
|
- test/tc_string.rb
|
197
|
-
- test/tc_application.rb
|
198
|
-
- test/tc_match.rb
|
199
199
|
- test/tc_abstract_class.rb
|
200
|
-
- test/tc_object.rb
|
201
|
-
- test/tc_class_methods_module.rb
|
202
|
-
- test/tc_configuration.rb
|
203
|
-
- test/tc_boolean.rb
|
204
200
|
- test/tc_visitor.rb
|
201
|
+
- test/tc_class_methods_module.rb
|
202
|
+
- test/tc_match.rb
|
203
|
+
- test/tc_class.rb
|
204
|
+
- test/tc_application.rb
|
205
205
|
- test/ts_filigree.rb
|
206
206
|
homepage: https://github.com/chriswailes/filigree
|
207
207
|
licenses:
|
@@ -228,17 +228,17 @@ signing_key:
|
|
228
228
|
specification_version: 4
|
229
229
|
summary: Extra functionality for Ruby.
|
230
230
|
test_files:
|
231
|
-
- test/
|
231
|
+
- test/tc_boolean.rb
|
232
|
+
- test/tc_object.rb
|
232
233
|
- test/tc_types.rb
|
233
|
-
- test/
|
234
|
+
- test/tc_configuration.rb
|
235
|
+
- test/tc_commands.rb
|
234
236
|
- test/tc_string.rb
|
235
|
-
- test/tc_application.rb
|
236
|
-
- test/tc_match.rb
|
237
237
|
- test/tc_abstract_class.rb
|
238
|
-
- test/tc_object.rb
|
239
|
-
- test/tc_class_methods_module.rb
|
240
|
-
- test/tc_configuration.rb
|
241
|
-
- test/tc_boolean.rb
|
242
238
|
- test/tc_visitor.rb
|
239
|
+
- test/tc_class_methods_module.rb
|
240
|
+
- test/tc_match.rb
|
241
|
+
- test/tc_class.rb
|
242
|
+
- test/tc_application.rb
|
243
243
|
- test/ts_filigree.rb
|
244
244
|
has_rdoc:
|