fierce 0.1.4 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 112381d66ad974af74f2c51860c0937b31f2474a
4
- data.tar.gz: 84235a1fc6b60513295e7db8783f0627f07d5043
3
+ metadata.gz: 998ed33b94beec58101c673420092ae2f5ec75d8
4
+ data.tar.gz: 7dd7600bb956b87990bef9e86914c54f198a8bb3
5
5
  SHA512:
6
- metadata.gz: 0f9bd36ef756350d352099a5a22ced37d49dfd0b60a992b1a7409e5d44fb2faa744258bcef4bd756dbf0e78c31b9b410fd1439164a32ce4df7e64f506977cc1f
7
- data.tar.gz: cc30aaee4b887019cd15b6d165068e6e9eb940a702b26d3eb8f64bff01d2d3f6b4cae28cd82d71c9b5ba05b49d3bf2b2fe0d148b2b4a60e07c7a0b8f98216b16
6
+ metadata.gz: d5ce42bcaf8de4fea5650e8cf6300bc822d80524a11b4d73a3939ba4a5782754d9552e2e35efe9cc412bfa0adb6737bbe250222c06544ea4a13a437c83488d40
7
+ data.tar.gz: 56aa4ae2b554745169be9c5a74390cb8a5f7282662cf26d7997e74a6c447599dcec62b804316057699098fd1837b603d69cb2ea3346223b9e074d440bf5ad95e
@@ -12,3 +12,4 @@ require 'fierce/presenter_finder'
12
12
  require 'fierce/railtie'
13
13
  require 'fierce/renderer'
14
14
  require 'fierce/partial_finder'
15
+ require 'fierce/presenter'
@@ -0,0 +1,14 @@
1
+ module Fierce
2
+ class Presenter
3
+ attr_reader :view_model
4
+
5
+ def initialize(view_model)
6
+ @view_model = view_model
7
+ end
8
+
9
+ def self.delegations(*args)
10
+ args.push({to: :view_model})
11
+ delegate *args
12
+ end
13
+ end
14
+ end
@@ -1,3 +1,3 @@
1
1
  module Fierce
2
- VERSION = "0.1.4"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -0,0 +1,25 @@
1
+ require 'spec_helper'
2
+
3
+ describe Fierce::Presenter do
4
+ let(:view_model) {
5
+ double('view_model', params: {}, my_helper: 'help!')
6
+ }
7
+ let(:presenter) {
8
+ class Presenter < Fierce::Presenter
9
+ delegations :params, :my_helper
10
+ end
11
+
12
+ Presenter.new(view_model)
13
+ }
14
+
15
+ describe 'removing the boiler plate' do
16
+ it "makes the view model available" do
17
+ presenter.view_model.should == view_model
18
+ end
19
+
20
+ it "delegates down all the messages passed down via the class method" do
21
+ presenter.params.should == {}
22
+ presenter.my_helper.should == 'help!'
23
+ end
24
+ end
25
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fierce
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kane Baccigalupi
@@ -174,6 +174,7 @@ files:
174
174
  - lib/fierce/handler.rb
175
175
  - lib/fierce/master_of_ceremonies.rb
176
176
  - lib/fierce/partial_finder.rb
177
+ - lib/fierce/presenter.rb
177
178
  - lib/fierce/presenter_finder.rb
178
179
  - lib/fierce/railtie.rb
179
180
  - lib/fierce/renderer.rb
@@ -184,6 +185,7 @@ files:
184
185
  - spec/delegate_generator/controller_spec.rb
185
186
  - spec/master_of_ceremonies_spec.rb
186
187
  - spec/presenter_finder_spec.rb
188
+ - spec/presenter_spec.rb
187
189
  - spec/spec_helper.rb
188
190
  - spec/support/custom_presenters/home/index.rb
189
191
  - spec/support/stubs.rb
@@ -218,6 +220,7 @@ test_files:
218
220
  - spec/delegate_generator/controller_spec.rb
219
221
  - spec/master_of_ceremonies_spec.rb
220
222
  - spec/presenter_finder_spec.rb
223
+ - spec/presenter_spec.rb
221
224
  - spec/spec_helper.rb
222
225
  - spec/support/custom_presenters/home/index.rb
223
226
  - spec/support/stubs.rb