fittings 0.2.1 → 0.2.4

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: 439b5a8be43662c47cd5addf374576c13630cfad
4
- data.tar.gz: 94ace6db002ecde0f67d447ce682ef01d638a8e8
2
+ SHA256:
3
+ metadata.gz: 493b1379d6d0b0a55dce9c8c6bc9e570ea772c0c410557f66af5b3c1be2459a7
4
+ data.tar.gz: 37ebe4de56774c3c3c6c15c89d2e05a709feeb64ca64a16805b1ee05eb918cd0
5
5
  SHA512:
6
- metadata.gz: a8f492235d7a68d4fd2a648b7d788546eabb478b3b4048a15237fa08fe59b9c2df9dbcc904b052257e36345b6f2e95b5d4846107c1e514801ea828d8c31be7a0
7
- data.tar.gz: d571940258d9359e2c1fa68f6aaccade7ad1563c32244c4f73458ba4428387a8b9852dba31789226e6728f9e846a2d74ac91385b13c0e22fdd6d76790034c842
6
+ metadata.gz: b43a7b9becd16de4fea88608e9726f94d1b46a7832bf880b8237f4664c2018e9020b06ab6a4ea54bfd21eaa533df0bf4c8568443a48a7cbe66a7b998dfd4489c
7
+ data.tar.gz: 9b477222f062079e001d230e41554c9523868c12a738f0e15e8e26ba898661a41053c6bb3feeadb58c5c3fd29f3c252961c2a535a92374be02fba2f7812eefa9
@@ -0,0 +1,145 @@
1
+ # DO NOT MODIFY - this is managed by Git Reduce in goro and generated from build-matrix.json
2
+ #
3
+ ---
4
+ version: 2
5
+ jobs:
6
+ generate-and-push-docs:
7
+ docker:
8
+ - image: cimg/ruby:3.0.3
9
+ auth:
10
+ username: "$DOCKERHUB_USERNAME"
11
+ password: "$DOCKERHUB_PASSWORD"
12
+ steps:
13
+ - checkout
14
+ - run: bundle config stitchfix01.jfrog.io $ARTIFACTORY_USER:$ARTIFACTORY_TOKEN
15
+ - run: bundle install
16
+ - run:
17
+ name: Generate documentation
18
+ command: ' if [[ $(bundle exec rake -T docs:generate:custom) ]]; then echo
19
+ "Generating docs using rake task docs:generate:custom" ; bundle exec rake
20
+ docs:generate:custom ; elif [[ $(bundle exec rake -T docs:generate) ]];
21
+ then echo "Generating docs using rake task docs:generate" ; bundle exec
22
+ rake docs:generate ; else echo "Skipping doc generation" ; exit 0 ; fi '
23
+ - run:
24
+ name: Push documentation to Unwritten
25
+ command: if [[ $(bundle exec rake -T docs:push) ]]; then bundle exec rake
26
+ docs:push; fi
27
+ release:
28
+ docker:
29
+ - image: cimg/ruby:3.0.3
30
+ auth:
31
+ username: "$DOCKERHUB_USERNAME"
32
+ password: "$DOCKERHUB_PASSWORD"
33
+ steps:
34
+ - checkout
35
+ - run: bundle config stitchfix01.jfrog.io $ARTIFACTORY_USER:$ARTIFACTORY_TOKEN
36
+ - run: bundle install
37
+ - run:
38
+ name: Artifactory login
39
+ command: mkdir -p ~/.gem && curl -u$ARTIFACTORY_USER:$ARTIFACTORY_TOKEN https://stitchfix01.jfrog.io/stitchfix01/api/gems/eng-gems/api/v1/api_key.yaml
40
+ > ~/.gem/credentials && chmod 0600 ~/.gem/credentials
41
+ - run:
42
+ name: Build/release gem to artifactory
43
+ command: bundle exec rake push_artifactory
44
+ ruby-3.0.3:
45
+ docker:
46
+ - image: cimg/ruby:3.0.3
47
+ auth:
48
+ username: "$DOCKERHUB_USERNAME"
49
+ password: "$DOCKERHUB_PASSWORD"
50
+ working_directory: "~/fittings"
51
+ steps:
52
+ - checkout
53
+ - run:
54
+ name: Check for Gemfile.lock presence
55
+ command: ' if (test -f Gemfile.lock) then echo "Dont commit Gemfile.lock (see
56
+ https://github.com/stitchfix/eng-wiki/blob/main/architecture-decisions/0009-rubygem-dependencies-will-be-managed-more-explicitly.md)"
57
+ 1>&2 ; exit 1 ; else exit 0 ; fi '
58
+ - run: bundle config stitchfix01.jfrog.io $ARTIFACTORY_USER:$ARTIFACTORY_TOKEN
59
+ - run: bundle install
60
+ - run: bundle exec rspec --format RspecJunitFormatter --out /tmp/test-results/rspec.xml
61
+ --format=doc
62
+ - run:
63
+ name: Run Additional CI Steps
64
+ command: if [ -e bin/additional-ci-steps ]; then bin/additional-ci-steps;
65
+ fi
66
+ - run:
67
+ name: Notify Pager Duty
68
+ command: bundle exec y-notify "eng-runtime-info"
69
+ when: on_fail
70
+ - store_test_results:
71
+ path: "/tmp/test-results"
72
+ ruby-2.7.5:
73
+ docker:
74
+ - image: cimg/ruby:2.7.5
75
+ auth:
76
+ username: "$DOCKERHUB_USERNAME"
77
+ password: "$DOCKERHUB_PASSWORD"
78
+ working_directory: "~/fittings"
79
+ steps:
80
+ - checkout
81
+ - run:
82
+ name: Check for Gemfile.lock presence
83
+ command: ' if (test -f Gemfile.lock) then echo "Dont commit Gemfile.lock (see
84
+ https://github.com/stitchfix/eng-wiki/blob/main/architecture-decisions/0009-rubygem-dependencies-will-be-managed-more-explicitly.md)"
85
+ 1>&2 ; exit 1 ; else exit 0 ; fi '
86
+ - run: bundle config stitchfix01.jfrog.io $ARTIFACTORY_USER:$ARTIFACTORY_TOKEN
87
+ - run: bundle install
88
+ - run: bundle exec rspec --format RspecJunitFormatter --out /tmp/test-results/rspec.xml
89
+ --format=doc
90
+ - run:
91
+ name: Run Additional CI Steps
92
+ command: if [ -e bin/additional-ci-steps ]; then bin/additional-ci-steps;
93
+ fi
94
+ - run:
95
+ name: Notify Pager Duty
96
+ command: bundle exec y-notify "eng-runtime-info"
97
+ when: on_fail
98
+ - store_test_results:
99
+ path: "/tmp/test-results"
100
+ workflows:
101
+ version: 2
102
+ on-commit:
103
+ jobs:
104
+ - release:
105
+ context: org-global
106
+ requires:
107
+ - ruby-3.0.3
108
+ - ruby-2.7.5
109
+ filters:
110
+ tags:
111
+ only: /^[0-9]+\.[0-9]+\.[0-9]+(\.?(RC|rc)[-\.]?\w*)?$/
112
+ branches:
113
+ ignore: /.*/
114
+ - generate-and-push-docs:
115
+ context: org-global
116
+ requires:
117
+ - release
118
+ filters:
119
+ tags:
120
+ only: /^[0-9]+\.[0-9]+\.[0-9]+(\.?(RC|rc)[-\.]?\w*)?$/
121
+ branches:
122
+ ignore: /.*/
123
+ - ruby-3.0.3:
124
+ context: org-global
125
+ filters:
126
+ tags:
127
+ only: &1 /.*/
128
+ - ruby-2.7.5:
129
+ context: org-global
130
+ filters:
131
+ tags:
132
+ only: *1
133
+ scheduled:
134
+ triggers:
135
+ - schedule:
136
+ cron: 26 18 * * 1,2,3,4,5
137
+ filters:
138
+ branches:
139
+ only:
140
+ - main
141
+ jobs:
142
+ - ruby-3.0.3:
143
+ context: org-global
144
+ - ruby-2.7.5:
145
+ context: org-global
@@ -0,0 +1,4 @@
1
+ # This file uses the GitHub CODEOWNERS convention to assign PR reviewers:
2
+ # https://help.github.com/articles/about-codeowners/
3
+
4
+ * @stitchfix/runtime-infrastructure
@@ -0,0 +1,7 @@
1
+ ## Problem
2
+
3
+ «Brief overview of the problem»
4
+
5
+ ## Solution
6
+
7
+ «Brief description of how you solved the problem»
data/.gitignore CHANGED
@@ -3,3 +3,8 @@ html
3
3
  pkg
