tuxedo_decorate 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +6 -0
- data/.rubocop_todo.yml +17 -0
- data/.travis.yml +21 -3
- data/Appraisals +10 -0
- data/CHANGELOG.md +18 -0
- data/Gemfile +11 -0
- data/README.md +2 -2
- data/Rakefile +25 -6
- data/bin/console +3 -3
- data/gemfiles/rails_4.0.gemfile +18 -0
- data/gemfiles/rails_4.1.gemfile +18 -0
- data/gemfiles/rails_4.2.gemfile +10 -0
- data/gemfiles/rails_stable.gemfile +10 -0
- data/lib/tuxedo/action_view/helpers.rb +4 -4
- data/lib/tuxedo/version.rb +1 -1
- data/lib/tuxedo.rb +26 -20
- data/spec/helpers/helpers_spec.rb +18 -17
- data/spec/spec_helper.rb +17 -2
- data/spec/support/coverage.rb +13 -0
- data/spec/support/dummy_classes.rb +3 -1
- data/tuxedo_decorate.gemspec +10 -16
- metadata +12 -74
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 28fac7d01876b72c56782e3d42056e8f73b8443d
|
4
|
+
data.tar.gz: 761815fecefe9b4cc6b52e5ab03714990c0d66d3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7cbadf52a72f779634dfb3e169bb0d91d37c1b040a2e9877c9cbf640907089d393feeec600ad39b65c25bc84a92bde21ab12bfb980aa14a74f57ec6baa196cd0
|
7
|
+
data.tar.gz: e5991af893557e64301feb44803c0f5e442786bad9dcf72e931366e1eda71dcbd388a714976a123907b1f0011237a297d5f0a5616f325fcc0aa2d917204a08bd
|
data/.rubocop.yml
ADDED
data/.rubocop_todo.yml
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
# This configuration was generated by
|
2
|
+
# `rubocop --auto-gen-config`
|
3
|
+
# on 2015-12-23 09:36:21 +0100 using RuboCop version 0.35.1.
|
4
|
+
# The point is for the user to remove these configuration records
|
5
|
+
# one by one as the offenses are removed from the code base.
|
6
|
+
# Note that changes in the inspected code, or installation of new
|
7
|
+
# versions of RuboCop, may require this file to be generated again.
|
8
|
+
|
9
|
+
# Offense count: 11
|
10
|
+
# Configuration parameters: AllowURI, URISchemes.
|
11
|
+
Metrics/LineLength:
|
12
|
+
Max: 124
|
13
|
+
|
14
|
+
# Offense count: 5
|
15
|
+
# Configuration parameters: Exclude.
|
16
|
+
Style/Documentation:
|
17
|
+
Enabled: false
|
data/.travis.yml
CHANGED
@@ -1,12 +1,30 @@
|
|
1
1
|
language: ruby
|
2
|
+
cache: bundler
|
2
3
|
sudo: false
|
3
4
|
rvm:
|
4
|
-
- 2.
|
5
|
-
- 2.2
|
5
|
+
- 2.0.0
|
6
|
+
- 2.2
|
7
|
+
- ruby-head
|
8
|
+
- jruby-9.0.1.0
|
9
|
+
- rbx-2
|
10
|
+
env:
|
11
|
+
- JRUBY_OPTS="-Xcli.debug=true --debug"
|
12
|
+
matrix:
|
13
|
+
allow_failures:
|
14
|
+
- rvm: ruby-head
|
15
|
+
- rvm: rbx-2
|
16
|
+
fast_finish: true
|
17
|
+
before_install: gem update --remote bundler
|
18
|
+
install:
|
19
|
+
- bundle install --retry=3
|
6
20
|
gemfile:
|
21
|
+
- gemfiles/rails_4.0.gemfile
|
22
|
+
- gemfiles/rails_4.1.gemfile
|
7
23
|
- gemfiles/rails_4.2.gemfile
|
8
24
|
- gemfiles/rails_stable.gemfile
|
9
|
-
script:
|
25
|
+
script:
|
26
|
+
- 'bundle exec rake spec'
|
27
|
+
- 'bundle exec rubocop'
|
10
28
|
addons:
|
11
29
|
code_climate:
|
12
30
|
repo_token: 344f2a60a2920e96f71877b87829836b01a44e1e94463cde54e2c54e8f389f79
|
data/Appraisals
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
appraise "rails-4.0" do
|
2
|
+
gem 'activesupport', '4.0.0'
|
3
|
+
gem 'railties', '4.0.0'
|
4
|
+
end
|
5
|
+
|
6
|
+
appraise "rails-4.1" do
|
7
|
+
gem 'activesupport', '4.1.0'
|
8
|
+
gem 'railties', '4.1.0'
|
9
|
+
end
|
10
|
+
|
1
11
|
appraise "rails-4.2" do
|
2
12
|
gem 'activesupport', '4.2.0'
|
3
13
|
gem 'railties', '4.2.0'
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
# Changelog
|
2
|
+
## Unreleased
|
3
|
+
- Add your entry here!
|
4
|
+
|
5
|
+
## v0.3.0
|
6
|
+
- The born of the changelog
|
7
|
+
- Refactored Tuxedo to not use `AS::Concern`, this allows to support rails 4.0 and up.
|
8
|
+
- Improved CI builds
|
9
|
+
- Added rubocop
|
10
|
+
|
11
|
+
## v0.2.0
|
12
|
+
- RubyGems release
|
13
|
+
- Added specs
|
14
|
+
- Added travis support
|
15
|
+
|
16
|
+
## v0.1.0 - unreleased
|
17
|
+
- Initial POC from our Main application
|
18
|
+
- Code Style and Naming from [@mcls](https://github.com/mcls)
|
data/Gemfile
CHANGED
@@ -2,3 +2,14 @@ source 'https://rubygems.org'
|
|
2
2
|
|
3
3
|
# Specify your gem's dependencies in tuxedo.gemspec
|
4
4
|
gemspec
|
5
|
+
|
6
|
+
gem 'rake', '~> 10.1'
|
7
|
+
gem 'rspec', '~> 3.4.0'
|
8
|
+
gem 'yard', '~> 0.8'
|
9
|
+
gem 'simplecov', '~> 0.10'
|
10
|
+
gem 'appraisal', '~> 2.1.0'
|
11
|
+
gem 'rubocop', '~> 0.35.0'
|
12
|
+
|
13
|
+
group :test do
|
14
|
+
gem 'codeclimate-test-reporter', require: false
|
15
|
+
end
|
data/README.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
[![Build Status](https://travis-ci.org/playpasshq/tuxedo.svg)](https://travis-ci.org/playpasshq/tuxedo)
|
3
3
|
[![Code Climate](https://codeclimate.com/github/playpasshq/tuxedo/badges/gpa.svg)](https://codeclimate.com/github/playpasshq/tuxedo)
|
4
4
|
[![Inline docs](http://inch-ci.org/github/playpasshq/tuxedo.png)](http://inch-ci.org/github/playpasshq/tuxedo)
|
5
|
-
[![Gem Version](https://badge.fury.io/rb/
|
5
|
+
[![Gem Version](https://badge.fury.io/rb/tuxedo_decorate.svg)](https://badge.fury.io/rb/tuxedo_decorate)
|
6
6
|
|
7
7
|
Tuxedo Decorate provides an easy to use `Presenter` layer on top of Rails views.
|
8
8
|
It does not make any assumptions about your underline object or uses black
|
@@ -10,7 +10,7 @@ magic voodoo code to determine your ActiveRecord Relations.
|
|
10
10
|
|
11
11
|
## Installation
|
12
12
|
|
13
|
-
Currently
|
13
|
+
Currently rails 4.0 or higher and ruby version of 2.0.0 or higher are supported.
|
14
14
|
Add this line to your application's Gemfile:
|
15
15
|
|
16
16
|
```ruby
|
data/Rakefile
CHANGED
@@ -1,9 +1,28 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
|
4
|
-
|
5
|
-
|
1
|
+
require 'rubygems'
|
2
|
+
require 'bundler/setup'
|
3
|
+
require 'bundler/gem_tasks'
|
4
|
+
begin
|
5
|
+
Bundler.setup(:default, :development)
|
6
|
+
rescue Bundler::BundlerError => e
|
7
|
+
$stderr.puts e.message
|
8
|
+
$stderr.puts 'Run `bundle install` to install missing gems'
|
9
|
+
exit e.status_code
|
10
|
+
end
|
6
11
|
|
12
|
+
require 'rake'
|
13
|
+
require 'rspec/core'
|
14
|
+
require 'rspec/core/rake_task'
|
15
|
+
require 'rubocop/rake_task'
|
7
16
|
RSpec::Core::RakeTask.new(:spec)
|
17
|
+
RuboCop::RakeTask.new(:rubocop)
|
18
|
+
|
19
|
+
desc 'Run RSpec with code coverage'
|
20
|
+
task :coverage do
|
21
|
+
ENV['COVERAGE'] = 'true'
|
22
|
+
Rake::Task['spec'].execute
|
23
|
+
end
|
24
|
+
|
25
|
+
task default: [:spec, :rubocop]
|
8
26
|
|
9
|
-
|
27
|
+
require 'yard'
|
28
|
+
YARD::Rake::YardocTask.new
|
data/bin/console
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
require
|
4
|
-
require
|
3
|
+
require 'bundler/setup'
|
4
|
+
require 'tuxedo'
|
5
5
|
|
6
6
|
# You can add fixtures and/or initialization code here to make experimenting
|
7
7
|
# with your gem easier. You can also use a different console, if you like.
|
@@ -10,5 +10,5 @@ require "tuxedo"
|
|
10
10
|
# require "pry"
|
11
11
|
# Pry.start
|
12
12
|
|
13
|
-
require
|
13
|
+
require 'irb'
|
14
14
|
IRB.start
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "rake", "~> 10.1"
|
6
|
+
gem "rspec", "~> 3.4.0"
|
7
|
+
gem "yard", "~> 0.8"
|
8
|
+
gem "simplecov", "~> 0.10"
|
9
|
+
gem "appraisal", "~> 2.1.0"
|
10
|
+
gem "rubocop", "~> 0.35.0"
|
11
|
+
gem "activesupport", "4.0.0"
|
12
|
+
gem "railties", "4.0.0"
|
13
|
+
|
14
|
+
group :test do
|
15
|
+
gem "codeclimate-test-reporter", :require => false
|
16
|
+
end
|
17
|
+
|
18
|
+
gemspec :path => "../"
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "rake", "~> 10.1"
|
6
|
+
gem "rspec", "~> 3.4.0"
|
7
|
+
gem "yard", "~> 0.8"
|
8
|
+
gem "simplecov", "~> 0.10"
|
9
|
+
gem "appraisal", "~> 2.1.0"
|
10
|
+
gem "rubocop", "~> 0.35.0"
|
11
|
+
gem "activesupport", "4.1.0"
|
12
|
+
gem "railties", "4.1.0"
|
13
|
+
|
14
|
+
group :test do
|
15
|
+
gem "codeclimate-test-reporter", :require => false
|
16
|
+
end
|
17
|
+
|
18
|
+
gemspec :path => "../"
|
data/gemfiles/rails_4.2.gemfile
CHANGED
@@ -2,7 +2,17 @@
|
|
2
2
|
|
3
3
|
source "https://rubygems.org"
|
4
4
|
|
5
|
+
gem "rake", "~> 10.1"
|
6
|
+
gem "rspec", "~> 3.4.0"
|
7
|
+
gem "yard", "~> 0.8"
|
8
|
+
gem "simplecov", "~> 0.10"
|
9
|
+
gem "appraisal", "~> 2.1.0"
|
10
|
+
gem "rubocop", "~> 0.35.0"
|
5
11
|
gem "activesupport", "4.2.0"
|
6
12
|
gem "railties", "4.2.0"
|
7
13
|
|
14
|
+
group :test do
|
15
|
+
gem "codeclimate-test-reporter", :require => false
|
16
|
+
end
|
17
|
+
|
8
18
|
gemspec :path => "../"
|
@@ -2,7 +2,17 @@
|
|
2
2
|
|
3
3
|
source "https://rubygems.org"
|
4
4
|
|
5
|
+
gem "rake", "~> 10.1"
|
6
|
+
gem "rspec", "~> 3.4.0"
|
7
|
+
gem "yard", "~> 0.8"
|
8
|
+
gem "simplecov", "~> 0.10"
|
9
|
+
gem "appraisal", "~> 2.1.0"
|
10
|
+
gem "rubocop", "~> 0.35.0"
|
5
11
|
gem "activesupport", "4.2.5"
|
6
12
|
gem "railties", "4.2.5"
|
7
13
|
|
14
|
+
group :test do
|
15
|
+
gem "codeclimate-test-reporter", :require => false
|
16
|
+
end
|
17
|
+
|
8
18
|
gemspec :path => "../"
|
@@ -9,10 +9,10 @@ module Tuxedo
|
|
9
9
|
# prac(instance, method, *args)
|
10
10
|
#
|
11
11
|
module Helpers
|
12
|
-
|
13
|
-
#
|
14
|
-
#
|
15
|
-
#
|
12
|
+
# We can use this to give a block and wrap all the presenter methods
|
13
|
+
# in the block. This shows clearly that we are using a presenter
|
14
|
+
# without the explicit assign statement. Some magic happens to initiate
|
15
|
+
# a new presenter with the model and the view context
|
16
16
|
#
|
17
17
|
# @param model[Object] any type of object that needs to be presented
|
18
18
|
# @param klass [KlassName] a different presenter klass
|
data/lib/tuxedo/version.rb
CHANGED
data/lib/tuxedo.rb
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
require 'bundler/setup'
|
2
2
|
require 'tuxedo/version'
|
3
|
-
require 'active_support/concern'
|
4
3
|
require 'active_support/inflector'
|
5
4
|
require 'active_support/core_ext/module/delegation'
|
6
5
|
require 'charlatan'
|
@@ -27,9 +26,7 @@ require 'tuxedo/railtie' if defined?(Rails)
|
|
27
26
|
# end
|
28
27
|
#
|
29
28
|
module Tuxedo
|
30
|
-
|
31
|
-
|
32
|
-
included do
|
29
|
+
module InstanceMethods
|
33
30
|
include Charlatan.new(:object)
|
34
31
|
|
35
32
|
# Initializes a new Tuxedo class using the to decorate object and the view context
|
@@ -41,9 +38,28 @@ module Tuxedo
|
|
41
38
|
@view_context = view_context
|
42
39
|
self.class.setup_alias_method
|
43
40
|
end
|
41
|
+
|
42
|
+
# Helper method that delegates to the view context
|
43
|
+
# this allows you to call the url helpers from Rails
|
44
|
+
#
|
45
|
+
# _h.link_to ...
|
46
|
+
#
|
47
|
+
# @return [ActionView::Context]
|
48
|
+
#
|
49
|
+
def _h
|
50
|
+
@view_context
|
51
|
+
end
|
52
|
+
|
53
|
+
# Define delegations of our prac helper to the view context, allows to call prac inside the
|
54
|
+
# presenters
|
55
|
+
delegate(:prac, to: :_h)
|
56
|
+
|
57
|
+
# These methods are already defined on Object by default or by rails, so we
|
58
|
+
# have to explicitly delegate them to the model.
|
59
|
+
delegate(:to_param, to: :object)
|
44
60
|
end
|
45
61
|
|
46
|
-
|
62
|
+
module ClassMethods
|
47
63
|
# Alias method name for accessing the original object
|
48
64
|
# Defaults to guessing the name from the class
|
49
65
|
#
|
@@ -70,22 +86,12 @@ module Tuxedo
|
|
70
86
|
end
|
71
87
|
end
|
72
88
|
|
73
|
-
#
|
74
|
-
# this allows you to call the url helpers from Rails
|
75
|
-
#
|
76
|
-
# _h.link_to ...
|
89
|
+
# When included, extend the {ClassMethods} and include the {InstanceMethods}
|
77
90
|
#
|
78
|
-
# @
|
91
|
+
# @param [Klass] base
|
79
92
|
#
|
80
|
-
def
|
81
|
-
|
93
|
+
def self.included(base)
|
94
|
+
base.send(:include, InstanceMethods)
|
95
|
+
base.extend(ClassMethods)
|
82
96
|
end
|
83
|
-
|
84
|
-
# Define delegations of our prac helper to the view context, allows to call prac inside the
|
85
|
-
# presenters
|
86
|
-
delegate(:prac, to: :_h)
|
87
|
-
|
88
|
-
# These methods are already defined on Object by default or by rails, so we
|
89
|
-
# have to explicitly delegate them to the model.
|
90
|
-
delegate(:to_param, to: :object)
|
91
97
|
end
|
@@ -6,29 +6,30 @@ RSpec.describe Tuxedo::ActionView::Helpers do
|
|
6
6
|
describe 'presenter_for' do
|
7
7
|
subject { helper.presenter_for(Dummy.new) }
|
8
8
|
|
9
|
-
context
|
9
|
+
context 'when providing instance' do
|
10
10
|
specify { expect(subject).to be_an_instance_of(DummyPresenter) }
|
11
11
|
end
|
12
12
|
|
13
|
-
context
|
13
|
+
context 'when providing a different instance' do
|
14
14
|
subject { helper.presenter_for(Dummy.new, Dummy2Presenter) }
|
15
15
|
specify { expect(subject).to be_an_instance_of(Dummy2Presenter) }
|
16
16
|
end
|
17
17
|
|
18
|
-
context
|
18
|
+
context 'when provided object is nil' do
|
19
19
|
subject { helper.presenter_for(nil) }
|
20
20
|
specify { expect(subject).to be_nil }
|
21
21
|
end
|
22
22
|
|
23
|
-
context
|
23
|
+
context 'when used with a block' do
|
24
24
|
specify { expect { |block| helper.presenter_for(Dummy.new, &block) }.to yield_control }
|
25
25
|
specify { expect { |block| helper.presenter_for(Dummy.new, &block) }.to yield_with_args(instance_of(DummyPresenter)) }
|
26
|
-
specify
|
27
|
-
|
28
|
-
|
26
|
+
specify do
|
27
|
+
expect do |block|
|
28
|
+
helper.presenter_for(Dummy.new, Dummy2Presenter, &block)
|
29
|
+
end.to yield_with_args(instance_of(Dummy2Presenter)) end
|
29
30
|
end
|
30
31
|
|
31
|
-
context
|
32
|
+
context 'when presenter does not exist' do
|
32
33
|
subject { helper.presenter_for(UnknownKlass) }
|
33
34
|
specify { expect { subject }.to raise_error(NameError) }
|
34
35
|
end
|
@@ -37,36 +38,36 @@ RSpec.describe Tuxedo::ActionView::Helpers do
|
|
37
38
|
describe 'prac' do
|
38
39
|
subject { helper.prac Dummy.new, :name }
|
39
40
|
|
40
|
-
it
|
41
|
+
it 'delegates to presenter_for' do
|
41
42
|
expect(helper).to receive(:presenter_for).with(instance_of(Dummy)).and_call_original
|
42
43
|
subject
|
43
44
|
end
|
44
45
|
|
45
|
-
context
|
46
|
-
it
|
46
|
+
context 'providing a valid method name' do
|
47
|
+
it 'calls the method on the presenter' do
|
47
48
|
expect_any_instance_of(DummyPresenter).to receive(:name)
|
48
49
|
subject
|
49
50
|
end
|
50
51
|
|
51
|
-
context
|
52
|
+
context 'with extra arguments' do
|
52
53
|
subject { helper.prac Dummy.new, :name_with_args, 'Jan', surname: 'Stevens' }
|
53
|
-
it
|
54
|
+
it 'calls the method with arguments on the presenter' do
|
54
55
|
expect_any_instance_of(DummyPresenter).to receive(:name_with_args).with('Jan', surname: 'Stevens')
|
55
56
|
subject
|
56
57
|
end
|
57
58
|
end
|
58
59
|
end
|
59
60
|
|
60
|
-
context
|
61
|
+
context 'when the object is nil' do
|
61
62
|
subject { helper.prac nil, :name }
|
62
|
-
it
|
63
|
+
it 'should return nil' do
|
63
64
|
expect(subject).to be_nil
|
64
65
|
end
|
65
66
|
end
|
66
67
|
|
67
|
-
context
|
68
|
+
context 'when the method is nil' do
|
68
69
|
subject { helper.prac Dummy.new, nil }
|
69
|
-
it
|
70
|
+
it 'should return nil' do
|
70
71
|
expect(subject).to be_nil
|
71
72
|
end
|
72
73
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,11 +1,26 @@
|
|
1
|
-
require '
|
1
|
+
require 'support/coverage'
|
2
2
|
require 'tuxedo'
|
3
3
|
require 'support/dummy_classes'
|
4
4
|
|
5
5
|
RSpec.configure do |config|
|
6
|
-
|
6
|
+
# These two settings work together to allow you to limit a spec run
|
7
|
+
# to individual examples or groups you care about by tagging them with
|
8
|
+
# `:focus` metadata. When nothing is tagged with `:focus`, all examples
|
9
|
+
# get run.
|
10
|
+
config.filter_run :focus
|
11
|
+
config.run_all_when_everything_filtered = true
|
12
|
+
|
7
13
|
config.order = :random
|
14
|
+
Kernel.srand config.seed
|
15
|
+
|
16
|
+
config.expect_with(:rspec) do |expectations|
|
17
|
+
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
|
18
|
+
expectations.syntax = :expect
|
19
|
+
end
|
20
|
+
|
8
21
|
config.mock_with :rspec do |mocks|
|
9
22
|
mocks.yield_receiver_to_any_instance_implementation_blocks = true
|
23
|
+
mocks.syntax = :expect
|
24
|
+
mocks.verify_partial_doubles = true
|
10
25
|
end
|
11
26
|
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
if ENV['TRAVIS'] || ENV['COVERAGE']
|
2
|
+
require 'simplecov'
|
3
|
+
SimpleCov.add_filter '/spec/'
|
4
|
+
|
5
|
+
if ENV['TRAVIS']
|
6
|
+
require 'codeclimate-test-reporter'
|
7
|
+
CodeClimate::TestReporter.start
|
8
|
+
else
|
9
|
+
SimpleCov.start
|
10
|
+
end
|
11
|
+
|
12
|
+
SimpleCov.command_name "rspec_#{Process.pid}"
|
13
|
+
end
|
data/tuxedo_decorate.gemspec
CHANGED
@@ -4,34 +4,28 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
require 'tuxedo/version'
|
5
5
|
|
6
6
|
Gem::Specification.new do |gem|
|
7
|
-
gem.name =
|
7
|
+
gem.name = 'tuxedo_decorate'
|
8
8
|
gem.version = Tuxedo::VERSION
|
9
|
-
gem.authors = [
|
10
|
-
gem.email = [
|
9
|
+
gem.authors = ['Jan Stevens', 'Maarten Claes']
|
10
|
+
gem.email = ['jan@playpass.be', 'mcls@playpass.be']
|
11
11
|
|
12
|
-
gem.summary =
|
13
|
-
gem.homepage =
|
14
|
-
gem.license =
|
12
|
+
gem.summary = 'Tuxedo simple presenter logic under 150 LOC'
|
13
|
+
gem.homepage = 'https://github.com/playpasshq/tuxedo'
|
14
|
+
gem.license = 'MIT'
|
15
15
|
|
16
16
|
# Prevent pushing this gem to RubyGems.org by setting 'allowed_push_host', or
|
17
17
|
# delete this section to allow pushing this gem to any host.
|
18
18
|
if gem.respond_to?(:metadata)
|
19
|
-
gem.metadata['allowed_push_host'] =
|
19
|
+
gem.metadata['allowed_push_host'] = 'https://rubygems.org'
|
20
20
|
else
|
21
|
-
|
21
|
+
fail 'RubyGems 2.0 or newer is required to protect against public gem pushes.'
|
22
22
|
end
|
23
23
|
|
24
24
|
gem.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|gem|features)/}) }
|
25
25
|
gem.test_files = gem.files.grep(%r{^(test|gem|features)/})
|
26
|
-
gem.require_paths = [
|
27
|
-
|
28
|
-
gem.add_development_dependency "bundler", "~> 1.3"
|
29
|
-
gem.add_development_dependency "rake", "~> 10.0"
|
30
|
-
gem.add_development_dependency "appraisal"
|
31
|
-
gem.add_development_dependency "rspec"
|
32
|
-
gem.add_development_dependency "yard"
|
26
|
+
gem.require_paths = ['lib']
|
33
27
|
|
34
28
|
gem.add_dependency 'activesupport', '>= 4.0.0'
|
35
29
|
gem.add_dependency 'railties', '>= 4.0.0'
|
36
|
-
gem.add_dependency 'charlatan', '~> 0'
|
30
|
+
gem.add_dependency 'charlatan', '~> 0.1.0'
|
37
31
|
end
|
metadata
CHANGED
@@ -1,85 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tuxedo_decorate
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jan Stevens
|
8
|
+
- Maarten Claes
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2015-12-
|
12
|
+
date: 2015-12-23 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: bundler
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '1.3'
|
20
|
-
type: :development
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '1.3'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: rake
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '10.0'
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '10.0'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: appraisal
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: rspec
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ">="
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - ">="
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: yard
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - ">="
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - ">="
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
83
14
|
- !ruby/object:Gem::Dependency
|
84
15
|
name: activesupport
|
85
16
|
requirement: !ruby/object:Gem::Requirement
|
@@ -114,25 +45,29 @@ dependencies:
|
|
114
45
|
requirements:
|
115
46
|
- - "~>"
|
116
47
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
48
|
+
version: 0.1.0
|
118
49
|
type: :runtime
|
119
50
|
prerelease: false
|
120
51
|
version_requirements: !ruby/object:Gem::Requirement
|
121
52
|
requirements:
|
122
53
|
- - "~>"
|
123
54
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
55
|
+
version: 0.1.0
|
125
56
|
description:
|
126
57
|
email:
|
127
58
|
- jan@playpass.be
|
59
|
+
- mcls@playpass.be
|
128
60
|
executables: []
|
129
61
|
extensions: []
|
130
62
|
extra_rdoc_files: []
|
131
63
|
files:
|
132
64
|
- ".gitignore"
|
133
65
|
- ".rspec"
|
66
|
+
- ".rubocop.yml"
|
67
|
+
- ".rubocop_todo.yml"
|
134
68
|
- ".travis.yml"
|
135
69
|
- Appraisals
|
70
|
+
- CHANGELOG.md
|
136
71
|
- CODE_OF_CONDUCT.md
|
137
72
|
- Gemfile
|
138
73
|
- LICENSE.txt
|
@@ -140,6 +75,8 @@ files:
|
|
140
75
|
- Rakefile
|
141
76
|
- bin/console
|
142
77
|
- bin/setup
|
78
|
+
- gemfiles/rails_4.0.gemfile
|
79
|
+
- gemfiles/rails_4.1.gemfile
|
143
80
|
- gemfiles/rails_4.2.gemfile
|
144
81
|
- gemfiles/rails_stable.gemfile
|
145
82
|
- lib/tuxedo.rb
|
@@ -150,6 +87,7 @@ files:
|
|
150
87
|
- spec/config_spec.rb
|
151
88
|
- spec/helpers/helpers_spec.rb
|
152
89
|
- spec/spec_helper.rb
|
90
|
+
- spec/support/coverage.rb
|
153
91
|
- spec/support/dummy_classes.rb
|
154
92
|
- spec/tuxedo_spec.rb
|
155
93
|
- tuxedo_decorate.gemspec
|