rails-credentials-git 0.1.0 → 0.1.1

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
  SHA256:
3
- metadata.gz: 62b2479563d72cb114d6ea43f74958299bb0d5023038029262cea512a744b817
4
- data.tar.gz: fc6143fa7728060d423a354ab5361801a247870b25b1f676ffa8afa8060b9ef1
3
+ metadata.gz: 2745a47b6cb5e3f79f47c495fb82e1a768635c85955dd6bb9d303e5e8df5a906
4
+ data.tar.gz: 874beed8043efa141cc8f1587812c6c7b3c8fe2faf70c46e6f7b3ebb59245c40
5
5
  SHA512:
6
- metadata.gz: d006ed3409435eee157e339f0c4aa508a77a790f71198e30a85675c46908ab83d5f6940e0719e126988a1212053c09bd629fe71ccaa5efff0462b7dea9a52c64
7
- data.tar.gz: 7ba38be97d6a1b84dcc1dc29c7627f185617264f289c5cfef972c422bd4092d2918ab9e98f2532fd1518df8176fdfed094aab1175167cea0d9aa876c5bc79d18
6
+ metadata.gz: fbcec101574290dd577f0b74532b65ec9cf61b5e18253ae229eed74320543dae480774af2577b6d41f03e566eef711661a9bc5818a61a46eb0546326e5a93ed2
7
+ data.tar.gz: 76c44df99a4d80ab7cfa6a29048a9f70363c5da19657a736775bf527677586394597157e8c641a5d952c1d3905b672613c9d2b833729a6edb13a729a3e632196
data/.gitignore CHANGED
@@ -6,3 +6,5 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
+ Gemfile.lock
10
+
data/.travis.yml CHANGED
@@ -1,5 +1,6 @@
1
1
  language: ruby
2
2
  cache: bundler
3
+ dist: bionic
3
4
  env:
4
5
  - "RAILS_VERSION=5.2.0"
5
6
  - "RAILS_VERSION=6.0.0"
@@ -9,5 +10,7 @@ rvm:
9
10
  - 3.0.2
10
11
  before_install:
11
12
  - gem update bundler
12
- matrix:
13
- fast_finish: true
13
+ jobs:
14
+ exclude:
15
+ - rvm: 3.0.2
16
+ env: "RAILS_VERSION=5.2.0"
data/README.md CHANGED
@@ -61,7 +61,7 @@ bin/enc --conflict # with RAILS_MASTER_KEY set if you need to
61
61
 
62
62
  ## Development
63
63
 
64
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
64
+ After checking out the repo, run `bundle install` to install dependencies. Then, run `rake test` to run the tests.
65
65
 
