tcramer 0.2.0 โ†’ 1.0.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
- SHA1:
3
- metadata.gz: b7e04d3feb394113c1a80bacd30f1b8ed9f8ebbc
4
- data.tar.gz: a47cf6d1dfdd815e41d7fd7c1814ecf077f0a155
2
+ SHA256:
3
+ metadata.gz: f2994a2db3b15c3e6952fbe1d2c7ae8a002cf3c3c9ae774fdb25680fda9937a5
4
+ data.tar.gz: 96b6647e6d940108a08436703757e5f0785f4195589c87eb89cbc9a00c488a31
5
5
  SHA512:
6
- metadata.gz: d8d72044f997ecc3aed4dd417f8269fcbf511fe23c1718ee16318a17d5781e097358cde4c0cc35cc6b1ed4993fa952f40c558c1338cabae9eeade07e043e2853
7
- data.tar.gz: 04a4f6c38abfc5bbf515c912fd6474bd8d2eedaca650ba9b18cb1d7a889d7b9a6d616104f1a1d31c5df571bdfd69bb81c81b905874fd2e7ca2f2ba2320b7ce1c
6
+ metadata.gz: 06f3fbfc3545b0e5c9b4cc8c5ce07ef4c9639849b058a570e0693289cfbfa0ce3686d019e60a3691c20b1c27d5c04a2c4d9b2cdc39f3c7bcb9be2f107c3d4caa
7
+ data.tar.gz: 46986e097ecb84bb1a1eab0638d8cb627075a09c92c9faf310f18fb08b10265e15cf9407e31549bd1e451ff7edde080f37ef9989510a1c50e00cf37de8245c3f
data/.gitignore ADDED
@@ -0,0 +1,8 @@
1
+ .bundle/
2
+ coverage
3
+ log/*.log
4
+ pkg/
5
+ .internal_test_app
6
+ .ruby-*
7
+ .rake_t_cache
8
+ Gemfile.lock
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --require spec_helper
2
+ --color
data/.rubocop.yml ADDED
@@ -0,0 +1,3 @@
1
+ AllCops:
2
+ TargetRubyVersion: 2.5
3
+ DisplayCopNames: true
data/.travis.yml ADDED
@@ -0,0 +1,17 @@
1
+ language: ruby
2
+ sudo: false
3
+ dist: trusty
4
+
5
+ cache:
6
+ bundler: true
7
+
8
+ before_install:
9
+ - gem update --system
10
+ - gem install bundler
11
+
12
+ rvm:
13
+ - 2.5.0
14
+
15
+ env:
16
+ global:
17
+ - ENGINE_CART_RAILS_OPTIONS='--skip-git --skip-bundle --skip-listen --skip-spring --skip-yarn --skip-keeps --skip-action-cable --skip-coffee --skip-puma --skip-test'
@@ -0,0 +1,46 @@
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
6
+
7
+ ## Our Standards
8
+
9
+ Examples of behavior that contributes to creating a positive environment include:
10
+
11
+ * Using welcoming and inclusive language
12
+ * Being respectful of differing viewpoints and experiences
13
+ * Gracefully accepting constructive criticism
14
+ * Focusing on what is best for the community
15
+ * Showing empathy towards other community members
16
+
17
+ Examples of unacceptable behavior by participants include:
18
+
19
+ * The use of sexualized language or imagery and unwelcome sexual attention or advances
20
+ * Trolling, insulting/derogatory comments, and personal or political attacks
21
+ * Public or private harassment
22
+ * Publishing others' private information, such as a physical or electronic address, without explicit permission
23
+ * Other conduct which could reasonably be considered inappropriate in a professional setting
24
+
25
+ ## Our Responsibilities
26
+
27
+ Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
28
+
29
+ Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
30
+
31
+ ## Scope
32
+
33
+ This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
34
+
35
+ ## Enforcement
36
+
37
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at michael.giarlo+pp@gmail.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
38
+
39
+ Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
40
+
41
+ ## Attribution
42
+
43
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
44
+
45
+ [homepage]: http://contributor-covenant.org
46
+ [version]: http://contributor-covenant.org/version/1/4/
data/CONTRIBUTING.md ADDED
@@ -0,0 +1 @@
1
+ The Penguin Paradigm welcomes your contributions! Join the Flock and help enrich the Floe!
data/Gemfile ADDED
@@ -0,0 +1,56 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+
5
+ # Declare your gem's dependencies in tcramer.gemspec.
6
+ # Bundler will treat runtime dependencies like base dependencies, and
7
+ # development dependencies will be added by default to the :development group.
8
+ gemspec
9
+
10
+ group :development, :test do
11
+ gem 'coveralls', require: false
12
+ gem 'simplecov', require: false
13
+ end
14
+
15
+ # BEGIN ENGINE_CART BLOCK
16
+ # engine_cart: 1.2.0
17
+ # engine_cart stanza: 0.10.0
18
+ # the below comes from engine_cart, a gem used to test this Rails engine gem in
19
+ # the context of a Rails app.
20
+ file = File.expand_path('Gemfile',
21
+ ENV['ENGINE_CART_DESTINATION'] ||
22
+ ENV['RAILS_ROOT'] ||
23
+ File.expand_path('.internal_test_app',
24
+ File.dirname(__FILE__)))
25
+ if File.exist?(file)
26
+ begin
27
+ eval_gemfile file
28
+ rescue Bundler::GemfileError => e
29
+ Bundler.ui.warn '[EngineCart] Skipping Rails application dependencies:'
30
+ Bundler.ui.warn e.message
31
+ end
32
+ else
33
+ Bundler.ui.warn '[EngineCart] Unable to find test application dependencies ' \
34
+ "in #{file}, using placeholder dependencies"
35
+
36
+ # rubocop:disable Bundler/DuplicatedGem
37
+ if ENV['RAILS_VERSION']
38
+ if ENV['RAILS_VERSION'] == 'edge'
39
+ gem 'rails', github: 'rails/rails'
40
+ ENV['ENGINE_CART_RAILS_OPTIONS'] = '--edge --skip-turbolinks'
41
+ else
42
+ gem 'rails', ENV['RAILS_VERSION']
43
+ end
44
+ end
45
+
46
+ case ENV['RAILS_VERSION']
47
+ when /^4.2/
48
+ gem 'coffee-rails', '~> 4.1.0'
49
+ gem 'responders', '~> 2.0'
50
+ gem 'sass-rails', '>= 5.0'
51
+ when /^4.[01]/
52
+ gem 'sass-rails', '< 5.0'
53
+ end
54
+ # rubocop:enable Bundler/DuplicatedGem
55
+ end
56
+ # END ENGINE_CART BLOCK
data/ISSUE_TEMPLATE.md ADDED
@@ -0,0 +1,20 @@
1
+ ### Descriptive summary
2
+
3
+ Include what version of Tcramer relates to this issue if appropriate, and any relevant tracebacks if you're reporting a bug.
4
+
5
+ ### Rationale
6
+
7
+ Provide the rationale or user story that describes "why" this issue should be addressed. Especially if this is a new feature or significant change to the existing implementation.
8
+
9
+ ### Expected behavior
10
+
11
+ ### Actual behavior
12
+
13
+ ### Steps to reproduce the behavior
14
+
15
+ 1. Do this
16
+ 1. Then do this...
17
+
18
+ ### Related work
19
+
20
+ Link to related tickets or prior related work here.
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2018 Penguin Paradigm
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,20 @@
1
+ Fixes #issuenumber ; refs #issuenumber
2
+
3
+ Present tense short summary (50 characters or less)
4
+
5
+ More detailed description, if necessary. Try to be as descriptive as you can: even if you think that the PR content is obvious, it may not be obvious to others. Include tracebacks if helpful, and be sure to call out any bits of the PR that may be work-in-progress.
6
+
7
+ Description can have multiple paragraphs and you can use code examples inside:
8
+
9
+ ``` ruby
10
+ class PostsController
11
+ def index
12
+ respond_with Post.limit(10)
13
+ end
14
+ end
15
+ ```
16
+
17
+ Changes proposed in this pull request:
18
+ *
19
+ *
20
+ *
data/README.md ADDED
@@ -0,0 +1,50 @@
1
+ # Tcramer
2
+
3
+ [![Gem](https://img.shields.io/gem/v/tcramer.svg)](https://rubygems.org/gems/tcramer)
4
+ [![Travis](https://img.shields.io/travis/PenguinParadigm/tcramer.svg)](https://travis-ci.org/PenguinParadigm/tcramer)
5
+ [![Coveralls github](https://img.shields.io/coveralls/github/PenguinParadigm/tcramer.svg)](https://coveralls.io/github/PenguinParadigm/tcramer?branch=master)
6
+
7
+ `Tcramer` writes rake tasks!
8
+
9
+ ## Installation
10
+
11
+ Add this line to your project's Gemfile:
12
+
13
+ gem 'tcramer'
14
+
15
+ And then execute:
16
+
17
+ $ bundle
18
+
19
+ Or install it yourself as:
20
+
21
+ $ gem install tcramer
22
+
23
+ ## Usage
24
+
25
+ First, run the installation generator:
26
+
27
+ $ rails g tcramer:install
28
+
29
+ This will write a new, mission-critical rake task into your project called `manage.rake`. You can now invoke the `Tcramer` management task by running:
30
+
31
+ $ rake manage
32
+
33
+ ## Contributing
34
+
35
+ 1. Fork it
36
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
37
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
38
+ 4. Push to the branch (`git push origin my-new-feature`)
39
+ 5. Create a [Pull Request](https://help.github.com/articles/using-pull-requests/)
40
+
41
+ ## Disclaimer
42
+
43
+ Please use `Tcramer` responsibly!
44
+
45
+ ## Acknowledgments
46
+
47
+ This software has been developed by and is brought to you by the Penguin Paradigm community. Learn more at the
48
+ [Penguin Paradigm website](http://www.penguinparadigm.com/).
49
+
50
+ ![Penguin Paradigm Logo](http://www.penguinparadigm.com/penguin-paradigm-chrome.png)
data/Rakefile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  begin
2
4
  require 'bundler/setup'
3
5
  rescue LoadError
@@ -5,21 +7,22 @@ rescue LoadError
5
7
  end
6
8
 
7
9
  require 'engine_cart/rake_task'
8
-
9
- #APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__)
10
- #load 'rails/tasks/engine.rake'
11
-
12
- load 'rails/tasks/statistics.rake'
10
+ require 'rspec/core/rake_task'
11
+ require 'rubocop/rake_task'
13
12
 
14
13
  Bundler::GemHelper.install_tasks
15
14
 
16
- require 'rake/testtask'
15
+ desc 'Run style checker'
16
+ RuboCop::RakeTask.new(:rubocop) do |task|
17
+ task.fail_on_error = true
18
+ end
19
+
20
+ RSpec::Core::RakeTask.new(:spec)
17
21
 
18
- Rake::TestTask.new(:test) do |t|
19
- t.libs << 'lib'
20
- t.libs << 'test'
21
- t.pattern = 'test/**/*_test.rb'
22
- t.verbose = false
22
+ desc 'Generate the engine_cart and run specs'
23
+ task ci: [:rubocop, 'engine_cart:generate'] do
24
+ puts 'running continuous integration'
25
+ Rake::Task['spec'].invoke
23
26
  end
