commitment 0.0.1.pre → 0.1.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: 0f63951c4d727ee0f20bbc56b73b9db376184a40
4
- data.tar.gz: b471f57ef66dbcc60972bd3b9786bedd2a18bdef
3
+ metadata.gz: 9235e37c7ffc3a3266515592bb97fa4056e25d14
4
+ data.tar.gz: c2306824f04986919404c5ef460e6c4a104c67c5
5
5
  SHA512:
6
- metadata.gz: 0831f2667cca1d471bfc04b7347fa2cb0d889e9b3370207547be875adbf1d686f3b9ed31c18018206ce91d9a8ce5b7087334f1ddfe6ef0264cc9a5231bc846b6
7
- data.tar.gz: 3f37941d318dcec873a25ff2262964c8fe1ff0b3915a4940acbed192312217cfe08c0df1f43d8c8aaf4201dbfcec17b37e61278efcd9848b787ad91fa0d6798f
6
+ metadata.gz: e481775dfbf32401fe89b1a2989b0e77375b71732f2db01c3af4c9b83f0a4be4e4c5e02e8f9b3e71b187e131c8ee85b8a1b2a56f5d1686f0576d08394302fb10
7
+ data.tar.gz: a6a0241a388c912fb7ebbc2fb3ed188812f11e33435489e4686e4d1a9181e436d81c5dbdee17fc9fa1cc0ed08d3613252393c07595af170abf006281d33b8e99
data/.travis.yml CHANGED
@@ -1,3 +1,4 @@
1
1
  language: ruby
2
2
  rvm:
3
3
  - 2.2.1
4
+ - 2.2.2
data/LICENSE CHANGED
@@ -1,5 +1,5 @@
1
1
  ##########################################################################
2
- # Copyright 2015 Jeremy Friesen
2
+ # Copyright 2015 University of Notre Dame
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
data/README.md CHANGED
@@ -1,39 +1,45 @@
1
1
  # Commitment
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/commitment`. To experiment with that code, run `bin/console` for an interactive prompt.
3
+ Commitment is [Rails::Railtie](http://api.rubyonrails.org/classes/Rails/Railtie.html) gem.
4
+ Commitment provides a series of [Rake](https://github.com/ruby/rake) tasks for [Rails](http://rubyonrails.org) applications.
4
5
 
5
- TODO: Delete this and the text above, and describe your gem
6
+ The goal of Commitment is to consolidate common tasks that we use to uphold our
7
+ software development commitment:
6
8
 
7
- ## Installation
8
-
9
- Add this line to your application's Gemfile:
10
-
11
- ```ruby
12
- gem 'commitment'
13
- ```
9
+ * Code coverage
10
+ * Programatic style enforcement
11
+ * Vulnerability scans
12
+ * Linting
14
13
 
15
- And then execute:
14
+ As we work on our code, we want to make sure we are keeping our commitment.
15
+ If we fail to do so, the build is broken.
16
16
 
17
- $ bundle
17
+ ## Installation
18
18
 
19
- Or install it yourself as:
19
+ Before you get started, make sure all of your project changes are committed.
20
+ Commitment doesn't change too many things, but its nice to "install" something into a clean work area.
20
21
 
21
- $ gem install commitment
22
+ Now, add this line to your application's Gemfile:
22
23
 
23
- ## Usage
24
+ ```ruby
25
+ group :development, :test do
26
+ gem 'commitment'
27
+ end
28
+ ```
24
29
 
25
- TODO: Write usage instructions here
30
+ And then go to your console and `cd` into the project. You'll run the following two commands:
26
31
 
27
- ## Development
32
+ ```console
33
+ $ bundle
34
+ $ rails generate commitment:install
35
+ ```
28
36
 
29
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `bin/console` for an interactive prompt that will allow you to experiment.
37
+ Several files will be added to your project. These are configuration files for the underlying tasks that will be run.
38
+ Other files will be updated so that Commitment can do its job.
30
39
 
31
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release` to create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
40
+ The `$ rails generate commitment:install` will report as output all files that were changed or updated.
41
+ If you started with a clean work area, you can use your version control tools to see what changes were made.
32
42
 
33
- ## Contributing
43
+ ## Roadmap
34
44
 
