sod 0.3.1 → 0.5.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: 56e28820efb49893d114b4df2ecf7187ffe73bbad678efbf3d0e80f9e74e0f15
4
- data.tar.gz: 5d6121de2e20e80e50e25f9fc5855072309ba41fefc363b4affcff4032b2f8d8
3
+ metadata.gz: 5a3e42c8d712dbf65bf499c85dd3170e4c2b604c078ba4f42eddd1c0960569f9
4
+ data.tar.gz: 9fb2a0e7b5bea25217ce50f1d548c28f7acaedc8acbf2d02c42e2237c93949ee
5
5
  SHA512:
6
- metadata.gz: 3e8d77be971547e7faea527b51c554b62c241275b1edef3b767b3b79f1b5ee0fb2893704afa1533c1623a31cf0539564e1c8b105d18ce5e645ccb9b2331bb070
7
- data.tar.gz: 1f604d712d0a3425be95cd32e3ee9ade21f218e61e286168447552c09f9dcf58d2c6d3d3e03c1abd75766ba84377c70ab2cac765811055e834f63a815b209551
6
+ metadata.gz: 55bbacf1994108ba5db540e769795d4c98e16d7f18c8129eb4bc97175663bbc7263dd48dd81f4cf7accd0ab9de83d8136afeb6798ce755e1be4c3c35763d18c8
7
+ data.tar.gz: cc608e5e6e736fc6345ee5db4bbdaa30bbbc8be947c2b59be57a23e4c4e1f1c809bb984954af4e9eb1f7794f966c1c6797df2f6965bd42c5a201195941b1f2be
checksums.yaml.gz.sig CHANGED
Binary file
data/lib/sod/action.rb CHANGED
@@ -58,7 +58,7 @@ module Sod
58
58
 
59
59
  def inspect
60
60
  attributes = record.to_h.map { |key, value| "#{key}=#{value.inspect}" }