24
27
 
25
- task default: :test
28
+ task default: :ci
File without changes
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Tcramer
2
4
  class ApplicationController < ActionController::Base
3
5
  end
@@ -1,4 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Tcramer
4
+ # Generated by Rails, not used by Tcramer
2
5
  module ApplicationHelper
3
6
  end
4
7
  end
data/bin/rails ADDED
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ # This command will automatically be run when you run "rails" with Rails 4 gems
5
+ # installed from the root of your application.
6
+
7
+ ENGINE_ROOT = File.expand_path('..', __dir__)
8
+ ENGINE_PATH = File.expand_path('../lib/tcramer/engine', __dir__)
9
+
10
+ # Set up gems listed in the Gemfile.
11
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
12
+ require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE'])
13
+
14
+ require 'rails/all'
15
+ require 'rails/engine/commands'
data/config/routes.rb CHANGED
@@ -1,2 +1,4 @@
1
+ # frozen_string_literal: true
2
+
1
3
  Tcramer::Engine.routes.draw do
2
4
  end
@@ -1,19 +1,22 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Tcramer
4
+ # Uses Rails generator functionality to write a rake task
2
5
  class InstallGenerator < Rails::Generators::Base
3
- source_root File.expand_path('../templates', __FILE__)
6
+ source_root File.expand_path('templates', __dir__)
4
7
 
