vedeu 0.4.60 → 0.4.61

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/lib/vedeu.rb +2 -0
  3. data/lib/vedeu/all.rb +8 -4
  4. data/lib/vedeu/{output → borders}/border.rb +0 -0
  5. data/lib/vedeu/{output → borders}/borders.rb +0 -0
  6. data/lib/vedeu/{output → borders}/render_border.rb +24 -18
  7. data/lib/vedeu/cursor/move.rb +5 -16
  8. data/lib/vedeu/cursor/reposition.rb +3 -17
  9. data/lib/vedeu/dsl/view.rb +1 -1
  10. data/lib/vedeu/geometry/coordinate.rb +21 -11
  11. data/lib/vedeu/geometry/geometry.rb +1 -1
  12. data/lib/vedeu/geometry/position.rb +2 -2
  13. data/lib/vedeu/output/compressor.rb +3 -7
  14. data/lib/vedeu/output/style.rb +1 -1
  15. data/lib/vedeu/plugins.rb +12 -13
  16. data/lib/vedeu/plugins/plugin.rb +4 -2
  17. data/lib/vedeu/repositories/collection.rb +9 -0
  18. data/lib/vedeu/templating/all.rb +9 -0
  19. data/lib/vedeu/templating/decoder.rb +62 -0
  20. data/lib/vedeu/templating/directive.rb +0 -1
  21. data/lib/vedeu/templating/encoder.rb +62 -0
  22. data/lib/vedeu/templating/helpers.rb +10 -22
  23. data/lib/vedeu/templating/post_processor.rb +81 -0
  24. data/lib/vedeu/templating/template.rb +1 -7
  25. data/lib/vedeu/terminal_mode.rb +2 -0
  26. data/lib/vedeu/version.rb +1 -1
  27. data/test/lib/vedeu/{output → borders}/border_test.rb +0 -0
  28. data/test/lib/vedeu/{output → borders}/borders_test.rb +0 -0
  29. data/test/lib/vedeu/{output → borders}/render_border_test.rb +0 -0
  30. data/test/lib/vedeu/geometry/coordinate_test.rb +20 -17
  31. data/test/lib/vedeu/geometry/position_test.rb +1 -1
  32. data/test/lib/vedeu/models/char_test.rb +17 -18
  33. data/test/lib/vedeu/output/compressor_test.rb +5 -5
  34. data/test/lib/vedeu/output/{renderers/all_test.rb → renderers_test.rb} +0 -0
  35. data/test/lib/vedeu/output/viewport_test.rb +63 -63
  36. data/test/lib/vedeu/plugins_test.rb +12 -6
  37. data/test/lib/vedeu/repositories/collection_test.rb +14 -0
  38. data/test/lib/vedeu/templating/decoder_test.rb +37 -0
  39. data/test/lib/vedeu/templating/encoder_test.rb +38 -0
  40. data/test/lib/vedeu/templating/helpers_test.rb +11 -0
  41. data/test/lib/vedeu/templating/{preprocessor_test.rb → post_processor_test.rb} +14 -18
  42. data/test/lib/vedeu/templating/template_test.rb +3 -2
  43. data/test/support/templates/{inline.erb → plain.erb} +0 -0
  44. metadata +25 -18
  45. data/lib/vedeu/templating/preprocessor.rb +0 -81
@@ -33,9 +33,10 @@ module Vedeu
33
33
  end
34
34
 
35
35
  context 'when the path exists' do
36
- let(:path) { 'test/support/templates/inline.erb' }
36
+ let(:path) { 'test/support/templates/plain.erb' }
37
+ let(:expected) { "This is a test.\n" }
37
38
 
38
- it { subject.must_equal("This is a test.\n") }
39
+ it { subject.must_equal(expected) }
39
40
  end
40
41
  end
41
42
 
File without changes
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vedeu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.60
4
+ version: 0.4.61
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gavin Laking
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-25 00:00:00.000000000 Z
11
+ date: 2015-07-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: guard
@@ -275,6 +275,9 @@ files:
275
275
  - lib/vedeu/bindings/system.rb
