filigree 0.2.1 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- 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:
|