61
- %(#<#{self.class} @context=#{context.inspect} #{attributes.join ", "}>)
61
+ %(#<#{self.class}:#{object_id} @context=#{context.inspect} #{attributes.join ", "}>)
62
62
  end
63
63
 
64
64
  def to_proc = method(:call).to_proc
@@ -83,7 +83,7 @@ module Sod
83
83
  klass = self.class
84
84
  fallback = klass.instance_variable_get(:@attributes)[attribute]
85
85
 
86
- klass.instance_variable_get("@#{attribute}") || fallback
86
+ klass.instance_variable_get(:"@#{attribute}") || fallback
87
87
  end
88
88
 
89
89
  def load_default
data/lib/sod/command.rb CHANGED
@@ -50,7 +50,8 @@ module Sod
50
50
  .map { |key, value| "#{key}=#{value.inspect}" }
51
51
  .join ", "
52
52
 
53
- "#<#{self.class} @logger=#{logger.inspect} @context=#{context.inspect} #{attributes}>"
53
+ "#<#{self.class}:#{object_id} @logger=#{logger.inspect} @context=#{context.inspect} " \
54
+ "#{attributes}>"
54
55
  end
55
56
 
56
57
  protected
@@ -1,12 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "refinements/arrays"
3
+ require "refinements/array"
4
4
 
5
5
  module Sod
6
6
  module Graph
7
7
  # A generic graph node (and DSL) from which to build multiple lineages with.
8
8
  Node = Struct.new :handle, :description, :ancillary, :actions, :operation, :children do
9
- using Refinements::Arrays
9
+ using Refinements::Array
10
10
 
11
11
  def initialize(**)
12
12
  super
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "refinements/arrays"
3
+ require "refinements/array"
4
4
 
5
5
  module Sod
6
6
  module Models
@@ -14,7 +14,7 @@ module Sod
14
14
  :description,
15
15
  :ancillary
16
16
  ) do
17
- using Refinements::Arrays
17
+ using Refinements::Array
18
18
 
19
19
  def initialize aliases: nil,
20
20
  argument: nil,
@@ -2,6 +2,7 @@
2
2
 
3
3
  module Sod
4
4
  module Models
5
+ # Defines all attributes of a command.
5
6
  Command = Data.define :handle, :description, :ancillary, :actions, :operation do
6
7
  def initialize handle:, description:, actions:, operation:, ancillary: []
7
8
  super
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "refinements/pathnames"
3
+ require "refinements/pathname"
4
4
 
5
5
  module Sod
6
6
  module Prefabs
@@ -10,7 +10,7 @@ module Sod
10
10
  class Create < Action
11
11
  include Import[:kernel, :logger]
12
12
 
13
- using Refinements::Pathnames
13
+ using Refinements::Pathname
14
14
 
15
15
  description "Create default configuration."
16
16
 
@@ -36,8 +36,7 @@ module Sod
36
36
  def check_defaults
37
37
  return true if defaults_path.exist?
38
38
 
39
- logger.fatal { "Default configuration doesn't exist: #{defaults_path.to_s.inspect}." }
40
- kernel.abort
39
+ logger.abort "Default configuration doesn't exist: #{defaults_path.to_s.inspect}."
41
40
  false
42
41
  end
43
42
 
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "refinements/pathnames"
4
- require "refinements/strings"
3
+ require "refinements/pathname"
4
+ require "refinements/string"
5
5
 
6
6
  module Sod
7
7
  module Prefabs
@@ -11,8 +11,8 @@ module Sod
11
11
  class Delete < Action
12
12
  include Import[:kernel, :logger]
13
13
 
14
- using Refinements::Pathnames
15
- using Refinements::Strings
14
+ using Refinements::Pathname
15
+ using Refinements::String
16
16
 
17
17
  description "Delete project configuration."
18
18
 
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "refinements/pathnames"
3
+ require "refinements/pathname"
4
4
 
5
5
  module Sod
6
6
  module Prefabs
@@ -10,7 +10,7 @@ module Sod
10
10
  class Edit < Action
11
11
  include Import[:kernel, :logger]
12
12
 
13
- using Refinements::Pathnames
13
+ using Refinements::Pathname
14
14
 
15
15
  description "Edit project configuration."
16
16
 
@@ -36,8 +36,7 @@ module Sod
36
36
  def check
37
37
  return true if path.exist?
38
38
 
39
- logger.error { "Configuration doesn't exist: #{path.to_s.inspect}." }
40
- kernel.abort
39
+ logger.abort "Configuration doesn't exist: #{path.to_s.inspect}."
41
40
  false
42
41
  end
43
42
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "refinements/pathnames"
3
+ require "refinements/pathname"
4
4
 
5
5
  module Sod
6
6
  module Prefabs
@@ -10,7 +10,7 @@ module Sod
10
10
  class View < Action
11
11
  include Import[:kernel, :logger]
12
12
 
13
- using Refinements::Pathnames
13
+ using Refinements::Pathname
14
14
 
15
15
  description "View project configuration."
16
16
 
@@ -36,8 +36,7 @@ module Sod
36
36
  def check
37
37
  return true if path.exist?
38
38
 
39
- logger.error { "Configuration doesn't exist: #{path.to_s.inspect}." }
40
- kernel.abort
39
+ logger.abort "Configuration doesn't exist: #{path.to_s.inspect}."
41
40
  false
42
41
  end
43
42
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "forwardable"
4
- require "refinements/arrays"
4
+ require "refinements/array"
5
5
 
6
6
  module Sod
7
7
  module Presenters
@@ -11,7 +11,7 @@ module Sod
11
11
 
12
12
  extend Forwardable
13
13
 
14
- using Refinements::Arrays
14
+ using Refinements::Array
15
15
 
16
16
  delegate [*Models::Action.members, :handle] => :record
17
17
 
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "forwardable"
4
- require "refinements/arrays"
5
- require "refinements/strings"
4
+ require "refinements/array"
5
+ require "refinements/string"
6
6
 
7
7
  module Sod
8
8
  module Presenters
@@ -13,8 +13,8 @@ module Sod
13
13
 
14
14
  extend Forwardable
15
15
 
16
- using Refinements::Arrays
17
- using Refinements::Strings
16
+ using Refinements::Array
17
+ using Refinements::String
18
18
 
19
19
  delegate %i[handle description ancillary operation children] => :node
20
20
 
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.3.1"
5
+ spec.version = "0.5.0"
6
6
  spec.authors = ["Brooke Kuhlmann"]
7
7
  spec.email = ["brooke@alchemists.io"]
8
8
  spec.homepage = "https://alchemists.io/projects/sod"
@@ -22,12 +22,12 @@ Gem::Specification.new do |spec|
22
22
  spec.signing_key = Gem.default_key_path
23
23
  spec.cert_chain = [Gem.default_cert_path]
24
24
 
25
- spec.required_ruby_version = [">= 3.2", "<= 3.3"]
26
- spec.add_dependency "cogger", "~> 0.12"
25
+ spec.required_ruby_version = "~> 3.3"
26
+ spec.add_dependency "cogger", "~> 0.16"
27
27
  spec.add_dependency "dry-container", "~> 0.11"
28
- spec.add_dependency "infusible", "~> 2.2"
29
- spec.add_dependency "refinements", "~> 11.0"
30
- spec.add_dependency "tone", "~> 0.3"
28
+ spec.add_dependency "infusible", "~> 3.0"
29
+ spec.add_dependency "refinements", "~> 12.0"
30
+ spec.add_dependency "tone", "~> 1.0"
31
31
  spec.add_dependency "zeitwerk", "~> 2.6"
32
32
 
33
33
  spec.extra_rdoc_files = Dir["README*", "LICENSE*"]
data.tar.gz.sig CHANGED
@@ -1,6 +1,2 @@
1
- Qo�������U��;��]��f�����®���q�߸\{rUx(� �'��q�Z��H�iLƔ�L�Ɣ�
2
- gl��g��Mc��7ri�|�Y,a Ph��ĩ��w��� ��������Ѯv}AT:8qG4YG'��$�g�&a��Iq����\*
3
- p�FǺ��6M�zWcٯ��P�Zw��3
4
- ���(�6����~侁��T���q��m?��-��U�_t����A�ޯ�<{�����1��+�!y۱����Z2
5
- |��A�d�����8��l�A޴���]P�t�����#�b t�
6
- ;�*C@U֝��
1
+ :% ��v�T�͉���U���� n�7�Oe��V͎�f��qN��5t8���;[#�u��mc�x��Y3n�XP��)����I_:B��q|U�I��%{W|�F=6kE�Z�(�dFރu,+�Z
2
+ u1
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.3.1
4
+ version: 0.5.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-11-16 00:00:00.000000000 Z
38
+ date: 2024-01-13 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.12'
46
+ version: '0.16'
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.12'
53
+ version: '0.16'
54
54
  - !ruby/object:Gem::Dependency
55
55
  name: dry-container
56
56
  requirement: !ruby/object:Gem::Requirement
@@ -71,42 +71,42 @@ dependencies:
71
71
  requirements:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: '2.2'
74
+ version: '3.0'
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.2'
81
+ version: '3.0'
82
82
  - !ruby/object:Gem::Dependency
83
83
  name: refinements
84
84
  requirement: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - "~>"
87
87
  - !ruby/object:Gem::Version
88
- version: '11.0'
88
+ version: '12.0'
89
89
  type: :runtime
90
90
  prerelease: false
91
91
  version_requirements: !ruby/object:Gem::Requirement
92
92
  requirements:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
- version: '11.0'
95
+ version: '12.0'
96
96
  - !ruby/object:Gem::Dependency
97
97
  name: tone
98
98
  requirement: !ruby/object:Gem::Requirement
99
99
  requirements:
100
100
  - - "~>"
101
101
  - !ruby/object:Gem::Version
102
- version: '0.3'
102
+ version: '1.0'
103
103
  type: :runtime
104
104
  prerelease: false
105
105
  version_requirements: !ruby/object:Gem::Requirement
106
106
  requirements:
107
107
  - - "~>"
108
108
  - !ruby/object:Gem::Version
109
- version: '0.3'
109
+ version: '1.0'
110
110
  - !ruby/object:Gem::Dependency
111
111
  name: zeitwerk
112
112
  requirement: !ruby/object:Gem::Requirement
@@ -174,10 +174,7 @@ require_paths:
174
174
  - lib
175
175
  required_ruby_version: !ruby/object:Gem::Requirement
176
176
  requirements:
177
- - - ">="
178
- - !ruby/object:Gem::Version
179
- version: '3.2'
180
- - - "<="
177
+ - - "~>"
181
178
  - !ruby/object:Gem::Version
182
179
  version: '3.3'
183
180
  required_rubygems_version: !ruby/object:Gem::Requirement
@@ -186,7 +183,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
186
183
  - !ruby/object:Gem::Version
187
184
  version: '0'
188
185
  requirements: []
189
- rubygems_version: 3.4.22
186
+ rubygems_version: 3.5.4
190
187
  signing_key:
191
188
  specification_version: 4
192
189
  summary: A domain specific language for creating composable command line interfaces.
metadata.gz.sig CHANGED
Binary file