276
276
  - lib/vedeu/bindings/visibility.rb
277
277
  - lib/vedeu/bootstrap.rb
278
+ - lib/vedeu/borders/border.rb
279
+ - lib/vedeu/borders/borders.rb
280
+ - lib/vedeu/borders/render_border.rb
278
281
  - lib/vedeu/buffers/buffer.rb
279
282
  - lib/vedeu/buffers/buffers.rb
280
283
  - lib/vedeu/buffers/display_buffer.rb
@@ -398,8 +401,6 @@ files:
398
401
  - lib/vedeu/null/geometry.rb
399
402
  - lib/vedeu/null/interface.rb
400
403
  - lib/vedeu/null/menu.rb
401
- - lib/vedeu/output/border.rb
402
- - lib/vedeu/output/borders.rb
403
404
  - lib/vedeu/output/clear/named_group.rb
404
405
  - lib/vedeu/output/clear/named_interface.rb
405
406
  - lib/vedeu/output/compressor.rb
@@ -409,7 +410,6 @@ files:
409
410
  - lib/vedeu/output/presentation.rb
410
411
  - lib/vedeu/output/refresh.rb
411
412
  - lib/vedeu/output/refresh_group.rb
412
- - lib/vedeu/output/render_border.rb
413
413
  - lib/vedeu/output/renderers.rb
414
414
  - lib/vedeu/output/renderers/escape_sequence.rb
415
415
  - lib/vedeu/output/renderers/file.rb
@@ -434,9 +434,12 @@ files:
434
434
  - lib/vedeu/repositories/registerable.rb
435
435
  - lib/vedeu/repositories/repository.rb
436
436
  - lib/vedeu/repositories/store.rb
437
+ - lib/vedeu/templating/all.rb
438
+ - lib/vedeu/templating/decoder.rb
437
439
  - lib/vedeu/templating/directive.rb
440
+ - lib/vedeu/templating/encoder.rb
438
441
  - lib/vedeu/templating/helpers.rb
439
- - lib/vedeu/templating/preprocessor.rb
442
+ - lib/vedeu/templating/post_processor.rb
440
443
  - lib/vedeu/templating/template.rb
441
444
  - lib/vedeu/terminal.rb
442
445
  - lib/vedeu/terminal_mode.rb
@@ -457,6 +460,9 @@ files:
457
460
  - test/lib/vedeu/bindings/system_test.rb
458
461
  - test/lib/vedeu/bindings/visibility_test.rb
459
462
  - test/lib/vedeu/bootstrap_test.rb
463
+ - test/lib/vedeu/borders/border_test.rb
464
+ - test/lib/vedeu/borders/borders_test.rb
465
+ - test/lib/vedeu/borders/render_border_test.rb
460
466
  - test/lib/vedeu/buffers/buffer_test.rb
461
467
  - test/lib/vedeu/buffers/buffers_test.rb
462
468
  - test/lib/vedeu/buffers/display_buffer_test.rb
@@ -547,8 +553,6 @@ files:
547
553
  - test/lib/vedeu/null/geometry_test.rb
548
554
  - test/lib/vedeu/null/interface_test.rb
549
555
  - test/lib/vedeu/null/menu_test.rb
550
- - test/lib/vedeu/output/border_test.rb
551
- - test/lib/vedeu/output/borders_test.rb
552
556
  - test/lib/vedeu/output/clear/named_group_test.rb
553
557
  - test/lib/vedeu/output/clear/named_interface_test.rb
554
558
  - test/lib/vedeu/output/compressor_test.rb
@@ -558,8 +562,6 @@ files:
558
562
  - test/lib/vedeu/output/presentation_test.rb
559
563
  - test/lib/vedeu/output/refresh_group_test.rb
560
564
  - test/lib/vedeu/output/refresh_test.rb
561
- - test/lib/vedeu/output/render_border_test.rb
562
- - test/lib/vedeu/output/renderers/all_test.rb
563
565
  - test/lib/vedeu/output/renderers/escape_sequence_test.rb
