vedeu 0.8.9 → 0.8.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (123) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +1 -0
  3. data/docs/configuration/drb.md +6 -0
  4. data/docs/configuration/drb_host.md +6 -0
  5. data/docs/configuration/drb_port.md +6 -0
  6. data/docs/configuration/interactive.md +21 -0
  7. data/docs/configuration/run_once.md +8 -0
  8. data/docs/configuration/standalone.md +20 -0
  9. data/docs/dsl.md +1 -1
  10. data/lib/vedeu.rb +15 -5
  11. data/lib/vedeu/application/controller.rb +5 -6
  12. data/lib/vedeu/borders/border.rb +1 -5
  13. data/lib/vedeu/borders/title.rb +6 -1
  14. data/lib/vedeu/buffers/buffer.rb +1 -3
  15. data/lib/vedeu/buffers/empty.rb +1 -3
  16. data/lib/vedeu/buffers/refresh.rb +1 -1
  17. data/lib/vedeu/buffers/view.rb +1 -1
  18. data/lib/vedeu/cells/border.rb +1 -1
  19. data/lib/vedeu/cells/borders/edges/bottom_horizontal.rb +1 -1
  20. data/lib/vedeu/cells/borders/edges/left_vertical.rb +1 -1
  21. data/lib/vedeu/cells/borders/edges/right_vertical.rb +1 -1
  22. data/lib/vedeu/cells/borders/edges/top_horizontal.rb +1 -1
  23. data/lib/vedeu/cells/borders/horizontal.rb +1 -1
  24. data/lib/vedeu/cells/borders/vertical.rb +1 -1
  25. data/lib/vedeu/cells/borders/vertices/bottom_left.rb +1 -1
  26. data/lib/vedeu/cells/borders/vertices/bottom_right.rb +1 -1
  27. data/lib/vedeu/cells/borders/vertices/top_left.rb +1 -1
  28. data/lib/vedeu/cells/borders/vertices/top_right.rb +1 -1
  29. data/lib/vedeu/cells/cursor.rb +1 -1
  30. data/lib/vedeu/cells/empty.rb +1 -1
  31. data/lib/vedeu/coercers/coercer.rb +8 -0
  32. data/lib/vedeu/coercers/colour.rb +6 -4
  33. data/lib/vedeu/coercers/editor_line.rb +4 -1
  34. data/lib/vedeu/coercers/editor_lines.rb +18 -3
  35. data/lib/vedeu/coercers/lines.rb +2 -1
  36. data/lib/vedeu/coercers/page.rb +2 -6
  37. data/lib/vedeu/coercers/position.rb +1 -3
  38. data/lib/vedeu/coercers/row.rb +0 -1
  39. data/lib/vedeu/colours/colour.rb +1 -2
  40. data/lib/vedeu/configuration/api.rb +6 -69
  41. data/lib/vedeu/configuration/configuration.rb +1 -4
  42. data/lib/vedeu/cursors/coordinate.rb +1 -3
  43. data/lib/vedeu/cursors/cursor.rb +4 -7
  44. data/lib/vedeu/cursors/reposition.rb +1 -1
  45. data/lib/vedeu/distributed/test_application.rb +1 -3
  46. data/lib/vedeu/dsl/border.rb +3 -4
  47. data/lib/vedeu/dsl/geometry.rb +6 -7
  48. data/lib/vedeu/dsl/helpers/align.rb +1 -1
  49. data/lib/vedeu/dsl/helpers/attributes.rb +2 -2
  50. data/lib/vedeu/dsl/helpers/truncate.rb +1 -2
  51. data/lib/vedeu/dsl/helpers/wordwrap.rb +1 -3
  52. data/lib/vedeu/dsl/presentation.rb +18 -0
  53. data/lib/vedeu/editor/cursor.rb +1 -3
  54. data/lib/vedeu/editor/document.rb +1 -3
  55. data/lib/vedeu/editor/line.rb +4 -12
  56. data/lib/vedeu/editor/lines.rb +3 -29
  57. data/lib/vedeu/events/event.rb +1 -3
  58. data/lib/vedeu/geometries/area/dimension.rb +1 -3
  59. data/lib/vedeu/geometries/area/x_dimension.rb +1 -1
  60. data/lib/vedeu/geometries/area/y_dimension.rb +1 -1
  61. data/lib/vedeu/geometries/geometry.rb +1 -4
  62. data/lib/vedeu/geometries/move.rb +1 -1
  63. data/lib/vedeu/groups/group.rb +4 -7
  64. data/lib/vedeu/input/keymap.rb +1 -3
  65. data/lib/vedeu/input/keys.rb +2 -0
  66. data/lib/vedeu/input/mapper.rb +2 -0
  67. data/lib/vedeu/input/mouse.rb +2 -0
  68. data/lib/vedeu/input/read.rb +1 -7
  69. data/lib/vedeu/interfaces/clear.rb +1 -1
  70. data/lib/vedeu/interfaces/interface.rb +11 -6
  71. data/lib/vedeu/logging/lockless_log_device.rb +18 -2
  72. data/lib/vedeu/logging/timer.rb +17 -9
  73. data/lib/vedeu/menus/menu.rb +1 -3
  74. data/lib/vedeu/models/toggleable.rb +5 -6
  75. data/lib/vedeu/output/all.rb +3 -0
  76. data/lib/vedeu/output/compressor.rb +1 -1
  77. data/lib/vedeu/output/output.rb +2 -3
  78. data/lib/vedeu/output/refresh.rb +1 -1
  79. data/lib/vedeu/output/write.rb +3 -2
  80. data/lib/vedeu/renderers/options.rb +1 -3
  81. data/lib/vedeu/repositories/defaults.rb +1 -1
  82. data/lib/vedeu/repositories/model.rb +5 -6
  83. data/lib/vedeu/repositories/registerable.rb +6 -8
  84. data/lib/vedeu/runtime/flags.rb +2 -2
  85. data/lib/vedeu/support/y_coordinate.rb +1 -1
  86. data/lib/vedeu/version.rb +1 -1
  87. data/lib/vedeu/views/composition.rb +1 -3
  88. data/lib/vedeu/views/default_attributes.rb +2 -4
  89. data/lib/vedeu/views/value.rb +6 -8
  90. data/lib/vedeu/views/view.rb +9 -3
  91. data/test/lib/vedeu/application/application_helper_test.rb +3 -2
  92. data/test/lib/vedeu/application/controller_test.rb +10 -11
  93. data/test/lib/vedeu/application/helper_test.rb +3 -2
  94. data/test/lib/vedeu/application/view_test.rb +4 -3
  95. data/test/lib/vedeu/coercers/editor_line_test.rb +21 -0
  96. data/test/lib/vedeu/coercers/editor_lines_test.rb +41 -0
  97. data/test/lib/vedeu/coercers/page_test.rb +1 -1
  98. data/test/lib/vedeu/cursors/dsl_test.rb +11 -10
  99. data/test/lib/vedeu/dsl/dsl_test.rb +3 -2
  100. data/test/lib/vedeu/dsl/elements_test.rb +19 -21
  101. data/test/lib/vedeu/dsl/presentation_test.rb +42 -0
  102. data/test/lib/vedeu/editor/collection_test.rb +5 -4
  103. data/test/lib/vedeu/editor/line_test.rb +4 -27
  104. data/test/lib/vedeu/editor/lines_test.rb +4 -54
  105. data/test/lib/vedeu/logging/timer_test.rb +11 -1
  106. data/test/lib/vedeu/models/toggleable_test.rb +27 -25
  107. data/test/lib/vedeu/output/compressor_cache_test.rb +0 -3
  108. data/test/lib/vedeu/presentation/colour_test.rb +13 -12
  109. data/test/lib/vedeu/presentation/presentation_test.rb +4 -2
  110. data/test/lib/vedeu/presentation/styles_test.rb +5 -3
  111. data/test/lib/vedeu/renderers/options_test.rb +10 -12
  112. data/test/lib/vedeu/repositories/assemblage_test.rb +11 -10
  113. data/test/lib/vedeu/repositories/collection_test.rb +1 -1
  114. data/test/lib/vedeu/repositories/defaults_test.rb +9 -7
  115. data/test/lib/vedeu/repositories/model_test.rb +10 -9
  116. data/test/lib/vedeu/repositories/registerable_test.rb +19 -18
  117. data/test/lib/vedeu/repositories/repository_test.rb +7 -7
  118. data/test/lib/vedeu/repositories/store_test.rb +14 -13
  119. data/test/lib/vedeu/templating/helpers_test.rb +9 -8
  120. data/test/lib/vedeu/views/default_attributes_test.rb +17 -17
  121. data/test/lib/vedeu/views/value_test.rb +0 -1
  122. data/test/support/helpers/model_test_class.rb +1 -2
  123. metadata +8 -2
