envied 0.10.0.alpha3 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
metadata CHANGED
@@ -1,131 +1,62 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: envied
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0.alpha3
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gert Goet
8
- autorequire:
8
+ - Javier Julio
9
+ autorequire:
9
10
  bindir: exe
10
11
  cert_chain: []
11
- date: 2019-07-19 00:00:00.000000000 Z
12
+ date: 2024-08-09 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: thor
15
16
  requirement: !ruby/object:Gem::Requirement
16
17
  requirements:
17
- - - "~>"
18
+ - - ">="
18
19
  - !ruby/object:Gem::Version
19
- version: '0.20'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '0.20'
27
- - !ruby/object:Gem::Dependency
28
- name: bundler
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '2.0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
20
+ version: '0.15'
21
+ - - "<"
39
22
  - !ruby/object:Gem::Version
40
23
  version: '2.0'
41
- - !ruby/object:Gem::Dependency
42
- name: pry
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '0.12'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '0.12'
55
- - !ruby/object:Gem::Dependency
56
- name: rake
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '12.0'
62
- type: :development
24
+ type: :runtime
63
25
  prerelease: false
64
26
  version_requirements: !ruby/object:Gem::Requirement
65
27
  requirements:
66
- - - "~>"
28
+ - - ">="
67
29
  - !ruby/object:Gem::Version
68
- version: '12.0'
69
- - !ruby/object:Gem::Dependency
70
- name: rspec
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: '3.0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
30
+ version: '0.15'
31
+ - - "<"
81
32
  - !ruby/object:Gem::Version
82
- version: '3.0'
33
+ version: '2.0'
83
34
  description: Ensure presence and type of your app's ENV-variables.
84
35
  email:
85
36
  - gert@thinkcreate.nl
37
+ - jjfutbol@gmail.com
86
38
  executables:
87
39
  - envied
88
40
  extensions: []
89
41
  extra_rdoc_files: []
90
42
  files:
91
- - ".envrc.sample"
92
- - ".github/pull_request_template.md"
93
- - ".gitignore"
94
- - ".gitlab-ci.yml"
95
- - ".rspec"
96
- - CHANGELOG.md
97
- - Gemfile
98
43
  - LICENSE.txt
99
44
  - README.md
100
- - Rakefile
101
- - bin/bundle
102
- - bin/console
103
- - bin/envied
104
- - bin/rspec
105
- - bin/setup
106
- - envied.gemspec
107
- - examples/extensive_envfile
108
45
  - exe/envied
109
46
  - lib/envied.rb
110
47
  - lib/envied/cli.rb
111
48
  - lib/envied/coercer.rb
112
49
  - lib/envied/coercer/envied_string.rb
113
50
  - lib/envied/configuration.rb
114
- - lib/envied/env_interceptor.rb
115
51
  - lib/envied/env_proxy.rb
116
52
  - lib/envied/env_var_extractor.rb
117
- - lib/envied/templates/Envfile.tt
118
- - lib/envied/templates/heroku-env-check.tt
119
53
  - lib/envied/variable.rb
120
54
  - lib/envied/version.rb
121
- homepage: https://gitlab.com/envied/envied/tree/master#envied
55
+ homepage: https://github.com/javierjulio/envied
122
56
  licenses:
123
57
  - MIT
124
- metadata:
125
- homepage_uri: https://gitlab.com/envied/envied/tree/master#envied
126
- source_code_uri: https://gitlab.com/envied/envied.git
127
- changelog_uri: https://gitlab.com/envied/envied/blob/master/CHANGELOG.md
128
- post_install_message:
58
+ metadata: {}
59
+ post_install_message:
129
60
  rdoc_options: []
130
61
  require_paths:
131
62
  - lib
@@ -133,15 +64,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
133
64
  requirements:
134
65
  - - ">="
135
66
  - !ruby/object:Gem::Version
136
- version: '2.4'
67
+ version: '3.0'
137
68
  required_rubygems_version: !ruby/object:Gem::Requirement
138
69
  requirements:
139
- - - ">"
70
+ - - ">="
140
71
  - !ruby/object:Gem::Version
141
- version: 1.3.1
72
+ version: '0'
142
73
  requirements: []
143
- rubygems_version: 3.0.3
144
- signing_key:
74
+ rubygems_version: 3.5.15
75
+ signing_key:
145
76
  specification_version: 4
146
77
  summary: Ensure presence and type of ENV-variables
