nanoc 4.0.2 → 4.1.0a1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CONTRIBUTING.md +17 -0
- data/Gemfile +50 -46
- data/Gemfile.lock +365 -0
- data/Guardfile +3 -0
- data/NEWS.md +21 -0
- data/README.md +1 -1
- data/lib/nanoc/base.rb +3 -15
- data/lib/nanoc/base/checksummer.rb +3 -14
- data/lib/nanoc/base/compilation/compiler.rb +112 -283
- data/lib/nanoc/base/compilation/compiler_dsl.rb +29 -37
- data/lib/nanoc/base/compilation/dependency_tracker.rb +25 -170
- data/lib/nanoc/base/compilation/filter.rb +3 -4
- data/lib/nanoc/base/compilation/item_rep_repo.rb +33 -0
- data/lib/nanoc/base/compilation/outdatedness_checker.rb +39 -53
- data/lib/nanoc/base/compilation/rule.rb +13 -24
- data/lib/nanoc/base/compilation/rule_context.rb +29 -15
- data/lib/nanoc/base/entities.rb +10 -0
- data/lib/nanoc/base/{source_data → entities}/code_snippet.rb +1 -4
- data/lib/nanoc/base/{source_data → entities}/configuration.rb +1 -1
- data/lib/nanoc/base/entities/content.rb +8 -9
- data/lib/nanoc/base/{identifiable_collection.rb → entities/identifiable_collection.rb} +0 -0
- data/lib/nanoc/base/entities/identifier.rb +11 -2
- data/lib/nanoc/base/{source_data → entities}/item.rb +0 -18
- data/lib/nanoc/base/{result_data → entities}/item_rep.rb +15 -13
- data/lib/nanoc/base/entities/rule_memory.rb +54 -0
- data/lib/nanoc/base/entities/rule_memory_action.rb +19 -0
- data/lib/nanoc/base/entities/rule_memory_actions.rb +3 -0
- data/lib/nanoc/base/entities/rule_memory_actions/filter.rb +22 -0
- data/lib/nanoc/base/entities/rule_memory_actions/layout.rb +22 -0
- data/lib/nanoc/base/entities/rule_memory_actions/snapshot.rb +26 -0
- data/lib/nanoc/base/entities/rules_collection.rb +120 -0
- data/lib/nanoc/base/{source_data → entities}/site.rb +11 -10
- data/lib/nanoc/base/repos.rb +2 -0
- data/lib/nanoc/base/repos/checksum_store.rb +3 -9
- data/lib/nanoc/base/repos/compiled_content_cache.rb +0 -5
- data/lib/nanoc/base/{source_data → repos}/data_source.rb +3 -6
- data/lib/nanoc/base/repos/dependency_store.rb +118 -0
- data/lib/nanoc/base/repos/rule_memory_store.rb +1 -5
- data/lib/nanoc/base/repos/site_loader.rb +0 -28
- data/lib/nanoc/base/repos/store.rb +0 -12
- data/lib/nanoc/base/services.rb +8 -0
- data/lib/nanoc/base/services/compiler_loader.rb +49 -0
- data/lib/nanoc/base/services/executor.rb +4 -4
- data/lib/nanoc/base/services/item_rep_builder.rb +30 -0
- data/lib/nanoc/base/services/item_rep_router.rb +55 -0
- data/lib/nanoc/base/services/item_rep_selector.rb +39 -0
- data/lib/nanoc/base/services/item_rep_writer.rb +2 -0
- data/lib/nanoc/base/services/postprocessor.rb +26 -0
- data/lib/nanoc/base/services/preprocessor.rb +26 -0
- data/lib/nanoc/base/services/recording_executor.rb +36 -22
- data/lib/nanoc/base/services/rule_memory_calculator.rb +84 -0
- data/lib/nanoc/base/services/rules_loader.rb +29 -0
- data/lib/nanoc/base/views.rb +6 -0
- data/lib/nanoc/base/views/config_view.rb +8 -2
- data/lib/nanoc/base/views/identifiable_collection_view.rb +5 -4
- data/lib/nanoc/base/views/item_rep_collection_view.rb +7 -6
- data/lib/nanoc/base/views/item_rep_view.rb +13 -12
- data/lib/nanoc/base/views/item_view.rb +18 -12
- data/lib/nanoc/base/views/layout_view.rb +1 -1
- data/lib/nanoc/base/views/mixins/document_view_mixin.rb +2 -1
- data/lib/nanoc/base/views/mutable_identifiable_collection_view.rb +1 -1
- data/lib/nanoc/base/views/mutable_item_collection_view.rb +4 -7
- data/lib/nanoc/base/views/post_compile_item_collection_view.rb +8 -0
- data/lib/nanoc/base/views/post_compile_item_view.rb +7 -0
- data/lib/nanoc/base/views/site_view.rb +3 -2
- data/lib/nanoc/base/views/view.rb +12 -0
- data/lib/nanoc/base/views/view_context.rb +12 -0
- data/lib/nanoc/cli/commands/compile.rb +13 -15
- data/lib/nanoc/cli/commands/create-site.rb +15 -0
- data/lib/nanoc/cli/commands/prune.rb +1 -1
- data/lib/nanoc/cli/commands/shell.rb +3 -3
- data/lib/nanoc/cli/commands/show-data.rb +5 -5
- data/lib/nanoc/cli/commands/show-rules.rb +2 -1
- data/lib/nanoc/cli/error_handler.rb +28 -30
- data/lib/nanoc/cli/stream_cleaners/ansi_colors.rb +1 -1
- data/lib/nanoc/data_sources/filesystem.rb +1 -1
- data/lib/nanoc/extra/checking/check.rb +8 -7
- data/lib/nanoc/extra/checking/checks/external_links.rb +14 -1
- data/lib/nanoc/extra/checking/runner.rb +1 -1
- data/lib/nanoc/extra/deployer.rb +3 -3
- data/lib/nanoc/extra/piper.rb +5 -5
- data/lib/nanoc/extra/pruner.rb +8 -7
- data/lib/nanoc/filters/relativize_paths.rb +48 -32
- data/lib/nanoc/filters/sass/sass_filesystem_importer.rb +0 -1
- data/lib/nanoc/helpers/blogging.rb +15 -7
- data/lib/nanoc/helpers/capturing.rb +56 -13
- data/lib/nanoc/helpers/link_to.rb +2 -2
- data/lib/nanoc/helpers/tagging.rb +5 -10
- data/lib/nanoc/helpers/text.rb +9 -11
- data/lib/nanoc/version.rb +1 -1
- data/nanoc-4.0.2.gem +0 -0
- data/tags +1175 -0
- data/test/base/test_compiler.rb +48 -98
- data/test/base/test_compiler_dsl.rb +113 -39
- data/test/base/test_dependency_tracker.rb +80 -79
- data/test/base/test_outdatedness_checker.rb +39 -26
- data/test/base/test_site.rb +0 -97
- data/test/cli/commands/test_compile.rb +2 -3
- data/test/extra/checking/checks/test_external_links.rb +25 -0
- data/test/extra/deployers/test_fog.rb +12 -6
- data/test/filters/test_erb.rb +1 -1
- data/test/filters/test_erubis.rb +1 -1
- data/test/filters/test_haml.rb +1 -1
- data/test/filters/test_less.rb +4 -4
- data/test/filters/test_sass.rb +1 -0
- data/test/filters/test_xsl.rb +7 -8
- data/test/helper.rb +0 -2
- data/test/helpers/test_blogging.rb +26 -23
- data/test/helpers/test_capturing.rb +131 -12
- data/test/helpers/test_filtering.rb +6 -6
- data/test/helpers/test_link_to.rb +1 -1
- data/test/helpers/test_rendering.rb +16 -24
- data/test/helpers/test_tagging.rb +13 -10
- data/test/helpers/test_xml_sitemap.rb +25 -21
- metadata +36 -14
- data/lib/nanoc/base/compilation/rule_memory_calculator.rb +0 -35
- data/lib/nanoc/base/compilation/rules_collection.rb +0 -245
- data/test/base/test_rule_context.rb +0 -78
@@ -1,78 +0,0 @@
|
|
1
|
-
class Nanoc::Int::RuleContextTest < Nanoc::TestCase
|
2
|
-
def test_objects
|
3
|
-
# Mock everything
|
4
|
-
config = mock
|
5
|
-
items = mock
|
6
|
-
layouts = mock
|
7
|
-
site = mock
|
8
|
-
site.stubs(:config).returns(config)
|
9
|
-
site.stubs(:items).returns(items)
|
10
|
-
site.stubs(:layouts).returns(layouts)
|
11
|
-
item = mock
|
12
|
-
item.stubs(:site).returns(site)
|
13
|
-
rep = mock
|
14
|
-
rep.stubs(:item).returns(item)
|
15
|
-
compiler = Nanoc::Int::Compiler.new(site)
|
16
|
-
|
17
|
-
# Create context
|
18
|
-
executor = nil
|
19
|
-
rule_context = Nanoc::Int::RuleContext.new(rep: rep, executor: executor, compiler: compiler)
|
20
|
-
|
21
|
-
# Check classes
|
22
|
-
assert_equal Nanoc::ItemRepView, rule_context.rep.class
|
23
|
-
assert_equal Nanoc::ItemView, rule_context.item.class
|
24
|
-
assert_equal Nanoc::SiteView, rule_context.site.class
|
25
|
-
assert_equal Nanoc::ConfigView, rule_context.config.class
|
26
|
-
assert_equal Nanoc::LayoutCollectionView, rule_context.layouts.class
|
27
|
-
assert_equal Nanoc::ItemCollectionView, rule_context.items.class
|
28
|
-
|
29
|
-
# Check content
|
30
|
-
assert_equal rep, rule_context.rep.unwrap
|
31
|
-
assert_equal item, rule_context.item.unwrap
|
32
|
-
assert_equal site, rule_context.site.unwrap
|
33
|
-
assert_equal config, rule_context.config.unwrap
|
34
|
-
assert_equal layouts, rule_context.layouts.unwrap
|
35
|
-
assert_equal items, rule_context.items.unwrap
|
36
|
-
end
|
37
|
-
|
38
|
-
def test_actions
|
39
|
-
# Mock everything
|
40
|
-
config = mock
|
41
|
-
items = mock
|
42
|
-
layouts = mock
|
43
|
-
site = mock
|
44
|
-
site.stubs(:config).returns(config)
|
45
|
-
site.stubs(:items).returns(items)
|
46
|
-
site.stubs(:layouts).returns(layouts)
|
47
|
-
item = mock
|
48
|
-
item.stubs(:site).returns(site)
|
49
|
-
|
50
|
-
# Mock rep
|
51
|
-
rep = mock
|
52
|
-
rep.stubs(:item).returns(item)
|
53
|
-
|
54
|
-
# Mock compiler
|
55
|
-
compiler = Nanoc::Int::Compiler.new(site)
|
56
|
-
|
57
|
-
# Create context
|
58
|
-
executor = nil
|
59
|
-
rule_context = Nanoc::Int::RuleContext.new(rep: rep, executor: executor, compiler: compiler)
|
60
|
-
|
61
|
-
# Check
|
62
|
-
assert_raises(NoMethodError) do
|
63
|
-
rule_context.instance_eval do
|
64
|
-
item_rep.filter :foo, bar: 'baz'
|
65
|
-
end
|
66
|
-
end
|
67
|
-
assert_raises(NoMethodError) do
|
68
|
-
rule_context.instance_eval do
|
69
|
-
item_rep.layout 'foo'
|
70
|
-
end
|
71
|
-
end
|
72
|
-
assert_raises(NoMethodError) do
|
73
|
-
rule_context.instance_eval do
|
74
|
-
item_rep.snapshot 'awesome'
|
75
|
-
end
|
76
|
-
end
|
77
|
-
end
|
78
|
-
end
|