presenters 0.2.1 → 0.3.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: 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.