tablesalt 0.23.1.2 → 0.23.2

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: 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