564
566
  - test/lib/vedeu/output/renderers/file_test.rb
565
567
  - test/lib/vedeu/output/renderers/html_test.rb
@@ -568,6 +570,7 @@ files:
568
570
  - test/lib/vedeu/output/renderers/renderer_options_test.rb
569
571
  - test/lib/vedeu/output/renderers/terminal_test.rb
570
572
  - test/lib/vedeu/output/renderers/text_test.rb
573
+ - test/lib/vedeu/output/renderers_test.rb
571
574
  - test/lib/vedeu/output/style_test.rb
572
575
  - test/lib/vedeu/output/text_test.rb
573
576
  - test/lib/vedeu/output/viewport_test.rb
@@ -582,9 +585,11 @@ files:
582
585
  - test/lib/vedeu/repositories/registerable_test.rb
583
586
  - test/lib/vedeu/repositories/repository_test.rb
584
587
  - test/lib/vedeu/repositories/store_test.rb
588
+ - test/lib/vedeu/templating/decoder_test.rb
585
589
  - test/lib/vedeu/templating/directive_test.rb
590
+ - test/lib/vedeu/templating/encoder_test.rb
586
591
  - test/lib/vedeu/templating/helpers_test.rb
587
- - test/lib/vedeu/templating/preprocessor_test.rb
592
+ - test/lib/vedeu/templating/post_processor_test.rb
588
593
  - test/lib/vedeu/templating/template_test.rb
589
594
  - test/lib/vedeu/terminal_mode_test.rb
590
595
  - test/lib/vedeu/terminal_test.rb
@@ -594,7 +599,7 @@ files:
594
599
  - test/support/all_seeds.sh
595
600
  - test/support/helpers/model_test_class.rb
596
601
  - test/support/stats.sh
597
- - test/support/templates/inline.erb
602
+ - test/support/templates/plain.erb
598
603
  - test/support/templates/simple_stuff.erb
599
604
  - test/test_helper.rb
600
605
  - vedeu.gemspec
@@ -637,6 +642,9 @@ test_files:
637
642
  - test/lib/vedeu/bindings/system_test.rb
638
643
  - test/lib/vedeu/bindings/visibility_test.rb
639
644
  - test/lib/vedeu/bootstrap_test.rb
645
+ - test/lib/vedeu/borders/border_test.rb
646
+ - test/lib/vedeu/borders/borders_test.rb
647
+ - test/lib/vedeu/borders/render_border_test.rb
640
648
  - test/lib/vedeu/buffers/buffer_test.rb
641
649
  - test/lib/vedeu/buffers/buffers_test.rb
642
650
  - test/lib/vedeu/buffers/display_buffer_test.rb
@@ -727,8 +735,6 @@ test_files:
727
735
  - test/lib/vedeu/null/geometry_test.rb
728
736
  - test/lib/vedeu/null/interface_test.rb
729
737
  - test/lib/vedeu/null/menu_test.rb
730
- - test/lib/vedeu/output/border_test.rb
731
- - test/lib/vedeu/output/borders_test.rb
732
738
  - test/lib/vedeu/output/clear/named_group_test.rb
733
739
  - test/lib/vedeu/output/clear/named_interface_test.rb
734
740
  - test/lib/vedeu/output/compressor_test.rb
@@ -738,8 +744,6 @@ test_files:
738
744
  - test/lib/vedeu/output/presentation_test.rb
739
745
  - test/lib/vedeu/output/refresh_group_test.rb
740
746
  - test/lib/vedeu/output/refresh_test.rb
741
- - test/lib/vedeu/output/render_border_test.rb
742
- - test/lib/vedeu/output/renderers/all_test.rb
743
747
  - test/lib/vedeu/output/renderers/escape_sequence_test.rb
744
748
  - test/lib/vedeu/output/renderers/file_test.rb
745
749
  - test/lib/vedeu/output/renderers/html_test.rb
@@ -748,6 +752,7 @@ test_files:
748
752
  - test/lib/vedeu/output/renderers/renderer_options_test.rb