@@ -84,9 +84,7 @@ module Vedeu
84
84
  fail Vedeu::Error::NotImplemented, 'Including classes implement this.'
85
85
  end
86
86
 
87
- # The default values for a new instance of this class.
88
- #
89
- # @return [Hash<Symbol => void>]
87
+ # @macro defaults_method
90
88
  def defaults
91
89
  {
92
90
  compression: Vedeu.config.compression?,
@@ -32,7 +32,7 @@ module Vedeu
32
32
 
33
33
  private
34
34
 
35
- # @return [Hash<void>]
35
+ # @macro defaults_method
36
36
  def defaults
37
37
  {}
38
38
  end
@@ -16,9 +16,8 @@ module Vedeu
16
16
  # @return [Vedeu::Repositories::Repository]
17
17
  attr_accessor :repository
18
18
 
19
- # Provide additional behaviour as class methods.
20
- #
21
- module ClassMethods
19
+ # @macro module_singleton_methods
20
+ module SingletonMethods
22
21
 
23
22
  # @!attribute [r] repository
24
23
  # @return [Vedeu::Repositories::Repository]
@@ -64,11 +63,11 @@ module Vedeu
64
63
  new(attributes).store(&block)
65
64
  end
66
65
 
67
- end # ClassMethods
66
+ end # SingletonMethods
68
67
 
69
- # @macro included_module
68
+ # @macro module_included
70
69
  def self.included(klass)
71
- klass.extend(Vedeu::Repositories::Model::ClassMethods)
70
+ klass.extend(Vedeu::Repositories::Model::SingletonMethods)
72
71
  end
73
72
 
74
73
  # @note If a block is given, store the model, return the model
@@ -9,9 +9,8 @@ module Vedeu
9
9
  #
10
10
  module Registerable
11
11
 
12
- # Provide additional behaviour as class methods.
13
- #
14
- module ClassMethods
12
+ # @macro module_singleton_methods
13
+ module SingletonMethods
15
14
 
16
15
  # The null model is used when the repository cannot be found.
17
16
  #
@@ -63,10 +62,9 @@ module Vedeu
63
62
  end
64
63
  alias reset reset!
65
64
 
66
- end # ClassMethods
65
+ end # SingletonMethods
67
66
 
68
- # Provide additional behaviour as instance methods.
69
- #
67
+ # @macro module_instance_methods
70
68
  module InstanceMethods
71
69
 
72
70
  # @return [Boolean]
@@ -76,9 +74,9 @@ module Vedeu
76
74
 
77
75
  end # InstanceMethods
78
76
 
79
- # @macro included_module
77
+ # @macro module_included
80
78
  def self.included(klass)
81
- klass.extend(Vedeu::Repositories::Registerable::ClassMethods)
79
+ klass.extend(Vedeu::Repositories::Registerable::SingletonMethods)
82
80
  klass.include(Vedeu::Repositories::Registerable::InstanceMethods)
83
81
  end
84
82
 
@@ -6,7 +6,7 @@ module Vedeu
6
6
 
7
7
  # Home of various runtime flags which Vedeu uses.
8
8
  #
9
- # @api public
9
+ # @api private
10
10
  #
11
11
  class Flags
12
12
 
@@ -55,7 +55,7 @@ module Vedeu
55
55
 
56
56
  private
57
57
 
58
- # @return [Hash]
58
+ # @macro defaults_method
59
59
  def defaults
60
60
  {
61
61
  ready: false,
@@ -9,7 +9,7 @@ module Vedeu
9
9
  class YCoordinate
10
10
 
11
11
  # @param geometry [Vedeu::Geometries::Geometry]
12
- # @return [Vedeu::XCoordinate]
12
+ # @return [Vedeu::YCoordinate]
13
13
  def initialize(geometry)
14
14
  @geometry = geometry
15
15
  end
@@ -3,6 +3,6 @@
3
3
  module Vedeu
4
4
 
5
5
  # The current version of Vedeu.
6
- VERSION = '0.8.9'.freeze
6
+ VERSION = '0.8.10'.freeze
7
7
 
8
8
  end
@@ -66,9 +66,7 @@ module Vedeu
66
66
 
67
67
  private
68
68
 
69
- # The default values for a new instance of this class.
70
- #
71
- # @return [Hash]
69
+ # @macro defaults_method
72
70
  def defaults
73
71
  {
74
72
  client: nil,
@@ -52,9 +52,7 @@ module Vedeu
52
52
 
53
53
  private
54
54
 
55
- # The default values for a new instance of this class.
56
- #
57
- # @return [Hash<Symbol => Array<void>|NilClass>]
55
+ # @macro defaults_method
58
56
  def defaults
59
57
  {
60
58
  align: nil,
@@ -67,7 +65,7 @@ module Vedeu
67
65
  truncate: false,
68
66
  value: '',
69
67
  width: nil,
70
- wordwrap: false,
68
+ wordwrap: true,
71
69
  }
72
70
  end
73
71
 
@@ -10,9 +10,8 @@ module Vedeu
10
10
  #
11
11
  module Value
12
12
 
13
- # Provide additional behaviour as class methods.
14
- #
15
- module ClassMethods
13
+ # @macro module_singleton_methods
14
+ module SingletonMethods
16
15
 
17
16
  # @!attribute [w] collection_klass
18
17
  # @return [void]
@@ -54,10 +53,9 @@ module Vedeu
54
53
  @parent_klass = model
55
54
  end
56
55
 
57
- end # ClassMethods
56
+ end # SingletonMethods
58
57
 
59
- # Provide additional behaviour as instance methods.
60
- #
58
+ # @macro module_instance_methods
61
59
  module InstanceMethods
62
60
 
63
61
  include Vedeu::Common
@@ -124,9 +122,9 @@ module Vedeu
124
122
 
125
123
  end # InstanceMethods
126
124
 
127
- # @macro included_module
125
+ # @macro module_included
128
126
  def self.included(klass)
129
- klass.extend(Vedeu::Views::Value::ClassMethods)
127
+ klass.extend(Vedeu::Views::Value::SingletonMethods)
130
128
  klass.include(Vedeu::Views::Value::InstanceMethods)
131
129
  end
132
130
 
@@ -50,6 +50,11 @@ module Vedeu
50
50
  # @return [String|Symbol]
51
51
  attr_accessor :name
52
52
 
53
+ # @!attribute [rw] wordwrap
54
+ # @return [Boolean]
55
+ attr_accessor :wordwrap
56
+ alias_method :wordwrap?, :wordwrap
57
+
53
58
  # @!attribute [rw] zindex
54
59
  # @return [Fixnum]
55
60
  attr_accessor :zindex
@@ -64,6 +69,7 @@ module Vedeu
64
69
  # @option attributes name [String|Symbol]
65
70
  # @option attributes parent [Vedeu::Views::Composition]
66
71
  # @option attributes style [Vedeu::Presentation::Style]
72
+ # @option attributes wordwrap [Boolean]
67
73
  # @option attributes zindex [Fixnum]
68
74
  # @return [Vedeu::Views::View]
69
75
  def initialize(attributes = {})
@@ -89,6 +95,7 @@ module Vedeu
89
95
  parent: parent,
90
96
  style: style,
91
97
  value: value,
98
+ wordwrap: wordwrap,
92
99
  zindex: zindex,
93
100
  }
94
101
  end
@@ -142,9 +149,7 @@ module Vedeu
142
149
  Vedeu.buffers.by_name(name)
143
150
  end
144
151
 
145
- # The default values for a new instance of this class.
146
- #
147
- # @return [Hash]
152
+ # @macro defaults_method
148
153
  def defaults
149
154
  {
150
155
  client: nil,
@@ -154,6 +159,7 @@ module Vedeu
154
159
  parent: nil,
155
160
  style: :normal,
156
161
  value: [],
162
+ wordwrap: true,
157
163
  zindex: 0,
158
164
  }
159
165
  end
@@ -12,8 +12,9 @@ module Vedeu
12
12
 
13
13
  describe ApplicationHelper do
14
14
 
15
- let(:described) { Vedeu::ApplicationHelper }
16
- let(:instance) { Vedeu::ApplicationHelperTestClass.new }
15
+ let(:described) { Vedeu::ApplicationHelper }
16
+ let(:included_described) { Vedeu::ApplicationHelperTestClass }
17
+ let(:included_instance) { included_described.new }
17
18
 
18
19
  # @todo Add more tests.
19
20
 
@@ -4,7 +4,7 @@ require 'test_helper'
4
4
 
5
5
  module Vedeu
6
6
 
7
- class ControllerTestKlass
7
+ class ControllerTestClass
8
8
 
9
9
  include Vedeu::Controller
10
10
 
@@ -15,21 +15,20 @@ module Vedeu
15
15
 
16
16
  describe Controller do
17
17
 
18
- let(:described) { Vedeu::Controller }
19
- let(:described_model) { Vedeu::ControllerTestKlass }
20
- let(:instance_model) { described.new }
18
+ let(:described) { Vedeu::Controller }
19
+ let(:included_described) { Vedeu::ControllerTestClass }
21
20
 
22
- it { described_model.must_respond_to(:controller_name) }
23
- it { described_model.must_respond_to(:action_name) }
24
- it { described_model.must_respond_to(:controller) }
25
- it { described_model.must_respond_to(:action) }
21
+ it { included_described.must_respond_to(:controller_name) }
22
+ it { included_described.must_respond_to(:action_name) }
23
+ it { included_described.must_respond_to(:controller) }
24
+ it { included_described.must_respond_to(:action) }
26
25
 
27
26
  describe '.controller' do
28
- subject { described_model.controller(:some_controller) }
27
+ subject { included_described.controller(:some_controller) }
29
28
 
30
29
  it do
31
30
  Vedeu::Runtime::Router.expects(:add_controller).
32
- with(:some_controller, 'Vedeu::ControllerTestKlass')
31
+ with(:some_controller, 'Vedeu::ControllerTestClass')
33
32
  subject
34
33
  end
35
34
 
@@ -37,7 +36,7 @@ module Vedeu
37
36
  end
38
37
 
39
38
  describe '.action' do
40
- subject { described_model.action(:some_action, :other_action) }
39
+ subject { included_described.action(:some_action, :other_action) }
41
40
 
42
41
  it do
43
42
  Vedeu::Runtime::Router.expects(:add_action).
@@ -12,8 +12,9 @@ module Vedeu
12
12
 
13
13
  describe Helper do
14
14
 
15
- let(:described) { Vedeu::HelperTestClass }
16
- let(:instance) { described.new }
15
+ let(:described) { Vedeu::Helper }
16
+ let(:included_described) { Vedeu::HelperTestClass }
17
+ let(:included_instance) { included_described.new }
17
18
 
18
19
  # @todo Add more tests.
19
20
 
@@ -12,15 +12,16 @@ module Vedeu
12
12
 
13
13
  describe View do
14
14
 
15
- let(:described) { Vedeu::ViewTestClass }
16
- let(:instance) { described.new }
15
+ let(:described) { Vedeu::View }
16
+ let(:included_described) { Vedeu::ViewTestClass }
17
+ let(:included_instance) { included_described.new }
17
18
 
18
19
  describe '#time_now' do
19
20
  let(:_time) { Time.new(2015, 6, 23, 22, 25, 17) }
20
21
 
21
22
  before { Time.stubs(:now).returns(_time) }
22
23
 
23
- subject { instance.time_now }
24
+ subject { included_instance.time_now }
24
25
 
25
26
  it 'returns a formatted time' do
26
27
  subject.must_equal('Tue 23 Jun 22:25')
@@ -31,6 +31,27 @@ module Vedeu
31
31
  it { subject.must_be_instance_of(klass) }
32
32
  it { subject.must_equal(_value) }
33
33
  end
34
+
35
+ context 'when the value is a String' do
36
+ context 'when the value is empty' do
37
+ let(:_value) { '' }
38
+
39
+ it { subject.must_be_instance_of(klass) }
40
+ it { subject.collection.must_equal('') }
41
+ end
42
+
43
+ context 'when the value is an String' do
44
+ let(:_value) { 'some value...' }
45
+
46
+ it { subject.must_be_instance_of(klass) }
47
+ it { subject.collection.must_equal(_value) }
48
+ end
49
+ end
50
+
51
+ context 'when the value is not already the target class or ' \
52
+ 'a string' do
53
+ it { subject.must_be_instance_of(klass) }
54
+ end
34
55
  end
35
56
 
36
57
  end # EditorLine
@@ -31,6 +31,47 @@ module Vedeu
31
31
  it { subject.must_be_instance_of(klass) }
32
32
  it { subject.must_equal(_value) }
33
33
  end
34
+
35
+ context 'when the value is an Array' do
36
+ context 'when the value is empty' do
37
+ let(:_value) { [] }
38
+
39
+ it { subject.collection.must_equal([]) }
40
+ end
41
+
42
+ context 'when the value is not empty' do
43
+ let(:_value) {
44
+ [
45
+ Vedeu::Editor::Line.new('Some text...'),
46
+ :more_text,
47
+ 'Other text...',
48
+ ]
49
+ }
50
+ let(:expected) {
51
+ [
52
+ Vedeu::Editor::Line.new('Some text...'),
53
+ Vedeu::Editor::Line.new(''),
54
+ Vedeu::Editor::Line.new('Other text...'),
55
+ ]
56
+ }
57
+
58
+ it { subject.collection.must_equal(expected) }
59
+ end
60
+ end
61
+
62
+ context 'when the value is a String' do
63
+ let(:_value) { "Some text...\nMore text..." }
64
+
65
+ context 'but it is empty' do
66
+ let(:_value) { '' }
67
+
68
+ it { subject.must_equal(Vedeu::Editor::Lines.new) }
69
+ end
70
+
71
+ context 'but it has no line breaks' do
72
+ # @todo Add more tests.
73
+ end
74
+ end
34
75
  end
35
76
 
36
77
  end # EditorLines
@@ -38,7 +38,7 @@ module Vedeu
38
38
 
39
39
  subject { described.coerce(_value) }
40
40
 
41
- it { proc { subject }.must_raise(Vedeu::Error::InvalidSyntax) }
41
+ it { proc { subject }.must_raise(Vedeu::Error::Fatal) }
42
42
 
43
43
  context 'when the value is a Vedeu::Models::Row' do
44
44
  let(:_value) { Vedeu::Models::Row.new }
@@ -24,27 +24,28 @@ module Vedeu
24
24
 
25
25
  describe DSL do
26
26
 
27
- let(:described) { Vedeu::Cursors::DSL }
28
- let(:instance) { Vedeu::Cursors::DSLTestClass.new }
27
+ let(:described) { Vedeu::Cursors::DSL }
28
+ let(:included_described) { Vedeu::Cursors::DSLTestClass }
29
+ let(:included_instance) { included_described.new }
29
30
 
30
31
  describe '#cursor' do
31
- it { instance.must_respond_to(:cursor) }
32
+ it { included_instance.must_respond_to(:cursor) }
32
33
  end
33
34
 
34
35
  describe '#cursor!' do
35
- it { instance.must_respond_to(:cursor!) }
36
+ it { included_instance.must_respond_to(:cursor!) }
36
37
  end
37
38
 
38
39
  describe '#show_cursor!' do
39
- it { instance.must_respond_to(:show_cursor!) }
40
+ it { included_instance.must_respond_to(:show_cursor!) }
40
41
  end
41
42
 
42
43
  describe '#no_cursor!' do
43
- it { instance.must_respond_to(:no_cursor!) }
44
+ it { included_instance.must_respond_to(:no_cursor!) }
44
45
  end
45
46
 
46
47
  describe '#hide_cursor!' do
47
- it { instance.must_respond_to(:hide_cursor!) }
48
+ it { included_instance.must_respond_to(:hide_cursor!) }
48
49
  end
49
50
 
50
51
  # describe '#cursor' do
@@ -56,7 +57,7 @@ module Vedeu
56
57
  # Vedeu.cursors.stubs(:by_name).returns(cursor)
57
58
  # end
58
59
 
59
- # subject { instance.cursor(_value) }
60
+ # subject { included_instance.cursor(_value) }
60
61
 
61
62
  # it do
62
63
  # subject
@@ -110,7 +111,7 @@ module Vedeu
110
111
  # end
111
112
 
112
113
  describe '#cursor!' do
113
- subject { instance.cursor! }
114
+ subject { included_instance.cursor! }
114
115
 
115
116
  it do
116
117
  subject
@@ -119,7 +120,7 @@ module Vedeu
119
120
  end
120
121
 
121
122
  describe '#no_cursor!' do
122
- subject { instance.no_cursor! }
123
+ subject { included_instance.no_cursor! }
123
124
 
124
125
  it do
125
126
  subject