tablesalt 0.23.1.2 → 0.23.2

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: ac3916e6c67e78102a0ee5748987d4fb6323318df62c7f9ed0ee932b66dc790b
4
- data.tar.gz: f0c081d07d7eeaa6ad5711844c43685c7ad4d08ae7743a216e2462c2945077a8
3
+ metadata.gz: 32be8f4aba8c2345d143f8e7ec32497c38fdb93283d001dcff734ed3a24e2280
4
+ data.tar.gz: c289b11fdf258b1e8515d2eab9872809302749339b44322080a3af8b07974bee
5
5
  SHA512:
6
- metadata.gz: 9accf2e59fc7c77626e031ba26a617d89275f62309a6aad00dcb2c062c1133e9739660bcfab6cbe1a0bc76f17463b840664ad1cbbaaf36d8c07bf108a276606d
7
- data.tar.gz: 6fff7d7d54a5ee11250a2bf29d4e4833d96e427f2e5b63a9851c8df6785c769563df4ce369a803ee17813a33bd1d1408076b2d668f647c109b9ee9d3d7946928
6
+ metadata.gz: bd04098eb17d5bc9bbc2ab6b679c38c8b06eee2c0dc66634b3b15e126191c6dc39f2c463dae4720191055d647515a0d3bc79411567d028ab5ad136ae09d1396e
7
+ data.tar.gz: 3a72138c4968b8b777d873c5b1ebf9b591e34b8285aa8c3efc63880a144fcfcdcab2b094610c366013c6656676adbd507b30b2f69e30a573967e1066e8769397
@@ -39,17 +39,22 @@ module Tablesalt
39
39
  module DSLAccessor
40
40
  extend ActiveSupport::Concern
41
41
 
42
- class_methods do
42
+ module ClassMethods
43
43
  private
44
44
 
45
- def dsl_accessor(*accessors)
46
- accessors.each { |attr| _define_dsl_accessor(attr) }
45
+ # @param *accessors [Array<String, Symbol>] A list of dsl accessor attributes to define
46
+ # @param :instance_reader [Boolean] If true, a reader method is defined on the instance. Default: false
47
+ def dsl_accessor(*accessors, **options)
48
+ accessors.each do |attr|
49
+ _define_dsl_accessor(attr)
50
+ _define_instance_reader(attr) if options[:instance_reader]
51
+ end
47
52
  end
48
53
 
49
54
  def _define_dsl_accessor(attr)
50
- define_singleton_method attr do |*args|
51
- ivar_name = attr_internal_ivar_name(attr)
55
+ ivar_name = attr_internal_ivar_name(attr)
52
56
 
57
+ define_singleton_method attr do |*args|
53
58
  if instance_variable_defined?(ivar_name)
54
59
  raise NameError, "internal attribute #{attr} already set" if args.one?
55
60
  raise ArgumentError, "wrong number of arguments (given #{args.size}, expected 0)" if args.size > 1
@@ -64,6 +69,16 @@ module Tablesalt
64
69
 
65
70
  private_class_method attr
66
71
  end
72
+
73
+ def _define_instance_reader(attr)
74
+ ivar_name = attr_internal_ivar_name(attr)
75
+
76
+ define_method attr do
77
+ self.class.instance_variable_get(ivar_name)
78
+ end
79
+
80
+ private attr
81
+ end
67
82
  end
68
83
  end
69
84
  end
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Tablesalt
4
4
  # This constant is managed by spicerack
5
- VERSION = "0.23.1.2"
5
+ VERSION = "0.23.2"
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tablesalt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.23.1.2
4
+ version: 0.23.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jordan Minneti
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-10 00:00:00.000000000 Z
11
+ date: 2020-03-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -65,7 +65,7 @@ metadata:
65
65
  homepage_uri: https://github.com/Freshly/spicerack/tree/master/tablesalt
66
66
  source_code_uri: https://github.com/Freshly/spicerack/tree/master/tablesalt
67
67
  changelog_uri: https://github.com/Freshly/spicerack/blob/master/tablesalt/CHANGELOG.md
68
- documentation_uri: https://www.rubydoc.info/gems/tablesalt/0.23.1.2
68
+ documentation_uri: https://www.rubydoc.info/gems/tablesalt/0.23.2
69
69
  post_install_message:
70
70
  rdoc_options: []
71
71
  require_paths:
@@ -81,7 +81,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  requirements: []
84
- rubygems_version: 3.1.2
84
+ rubygems_version: 3.0.3
85
85
  signing_key:
86
86
  specification_version: 4
87
87
  summary: Miscellaneous helper modules, POROs, and more, that standardize common behavior