4
4
  .idea
5
5
  .rvmrc
6
+ Gemfile.lock
7
+
8
+ ## VS Code and extensions
9
+ .history
10
+ .vscode
data/.ruby-gemset ADDED
@@ -0,0 +1 @@
1
+ fittings
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.4.1
1
+ 2.7.2
data/.travis.yml CHANGED
@@ -1,8 +1,10 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.2.7
4
- - 2.3.4
5
- - 2.4.1
3
+ - 2.6
4
+ - 2.7
6
5
  - ruby-head
7
6
  before_install:
8
7
  - gem install bundler
8
+ jobs:
9
+ allow_failures:
10
+ - rvm: ruby-head
data/README.rdoc CHANGED
@@ -1,6 +1,6 @@
1
1
  = fittings
2
2
 
3
- This is a fork of ModCloth's mc-settings gem which has gone unmaintained and has deprection warnings. This modernizes that and will be maintained.
3
+ This is a fork of ModCloth's mc-settings gem which has gone unmaintained and has deprecation warnings. This modernizes that and will be maintained.
4
4
 
5
5
  == Install
6
6
 
data/build-matrix.json ADDED
@@ -0,0 +1,4 @@
1
+ {
2
+ "build_matrix": {
3
+ }
4
+ }
data/fittings.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "fittings"
3
- s.version = "0.2.1"
3
+ s.version = "0.2.4"
4
4
 
