view_models 1.5.7 → 2.0.0.ruby19
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.
- data/lib/init.rb +1 -0
- data/lib/padrino/README.textile +3 -0
- data/lib/padrino/init.rb +10 -0
- data/lib/padrino/lib/helpers/collection.rb +27 -0
- data/lib/padrino/lib/padrino/view_models.rb +19 -0
- data/lib/padrino/lib/view_models/base.rb +65 -0
- data/lib/rails2/README.textile +3 -0
- data/{TODO.textile → lib/rails2/TODO.textile} +0 -0
- data/{generators → lib/rails2/generators}/view_models/USAGE +0 -0
- data/{generators → lib/rails2/generators}/view_models/templates/README +0 -0
- data/{generators → lib/rails2/generators}/view_models/templates/spec/view_model_spec.rb +0 -0
- data/{generators → lib/rails2/generators}/view_models/templates/view_models/view_model.rb +0 -0
- data/{generators → lib/rails2/generators}/view_models/templates/views/_empty.html.haml +0 -0
- data/{generators → lib/rails2/generators}/view_models/templates/views/view_models/collection/_collection.html.erb +0 -0
- data/{generators → lib/rails2/generators}/view_models/templates/views/view_models/collection/_collection.html.haml +0 -0
- data/{generators → lib/rails2/generators}/view_models/templates/views/view_models/collection/_collection.text.erb +0 -0
- data/{generators → lib/rails2/generators}/view_models/templates/views/view_models/collection/_list.html.erb +0 -0
- data/{generators → lib/rails2/generators}/view_models/templates/views/view_models/collection/_list.text.erb +0 -0
- data/{generators → lib/rails2/generators}/view_models/templates/views/view_models/collection/_pagination.html.haml +0 -0
- data/{generators → lib/rails2/generators}/view_models/templates/views/view_models/collection/_pagination.text.erb +0 -0
- data/{generators → lib/rails2/generators}/view_models/templates/views/view_models/collection/_table.html.haml +0 -0
- data/{generators → lib/rails2/generators}/view_models/templates/views/view_models/collection/_table.text.erb +0 -0
- data/{generators → lib/rails2/generators}/view_models/view_models_generator.rb +0 -0
- data/lib/rails2/init.rb +18 -0
- data/lib/{experimental → rails2/lib/experimental}/modules_in_render_hierarchy.rb +0 -0
- data/lib/{extensions → rails2/lib/extensions}/view.rb +0 -0
- data/lib/rails2/lib/helpers/collection.rb +27 -0
- data/lib/{helpers → rails2/lib/helpers}/view.rb +0 -0
- data/lib/rails2/lib/view_models.rb +1 -0
- data/lib/rails2/lib/view_models/base.rb +99 -0
- data/lib/{view_models → rails2/lib/view_models}/view.rb +5 -1
- data/lib/shared/README.textile +3 -0
- data/lib/shared/init.rb +11 -0
- data/lib/shared/lib/view_models.rb +4 -0
- data/lib/{view_models → shared/lib/view_models}/base.rb +46 -91
- data/lib/{view_models/controller_extractor.rb → shared/lib/view_models/context_extractor.rb} +4 -2
- data/lib/{extensions → shared/lib/view_models/extensions}/active_record.rb +2 -0
- data/lib/{extensions → shared/lib/view_models/extensions}/model_reader.rb +1 -1
- data/lib/{helpers → shared/lib/view_models/helpers}/collection.rb +1 -13
- data/lib/{helpers/rails.rb → shared/lib/view_models/helpers/mapping.rb} +5 -1
- data/lib/{view_models → shared/lib/view_models}/path_store.rb +0 -0
- data/lib/{view_models → shared/lib/view_models}/render_options.rb +4 -0
- data/lib/view_models.rb +5 -3
- metadata +60 -109
- data/CHANGELOG +0 -26
- data/MIT-LICENSE +0 -20
- data/README.textile +0 -40
- data/Rakefile +0 -49
- data/VERSION.yml +0 -4
- data/generators/view_models/templates/views/view_models/collection/_list.html.haml +0 -7
- data/lib/experimental/README.textile +0 -32
- data/rails/init.rb +0 -18
- data/spec/integration/integration_spec.rb +0 -281
- data/spec/integration/models/sub_subclass.rb +0 -14
- data/spec/integration/models/subclass.rb +0 -3
- data/spec/integration/view_models/module_for_rendering.rb +0 -7
- data/spec/integration/view_models/project.rb +0 -14
- data/spec/integration/view_models/sub_subclass.rb +0 -42
- data/spec/integration/view_models/subclass.rb +0 -1
- data/spec/integration/views/view_models/collection/_collection.html.erb +0 -1
- data/spec/integration/views/view_models/collection/_collection.text.erb +0 -6
- data/spec/integration/views/view_models/collection/_list.html.erb +0 -1
- data/spec/integration/views/view_models/collection/_list.text.erb +0 -6
- data/spec/integration/views/view_models/module_for_rendering/_not_found_in_sub_subclass_but_in_module.erb +0 -1
- data/spec/integration/views/view_models/sub_subclass/_capture_in_template.erb +0 -2
- data/spec/integration/views/view_models/sub_subclass/_capture_in_view_model.erb +0 -3
- data/spec/integration/views/view_models/sub_subclass/_collection_example.html.erb +0 -3
- data/spec/integration/views/view_models/sub_subclass/_collection_example.text.erb +0 -3
- data/spec/integration/views/view_models/sub_subclass/_collection_item.html.erb +0 -1
- data/spec/integration/views/view_models/sub_subclass/_collection_item.text.erb +0 -1
- data/spec/integration/views/view_models/sub_subclass/_exists.erb +0 -1
- data/spec/integration/views/view_models/sub_subclass/_exists.html.erb +0 -1
- data/spec/integration/views/view_models/sub_subclass/_exists.text.erb +0 -1
- data/spec/integration/views/view_models/sub_subclass/_exists_in_both.erb +0 -1
- data/spec/integration/views/view_models/sub_subclass/_inner.also_explicit.erb +0 -1
- data/spec/integration/views/view_models/sub_subclass/_inner.nesting.erb +0 -1
- data/spec/integration/views/view_models/sub_subclass/_list_example.html.erb +0 -3
- data/spec/integration/views/view_models/sub_subclass/_list_example.text.erb +0 -3
- data/spec/integration/views/view_models/sub_subclass/_list_item.html.erb +0 -1
- data/spec/integration/views/view_models/sub_subclass/_list_item.text.erb +0 -1
- data/spec/integration/views/view_models/sub_subclass/_outer.explicit.erb +0 -1
- data/spec/integration/views/view_models/sub_subclass/_outer.nesting.erb +0 -1
- data/spec/integration/views/view_models/sub_subclass/_part_that_is_dependent_on_the_view_model.erb +0 -1
- data/spec/integration/views/view_models/sub_subclass/show.html.erb +0 -1
- data/spec/integration/views/view_models/sub_subclass/show.text.erb +0 -1
- data/spec/integration/views/view_models/subclass/_exists_in_both.erb +0 -1
- data/spec/integration/views/view_models/subclass/_no_sub_subclass.erb +0 -1
- data/spec/integration/views/view_models/subclass/_not_found_in_sub_subclass.erb +0 -1
- data/spec/lib/extensions/active_record_spec.rb +0 -31
- data/spec/lib/extensions/model_reader_spec.rb +0 -93
- data/spec/lib/helpers/collection_spec.rb +0 -196
- data/spec/lib/helpers/rails_spec.rb +0 -84
- data/spec/lib/helpers/view_spec.rb +0 -20
- data/spec/lib/view_models/base_spec.rb +0 -102
- data/spec/lib/view_models/view_spec.rb +0 -9
- data/spec/spec_helper.rb +0 -14
- data/spec/spec_helper_extensions.rb +0 -13
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
require File.join(File.dirname(__FILE__), '../../spec_helper')
|
|
2
|
-
|
|
3
|
-
require 'helpers/view'
|
|
4
|
-
|
|
5
|
-
describe ViewModels::Helpers::View do
|
|
6
|
-
|
|
7
|
-
class TestClass; end
|
|
8
|
-
|
|
9
|
-
describe "including it" do
|
|
10
|
-
it "should include all the view helpers" do
|
|
11
|
-
in_the TestClass do
|
|
12
|
-
include ViewModels::Helpers::View
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
TestClass.should include(ActionView::Helpers)
|
|
16
|
-
TestClass.should include(ERB::Util)
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
end
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
require File.join(File.dirname(__FILE__), '../../spec_helper')
|
|
2
|
-
|
|
3
|
-
require 'view_models/base'
|
|
4
|
-
|
|
5
|
-
describe ViewModels::Base do
|
|
6
|
-
|
|
7
|
-
describe "readers" do
|
|
8
|
-
describe "model" do
|
|
9
|
-
before(:each) do
|
|
10
|
-
@model = stub :model
|
|
11
|
-
@view_model = ViewModels::Base.new @model, nil
|
|
12
|
-
end
|
|
13
|
-
it "should have a reader" do
|
|
14
|
-
@view_model.model.should == @model
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
describe "controller" do
|
|
18
|
-
before(:each) do
|
|
19
|
-
@context = stub :controller
|
|
20
|
-
@view_model = ViewModels::Base.new nil, @context
|
|
21
|
-
end
|
|
22
|
-
it "should have a reader" do
|
|
23
|
-
@view_model.controller.should == @context
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
describe "context recognition" do
|
|
29
|
-
describe "context is a view" do
|
|
30
|
-
before(:each) do
|
|
31
|
-
@view = stub :view, :controller => 'controller'
|
|
32
|
-
@view_model = ViewModels::Base.new nil, @view
|
|
33
|
-
end
|
|
34
|
-
it "should get the controller from the view" do
|
|
35
|
-
@view_model.controller.should == 'controller'
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
describe "context is a controller" do
|
|
39
|
-
before(:each) do
|
|
40
|
-
@controller = stub :controller
|
|
41
|
-
@view_model = ViewModels::Base.new nil, @controller
|
|
42
|
-
end
|
|
43
|
-
it "should just use it for the controller" do
|
|
44
|
-
@view_model.controller.should == @controller
|
|
45
|
-
end
|
|
46
|
-
end
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
describe ".master_helper_module" do
|
|
50
|
-
before(:each) do
|
|
51
|
-
class ViewModels::SpecificMasterHelperModule < ViewModels::Base; end
|
|
52
|
-
end
|
|
53
|
-
it "should be a class specific inheritable accessor" do
|
|
54
|
-
ViewModels::SpecificMasterHelperModule.master_helper_module = :some_value
|
|
55
|
-
ViewModels::SpecificMasterHelperModule.master_helper_module.should == :some_value
|
|
56
|
-
end
|
|
57
|
-
it "should be an instance of Module on Base" do
|
|
58
|
-
ViewModels::Base.master_helper_module.should be_instance_of(Module)
|
|
59
|
-
end
|
|
60
|
-
end
|
|
61
|
-
|
|
62
|
-
describe ".controller_method" do
|
|
63
|
-
it "should set up delegate calls to the controller" do
|
|
64
|
-
ViewModels::Base.should_receive(:delegate).once.with(:method1, :method2, :to => :controller)
|
|
65
|
-
|
|
66
|
-
ViewModels::Base.controller_method :method1, :method2
|
|
67
|
-
end
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
describe ".helper" do
|
|
71
|
-
it "should include the helper" do
|
|
72
|
-
helper_module = Module.new
|
|
73
|
-
|
|
74
|
-
ViewModels::Base.should_receive(:include).once.with helper_module
|
|
75
|
-
|
|
76
|
-
ViewModels::Base.helper helper_module
|
|
77
|
-
end
|
|
78
|
-
it "should include the helper in the master helper module" do
|
|
79
|
-
master_helper_module = Module.new
|
|
80
|
-
ViewModels::Base.should_receive(:master_helper_module).and_return master_helper_module
|
|
81
|
-
|
|
82
|
-
helper_module = Module.new
|
|
83
|
-
master_helper_module.should_receive(:include).once.with helper_module
|
|
84
|
-
|
|
85
|
-
ViewModels::Base.helper helper_module
|
|
86
|
-
end
|
|
87
|
-
end
|
|
88
|
-
|
|
89
|
-
describe "#logger" do
|
|
90
|
-
it "should delegate to the controller" do
|
|
91
|
-
controller = stub :controller
|
|
92
|
-
view_model = ViewModels::Base.new nil, controller
|
|
93
|
-
|
|
94
|
-
controller.should_receive(:logger).once
|
|
95
|
-
|
|
96
|
-
in_the view_model do
|
|
97
|
-
logger
|
|
98
|
-
end
|
|
99
|
-
end
|
|
100
|
-
end
|
|
101
|
-
|
|
102
|
-
end
|
data/spec/spec_helper.rb
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
require 'rubygems'
|
|
2
|
-
|
|
3
|
-
require 'spec'
|
|
4
|
-
|
|
5
|
-
require 'active_support'
|
|
6
|
-
require 'action_controller'
|
|
7
|
-
|
|
8
|
-
$:.unshift File.dirname(__FILE__)
|
|
9
|
-
$:.unshift File.join(File.dirname(__FILE__), '../lib')
|
|
10
|
-
|
|
11
|
-
require File.join(File.dirname(__FILE__), '../init')
|
|
12
|
-
|
|
13
|
-
require 'spec_helper_extensions'
|
|
14
|
-
include SpecHelperExtensions
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
module SpecHelperExtensions
|
|
2
|
-
|
|
3
|
-
# Used to test private methods.
|
|
4
|
-
#
|
|
5
|
-
# The idea is to replace instance.send :private_method.
|
|
6
|
-
# Now it is rather like:
|
|
7
|
-
# We have the scenario we are in the given instance.
|
|
8
|
-
#
|
|
9
|
-
def in_the(instance, &block)
|
|
10
|
-
instance.instance_eval(&block)
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
end
|