35
- 1. Fork it ( https://github.com/[my-github-username]/commitment/fork )
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 new Pull Request
45
+ The Commitment gem presently does not make its own commitments. I'd like to fix that.
data/Rakefile CHANGED
@@ -1 +1,10 @@
1
1
  require "bundler/gem_tasks"
2
+
3
+ require 'rake'
4
+ require 'rake/testtask'
5
+
6
+ Rake::TestTask.new do |t|
7
+ t.test_files = Dir.glob('test/**/*_test.rb')
8
+ end
9
+
10
+ task(default: :test)
data/bin/console CHANGED
File without changes
data/bin/setup CHANGED
File without changes
data/commitment.gemspec CHANGED
@@ -11,14 +11,22 @@ Gem::Specification.new do |spec|
11
11
 
12
12
  spec.summary = %q{Provides a mechanism for monitoring your enduring commitment.}
13
13
  spec.description = %q{Provides a mechanism for monitoring your enduring commitment.}
14
- spec.homepage = "https://github.com/jeremyf/commitment"
14
+ spec.homepage = "https://github.com/ndlib/commitment"
15
15
 
16
16
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
17
17
  spec.bindir = "bin"
18
18
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
19
19
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
20
20
  spec.require_paths = ["lib"]
21
+ spec.license = 'APACHE2'
21
22
 
22
23
  spec.add_development_dependency "bundler", "~> 1.9"
23
24
  spec.add_development_dependency "rake", "~> 10.0"
25
+ spec.add_dependency "rubocop"
26
+ spec.add_dependency "railties"
27
+ spec.add_dependency "brakeman"
28
+ spec.add_dependency "scss-lint"
29
+ spec.add_dependency "simplecov"
30
+ spec.add_dependency "jshintrb"
31
+ spec.add_dependency "codeclimate-test-reporter"
24
32
  end
data/lib/commitment.rb CHANGED
@@ -1,5 +1,56 @@
1
1
  require "commitment/version"
2
+ require 'json'
2
3
 
3
4
  module Commitment
4
- # Your code goes here...
5
+ module_function
6
+ def config
7
+ @config ||= Config.new
8
+ end
9
+
10
+ class Config
11
+ attr_reader :rubocop_config
12
+ attr_reader :brakeman_output_pathname
13
+ attr_reader :jshint_pattern
14
+ attr_reader :jshint_exclude_pattern
15
+ attr_reader :jshint_options
16
+ attr_reader :scss_lint_config
17
+ attr_reader :percentage_coverage_goal
18
+ attr_reader :code_coverage_last_run_pathname
19
+
20
+ def initialize
21
+ @project_pathname = default_project_pathname
22
+ @rubocop_config = project_pathname.join('.hound.yml').to_s
23
+ @brakeman_output_pathname = project_pathname.join('.tmp.brakeman.json')
24
+ @jshint_pattern = 'app/assets/**/*.js'
25
+ @jshint_exclude_pattern = 'app/assets/javascripts/vendor/*.js'
26
+ @jshint_options = JSON.parse(project_pathname.join('.jshintrc').read)
27
+ @scss_lint_config = project_pathname.join('.scss_lint.yml').to_s
28
+ @percentage_coverage_goal = 100
29
+ @code_coverage_last_run_pathname = project_pathname.join('coverage/.last_run.json')
30
+ end
31
+
32
+ def code_coverage_last_run_results
33
+ if code_coverage_last_run_pathname.exist?
34
+ JSON.parse(code_coverage_last_run_pathname.read)
35
+ else
36
+ abort("Commitment Failure: Unable to find code coverage information in `#{code_coverage_last_run_pathname.to_s}'")
37
+ end
38
+ end
39
+
40
+ private
41
+
42
+ attr_reader :project_pathname
43
+
44
+ def default_project_pathname
45
+ if defined?(Rails)
46
+ Rails.root
47
+ else
48
+ require 'pathname'
49
+ Pathname.new(File.expand_path('../commitment/generators/templates', __FILE__))
50
+ end
51
+ end
52
+ end
53
+ private_constant :Config
5
54
  end
55
+
56
+ require 'commitment/railtie' if defined?(Rails)
@@ -0,0 +1,55 @@
1
+ module Commitment
2
+ class InstallGenerator < Rails::Generators::Base
3
+ source_root(File.expand_path("../templates", __FILE__))
4
+
5
+ def create_jshint_options
6
+ template('.jshintrc', '.jshintrc')
7
+ end
8
+
9
+ def create_hound_options
10
+ template('.hound.yml', '.hound.yml')
11
+ end
12
+
13
+ def create_scss_lint
14
+ template('.scss_lint.yml', '.scss_lint.yml')
15
+ end
16
+
17
+ def create_coverage_helper
18
+ # Putting this file in the root directory of the project
19
+ template('coverage_helper.rb', "#{test_framework}/coverage_helper.rb")
20
+ end
21
+
22
+ def build_default_rake_task
23
+ append_file('Rakefile') do %(
24
+ # BEGIN `commitment:install` generator
25
+ # This was added via commitment:install generator. You are free to change this.
26
+ Rake::Task["default"].clear
27
+ task(
28
+ default: [
29
+ 'commitment:rubocop',
30
+ 'commitment:jshint',
31
+ 'commitment:scss_lint',
32
+ '#{test_framework}',
33
+ 'commitment:code_coverage',
34
+ 'commitment:brakeman'
35
+ ]
36
+ )
37
+ # END `commitment:install` generator
38
+ )
39
+ end
40
+ end
41
+
42
+ def inject_spec_helper
43
+ prepend_file("#{test_framework}/#{test_framework}_helper.rb", "require 'coverage_helper'\n")
44
+ end
45
+
46
+ private
47
+
48
+ def test_framework
49
+ return 'spec' if Rails.configuration.generators.options.fetch(:rails).fetch(:test_framework) == :rspec
50
+ 'test'
51
+ rescue NoMethodError, KeyError
52
+ 'test'
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,41 @@
1
+ ################################################################################
2
+ ## Releasing the hounds in your local environment.
3
+ ##
4
+ ## Setup:
5
+ ## $ gem install rubocop
6
+ ##
7
+ ## Run:
8
+ ## $ rubocop ./path/to/file ./or/path/to/directory -c ./.hound.yml
9
+ ##
10
+ ## Generation Notes:
11
+ ## This file was generated via the commitment:install generator. You are free
12
+ ## and expected to change this file.
13
+ ################################################################################
14
+ AllCops:
15
+ Include:
16
+ - Rakefile
17
+ Exclude:
18
+ - 'vendor/**/*'
19
+ - 'tmp/**/*'
20
+ - 'bin/**/*'
21
+ RunRailsCops: true
22
+
23
+ LineLength:
24
+ Description: 'Limit lines to 140 characters.'
25
+ Max: 140
26
+ Enabled: true
27
+
28
+ Style/StringLiterals:
29
+ Description: 'Checks if uses of quotes match the configured preference.'
30
+ Enabled: false
31
+
32
+ PercentLiteralDelimiters:
33
+ Description: 'Use `%`-literal delimiters consistently'
34
+ Enabled: false
35
+
36
+ Documentation:
37
+ Description: 'Document classes and non-namespace modules.'
38
+ Enabled: true
39
+ Exclude:
40
+ - spec/**/*
41
+ - test/**/*
@@ -0,0 +1,92 @@
1
+ {
2
+
3
+ // Generation Notes:
4
+ // This file was generated via the commitment:install generator. You are free
5
+ // and expected to change this file.
6
+ //
7
+ // JSHint Default Configuration File (as on JSHint website)
8
+ // See http://jshint.com/docs/ for more details
9
+
10
+ "maxerr" : 50, // {int} Maximum error before stopping
11
+
12
+ // Enforcing
13
+ "bitwise" : true, // true: Prohibit bitwise operators (&, |, ^, etc.)
14
+ "camelcase" : false, // true: Identifiers must be in camelCase
15
+ "curly" : true, // true: Require {} for every new block or scope
16
+ "eqeqeq" : true, // true: Require triple equals (===) for comparison
17
+ "forin" : true, // true: Require filtering for..in loops with obj.hasOwnProperty()
18
+ "freeze" : true, // true: prohibits overwriting prototypes of native objects such as Array, Date etc.
19
+ "immed" : false, // true: Require immediate invocations to be wrapped in parens e.g. `(function () { } ());`
20
+ "indent" : 4, // {int} Number of spaces to use for indentation
21
+ "latedef" : false, // true: Require variables/functions to be defined before being used
22
+ "newcap" : false, // true: Require capitalization of all constructor functions e.g. `new F()`
23
+ "noarg" : true, // true: Prohibit use of `arguments.caller` and `arguments.callee`
24
+ "noempty" : true, // true: Prohibit use of empty blocks
25
+ "nonbsp" : true, // true: Prohibit "non-breaking whitespace" characters.
26
+ "nonew" : false, // true: Prohibit use of constructors for side-effects (without assignment)
27
+ "plusplus" : false, // true: Prohibit use of `++` & `--`
28
+ "quotmark" : false, // Quotation mark consistency:
29
+ // false : do nothing (default)
30
+ // true : ensure whatever is used is consistent
31
+ // "single" : require single quotes
32
+ // "double" : require double quotes
33
+ "undef" : true, // true: Require all non-global variables to be declared (prevents global leaks)
34
+ "unused" : true, // true: Require all defined variables be used
35
+ "strict" : true, // true: Requires all functions run in ES5 Strict Mode
36
+ "maxparams" : false, // {int} Max number of formal params allowed per function
37
+ "maxdepth" : false, // {int} Max depth of nested blocks (within functions)
38
+ "maxstatements" : false, // {int} Max number statements per function
39
+ "maxcomplexity" : false, // {int} Max cyclomatic complexity per function
40
+ "maxlen" : false, // {int} Max number of characters per line
41
+
42
+ // Relaxing
43
+ "asi" : false, // true: Tolerate Automatic Semicolon Insertion (no semicolons)
44
+ "boss" : false, // true: Tolerate assignments where comparisons would be expected
45
+ "debug" : false, // true: Allow debugger statements e.g. browser breakpoints.
46
+ "eqnull" : false, // true: Tolerate use of `== null`
47
+ "es5" : false, // true: Allow ES5 syntax (ex: getters and setters)
48
+ "esnext" : false, // true: Allow ES.next (ES6) syntax (ex: `const`)
49
+ "moz" : false, // true: Allow Mozilla specific syntax (extends and overrides esnext features)
50
+ // (ex: `for each`, multiple try/catch, function expression…)
51
+ "evil" : false, // true: Tolerate use of `eval` and `new Function()`
52
+ "expr" : false, // true: Tolerate `ExpressionStatement` as Programs
53
+ "funcscope" : false, // true: Tolerate defining variables inside control statements
54
+ "globalstrict" : false, // true: Allow global "use strict" (also enables 'strict')
55
+ "iterator" : false, // true: Tolerate using the `__iterator__` property
56
+ "lastsemic" : false, // true: Tolerate omitting a semicolon for the last statement of a 1-line block
57
+ "laxbreak" : false, // true: Tolerate possibly unsafe line breakings
58
+ "laxcomma" : false, // true: Tolerate comma-first style coding
59
+ "loopfunc" : false, // true: Tolerate functions being defined in loops
60
+ "multistr" : false, // true: Tolerate multi-line strings
61
+ "noyield" : false, // true: Tolerate generator functions with no yield statement in them.
62
+ "notypeof" : false, // true: Tolerate invalid typeof operator values
63
+ "proto" : false, // true: Tolerate using the `__proto__` property
64
+ "scripturl" : false, // true: Tolerate script-targeted URLs
65
+ "shadow" : false, // true: Allows re-define variables later in code e.g. `var x=1; x=2;`
66
+ "sub" : false, // true: Tolerate using `[]` notation when it can still be expressed in dot notation
67
+ "supernew" : false, // true: Tolerate `new function () { ... };` and `new Object;`
68
+ "validthis" : false, // true: Tolerate using this in a non-constructor function
69
+
70
+ // Environments
71
+ "browser" : true, // Web Browser (window, document, etc)
72
+ "browserify" : false, // Browserify (node.js code in the browser)
73
+ "couch" : false, // CouchDB
74
+ "devel" : true, // Development/debugging (alert, confirm, etc)
75
+ "dojo" : false, // Dojo Toolkit
76
+ "jasmine" : false, // Jasmine
77
+ "jquery" : true, // jQuery
78
+ "mocha" : true, // Mocha
79
+ "mootools" : false, // MooTools
80
+ "node" : false, // Node.js
81
+ "nonstandard" : false, // Widely adopted globals (escape, unescape, etc)
82
+ "prototypejs" : false, // Prototype and Scriptaculous
83
+ "qunit" : false, // QUnit
84
+ "rhino" : false, // Rhino
85
+ "shelljs" : false, // ShellJS
86
+ "worker" : false, // Web Workers
87
+ "wsh" : false, // Windows Scripting Host
88
+ "yui" : false, // Yahoo User Interface
89
+
90
+ // Custom Globals
91
+ "globals" : {} // additional predefined global variables
92
+ }
@@ -0,0 +1,12 @@
1
+ ## Generation Notes:
2
+ ## This file was generated via the commitment:install generator. You are free
3
+ ## and expected to change this file.
4
+ scss_files: "app/**/*.scss"
5
+
6
+ linters:
7
+ PlaceholderInExtend:
8
+ exclude: app/assets/stylesheets/framework_and_overrides.css.scss
9
+ StringQuotes:
10
+ enabled: false
11
+ Comment:
12
+ exclude: app/assets/stylesheets/application.css.scss
@@ -0,0 +1,19 @@
1
+ ## Generation Notes:
2
+ ## This file was generated via the commitment:install generator. You are free
3
+ ## and expected to change this file.
4
+ if ENV['COV'] || ENV['COVERAGE'] || ENV['TRAVIS']
5
+ if ENV['TRAVIS']
6
+ require 'simplecov'
7
+ require "codeclimate-test-reporter"
8
+ SimpleCov.start do
9
+ formatter SimpleCov::Formatter::MultiFormatter[
10
+ SimpleCov::Formatter::HTMLFormatter,
11
+ CodeClimate::TestReporter::Formatter
12
+ ]
13
+ load_profile 'rails'
14
+ end
15
+ elsif ENV['COV'] || ENV['COVERAGE']
16
+ require 'simplecov'
17
+ SimpleCov.start { load_profile 'rails' }
18
+ end
19
+ end
@@ -0,0 +1,16 @@
1
+ module Commitment
2
+ class Railtie < Rails::Railtie
3
+ rake_tasks do
4
+ require 'commitment'
5
+ load 'commitment/tasks/brakeman.rake'
6
+ load 'commitment/tasks/rubocop.rake'
7
+ load 'commitment/tasks/jshint.rake'
8
+ load 'commitment/tasks/scss_lint.rake'
9
+ load 'commitment/tasks/code_coverage.rake'
10
+ end
11
+
12
+ generators do
13
+ require 'commitment/generators/install_generator'
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,28 @@
1
+ namespace :commitment do
2
+ namespace :brakeman do
3
+ task scan: [:environment] do
4
+ $stdout.puts "Checking commitment:brakeman"
5
+ require 'brakeman'
6
+ Brakeman.run app_path: '.', output_files: [Commitment.config.brakeman_output_pathname.to_s], print_report: true
7
+ end
8
+
9
+ task(guard: [:environment, 'commitment:brakeman:scan']) do
10
+ begin
11
+ json_document = Commitment.config.brakeman_output_pathname.read
12
+ json = JSON.parse(json_document)
13
+ ensure
14
+ Commitment.config.brakeman_output_pathname.unlink
15
+ end
16
+ errors = []
17
+ ['errors', 'warnings', 'ignored_warnings'].each do |key|
18
+ errors += Array.wrap(json.fetch(key))
19
+ end
20
+ if errors.any?
21
+ abort("Brakeman Vulnerabilities Detected:\n\n\t" << errors.join("\n\t"))
22
+ end
23
+ end
24
+ end
25
+
26
+ desc 'Ensure that brakeman has not detected any vulnerabilities'
27
+ task brakeman: ['brakeman:guard']
28
+ end
@@ -0,0 +1,12 @@
1
+ namespace :commitment do
2
+ task :configure_test_for_code_coverage do
3
+ ENV['COVERAGE'] = 'true'
4
+ end
5
+ task :code_coverage do
6
+ $stdout.puts "Checking commitment:code_coverage"
7
+ coverage_percentage = Commitment.config.code_coverage_last_run_results.fetch('result').fetch('covered_percent').to_i
8
+ if Commitment.config.percentage_coverage_goal > coverage_percentage
9
+ abort("Code Coverage Goal Not Met:\n\t#{goal_percentage}%\tExpected\n\t#{Commitment.config.percentage_coverage_goal}%\tActual")
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,9 @@
1
+ namespace :commitment do
2
+ require 'jshintrb/jshinttask'
3
+ desc 'Ensure that javascript has been properly linted'
4
+ Jshintrb::JshintTask.new :jshint do |t|
5
+ t.pattern = Commitment.config.jshint_pattern
6
+ t.exclude_pattern = Commitment.config.jshint_exclude_pattern
7
+ t.options = Commitment.config.jshint_options
8
+ end
9
+ end
@@ -0,0 +1,7 @@
1
+ namespace :commitment do
2
+ require 'rubocop/rake_task'
3
+ # Why hound? Because hound-ci assumes this file, and perhaps you'll be using this
4
+ RuboCop::RakeTask.new do |t|
5
+ t.options << "--config=#{Commitment.config.rubocop_config}"
6
+ end
7
+ end
@@ -0,0 +1,8 @@
1
+ namespace :commitment do
2
+ require 'scss_lint/rake_task'
3
+ desc 'Ensure that javascript has been properly linted'
4
+ SCSSLint::RakeTask.new('scss_lint') do |t|
5
+ t.config = Commitment.config.scss_lint_config
6
+ t.files = [] # Rely instead on he above configuration
7
+ end
8
+ end
@@ -1,3 +1,3 @@
1
1
  module Commitment
2
- VERSION = "0.0.1.pre"
2
+ VERSION = "0.1.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: commitment
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.pre
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Friesen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-06 00:00:00.000000000 Z
11
+ date: 2015-07-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -38,6 +38,104 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rubocop
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
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: railties
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
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: brakeman
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
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: scss-lint
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: simplecov
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: jshintrb
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: codeclimate-test-reporter
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
41
139
  description: Provides a mechanism for monitoring your enduring commitment.
42
140
  email:
43
141
  - jeremy.n.friesen@gmail.com
@@ -58,9 +156,21 @@ files:
58
156
  - bin/setup
59
157
  - commitment.gemspec
60
158
  - lib/commitment.rb
159
+ - lib/commitment/generators/install_generator.rb
160
+ - lib/commitment/generators/templates/.hound.yml
161
+ - lib/commitment/generators/templates/.jshintrc
162
+ - lib/commitment/generators/templates/.scss_lint.yml
163
+ - lib/commitment/generators/templates/coverage_helper.rb
164
+ - lib/commitment/railtie.rb
165
+ - lib/commitment/tasks/brakeman.rake
166
+ - lib/commitment/tasks/code_coverage.rake
167
+ - lib/commitment/tasks/jshint.rake
168
+ - lib/commitment/tasks/rubocop.rake
169
+ - lib/commitment/tasks/scss_lint.rake
61
170
  - lib/commitment/version.rb
62
- homepage: https://github.com/jeremyf/commitment
63
- licenses: []
171
+ homepage: https://github.com/ndlib/commitment
172
+ licenses:
173
+ - APACHE2
64
174
  metadata: {}
65
175
  post_install_message:
66
176
  rdoc_options: []
@@ -73,14 +183,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
73
183
  version: '0'
74
184
  required_rubygems_version: !ruby/object:Gem::Requirement
75
185
  requirements:
76
- - - ">"
186
+ - - ">="
77
187
  - !ruby/object:Gem::Version
78
- version: 1.3.1
188
+ version: '0'
79
189
  requirements: []
80
190
  rubyforge_project:
81
- rubygems_version: 2.4.3
191
+ rubygems_version: 2.4.7
82
192
  signing_key:
83
193
  specification_version: 4
84
194
  summary: Provides a mechanism for monitoring your enduring commitment.
85
195
  test_files: []
86
- has_rdoc: