sod 0.1.1 → 0.3.0

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
2
  SHA256:
3
- metadata.gz: 23b08587b0e2a98f391369e82409ccbfd1186efb54741a76b48c1b011d12a3bc
4
- data.tar.gz: eb8792a76509485900d2dac190766214fa109d5aff8e0c582229fd8dbcdc92cd
3
+ metadata.gz: cbe6f1215cfa7b83aa75c4ea0c6a0526c25030792c24d61b132cc3ff8c8a8901
4
+ data.tar.gz: 133c31aa3bbb3cc30dde5ff1a0b98ffe6c6b33e6a6017e8cd4509e59c0ec4f21
5
5
  SHA512:
6
- metadata.gz: 264edeb65dd9a578a7dbdf6cfbbb4d26fd3e39100c461ffde67ab20e61c4df5eb7c5cfd1b0eb088c9de7c45bf8b72939257a07e92c7ec4166c7749709648be0b
7
- data.tar.gz: 883472c9fdb8b3392736e413e53a462be049d29bbce034195e9b6614fa9e018ace1690c685d976a30a2366a210d5cba12cc0eb2943476d5ba739fce2f3e348eb
6
+ metadata.gz: 7ad7cb6f46cfd635ef396577a5adc42a352f75022b6487acc8c1563ddc9ff68b13ad60eb2904e65456146a82780acc7456a67b225415601f83b5a914b7c5cbda
7
+ data.tar.gz: 1cb15dcce20ef8ef8da3dc5a345e11e9dbfcdcae3f22dfc2d0decfc2247e4ef31c14dd735f55692fa36a90f5e93c2a62d0402d89aecdd51b6c3e48b73ef5c240
checksums.yaml.gz.sig CHANGED
Binary file
data/README.adoc CHANGED
@@ -9,7 +9,7 @@
9
9
  :hanamismith_link: link:https://alchemists.io/projects/hanamismith[Hanamismith]
10
10
  :infusible_link: link:https://alchemists.io/projects/infusible[Infusible]
11
11
  :milestoner_link: link:https://alchemists.io/projects/milestoner[Milestoner]
12
- :option_parser_link: link:https://rubyapi.org/o/s?q=OptionParser[Option Parser]
12
+ :option_parser_link: link:https://alchemists.io/articles/ruby_option_parser[Option Parser]
13
13
  :pennyworth_link: link:https://alchemists.io/projects/pennyworth[Pennyworth]
14
14
  :pragmater_link: link:https://alchemists.io/projects/pragmater[Pragmater]
15
15
  :rubysmith_link: link:https://alchemists.io/projects/rubysmith[Rubysmith]
@@ -41,11 +41,11 @@ toc::[]
41
41
 
42
42
  *DSL*
43
43
 
44
- image::https://alchemists.io/images/projects/sod/screenshots/dsl.png[A screenshot of the DSL syntax,width=539,height=479,role=focal_point]
44
+ image::https://alchemists.io/images/projects/sod/screenshots/dsl.png[A screenshot of the DSL syntax,width=667,height=607,role=focal_point]
45
45
 
46
46
  *Output*
47
47
 
48
- image::https://alchemists.io/images/projects/sod/screenshots/output.png[A screenshot of the generated help documentation,width=472,height=498,role=focal_point]
48
+ image::https://alchemists.io/images/projects/sod/screenshots/output.png[A screenshot of the generated help documentation,width=596,height=662,role=focal_point]
49
49
 
50
50
  == Requirements
51
51
 
@@ -312,7 +312,7 @@ Because a value is always provided when using a boolean flag, you can make it a
312
312
 
313
313
  ===== Arguments
314
314
 
315
- Arguments inform {option_parser_link} how to parse values as either _optional_ or _required_. Here's minimal implementation of an optional argument:
315
+ Arguments inform {option_parser_link} how to parse values as either _optional_ or _required_. Here's a minimal implementation of an optional argument:
316
316
 
317
317
  [source,ruby]
318
318
  ----
data/lib/sod/action.rb CHANGED
@@ -8,9 +8,9 @@ module Sod
8
8
  class Action
9
9
  extend Forwardable
10
10
 
11
- def self.inherited subclass
11
+ def self.inherited descendant
12
12
  super
13
- subclass.class_eval { @attributes = {} }
13
+ descendant.class_eval { @attributes = {} }
14
14
  end
15
15
 
16
16
  def self.description text
data/lib/sod/command.rb CHANGED
@@ -10,9 +10,9 @@ module Sod
10
10
 