66
66
  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`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
67
67
 
data/bin/console ADDED
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require "bundler/setup"
5
+ require "rails-credentials-git"
6
+
7
+ # You can add fixtures and/or initialization code here to make experimenting
8
+ # with your gem easier. You can also use a different console, if you like.
9
+
10
+ # (If you use this, don't forget to add pry to your Gemfile!)
11
+ # require "pry"
12
+ # Pry.start
13
+
14
+ require "irb"
15
+ IRB.start(__FILE__)
@@ -10,7 +10,7 @@ module RailsCredentialsGit
10
10
 
11
11
  desc "install", "Copy binary into project's folder"
12
12
  def install
13
- copy_file "bin/enc", "bin/enc", mode: :preserve
13
+ copy_file "lib/rails-credentials-git/templates/enc", "bin/enc", mode: :preserve
14
14
 
15
15
  method = RailsCredentialsGit.decrypt_method.sub("self.", "")
16
16
  insert_into_file "bin/enc", "\n#{method}" , after: %{require "openssl"\n}
@@ -0,0 +1,48 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require "optparse"
5
+ require "base64"
6
+ require "openssl"
7
+
8
+ options = {}
9
+ OptionParser.new do |opts|
10
+ opts.banner = "Usage: enc [options] <encryped_file>"
11
+
12
+ opts.on('-k', '--key-path', 'Path to master key') do |path|
13
+ options[:key_path] = path
14
+ end
15
+
16
+ opts.on("--conflict") do
17
+ options[:conflict] = true
18
+ end
19
+
20
+ opts.on("--compare=BRANCH") do |branch|
21
+ options[:compare] = branch
22
+ end
23
+ end.parse!
24
+
25
+ key = ENV["RAILS_MASTER_KEY"]
26
+
27
+ unless key
28
+ path = options[:key_path] || File.expand_path("../config/master.key", __dir__)
29
+ key = File.read(path).strip
30
+ end
31
+
32
+ if options.empty?
33
+ content_file = ARGV.empty? ? File.expand_path("../config/credentials.yml.enc", __dir__) : ARGV[0]
34
+ content = File.read(content_file)
35
+ puts decrypt(content, key)
36
+ else
37
+ require "open3"
38
+
39
+ stdout, _, _ = if (target = options[:compare])
40
+ Open3.capture3("git diff --color #{target}:config/credentials.yml.enc HEAD:config/credentials.yml.enc")
41
+ else
42
+ target = File.exist?(File.expand_path("../.git/REBASE_HEAD", __dir__)) ? "REBASE_HEAD" : "MERGE_HEAD"
43
+ Open3.capture3("git diff --color HEAD:config/credentials.yml.enc #{target}:config/credentials.yml.enc")
44
+ end
45
+
46
+ stdout = "Nothing changed" if stdout.empty?
47
+ puts stdout
48
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RailsCredentialsGit
4
- VERSION = "0.1.0"
4
+ VERSION = "0.1.1"
5
5
  end
@@ -21,7 +21,7 @@ Gem::Specification.new do |spec|
21
21
  # Specify which files should be added to the gem when it is released.
22
22
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
23
23
  spec.files = Dir.chdir(File.expand_path(__dir__)) do
24
- `git ls-files -z`.split("\x0").reject { |f| f.match(%r{\A(?:test|bin)/}) }
24
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{\A(?:test)/}) }
25
25
  end
26
26
  spec.bindir = "bin"
27
27
  spec.executables = ["rails_credentials_git"]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-credentials-git
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - ccocchi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-10-08 00:00:00.000000000 Z
11
+ date: 2021-10-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -104,13 +104,14 @@ files:
104
104
  - ".travis.yml"
105
105
  - CODE_OF_CONDUCT.md
106
106
  - Gemfile
107
- - Gemfile.lock
108
107
  - LICENSE.txt
109
108
  - README.md
110
109
  - Rakefile
110
+ - bin/console
111
111
  - bin/rails_credentials_git
112
112
  - lib/rails-credentials-git.rb
113
113
  - lib/rails-credentials-git/cli.rb
114
+ - lib/rails-credentials-git/templates/enc
114
115
  - lib/rails-credentials-git/version.rb
115
116
  - rails-credentials-git.gemspec
116
117
  homepage: https://github.com/ccocchi/rails-credentials-git
data/Gemfile.lock DELETED
@@ -1,36 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- rails-credentials-git (0.1.0)
5
- thor (> 0.19, < 2)
6
-
7
- GEM
8
- remote: https://rubygems.org/
9
- specs:
10
- activesupport (5.2.6)
11
- concurrent-ruby (~> 1.0, >= 1.0.2)
12
- i18n (>= 0.7, < 2)
13
- minitest (~> 5.1)
14
- tzinfo (~> 1.1)
15
- concurrent-ruby (1.1.9)
16
- i18n (1.8.10)
17
- concurrent-ruby (~> 1.0)
18
- minitest (5.14.4)
19
- rake (13.0.6)
20
- thor (1.0.1)
21
- thread_safe (0.3.6)
22
- tzinfo (1.2.9)
23
- thread_safe (~> 0.1)
24
-
25
- PLATFORMS
26
- universal-darwin-19
27
-
28
- DEPENDENCIES
29
- activesupport (~> 5.2.0)
30
- bundler (~> 2.2.5)
31
- minitest (~> 5.0)
32
- rails-credentials-git!
33
- rake (~> 13.0)
34
-
35
- BUNDLED WITH
36
- 2.2.5