5
5
  s.authors = ["Edwin Cruz", "Colin Shield"]
6
6
  s.date = %q{2011-09-06}
@@ -23,5 +23,5 @@ Gem::Specification.new do |s|
23
23
  s.add_development_dependency "rspec"
24
24
  s.add_development_dependency "rake"
25
25
  s.add_development_dependency "rdoc"
26
+ s.add_development_dependency('rspec_junit_formatter')
26
27
  end
27
-
data/lib/setting.rb CHANGED
@@ -71,6 +71,11 @@ class Setting
71
71
  end
72
72
  end
73
73
 
74
+ def self.respond_to?(method_name, include_private = false)
75
+ self.instance.available_settings.has_key?(method_name.to_s.sub(/\?\z/, '')) ||
76
+ super
77
+ end
78
+
74
79
  # In [] invocation syntax, we return settings value 'as is' without
75
80
  # Hash conversions.
76
81
  #
@@ -175,7 +180,14 @@ class Setting
175
180
 
176
181
  files.flatten.each do |file|
177
182
  begin
178
- @available_settings.recursive_merge!(YAML::load(ERB.new(IO.read(file)).result) || {}) if File.exists?(file)
183
+ # Ruby versions before 3.0.3 include Psych < 3.3.2, which does not include `unsafe_load`. In those versions,
184
+ # `load` is the behavior we want (in later versions, `load` uses `safe_load`, which doesn't support aliases and
185
+ # requires allowlisting classes used in files.
186
+ if Psych::VERSION < '3.3.2'
187
+ @available_settings.recursive_merge!(YAML::load(ERB.new(IO.read(file)).result) || {}) if File.exists?(file)
188
+ else
189
+ @available_settings.recursive_merge!(YAML::unsafe_load(ERB.new(IO.read(file)).result) || {}) if File.exists?(file)
190
+ end
179
191
  rescue Exception => e
