cobra_commander-ruby 1.0.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: bd5246bf494210e52a4dd238d2a8dbe5ae2c89d9ccf45c242f9b4dd42c8f0b79
4
+ data.tar.gz: 0bc4bb4e7007b0e48390412df528bd6125c6a511417fb1e54f82276946db22e8
5
+ SHA512:
6
+ metadata.gz: 8583b844de33ece64264833f429d6da49b5edb7795510bf6bcba310a11c5be7ad9ed54a728dac015a819dad0bafec2990584d87722eb0246ecd1fc0f26f27626
7
+ data.tar.gz: ab321dff08ae50e8ec335c9f29bce8fdd3f2dc79d77cbfeabed70484ce4c2b9be1b5abce2bdc40037020daabc0fd4fee1688587a39323fcb2d4abc7da3131ef5
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format documentation
2
+ --color
3
+ --require spec_helper
data/.rubocop.yml ADDED
@@ -0,0 +1,5 @@
1
+ require:
2
+ - rubocop-powerhome
3
+
4
+ Rails:
5
+ Enabled: false
data/Gemfile ADDED
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gemspec
6
+
7
+ bundler_version = ENV.fetch("BUNDLER_VERSION", "2")
8
+ gem "bundler", "~> #{bundler_version}"
9
+
10
+ gem "cobra_commander", path: "../"
data/Rakefile ADDED
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "bundler/gem_tasks"
4
+ require "rubocop/rake_task"
5
+ require "rspec/core/rake_task"
6
+
7
+ RSpec::Core::RakeTask.new(:spec)
8
+ RuboCop::RakeTask.new(:rubocop)
9
+
10
+ task default: %i[spec rubocop]
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "lib/cobra_commander/ruby/version"
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "cobra_commander-ruby"
7
+ spec.version = CobraCommander::Ruby::VERSION
8
+ spec.authors = [
9
+ "Ben Langfeld",
10
+ "Garett Arrowood",
11
+ "Carlos Palhares",
12
+ ]
13
+ spec.email = [
14
+ "blangfeld@powerhrg.com",
15
+ "garett.arrowood@powerhrg.com",
16
+ "carlos.palhares@powerhrg.com",
17
+ ]
18
+ spec.summary = "Tools for working with Component Based Rails Apps"
19
+ spec.description = <<~DESCRIPTION
20
+ Tools for working with Component Based Rails Apps (see https://cbra.info).
21
+ Includes tools for graphing the components of an app and their relationships, as well as selectively
22
+ testing components based on changes made.
23
+ DESCRIPTION
24
+ spec.homepage = "http://tech.powerhrg.com/cobra_commander/"
25
+ spec.license = "MIT"
26
+ spec.required_ruby_version = ">= 2.7.0"
27
+
28
+ spec.metadata["rubygems_mfa_required"] = "true"
29
+ spec.metadata["homepage_uri"] = spec.homepage
30
+ spec.metadata["source_code_uri"] = "https://github.com/powerhome/cobra_commander"
31
+ spec.metadata["changelog_uri"] = "https://github.com/powerhome/cobra_commander/blob/main/cobra_commander-ruby/docs/CHANGELOG.md"
32
+
33
+ # Specify which files should be added to the gem when it is released.
34
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
35
+ spec.files = Dir.chdir(__dir__) do
36
+ `git ls-files -z`.split("\x0").reject do |f|
37
+ (f == __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features)/|\.(?:git|travis|circleci)|appveyor)})
38
+ end
39
+ end
40
+ spec.require_paths = ["lib"]
41
+
42
+ spec.add_dependency "bundler"
43
+
44
+ spec.add_development_dependency "bundler"
45
+ spec.add_development_dependency "license_finder", ">= 7.0"
46
+ spec.add_development_dependency "pry"
47
+ spec.add_development_dependency "rake", ">= 12.3.3"
48
+ spec.add_development_dependency "rspec", "~> 3.5"
49
+ spec.add_development_dependency "rubocop", "1.30.1"
50
+ spec.add_development_dependency "rubocop-powerhome", ">= 0.5.0"
51
+ end
@@ -0,0 +1,9 @@
1
+ ---
2
+ - - :inherit_from
3
+ - https://raw.githubusercontent.com/powerhome/oss-guide/master/license_rules.yml
4
+ - - :approve
5
+ - bundler
6
+ - :who: Carlos Palhares <carlos.palhares@powerhrg.com>
7
+ :why: 'Bundler <https://rubygems.org/gems/bundler/versions/1.17.3> is licensed under MIT, but license_finder sometimes fails to resolve that with 1.17.3.'
8
+ :versions: [1.17.3]
9
+ :when: 2022-11-02 20:36:55.617698000 Z
data/docs/CHANGELOG.md ADDED
@@ -0,0 +1,7 @@
1
+ # Change Log
2
+
3
+ ## Unreleased
4
+
5
+ ## Version 1.0.0 - 2022-10-15
6
+
7
+ Initial extraction of the ruby plugin from `cobra_commander`.
data/docs/README.md ADDED
@@ -0,0 +1,17 @@
1
+ # CobraCommander::Ruby
2
+
3
+ CobraCommander::Ruby is the ruby plugin for CobraCommander. It supports loading complex local dependency graphs from bundler's Gemfile.
4
+
5
+ ## Installation
6
+
7
+ Add `cobra_commander-ruby` to the `:cobra` group of your Gemfile:
8
+
9
+ ```ruby
10
+ group :cobra do
11
+ gem 'cobra_commander-ruby'
12
+ end
13
+ ```
14
+
15
+ And then execute:
16
+
17
+ $ bundle
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "bundler"
4
+ require "bundler/lockfile_parser"
5
+ require "pathname"
6
+
7
+ module CobraCommander
8
+ module Ruby
9
+ # Calculates ruby bundler dependencies
10
+ class Bundle < CobraCommander::Source[:ruby]
11
+ def packages
12
+ specs.map do |spec|
13
+ ::CobraCommander::Package.new(
14
+ self,
15
+ name: spec.name,
16
+ path: Pathname.new(spec.loaded_from).dirname,
17
+ dependencies: spec.dependencies.map(&:name) & specs.map(&:name)
18
+ )
19
+ end
20
+ end
21
+
22
+ private
23
+
24
+ def lockfile
25
+ @lockfile ||= ::Bundler::LockfileParser.new(::Bundler.read_file(path.join("Gemfile.lock")))
26
+ end
27
+
28
+ def sources
29
+ @sources ||= lockfile.sources.filter_map do |source|
30
+ next unless source.path?
31
+
32
+ options = source.options.merge!("root_path" => path)
33
+ ::Bundler::Source::Path.new(options)
34
+ end
35
+ end
36
+
37
+ def specs
38
+ @specs ||= sources.flat_map { |source| source.specs.to_a }.uniq
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CobraCommander
4
+ module Ruby
5
+ VERSION = "1.0.0"
6
+ end
7
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "cobra_commander/source"
4
+
5
+ require_relative "ruby/bundle"
6
+ require_relative "ruby/version"
7
+
8
+ module CobraCommander
9
+ # CobraCommander Ruby plugin
10
+ module Ruby
11
+ end
12
+ end
data/mkdocs.yml ADDED
@@ -0,0 +1,8 @@
1
+ site_name: Cobra Commander - Ruby
2
+ site_description: Cobra Commander Ruby Documentation
3
+ repo_url: https://github.com/powerhome/cobra_commander
4
+ nav:
5
+ - "Home": "README.md"
6
+ - "Changelog": "CHANGELOG.md"
7
+ plugins:
8
+ - techdocs-core
metadata ADDED
@@ -0,0 +1,178 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: cobra_commander-ruby
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Ben Langfeld
8
+ - Garett Arrowood
9
+ - Carlos Palhares
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2022-12-30 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: bundler
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - ">="
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ version: '0'
29
+ - !ruby/object:Gem::Dependency
30
+ name: bundler
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: '0'
36
+ type: :development
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: '0'
43
+ - !ruby/object:Gem::Dependency
44
+ name: license_finder
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: '7.0'
50
+ type: :development
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: '7.0'
57
+ - !ruby/object:Gem::Dependency
58
+ name: pry
59
+ requirement: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: '0'
64
+ type: :development
65
+ prerelease: false
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ version: '0'
71
+ - !ruby/object:Gem::Dependency
72
+ name: rake
73
+ requirement: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - ">="
76
+ - !ruby/object:Gem::Version
77
+ version: 12.3.3
78
+ type: :development
79
+ prerelease: false
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ version: 12.3.3
85
+ - !ruby/object:Gem::Dependency
86
+ name: rspec
87
+ requirement: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - "~>"
90
+ - !ruby/object:Gem::Version
91
+ version: '3.5'
92
+ type: :development
93
+ prerelease: false
94
+ version_requirements: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - "~>"
97
+ - !ruby/object:Gem::Version
98
+ version: '3.5'
99
+ - !ruby/object:Gem::Dependency
100
+ name: rubocop
101
+ requirement: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - '='
104
+ - !ruby/object:Gem::Version
105
+ version: 1.30.1
106
+ type: :development
107
+ prerelease: false
108
+ version_requirements: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - '='
111
+ - !ruby/object:Gem::Version
112
+ version: 1.30.1
113
+ - !ruby/object:Gem::Dependency
114
+ name: rubocop-powerhome
115
+ requirement: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - ">="
118
+ - !ruby/object:Gem::Version
119
+ version: 0.5.0
120
+ type: :development
121
+ prerelease: false
122
+ version_requirements: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - ">="
125
+ - !ruby/object:Gem::Version
126
+ version: 0.5.0
127
+ description: |
128
+ Tools for working with Component Based Rails Apps (see https://cbra.info).
129
+ Includes tools for graphing the components of an app and their relationships, as well as selectively
130
+ testing components based on changes made.
131
+ email:
132
+ - blangfeld@powerhrg.com
133
+ - garett.arrowood@powerhrg.com
134
+ - carlos.palhares@powerhrg.com
135
+ executables: []
136
+ extensions: []
137
+ extra_rdoc_files: []
138
+ files:
139
+ - ".rspec"
140
+ - ".rubocop.yml"
141
+ - Gemfile
142
+ - Rakefile
143
+ - cobra_commander-ruby.gemspec
144
+ - doc/dependency_decisions.yml
145
+ - docs/CHANGELOG.md
146
+ - docs/README.md
147
+ - lib/cobra_commander/ruby.rb
148
+ - lib/cobra_commander/ruby/bundle.rb
149
+ - lib/cobra_commander/ruby/version.rb
150
+ - mkdocs.yml
151
+ homepage: http://tech.powerhrg.com/cobra_commander/
152
+ licenses:
153
+ - MIT
154
+ metadata:
155
+ rubygems_mfa_required: 'true'
156
+ homepage_uri: http://tech.powerhrg.com/cobra_commander/
157
+ source_code_uri: https://github.com/powerhome/cobra_commander
158
+ changelog_uri: https://github.com/powerhome/cobra_commander/blob/main/cobra_commander-ruby/docs/CHANGELOG.md
159
+ post_install_message:
160
+ rdoc_options: []
161
+ require_paths:
162
+ - lib
163
+ required_ruby_version: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - ">="
166
+ - !ruby/object:Gem::Version
167
+ version: 2.7.0
168
+ required_rubygems_version: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - ">="
171
+ - !ruby/object:Gem::Version
172
+ version: '0'
173
+ requirements: []
174
+ rubygems_version: 3.4.1
175
+ signing_key:
176
+ specification_version: 4
177
+ summary: Tools for working with Component Based Rails Apps
178
+ test_files: []