11
11
  include Import[:logger]
12
12
 
13
- def self.inherited subclass
13
+ def self.inherited descendant
14
14
  super
15
- subclass.class_eval { @actions = Set.new }
15
+ descendant.class_eval { @actions = Set.new }
16
16
  end
17
17
 
18
18
  def self.handle text
data/lib/sod/container.rb CHANGED
@@ -13,6 +13,6 @@ module Sod
13
13
  register(:client) { OptionParser.new nil, 40, " " }
14
14
  register(:color) { Tone.new }
15
15
  register(:kernel) { Kernel }
16
- register(:logger) { Cogger.new formatter: :emoji }
16
+ register(:logger) { Cogger.new id: :sod }
17
17
  end
18
18
  end
data/lib/sod.rb CHANGED
@@ -2,12 +2,16 @@
2
2
 
3
3
  require "zeitwerk"
4
4
 
5
- Zeitwerk::Loader.for_gem.then do |loader|
5
+ Zeitwerk::Loader.new.then do |loader|
6
6
  loader.ignore "#{__dir__}/sod/types"
7
+ loader.tag = File.basename __FILE__, ".rb"
8
+ loader.push_dir __dir__
7
9
  loader.setup
8
10
  end
9
11
 
10
12
  # Main namespace.
11
13
  module Sod
14
+ def self.loader(registry = Zeitwerk::Registry) = registry.loader_for __FILE__
15
+
12
16
  def self.new(...) = Shell.new(...)
13
17
  end
data/sod.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "sod"
5
- spec.version = "0.1.1"
5
+ spec.version = "0.3.0"
6
6
  spec.authors = ["Brooke Kuhlmann"]
7
7
  spec.email = ["brooke@alchemists.io"]
8
8
  spec.homepage = "https://alchemists.io/projects/sod"
@@ -23,9 +23,9 @@ Gem::Specification.new do |spec|
23
23
  spec.cert_chain = [Gem.default_cert_path]
24
24
 
25
25
  spec.required_ruby_version = "~> 3.2"
26
- spec.add_dependency "cogger", "~> 0.10"
26
+ spec.add_dependency "cogger", "~> 0.12"
27
27
  spec.add_dependency "dry-container", "~> 0.11"
28
- spec.add_dependency "infusible", "~> 2.0"
28
+ spec.add_dependency "infusible", "~> 2.2"
29
29
  spec.add_dependency "refinements", "~> 11.0"
30
30
  spec.add_dependency "tone", "~> 0.3"
31
31
  spec.add_dependency "zeitwerk", "~> 2.6"
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sod
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
@@ -35,7 +35,7 @@ cert_chain:
35
35
  3n5C8/6Zh9DYTkpcwPSuIfAga6wf4nXc9m6JAw8AuMLaiWN/r/2s4zJsUHYERJEu
36
36
  gZGm4JqtuSg8pYjPeIJxS960owq+SfuC+jxqmRA54BisFCv/0VOJi7tiJVY=
37
37
  -----END CERTIFICATE-----
38
- date: 2023-06-23 00:00:00.000000000 Z
38
+ date: 2023-10-15 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: cogger
@@ -43,14 +43,14 @@ dependencies:
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: '0.10'
46
+ version: '0.12'
47
47
  type: :runtime
48
48
  prerelease: false
49
49
  version_requirements: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '0.10'
53
+ version: '0.12'
54
54
  - !ruby/object:Gem::Dependency
55
55
  name: dry-container
56
56
  requirement: !ruby/object:Gem::Requirement
@@ -71,14 +71,14 @@ dependencies:
71
71
  requirements:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: '2.0'
74
+ version: '2.2'
75
75
  type: :runtime
76
76
  prerelease: false
77
77
  version_requirements: !ruby/object:Gem::Requirement
78
78
  requirements:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
- version: '2.0'
81
+ version: '2.2'
82
82
  - !ruby/object:Gem::Dependency
83
83
  name: refinements
84
84
  requirement: !ruby/object:Gem::Requirement
@@ -183,7 +183,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
183
183
  - !ruby/object:Gem::Version
184
184
  version: '0'
185
185
  requirements: []
186
- rubygems_version: 3.4.14
186
+ rubygems_version: 3.4.20
187
187
  signing_key:
188
188
  specification_version: 4
189
189
  summary: A domain specific language for creating composable command line interfaces.
metadata.gz.sig CHANGED
Binary file