180
192
  raise FileError.new("Error parsing file #{file}, with: #{e.message}")
181
193
  end
data/owners.json ADDED
@@ -0,0 +1,7 @@
1
+ {
2
+ "owners": [
3
+ {
4
+ "team": "eng-runtime"
5
+ }
6
+ ]
7
+ }
metadata CHANGED
@@ -1,12 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fittings
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Edwin Cruz
8
8
  - Colin Shield
9
- autorequire:
9
+ autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
12
  date: 2011-09-06 00:00:00.000000000 Z
@@ -53,6 +53,20 @@ dependencies:
53
53
  - - ">="
54
54
  - !ruby/object:Gem::Version
55
55
  version: '0'
56
+ - !ruby/object:Gem::Dependency
57
+ name: rspec_junit_formatter
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
56
70
  description: implement custom keys independently of environment
57
71
  email: eng@stitchfix.com
58
72
  executables: []
@@ -61,26 +75,31 @@ extra_rdoc_files:
61
75
  - LICENSE.txt
62
76
  - README.rdoc
63
77
  files:
78
+ - ".circleci/config.yml"
79
+ - ".github/CODEOWNERS"
80
+ - ".github/PULL_REQUEST_TEMPLATE.md"
64
81
  - ".gitignore"
82
+ - ".ruby-gemset"
65
83
  - ".ruby-version"
66
84
  - ".travis.yml"
67
85
  - CODE_OF_CONDUCT.md
68
86
  - Gemfile
69
- - Gemfile.lock
70
87
  - LICENSE.txt
71
88
  - README.rdoc
72
89
  - Rakefile
73
90
  - bin/rake
74
91
  - bin/rspec
92
+ - build-matrix.json
75
93
  - fittings.gemspec
76
94
  - lib/fittings.rb
77
95
  - lib/mc-settings.rb
78
96
  - lib/setting.rb
97
+ - owners.json
79
98
  homepage: http://github.com/stitchfix/fittings
80
99
  licenses:
81
100
  - MIT
82
101
  metadata: {}
83
- post_install_message:
102
+ post_install_message:
84
103
  rdoc_options: []
85
104
  require_paths:
86
105
  - lib
@@ -95,9 +114,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
95
114
  - !ruby/object:Gem::Version
96
115
  version: '0'
97
116
  requirements: []
98
- rubyforge_project:
99
- rubygems_version: 2.6.13
100
- signing_key:
117
+ rubygems_version: 3.2.5
118
+ signing_key:
101
119
  specification_version: 4
102
120
  summary: Manage settings per environment
103
121
  test_files: []
data/Gemfile.lock DELETED
@@ -1,36 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- fittings (0.2.1)
5
-
6
- GEM
7
- remote: http://rubygems.org/
8
- specs:
9
- diff-lcs (1.3)
10
- rake (12.1.0)
11
- rdoc (5.1.0)
12
- rspec (3.6.0)
13
- rspec-core (~> 3.6.0)
14
- rspec-expectations (~> 3.6.0)
15
- rspec-mocks (~> 3.6.0)
16
- rspec-core (3.6.0)
17
- rspec-support (~> 3.6.0)
18
- rspec-expectations (3.6.0)
19
- diff-lcs (>= 1.2.0, < 2.0)
20
- rspec-support (~> 3.6.0)
21
- rspec-mocks (3.6.0)
22
- diff-lcs (>= 1.2.0, < 2.0)
23
- rspec-support (~> 3.6.0)
24
- rspec-support (3.6.0)
25
-
26
- PLATFORMS
27
- ruby
28
-
29
- DEPENDENCIES
30
- fittings!
31
- rake
32
- rdoc
33
- rspec
34
-
35
- BUNDLED WITH
36
- 1.15.4