presenters 0.2.1 → 0.3.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 820e27b44bc081b22b6500483dfa179a2b29172c
4
- data.tar.gz: 3be67b9b3b6cdc54d2d6aaf73edf21f9b3b01227
3
+ metadata.gz: b875e0b5f3349740c2b8d2702b2c21e05100403c
4
+ data.tar.gz: 3abaf4807f7e48c1a9ae03511892a0d6d0e10c87
5
5
  SHA512:
6
- metadata.gz: c848d75f06e71748167aa85fcef5c9b08f00a605354418cd926ae7331c25be00c75e2409438ec091b7a29454bf03fcdd88c4ed77801166f12b4c0518b228c0f9
7
- data.tar.gz: 78f78778ade751bd27e5a4c8f0cf4356ccbb624fba1cdb6da34a115da92152defad02c57667f1c039878c593dade2c7682a1a390f18d74ec4a73bca0e5d020e2
6
+ metadata.gz: c0b510cf89d6820737f37c78a9467b59822e4e100b7ee2d77201ca89a4e34fc3c1250b4df3350e7947106fe352f55afc880decae99d9f9989665fe0b6368e7fb
7
+ data.tar.gz: 11d45961247271e301e2c8c74dc8144ded25846f8d889a78198a71a31392c30ed1d4692764b43f8aa4731bcf2da840395d589c1df7a4ae586985a99412d66c7d
@@ -1,3 +1,7 @@
1
+ # v0.3.0 / 2015-10-01
2
+
3
+ * Add presenter generator.
4
+
1
5
  # v0.2.1 / 2015-08-29
2
6
 
3
7
  * Fixed presenters custom class bug.
data/Gemfile CHANGED
@@ -2,3 +2,6 @@ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in presenters.gemspec
4
4
  gemspec
5
+
6
+ gem 'simplecov', :require => false
7
+ gem 'coveralls', :require => false
data/README.md CHANGED
@@ -1,8 +1,9 @@
1
1
  # Presenters
2
2
 
3
- A simple presenter pattern for ruby. It can work in rails. This is based on [Presenters in Rails](http://nithinbekal.com/posts/rails-presenters/)
4
-
5
3
  [![Build Status](https://api.travis-ci.org/emn178/presenters.png)](https://travis-ci.org/emn178/presenters)
4
+ [![Coverage Status](https://coveralls.io/repos/emn178/presenters/badge.svg?branch=master)](https://coveralls.io/r/emn178/presenters?branch=master)
5
+
6
+ A simple presenter pattern for ruby. It can work in rails. This is based on [Presenters in Rails](http://nithinbekal.com/posts/rails-presenters/)
6
7
 
7
8
  ## Installation
8
9
 
@@ -29,6 +30,10 @@ And you can put presenters in `app/presenters`
29
30
  ## Usage
30
31
 
31
32
  ### Create presenter class
33
+ You can use rails generate to create presenters. Eg.
34
+
35
+ rails g presenter post
36
+
32
37
  Assume you have a class named Post, you can create PostPresenter.
33
38
  ```ruby
34
39
  class PostPresenter < Presenter
@@ -0,0 +1,8 @@
1
+ Description:
2
+ Generates a presenter for a model with the given name.
3
+
4
+ Example:
5
+ rails generate presenter user
6
+
7
+ This will create:
8
+ app/presenters/user_presenter.rb
@@ -0,0 +1,9 @@
1
+ class PresenterGenerator < ::Rails::Generators::NamedBase
2
+ source_root File.expand_path(File.join(File.dirname(__FILE__), 'templates'))
3
+
4
+ def create_policy
5
+ template 'presenter.rb', File.join('app/presenters', class_path, "#{file_name}_presenter.rb")
6
+ end
7
+
8
+ hook_for :test_framework
9
+ end
@@ -0,0 +1,2 @@
1
+ class <%= class_name %>Presenter < Presenter
2
+ end
@@ -0,0 +1,11 @@
1
+ module Rspec
2
+ module Generators
3
+ class PresenterGenerator < ::Rails::Generators::NamedBase
4
+ source_root File.expand_path(File.join(File.dirname(__FILE__), 'templates'))
5
+
6
+ def create_presenter_test
7
+ template 'presenter_spec.rb', File.join('spec/presenters', class_path, "#{file_name}_presenter_spec.rb")
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,5 @@
1
+ require 'rails_helper'
2
+
3
+ RSpec.describe <%= class_name %>Presenter do
4
+ pending "add some examples to (or delete) #{__FILE__}"
5
+ end
@@ -0,0 +1,11 @@
1
+ module TestUnit
2
+ module Generators
3
+ class PresenterGenerator < ::Rails::Generators::NamedBase
4
+ source_root File.expand_path(File.join(File.dirname(__FILE__), 'templates'))
5
+
6
+ def create_presenter_test
7
+ template 'presenter_test.rb', File.join('test/presenters', class_path, "#{file_name}_presenter_test.rb")
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,4 @@
1
+ require 'test_helper'
2
+
3
+ class <%= class_name %>PresenterTest < ActiveSupport::TestCase
4
+ end
@@ -1,3 +1,3 @@
1
1
  module Presenters
2
- VERSION = "0.2.1"
2
+ VERSION = "0.3.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: presenters
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chen Yi-Cyuan
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-08-29 00:00:00.000000000 Z
11
+ date: 2015-10-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -81,6 +81,13 @@ files:
81
81
  - LICENSE.txt
82
82
  - README.md
83
83
  - Rakefile
84
+ - lib/generators/presenter/USAGE
85
+ - lib/generators/presenter/presenter_generator.rb
86
+ - lib/generators/presenter/templates/presenter.rb
87
+ - lib/generators/rspec/presenter_generator.rb
88
+ - lib/generators/rspec/templates/presenter_spec.rb
89
+ - lib/generators/test_unit/presenter_generator.rb
90
+ - lib/generators/test_unit/templates/presenter_test.rb
84
91
  - lib/presenters.rb
85
92
  - lib/presenters/helper.rb
86
93
  - lib/presenters/model.rb
@@ -107,7 +114,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
107
114
  version: '0'
108
115
  requirements: []
109
116
  rubyforge_project:
110
- rubygems_version: 2.4.5
117
+ rubygems_version: 2.4.8
111
118
  signing_key:
112
119
  specification_version: 4
113
120
  summary: A simple presenter pattern for ruby. It can work in rails.