kozo 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 3af664ebfefded7c930c271aefec9aae7d1d43d22476e9520e6b9e9ff6f4eb22
4
+ data.tar.gz: 11ac252c2cf7d89c0031a1564a91e412d09a4e80514d3c94353cbcf1ff5341f1
5
+ SHA512:
6
+ metadata.gz: ba28584312b4eb9f395c5af02a0fce4c5637e056eb74e50207e756840564930f5d08be647dd4c5fbeb7d5d2aa57d819a5dedf7462da57fcd1d32476d349cffd0
7
+ data.tar.gz: 99ceb6c915ef5420f019392675c8270027a04194648843e98fe317c78afb73afeea4508b62b14ddc5389d2971d3dbf9d26bbc378bec66a178dff83a6a4fbeaee
@@ -0,0 +1,14 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: bundler
4
+ directory: "/"
5
+ schedule:
6
+ interval: weekly
7
+ time: "04:00"
8
+ open-pull-requests-limit: 10
9
+ - package-ecosystem: github-actions
10
+ directory: "/"
11
+ schedule:
12
+ interval: weekly
13
+ time: "04:00"
14
+ open-pull-requests-limit: 10
@@ -0,0 +1,81 @@
1
+ name: Continuous Integration
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - '**'
7
+ tags-ignore:
8
+ - 'production'
9
+
10
+ jobs:
11
+ test:
12
+ name: Test application
13
+ if: "!contains(github.event.head_commit.message, 'ci skip') && !contains(github.event.head_commit.message, 'skip ci')"
14
+ runs-on: ubuntu-latest
15
+
16
+ container:
17
+ image: ruby:2.7-alpine
18
+
19
+ steps:
20
+ - uses: actions/checkout@v2
21
+
22
+ - name: Install dependencies
23
+ run: |
24
+ apk add build-base curl-dev git
25
+ apk add tar
26
+
27
+ - name: Cache Gems
28
+ uses: actions/cache@v2.1.3
29
+ with:
30
+ path: vendor/bundle
31
+ key: ${{ runner.os }}-gem-${{ hashFiles('**/Gemfile.lock') }}
32
+ restore-keys: |
33
+ ${{ runner.os }}-gem-
34
+
35
+ - name: Install Gems
36
+ run: |
37
+ gem install bundler
38
+ bundle config path vendor/bundle
39
+ bundle install --jobs 4 --retry 3
40
+
41
+ - name: Test
42
+ run: |
43
+ bundle exec rspec --profile 10 --format progress
44
+
45
+ - name: Lint
46
+ run: bundle exec rubocop --parallel --display-cop-names
47
+
48
+ release:
49
+ name: Create release
50
+ if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
51
+ runs-on: ubuntu-latest
52
+ needs: test
53
+
54
+ steps:
55
+ - uses: actions/checkout@v2
56
+
57
+ - name: Set version
58
+ run: |
59
+ echo "VERSION=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV
60
+
61
+ - name: Publish to RubyGems
62
+ run: |
63
+ mkdir -p ~/.gem
64
+ touch ~/.gem/credentials
65
+ chmod 0600 ~/.gem/credentials
66
+ printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > ~/.gem/credentials
67
+ gem build *.gemspec
68
+ gem push *.gem
69
+ env:
70
+ GEM_HOST_API_KEY: ${{secrets.RUBYGEMS_API_KEY}}
71
+
72
+ - name: Create Github Release
73
+ uses: actions/create-release@v1
74
+ env:
75
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
76
+ with:
77
+ tag_name: ${{ github.ref }}
78
+ release_name: ${{ github.event.repository.name }} ${{ env.VERSION }}
79
+ prerelease: contains(github.ref, '-')
80
+ body: |
81
+ Application ${{ github.event.repository.name }} ${{ env.VERSION }} was released
@@ -0,0 +1,69 @@
1
+
2
+ # Created by https://www.toptal.com/developers/gitignore/api/ruby,rubymine
3
+ # Edit at https://www.toptal.com/developers/gitignore?templates=ruby,rubymine
4
+
5
+ ### Ruby ###
6
+ *.gem
7
+ *.rbc
8
+ /.config
9
+ /coverage/
10
+ /InstalledFiles
11
+ /pkg/
12
+ /spec/reports/
13
+ /spec/examples.txt
14
+ /test/tmp/
15
+ /test/version_tmp/
16
+ /tmp/
17
+
18
+ # Used by dotenv library to load environment variables.
19
+ # .env
20
+
21
+ # Ignore Byebug command history file.
22
+ .byebug_history
23
+
24
+ ## Specific to RubyMotion:
25
+ .dat*
26
+ .repl_history
27
+ build/
28
+ *.bridgesupport
29
+ build-iPhoneOS/
30
+ build-iPhoneSimulator/
31
+
32
+ ## Specific to RubyMotion (use of CocoaPods):
33
+ #
34
+ # We recommend against adding the Pods directory to your .gitignore. However
35
+ # you should judge for yourself, the pros and cons are mentioned at:
36
+ # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
37
+ # vendor/Pods/
38
+
39
+ ## Documentation cache and generated files:
40
+ /.yardoc/
41
+ /_yardoc/
42
+ /doc/
43
+ /rdoc/
44
+
45
+ ## Environment normalization:
46
+ /.bundle/
47
+ /vendor/bundle
48
+ /lib/bundler/man/
49
+
50
+ # for a library or gem, you might want to ignore these files since the code is
51
+ # intended to run in multiple environments; otherwise, check them in:
52
+ # Gemfile.lock
53
+ # .ruby-version
54
+ # .ruby-gemset
55
+
56
+ # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
57
+ .rvmrc
58
+ .ruby-version
59
+ .ruby-gemset
60
+
61
+ # Used by RuboCop. Remote config files pulled in from inherit_from directive.
62
+ # .rubocop-https?--*
63
+
64
+ ### Ruby Patch ###
65
+ # Used by RuboCop. Remote config files pulled in from inherit_from directive.
66
+ # .rubocop-https?--*
67
+
68
+ ### RubyMine ###
69
+ .idea
@@ -0,0 +1,31 @@
1
+ # Use this file to configure the Overcommit hooks you wish to use. This will
2
+ # extend the default configuration defined in:
3
+ # https://github.com/sds/overcommit/blob/master/config/default.yml
4
+ #
5
+ # At the topmost level of this YAML file is a key representing type of hook
6
+ # being run (e.g. pre-commit, commit-msg, etc.). Within each type you can
7
+ # customize each hook, such as whether to only run it on certain files (via
8
+ # `include`), whether to only display output if it fails (via `quiet`), etc.
9
+ #
10
+ # For a complete list of hooks, see:
11
+ # https://github.com/sds/overcommit/tree/master/lib/overcommit/hook
12
+ #
13
+ # For a complete list of options that you can use to customize hooks, see:
14
+ # https://github.com/sds/overcommit#configuration
15
+ #
16
+ # Uncomment the following lines to make the configuration take effect.
17
+
18
+ PreCommit:
19
+ RuboCop:
20
+ enabled: true
21
+ on_warn: fail # Treat all warnings as failures
22
+
23
+ TrailingWhitespace:
24
+ enabled: true
25
+
26
+ #PostCheckout:
27
+ # ALL: # Special hook name that customizes all hooks of this type
28
+ # quiet: true # Change all post-checkout hooks to only display output on failure
29
+ #
30
+ # IndexTags:
31
+ # enabled: true # Generate a tags file with `ctags` each time HEAD changes
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --require spec_helper
@@ -0,0 +1,70 @@
1
+ require:
2
+ - rubocop-performance
3
+ - rubocop-rspec
4
+
5
+ AllCops:
6
+ NewCops: enable
7
+ Exclude:
8
+ - tmp/**/*
9
+ - vendor/**/*
10
+ - bin/**/*
11
+ TargetRubyVersion: 2.7
12
+
13
+ Layout/LineLength:
14
+ Max: 120
15
+ Exclude:
16
+ - spec/**/*
17
+
18
+ Layout/MultilineMethodCallIndentation:
19
+ EnforcedStyle: indented
20
+
21
+ Layout/ParameterAlignment:
22
+ EnforcedStyle: with_fixed_indentation
23
+
24
+ Lint/EmptyClass:
25
+ Enabled: false
26
+
27
+ Metrics/AbcSize:
28
+ Max: 20
29
+
30
+ Metrics/BlockLength:
31
+ Exclude:
32
+ - spec/**/*
33
+ - "*.gemspec"
34
+
35
+ Metrics/MethodLength:
36
+ Max: 20
37
+
38
+ RSpec/ExampleLength:
39
+ Max: 20
40
+
41
+ RSpec/FilePath:
42
+ CustomTransform:
43
+ HCloud: hcloud
44
+
45
+ Style/Documentation:
46
+ Enabled: false
47
+
48
+ Style/StringLiterals:
49
+ EnforcedStyle: double_quotes
50
+
51
+ Style/TrailingCommaInArrayLiteral:
52
+ EnforcedStyleForMultiline: consistent_comma
53
+
54
+ Style/TrailingCommaInHashLiteral:
55
+ EnforcedStyleForMultiline: consistent_comma
56
+
57
+ Style/TrailingCommaInArguments:
58
+ EnforcedStyleForMultiline: consistent_comma
59
+
60
+ Style/SymbolArray:
61
+ EnforcedStyle: brackets
62
+
63
+ Style/PercentLiteralDelimiters:
64
+ PreferredDelimiters:
65
+ default: ()
66
+ "%i": "()"
67
+ "%I": "()"
68
+ "%r": "()"
69
+ "%w": "()"
70
+ "%W": "()"
@@ -0,0 +1,5 @@
1
+ # Changelog
2
+
3
+ ## Kozo v0.1.0
4
+
5
+ Initial release
data/Gemfile ADDED
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ source "https://rubygems.org"
4
+
5
+ git_source(:github) { |repo| "https://github.com/#{repo}.git" }
6
+
7
+ ruby "~> 2.7"
8
+
9
+ gemspec
@@ -0,0 +1,126 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ kozo (0.1.0)
5
+ activesupport
6
+ zeitwerk
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ activesupport (6.1.0)
12
+ concurrent-ruby (~> 1.0, >= 1.0.2)
13
+ i18n (>= 1.6, < 2)
14
+ minitest (>= 5.1)
15
+ tzinfo (~> 2.0)
16
+ zeitwerk (~> 2.3)
17
+ addressable (2.7.0)
18
+ public_suffix (>= 2.0.2, < 5.0)
19
+ ast (2.4.1)
20
+ attr_extras (6.2.4)
21
+ byebug (11.1.3)
22
+ childprocess (4.0.0)
23
+ climate_control (0.2.0)
24
+ coderay (1.1.3)
25
+ concurrent-ruby (1.1.7)
26
+ crack (0.4.4)
27
+ diff-lcs (1.4.4)
28
+ factory_bot (6.1.0)
29
+ activesupport (>= 5.0.0)
30
+ ffaker (2.17.0)
31
+ hashdiff (1.0.1)
32
+ i18n (1.8.5)
33
+ concurrent-ruby (~> 1.0)
34
+ iniparse (1.5.0)
35
+ method_source (1.0.0)
36
+ minitest (5.14.2)
37
+ overcommit (0.57.0)
38
+ childprocess (>= 0.6.3, < 5)
39
+ iniparse (~> 1.4)
40
+ parallel (1.20.1)
41
+ parser (2.7.2.0)
42
+ ast (~> 2.4.1)
43
+ patience_diff (1.1.0)
44
+ trollop (~> 1.16)
45
+ pry (0.13.1)
46
+ coderay (~> 1.1)
47
+ method_source (~> 1.0)
48
+ pry-byebug (3.9.0)
49
+ byebug (~> 11.0)
50
+ pry (~> 0.13.0)
51
+ public_suffix (4.0.6)
52
+ rainbow (3.0.0)
53
+ regexp_parser (2.0.0)
54
+ rexml (3.2.4)
55
+ rspec (3.10.0)
56
+ rspec-core (~> 3.10.0)
57
+ rspec-expectations (~> 3.10.0)
58
+ rspec-mocks (~> 3.10.0)
59
+ rspec-core (3.10.0)
60
+ rspec-support (~> 3.10.0)
61
+ rspec-expectations (3.10.0)
62
+ diff-lcs (>= 1.2.0, < 2.0)
63
+ rspec-support (~> 3.10.0)
64
+ rspec-mocks (3.10.0)
65
+ diff-lcs (>= 1.2.0, < 2.0)
66
+ rspec-support (~> 3.10.0)
67
+ rspec-support (3.10.0)
68
+ rubocop (1.6.1)
69
+ parallel (~> 1.10)
70
+ parser (>= 2.7.1.5)
71
+ rainbow (>= 2.2.2, < 4.0)
72
+ regexp_parser (>= 1.8, < 3.0)
73
+ rexml
74
+ rubocop-ast (>= 1.2.0, < 2.0)
75
+ ruby-progressbar (~> 1.7)
76
+ unicode-display_width (>= 1.4.0, < 2.0)
77
+ rubocop-ast (1.3.0)
78
+ parser (>= 2.7.1.5)
79
+ rubocop-performance (1.9.1)
80
+ rubocop (>= 0.90.0, < 2.0)
81
+ rubocop-ast (>= 0.4.0)
82
+ rubocop-rspec (2.1.0)
83
+ rubocop (~> 1.0)
84
+ rubocop-ast (>= 1.1.0)
85
+ ruby-progressbar (1.10.1)
86
+ shoulda-matchers (4.4.1)
87
+ activesupport (>= 4.2.0)
88
+ super_diff (0.5.2)
89
+ attr_extras (>= 6.2.4)
90
+ diff-lcs
91
+ patience_diff
92
+ timecop (0.9.2)
93
+ trollop (1.16.2)
94
+ tzinfo (2.0.4)
95
+ concurrent-ruby (~> 1.0)
96
+ unicode-display_width (1.7.0)
97
+ webmock (3.11.0)
98
+ addressable (>= 2.3.6)
99
+ crack (>= 0.3.2)
100
+ hashdiff (>= 0.4.0, < 2.0.0)
101
+ zeitwerk (2.4.2)
102
+
103
+ PLATFORMS
104
+ ruby
105
+
106
+ DEPENDENCIES
107
+ climate_control
108
+ factory_bot
109
+ ffaker
110
+ kozo!
111
+ overcommit
112
+ pry-byebug
113
+ rspec (~> 3.10)
114
+ rubocop
115
+ rubocop-performance
116
+ rubocop-rspec
117
+ shoulda-matchers
118
+ super_diff
119
+ timecop
120
+ webmock
121
+
122
+ RUBY VERSION
123
+ ruby 2.7.2p137
124
+
125
+ BUNDLED WITH
126
+ 2.1.4
@@ -0,0 +1,20 @@
1
+ Copyright 2020 Florian Dejonckheere
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.