749
753
  - test/lib/vedeu/output/renderers/terminal_test.rb
750
754
  - test/lib/vedeu/output/renderers/text_test.rb
755
+ - test/lib/vedeu/output/renderers_test.rb
751
756
  - test/lib/vedeu/output/style_test.rb
752
757
  - test/lib/vedeu/output/text_test.rb
753
758
  - test/lib/vedeu/output/viewport_test.rb
@@ -762,9 +767,11 @@ test_files:
762
767
  - test/lib/vedeu/repositories/registerable_test.rb
763
768
  - test/lib/vedeu/repositories/repository_test.rb
764
769
  - test/lib/vedeu/repositories/store_test.rb
770
+ - test/lib/vedeu/templating/decoder_test.rb
765
771
  - test/lib/vedeu/templating/directive_test.rb
772
+ - test/lib/vedeu/templating/encoder_test.rb
766
773
  - test/lib/vedeu/templating/helpers_test.rb
767
- - test/lib/vedeu/templating/preprocessor_test.rb
774
+ - test/lib/vedeu/templating/post_processor_test.rb
768
775
  - test/lib/vedeu/templating/template_test.rb
769
776
  - test/lib/vedeu/terminal_mode_test.rb
770
777
  - test/lib/vedeu/terminal_test.rb
@@ -774,7 +781,7 @@ test_files:
774
781
  - test/support/all_seeds.sh
775
782
  - test/support/helpers/model_test_class.rb
776
783
  - test/support/stats.sh
777
- - test/support/templates/inline.erb
784
+ - test/support/templates/plain.erb
778
785
  - test/support/templates/simple_stuff.erb
779
786
  - test/test_helper.rb
780
787
  has_rdoc:
@@ -1,81 +0,0 @@
1
- module Vedeu
2
-
3
- # Provides means to use templates with Vedeu.
4
- module Templating
5
-
6
- # preprocess
7
- # takes a line at a time
8
- # splits line into component parts e.g. text1, ruby, text1
9
- # takes text1, adds to JSON stream
10
- # processes ruby, adding to a new JSON stream
11
- # takes text2, adds to a JSON stream
12
- #
13
- # process
14
- # converts JSON streams into line/stream objects with correct attributes
15
- #
16
- # Pre-processes a template, to convert all lines and lines with directives
17
- # into Vedeu::Streams.
18
- #
19
- class Preprocessor
20
-
21
- # @param lines [Array<String>]
22
- # @return [Array<Vedeu::Stream>]
23
- def self.process(lines)
24
- new(lines).process
25
- end
26
-
27
- # Returns a new instance of Vedeu::Templating::Preprocessor.
28
- #
29
- # @param lines [Array<String>]
30
- # @return [Vedeu::Templating::Preprocessor]
31
- def initialize(lines)
32
- @lines = lines
33
- end
34
-
35
- # @return [Array<Vedeu::Stream>]
36
- def process
37
- lines.each_with_object([]) do |line, acc|
38
- if line =~ markers?
39
- code = line.gsub(markers, '').chomp
40
-
41
- acc << Directive.process(code)
42
-
43
- else
44
- acc << Vedeu::Stream.new(value: line.chomp)
45
-
46
- end
47
- acc
48
- end
49
- end
50
-
51
- protected
52
-
53
- # @!attribute [r] lines
54
- # @return [Array<String>]
55
- attr_reader :lines
56
-
57
- private
58
-
59
- # Return a pattern to remove directive markers and spaces.
60
- #
61
- # @example
62
- # line containing {{ or }}
63
- #
64
- # @return [Regexp]
65
- def markers
66
- /({{\s*|\s*}})/
67
- end
68
-
69
- # @example
70
- # line contains {{ or }}
71
- #
72
- # @return [Regexp]
73
- def markers?
74
- /^\s*({{)(.*?)(}})$/
75
- end
76
-
77
- end # Preprocessor
78
-
79
- end # Templating
80
-
81
- end # Vedeu