sod 0.1.1 → 0.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 23b08587b0e2a98f391369e82409ccbfd1186efb54741a76b48c1b011d12a3bc
4
- data.tar.gz: eb8792a76509485900d2dac190766214fa109d5aff8e0c582229fd8dbcdc92cd
3
+ metadata.gz: e90b6915e4af0716328d6246159d1b28f0042958a7f9a85b0fc94d474039e702
4
+ data.tar.gz: 5599889f4ded725bc8e5f78822d15613697edbd45d6d7e9360ff2a7871089712
5
5
  SHA512:
6
- metadata.gz: 264edeb65dd9a578a7dbdf6cfbbb4d26fd3e39100c461ffde67ab20e61c4df5eb7c5cfd1b0eb088c9de7c45bf8b72939257a07e92c7ec4166c7749709648be0b
7
- data.tar.gz: 883472c9fdb8b3392736e413e53a462be049d29bbce034195e9b6614fa9e018ace1690c685d976a30a2366a210d5cba12cc0eb2943476d5ba739fce2f3e348eb
6
+ metadata.gz: 55e4577b2a8b1a9bbb0784eee4a721b82298201349e0b048fe54e887feeff92a30d82f75e931ed7c34fc45d2f798c77bf2e79e710851eead12329a89ed2d5241
7
+ data.tar.gz: 88b2e19e1737ea92c580ff2fb22f0463a7d37911336d29d6e657dfa82d349a7baeb5559de4ee0de034cde38ec89b807975fcc379d98bb4b7167799d4ae69820f
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.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.2.0"
6
6
  spec.authors = ["Brooke Kuhlmann"]
7
7
  spec.email = ["brooke@alchemists.io"]
8
8
  spec.homepage = "https://alchemists.io/projects/sod"
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.2.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-01 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: cogger
@@ -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