5
8
  def banner
6
9
  say_status('info', 'INSTALLING TCRAMER RAKE TASK AUTHOR', :blue)
7
10
  end
8
11
 
9
12
  def write_your_first_rake_task
10
- rakefile "manage.rake" do
11
- %Q{
13
+ rakefile 'manage.rake' do
14
+ %(
12
15
  desc 'Manage all the things'
13
16
  task :manage do
14
- puts Tcramer::ISMS.sample
17
+ puts Tcramer.manage
15
18
  end
16
- }
19
+ )
17
20
  end
18
21
  end
19
22
  end
data/lib/tcramer.rb CHANGED
@@ -1,11 +1,44 @@
1
- # coding: utf-8
2
- require "tcramer/engine"
1
+ # frozen_string_literal: true
3
2
 
3
+ require 'tcramer/engine'
4
+ Kernel.silence_warnings do
5
+ require 'zalgo'
6
+ end
7
+
8
+ # Tcramer writes rake tasks!
4
9
  module Tcramer
5
10
  ISMS = [
11
+ 'Why not?',
6
12
  'Mandatory fun!',
7
13
  'Agile groove',
8
14
  '๐Ÿน',
9
- "That's a great question, what do YOU think?"
10
- ]
15
+ "That's a great question, what do YOU think?",
16
+ "What's your opinion of walruses?",
17
+ 'How soon before this is ready for production?',
18
+ 'Okay, but if you did have a spec, how long would it take?',
19
+ '(entering a room) dun dun DUN',
20
+ 'Nailed it!',
21
+ 'Uh oh.',
22
+ %{
23
+ __ ___'
24
+ .'. -- . '.
25
+ /U) __ (O|
26
+ /.' ()() '.\\._
27
+ .',/;,_.--._.;;) . '--..__
28
+ / ,///|.__.|.\\\\\\ \\ '. '.''---..___
29
+ /'._ '' || || '' _'\\ : \\ ' . '.
30
+ / || || '., ) ) : \\
31
+ :'-.__ _ || || _ __.' _\\_ .' ' ' ,)
32
+ ( ' |' ( __= ___..-._ ( (.\\
33
+ ('\\ .___ ___. /'.___= \\.\\.\\
34
+ \\\\\\-..____________..-''
35
+ }
36
+ ].freeze
37
+
38
+ def self.manage
39
+ selected_ism = ISMS.sample
40
+ # 80% chance of returning string unzalgoized
41
+ return selected_ism if Kernel.rand(5).positive?
42
+ Zalgo.he_comes(selected_ism)
43
+ end
11
44
  end
@@ -1,5 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rails'
4
+
1
5
  module Tcramer
2
- class Engine < ::Rails::Engine
6
+ # Vroom, vrooooooom!
7
+ class Engine < Rails::Engine
3
8
  isolate_namespace Tcramer
4
9
  end
5
10
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Tcramer
2
- VERSION = "0.2.0"
4
+ VERSION = '1.0.0'
3
5
  end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.describe Tcramer::Engine do
4
+ describe 'inheritance' do
5
+ subject { described_class.ancestors }
6
+
7
+ it { is_expected.to include Rails::Engine }
8
+ end
9
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.describe Tcramer do
4
+ describe 'isms' do
5
+ subject { described_class.const_get('ISMS') }
6
+
7
+ it { is_expected.to be_a Array }
8
+ end
9
+
10
+ describe '.manage' do
11
+ before { allow(Kernel).to receive(:rand).and_return(rand_integer) }
12
+
13
+ context 'when zalgoized' do
14
+ let(:rand_integer) { 0 }
15
+
16
+ it 'uses the Zalgo library to render one ism' do
17
+ expect(Zalgo).to receive(:he_comes).once
18
+ described_class.manage
19
+ end
20
+ end
21
+
22
+ context 'when not zalgoized' do
23
+ subject { described_class.manage }
24
+
25
+ let(:rand_integer) { 1 }
26
+
27
+ it { is_expected.to be_in described_class::ISMS }
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.describe Tcramer do
4
+ describe 'version constant' do
5
+ subject { described_class.const_get('VERSION') }
6
+
7
+ it { is_expected.to be_a String }
8
+ end
9
+ end
@@ -0,0 +1,108 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'tcramer'
4
+
5
+ def coverage_needed?
6
+ ENV['COVERAGE'] || ENV['TRAVIS']
7
+ end
8
+
9
+ if coverage_needed?
10
+ require 'simplecov'
11
+ require 'coveralls'
12
+ SimpleCov.root(File.expand_path('..', __dir__))
13
+ SimpleCov.formatter = Coveralls::SimpleCov::Formatter
14
+ SimpleCov.start
15
+ SimpleCov.command_name 'spec'
16
+ end
17
+
18
+ # This file was generated by the `rspec --init` command. Conventionally, all
19
+ # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
20
+ # The generated `.rspec` file contains `--require spec_helper` which will cause
21
+ # this file to always be loaded, without a need to explicitly require it in any
22
+ # files.
23
+ #
24
+ # Given that it is always loaded, you are encouraged to keep this file as
25
+ # light-weight as possible. Requiring heavyweight dependencies from this file
26
+ # will add to the boot time of your test suite on EVERY test run, even for an
27
+ # individual file that may not need all of that loaded. Instead, consider making
28
+ # a separate helper file that requires the additional dependencies and performs
29
+ # the additional setup, and require it from the spec files that actually need
30
+ # it.
31
+ #
32
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
33
+ RSpec.configure do |config|
34
+ # rspec-expectations config goes here. You can use an alternate
35
+ # assertion/expectation library such as wrong or the stdlib/minitest
36
+ # assertions if you prefer.
37
+ config.expect_with :rspec do |expectations|
38
+ # This option will default to `true` in RSpec 4. It makes the `description`
39
+ # and `failure_message` of custom matchers include text for helper methods
40
+ # defined using `chain`, e.g.:
41
+ # be_bigger_than(2).and_smaller_than(4).description
42
+ # # => "be bigger than 2 and smaller than 4"
43
+ # ...rather than:
44
+ # # => "be bigger than 2"
45
+ expectations.include_chain_clauses_in_custom_matcher_descriptions = true
46
+ end
47
+
48
+ # rspec-mocks config goes here. You can use an alternate test double
49
+ # library (such as bogus or mocha) by changing the `mock_with` option here.
50
+ config.mock_with :rspec do |mocks|
51
+ # Prevents you from mocking or stubbing a method that does not exist on
52
+ # a real object. This is generally recommended, and will default to
53
+ # `true` in RSpec 4.
54
+ mocks.verify_partial_doubles = true
55
+ end
56
+
57
+ # This option will default to `:apply_to_host_groups` in RSpec 4 (and will
58
+ # have no way to turn it off -- the option exists only for backwards
59
+ # compatibility in RSpec 3). It causes shared context metadata to be
60
+ # inherited by the metadata hash of host groups and examples, rather than
61
+ # triggering implicit auto-inclusion in groups with matching metadata.
62
+ config.shared_context_metadata_behavior = :apply_to_host_groups
63
+
64
+ # The settings below are suggested to provide a good initial experience
65
+ # with RSpec, but feel free to customize to your heart's content.
66
+ # # This allows you to limit a spec run to individual examples or groups
67
+ # # you care about by tagging them with `:focus` metadata. When nothing
68
+ # # is tagged with `:focus`, all examples get run. RSpec also provides
69
+ # # aliases for `it`, `describe`, and `context` that include `:focus`
70
+ # # metadata: `fit`, `fdescribe` and `fcontext`, respectively.
71
+ # config.filter_run_when_matching :focus
72
+ # # # Allows RSpec to persist some state between runs in order to support
73
+ # # the `--only-failures` and `--next-failure` CLI options. We recommend
74
+ # # you configure your source control system to ignore this file.
75
+ # config.example_status_persistence_file_path = "spec/examples.txt"
76
+ # # # Limits the available syntax to the non-monkey patched syntax that is
77
+ # # recommended. For more details, see:
78
+ # # - http://rspec.info/blog/2012/06/rspecs-new-expectation-syntax/
79
+ # # - http://www.teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/
80
+ # # - http://rspec.info/blog/2014/05/notable-changes-in-rspec-3/#zero-monkey-patching-mode
81
+ # config.disable_monkey_patching!
82
+ # # # This setting enables warnings. It's recommended, but in some cases may
83
+ # # be too noisy due to issues in dependencies.
84
+ # config.warnings = true
85
+ # # # Many RSpec users commonly either run the entire suite or an individual
86
+ # # file, and it's useful to allow more verbose output when running an
87
+ # # individual spec file.
88
+ # if config.files_to_run.one?
89
+ # # Use the documentation formatter for detailed output,
90
+ # # unless a formatter has already been configured
91
+ # # (e.g. via a command-line flag).
92
+ # config.default_formatter = "doc"
93
+ # end
94
+ # # # Print the 10 slowest examples and example groups at the
95
+ # # end of the spec run, to help surface which specs are running
96
+ # # particularly slow.
97
+ # config.profile_examples = 10
98
+ # # # Run specs in random order to surface order dependencies. If you find an
99
+ # # order dependency and want to debug it, you can fix the order by providing
100
+ # # the seed, which is printed after each run.
101
+ # # --seed 1234
102
+ # config.order = :random
103
+ # # # Seed global randomization in this process using the `--seed` CLI option.
104
+ # # Setting this allows you to use `--seed` to deterministically reproduce
105
+ # # test failures related to randomization by passing the same `--seed` value
106
+ # # as the one that triggered the failure.
107
+ # Kernel.srand config.seed
108
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rails/generators'
4
+
5
+ class TestAppGenerator < Rails::Generators::Base
6
+ source_root './spec/test_app_templates'
7
+
8
+ # if you need to generate any additional configuration
9
+ # into the test app, this generator will be run immediately
10
+ # after setting up the application
11
+
12
+ def install_engine
13
+ generate 'tcramer:install'
14
+ end
15
+ end
data/tcramer.gemspec ADDED
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.push File.expand_path('lib', __dir__)
4
+
5
+ # Maintain your gem's version:
6
+ require 'tcramer/version'
7
+
8
+ # rubocop:disable Metrics/BlockLength
9
+ # Describe your gem and declare its dependencies:
10
+ Gem::Specification.new do |s|
11
+ s.name = 'tcramer'
12
+ s.version = Tcramer::VERSION
13
+ s.authors = ['Michael J. Giarlo']
14
+ s.email = ['mjgiarlo@stanford.edu']
15
+ s.homepage = 'http://cramer.space/'
16
+ s.summary = 'tcramer writes rake tasks'
17
+ s.description = 'tcramer writes rake tasks'
18
+ s.license = 'MIT'
19
+
20
+ s.files = `git ls-files`.split($OUTPUT_RECORD_SEPARATOR)
21
+
22
+ s.add_dependency 'rails', '>= 4.2'
23
+ s.add_dependency 'zalgo'
24
+
25
+ s.add_development_dependency 'engine_cart'
26
+ s.add_development_dependency 'rspec'
27
+ s.add_development_dependency 'rubocop'
28
+ s.add_development_dependency 'sqlite3'
29
+
30
+ s.post_install_message = "
31
+ tcramer is in the house!!!
32
+ ๐Ÿค 
33
+ ใ€€ใ€€ใ€€ใ€€ใ€€๐Ÿง๐Ÿง๐Ÿง
34
+ ใ€€ใ€€ใ€€ใ€€๐Ÿง ใ€€๐Ÿงใ€€๐Ÿง
35
+ ใ€€ใ€€ใ€€๐Ÿ‘‡๐Ÿฝใ€€ ๐Ÿง๐Ÿงใ€€๐Ÿ‘‡๐Ÿฝ
36
+ ใ€€ใ€€ใ€€ใ€€ใ€€๐Ÿงใ€€ ๐Ÿง
37
+ ใ€€ใ€€ใ€€ใ€€ใ€€๐Ÿงใ€€ใ€€๐Ÿง
38
+ ใ€€ใ€€ใ€€ใ€€ใ€€ ๐Ÿ‘ขใ€€ใ€€๐Ÿ‘ข
39
+ howdy. I'm the sheriff of rake tasks.
40
+ "
41
+ end
42
+ # rubocop:enable Metrics/BlockLength
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tcramer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael J. Giarlo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-29 00:00:00.000000000 Z
11
+ date: 2018-03-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -25,13 +25,13 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '4.2'
27
27
  - !ruby/object:Gem::Dependency
28
- name: sqlite3
28
+ name: zalgo
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
- type: :development
34
+ type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
@@ -52,29 +52,93 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
- description: Description of Tcramer.
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: rubocop
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
+ - !ruby/object:Gem::Dependency
84
+ name: sqlite3
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ description: tcramer writes rake tasks
56
98
  email:
57
99
  - mjgiarlo@stanford.edu
58
100
  executables: []
59
101
  extensions: []
60
102
  extra_rdoc_files: []
61
103
  files:
104
+ - ".gitignore"
105
+ - ".rspec"
106
+ - ".rubocop.yml"
107
+ - ".travis.yml"
108
+ - CODE_OF_CONDUCT.md
109
+ - CONTRIBUTING.md
110
+ - Gemfile
111
+ - ISSUE_TEMPLATE.md
112
+ - LICENSE
113
+ - PULL_REQUEST_TEMPLATE.md
114
+ - README.md
62
115
  - Rakefile
116
+ - app/assets/images/tcramer/.keep
63
117
  - app/assets/javascripts/tcramer/application.js
64
118
  - app/assets/stylesheets/tcramer/application.css
65
119
  - app/controllers/tcramer/application_controller.rb
66
120
  - app/helpers/tcramer/application_helper.rb
67
121
  - app/views/layouts/tcramer/application.html.erb
122
+ - bin/rails
68
123
  - config/routes.rb
69
124
  - lib/generators/tcramer/install_generator.rb
70
125
  - lib/tcramer.rb
71
126
  - lib/tcramer/engine.rb
72
127
  - lib/tcramer/version.rb
73
- homepage: ''
128
+ - spec/lib/engine_spec.rb
129
+ - spec/lib/tcramer_spec.rb
130
+ - spec/lib/version_spec.rb
131
+ - spec/spec_helper.rb
132
+ - spec/test_app_templates/lib/generators/test_app_generator.rb
133
+ - tcramer.gemspec
134
+ homepage: http://cramer.space/
74
135
  licenses:
75
136
  - MIT
76
137
  metadata: {}
77
- post_install_message:
138
+ post_install_message: "\n tcramer is in the house!!!\n \U0001F920\nใ€€ใ€€ใ€€ใ€€ใ€€\U0001F427\U0001F427\U0001F427\nใ€€ใ€€ใ€€ใ€€\U0001F427
139
+ ใ€€\U0001F427ใ€€\U0001F427\nใ€€ใ€€ใ€€\U0001F447\U0001F3FDใ€€ \U0001F427\U0001F427ใ€€\U0001F447\U0001F3FD\nใ€€ใ€€ใ€€ใ€€ใ€€\U0001F427ใ€€
140
+ \ \U0001F427\nใ€€ใ€€ใ€€ใ€€ใ€€\U0001F427ใ€€ใ€€\U0001F427\nใ€€ใ€€ใ€€ใ€€ใ€€ \U0001F462ใ€€ใ€€\U0001F462\n howdy.
141
+ I'm the sheriff of rake tasks.\n "
78
142
  rdoc_options: []
79
143
  require_paths:
80
144
  - lib
@@ -90,8 +154,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
90
154
  version: '0'
91
155
  requirements: []
92
156
  rubyforge_project:
93
- rubygems_version: 2.6.11
157
+ rubygems_version: 2.7.3
94
158
  signing_key:
95
159
  specification_version: 4
96
- summary: Summary of Tcramer.
160
+ summary: tcramer writes rake tasks
97
161
  test_files: []