147
78
  test_files: []
data/.envrc.sample DELETED
@@ -1,9 +0,0 @@
1
- # Copy this file to .envrc, adjust values if needed and
2
- # `source .envrc` to apply it.
3
- # Or use [direnv](https://direnv.net/) to auto-(un)load it.
4
-
5
- # using direnv
6
- # PATH_add bin
7
-
8
- # without direnv
9
- # export PATH="$(pwd)/bin:${PATH}"
@@ -1,2 +0,0 @@
1
- *NOTE* the canonical repository for this project can be found at **https://gitlab.com/envied/envied**.
2
- Please open issues and send patches there.
data/.gitignore DELETED
@@ -1,15 +0,0 @@
1
- /.bundle/
2
- /.yardoc
3
- /_yardoc/
4
- /coverage/
5
- /doc/
6
- /pkg/
7
- /spec/reports/
8
- /spec/examples.txt
9
- /tmp/
10
-
11
- # rspec failure tracking
12
- .rspec_status
13
-
14
- Gemfile.lock
15
- .envrc
data/.gitlab-ci.yml DELETED
@@ -1,50 +0,0 @@
1
- .rspec: &rspec
2
- stage: test
3
- tags:
4
- - docker
5
- before_script:
6
- - "echo 'gem: --no-document' > ~/.gemrc"
7
- - gem install bundler
8
- - 'git -v || apk --update add git'
9
- - bundle install -j $(nproc)
10
- script:
11
- - ./bin/rspec
12
-
13
- rspec ruby-2.4:
14
- image: ruby:2.4-alpine
15
- <<: *rspec
16
-
17
- rspec ruby-2.5:
18
- image: ruby:2.5-alpine
19
- <<: *rspec
20
-
21
- rspec ruby-2.6:
22
- image: ruby:2.6-alpine
23
- <<: *rspec
24
-
25
- rspec ruby-2.7:
26
- image: ruby:2.7-rc-alpine
27
- <<: *rspec
28
-
29
- rspec jruby-9.2:
30
- image: jruby:9.2-alpine
31
- <<: *rspec
32
- only:
33
- - master
34
-
35
- release:
36
- stage: deploy
37
- image: ruby:2.6-alpine
38
- tags:
39
- - docker
40
- script:
41
- - "echo 'gem: --no-document' > ~/.gemrc"
42
- - gem install bundler
43
- - 'git -v || apk --update add git'
44
- - bundle install -j $(nproc)
45
- - 'ruby -ryaml -e "puts YAML.dump({rubygems_api_key: ENV.fetch(%{RUBYGEMS_API_KEY})})" > ~/.gem/credentials'
46
- - chmod 600 ~/.gem/credentials
47
- - bundle exec rake release
48
- only:
49
- - tags
50
- environment: production
data/.rspec DELETED
@@ -1,3 +0,0 @@
1
- --color
2
- --require spec_helper
3
- --format documentation
data/CHANGELOG.md DELETED
@@ -1,208 +0,0 @@
1
- ## master / unreleased
2
-
3
- ### Added
4
-
5
- * key alias
6
-
7
- # file: Envfile
8
- key_alias! { Rails.env }
9
- variable :FOO
10
-
11
- The value of ENV['FOO_DEVELOPMENT'] will take precedence over ENV['FOO'] when running in development.
12
-
13
- ## 0.9.3 / 2019-06-29
14
-
15
- * Project moved to GitLab (https://gitlab.com/envied/envied)
16
- * Now requiring Ruby 2.4+ [#48], [#51]
17
- * Removed `coercible` dependency as now all coercion functionality is implemented locally. This is a backwards compatible change. [#49]
18
- * Lots of refactoring and bringing the project up-to-date
19
-
20
- ### Deprecated
21
-
22
- * default values
23
-
24
- See https://gitlab.com/envied/envied/tree/0-9-releases#defaults
25
-
26
- ## 0.9.1 / 2017-07-06
27
-
28
- * Updates `envied check:heroku` to support multiline ENV variables [#42](../../pull/42)
29
-
30
- ## 0.9.0 / 2017-03-01
31
-
32
- * Support multiple groups [#16](../../pull/16)
33
- * Replaced rack dependency with stdlib solution using CGI for supporting hash type
34
- * Now requiring Ruby 2.1.x and up
35
- * Added float type which resolves [#30](../../pull/30)
36
- * Added uri type [#22](../../pull/22)
37
- * Updated extractor to find interpolated ENV vars which fixes [#21](../../pull/21)
38
- * Various typo fixes [#24](../../pull/24) and [#28](../../pull/28)
39
- * Resolved warnings when running tests
40
-
41
- ## 0.8.2 / 2017-02-21
42
-
43
- ### Added
44
-
45
- * Rails 5 support [#25](../../pull/25)
46
-
47
- ### Fixed
48
-
49
- * Envfile: type string is also correctly implied when providing a default.
50
-
51
- ## 0.8.1 / 2014-10-18
52
-
53
- ### Added
54
-
55
- * the `check` task uses ENV['ENVIED_GROUPS'] as default groups-option if present
56
-
57
- ### Fixed
58
-
59
- * Rails: you can use ENVied now in config/application.rb and config/environments/*.rb
60
-
61
- For existing projects: rerun the `init:rails`-task
62
-
63
- * running `check:heroku` takes Heroku's value of ENVIED_GROUPS into account
64
- * calling `enable_defaults!` without arguments now does what it says
65
-
66
- ### Deprecated
67
-
68
- * doing `ENVied.require` in `config/initializers/envied.rb` (as previously generated by `init:rails`-task)
69
- is not recommended anymore. It triggers a deprecation warning.
70
-
71
- It's recommended to rerun the `init:rails`-task.
72
-
73
- ## 0.8.0 / 2014-10-04
74
-
75
- ### Added
76
-
77
- * the `check:heroku:binstub` task uses ENV['HEROKU_APP'] as app-option if present
78
- * the `check` and `check:heroku` task now have a `--quiet` option
79
-
80
- This prevents output on STDOUT for a successful check.
81
- Handy for wrapper-scripts:
82
-
83
- # some bash-script 'ensure-env'
84
- #!/usr/bin/env bash
85
- bundle exec envied check --quiet --groups default && $@
86
-
87
- $ ./ensure-env echo 'works!'
88
- works!
89
-
90
- * ENVied.require accepts string with groups, e.g. 'default,production'
91
-
92
- This way it's possible to easily require groups using the ENV:
93
-
94
- # config/initializers/envied.rb
95
- ENVied.require(*ENV['ENVIED_GROUPS'] || Rails.groups)
96
-
97
- $ ENVIED_GROUPS='default,production' bin/rails server
98
-
99
- ### Fixed
100
-
101
- * extract-task would report at most one variable per line of code.
102
- * extract-task would not extract variable names with digits
103
-
104
- ### Deprecated
105
-
106
- * titlecase variable types. Use downcased instead: `variable :PORT, :integer`
107
-
108
- ### Removed
109
-
110
- * extract: test/spec-folder are no longer part of the default globs.
111
-
112
- Use the option `--tests` to include it:
113
-
114
- $ bundle exec envied extract --tests
115
-
116
- ## 0.7.2 / 2014-09-07
117
-
118
- ### Added
119
-
120
- * extract-task: see all ENV-variables used in your project.
121
-
122
- $ envied extract
123
- Found 63 occurrences of 45 variables:
124
- BUNDLE_GEMFILE
125
- * config/boot.rb:4
126
- * config/boot.rb:6
127
- ...
128
-
129
- * version-task (i.e. bin/envied --version)
130
-
131
- ## 0.7.1 / 2014-08-29
132
-
133
- * Total refactor (TM).
134
-
135
- * Fix bug in Heroku binstub.
136
-
137
- It checked for group 'default,production' instead of 'default' and 'production'.
138
-
139
- ## 0.7.0 / 2014-08-24
140
-
141
- * Add init:rails-task for setup in Rails applications.
142
-
143
- ## 0.6.3 / 2014-08-22
144
-
145
- * Fix bug: 'false' was not a coercible value.
146
-
147
- ## 0.6.2 / 2014-08-20
148
-
149
- * Add `envied check:heroku` to do a check on your Heroku app.
150
-
151
- * Add `envied check:heroku:binstub` to generate script for convenient 'check:heroku'
152
-
153
- ## 0.6.1 / 2014-08-13
154
-
155
- * Add `envied check` to check whether defined variables are present and valid.
156
-
157
- ## 0.6.0 / 2014-08-13
158
-
159
- * The configuration now lives in `Envfile` by default.
160
-
161
- ## 0.5.0 / 2014-07-02
162
-
163
- * add Array Hash types
164
-
165
- # in env.rb
166
- ENVied.configure { variable :TAGS, :Array; variable :HASH, :Hash }
167
- ENVied.require
168
-
169
- $ HASH=a=1&b=2 TAGS=tag1,tag2 ruby -renvied -r./env.rb -e 'p ENVied.TAGS'
170
- # ["tag1", "tag2"]
171
- $ HASH='a=1&b=2' TAGS=tag1,tag2 ruby -renvied -r./env.rb -e 'p ENVied.HASH'
172
- # {'a' => '1', 'b' => '2'}
173
-
174
- ## 0.4.0 / 2014-05-16
175
-
176
- * groups added
177
-
178
- This allows for more fine-grained requiring.
179
- See the section in the [README](https://github.com/eval/envied/tree/v0.4.0#groups).
180
-
181
- * configuring is now simpler:
182
-
183
- ENVied.configure { variable :RACK_ENV }
184
- # vs
185
- ENVied.configure {|env| env.variable :RACK_ENV }
186
-
187
- * Deprecate `require!`. Use `require` instead.
188
-
189
- Just like requiring groups with Bundler.
190
-
191
- * Deprecate lowercase methods for uppercase ENV-variables.
192
-
193
- `ENV['RACK_ENV']` is no longer accessible as `ENVied.rack_env`, only as `ENVied.RACK_ENV`.
194
- This is not only what you would expect, but it also reduces the chance of clashing with existing class-methods.
195
-
196
- ## 0.3.0 / 2014-03-14
197
-
198
- * defaults need to be enabled explicitly:
199
-
200
- `ENVied.configure(enable_defaults: Rails.env.development?) { ... }`
201
-
202
- ## 0.2.0 / 2014-03-14
203
-
204
- * add defaults
205
-
206
- ## 0.1.0 / 2014-03-13
207
-
208
- * add defaults
data/Gemfile DELETED
@@ -1,4 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- # Specify your gem's dependencies in envied.gemspec
4
- gemspec
data/Rakefile DELETED
@@ -1,6 +0,0 @@
1
- require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
3
-
4
- RSpec::Core::RakeTask.new(:spec)
5
-
6
- task default: :spec
data/bin/bundle DELETED
@@ -1,105 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- #
5
- # This file was generated by Bundler.
6
- #
7
- # The application 'bundle' is installed as part of a gem, and
8
- # this file is here to facilitate running it.
9
- #
10
-
11
- require "rubygems"
12
-
13
- m = Module.new do
14
- module_function
15
-
16
- def invoked_as_script?
17
- File.expand_path($0) == File.expand_path(__FILE__)
18
- end
19
-
20
- def env_var_version
21
- ENV["BUNDLER_VERSION"]
22
- end
23
-
24
- def cli_arg_version
25
- return unless invoked_as_script? # don't want to hijack other binstubs
26
- return unless "update".start_with?(ARGV.first || " ") # must be running `bundle update`
27
- bundler_version = nil
28
- update_index = nil
29
- ARGV.each_with_index do |a, i|
30
- if update_index && update_index.succ == i && a =~ Gem::Version::ANCHORED_VERSION_PATTERN
31
- bundler_version = a
32
- end
33
- next unless a =~ /\A--bundler(?:[= ](#{Gem::Version::VERSION_PATTERN}))?\z/
34
- bundler_version = $1 || ">= 0.a"
35
- update_index = i
36
- end
37
- bundler_version
38
- end
39
-
40
- def gemfile
41
- gemfile = ENV["BUNDLE_GEMFILE"]
42
- return gemfile if gemfile && !gemfile.empty?
43
-
44
- File.expand_path("../../Gemfile", __FILE__)
45
- end
46
-
47
- def lockfile
48
- lockfile =
49
- case File.basename(gemfile)
50
- when "gems.rb" then gemfile.sub(/\.rb$/, gemfile)
51
- else "#{gemfile}.lock"
52
- end
53
- File.expand_path(lockfile)
54
- end
55
-
56
- def lockfile_version
57
- return unless File.file?(lockfile)
58
- lockfile_contents = File.read(lockfile)
59
- return unless lockfile_contents =~ /\n\nBUNDLED WITH\n\s{2,}(#{Gem::Version::VERSION_PATTERN})\n/
60
- Regexp.last_match(1)
61
- end
62
-
63
- def bundler_version
64
- @bundler_version ||= begin
65
- env_var_version || cli_arg_version ||
66
- lockfile_version || "#{Gem::Requirement.default}.a"
67
- end
68
- end
69
-
70
- def load_bundler!
71
- ENV["BUNDLE_GEMFILE"] ||= gemfile
72
-
73
- # must dup string for RG < 1.8 compatibility
74
- activate_bundler(bundler_version.dup)
75
- end
76
-
77
- def activate_bundler(bundler_version)
78
- if Gem::Version.correct?(bundler_version) && Gem::Version.new(bundler_version).release < Gem::Version.new("2.0")
79
- bundler_version = "< 2"
80
- end
81
- gem_error = activation_error_handling do
82
- gem "bundler", bundler_version
83
- end
84
- return if gem_error.nil?
85
- require_error = activation_error_handling do
86
- require "bundler/version"
87
- end
88
- return if require_error.nil? && Gem::Requirement.new(bundler_version).satisfied_by?(Gem::Version.new(Bundler::VERSION))
89
- warn "Activating bundler (#{bundler_version}) failed:\n#{gem_error.message}\n\nTo install the version of bundler this project requires, run `gem install bundler -v '#{bundler_version}'`"
90
- exit 42
91
- end
92
-
93
- def activation_error_handling
94
- yield
95
- nil
96
- rescue StandardError, LoadError => e
97
- e
98
- end
99
- end
100
-
101
- m.load_bundler!
102
-
103
- if m.invoked_as_script?
104
- load Gem.bin_path("bundler", "bundle")
105
- end
data/bin/console DELETED
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require "bundler/setup"
4
- require "envied"
5
-
6
- # You can add fixtures and/or initialization code here to make experimenting
7
- # with your gem easier. You can also use a different console, if you like.
8
-
9
- require 'pry'
10
- Pry.start
data/bin/envied DELETED
@@ -1,5 +0,0 @@
1
- #!/usr/bin/env ruby -Ilib
2
-
3
- require 'envied'
4
-
5
- ENVied::Cli.start
data/bin/rspec DELETED
@@ -1,29 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- #
5
- # This file was generated by Bundler.
6
- #
7
- # The application 'rspec' is installed as part of a gem, and
8
- # this file is here to facilitate running it.
9
- #
10
-
11
- require "pathname"
12
- ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
13
- Pathname.new(__FILE__).realpath)
14
-
15
- bundle_binstub = File.expand_path("../bundle", __FILE__)
16
-
17
- if File.file?(bundle_binstub)
18
- if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
19
- load(bundle_binstub)
20
- else
21
- abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
22
- Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
23
- end
24
- end
25
-
26
- require "rubygems"
27
- require "bundler/setup"
28
-
29
- load Gem.bin_path("rspec-core", "rspec")
data/bin/setup DELETED
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
- set -vx
5
-
6
- bundle install
7
-
8
- # Do any other automated setup that you need to do here
data/envied.gemspec DELETED
@@ -1,38 +0,0 @@
1
- # coding: utf-8
2
- lib = File.expand_path("../lib", __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require "envied/version"
5
-
6
- Gem::Specification.new do |spec|
7
- spec.name = "envied"
8
- spec.version = ENVied::VERSION
9
- spec.authors = ["Gert Goet"]
10
- spec.email = ["gert@thinkcreate.nl"]
11
- spec.summary = %q{Ensure presence and type of ENV-variables}
12
- spec.description = %q{Ensure presence and type of your app's ENV-variables.}
13
- spec.homepage = "https://gitlab.com/envied/envied/tree/master#envied"
14
- spec.license = "MIT"
15
-
16
- spec.metadata["homepage_uri"] = spec.homepage
17
- spec.metadata["source_code_uri"] = "https://gitlab.com/envied/envied.git"
18
- spec.metadata["changelog_uri"] = "https://gitlab.com/envied/envied/blob/master/CHANGELOG.md"
19
-
20
- # Specify which files should be added to the gem when it is released.
21
- # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
22
- spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
23
- `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
24
- end
25
- spec.bindir = 'exe'
26
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
27
- spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
28
- spec.require_paths = ["lib"]
29
-
30
- spec.required_ruby_version = ">= 2.4"
31
-
32
- spec.add_dependency "thor", "~> 0.20"
33
-
34
- spec.add_development_dependency "bundler", "~> 2.0"
35
- spec.add_development_dependency "pry", "~> 0.12"
36
- spec.add_development_dependency "rake", "~> 12.0"
37
- spec.add_development_dependency "rspec", "~> 3.0"
38
- end