cobra_commander-ruby 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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: []