attr_bool 0.1.0 → 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: a62c877260d0a0c1011606c3ac052b8a3ca9f2024bebd22a616e9ec4e6c8b15f
4
- data.tar.gz: 22ed6454ecab891813d979c76f9799196c903b6b5b423ecf92c343d64e761528
3
+ metadata.gz: '08774043d349869b1a07f48acc95fb7c4239a6f7cbb7616db959adb82f204972'
4
+ data.tar.gz: 8076675a422c70291b7e5c775a6b8bb1ab7483e2987786ce53af438e2190ad72
5
5
  SHA512:
6
- metadata.gz: b0853e2ac22aa5bae184ebfe4358dfe9ab2286930de0e95dda926c0bb89b15c41cac7863dd8f1667e444d557f2b80da5c4e1355de24eab44db19bcd606eb3f16
7
- data.tar.gz: 52b6a2c764429a3453251c3d6e84563c43f405a128e4d345cd56610943a70c3a9b173eee93620667a16c5931309972feb9fbf326ade849e0d6cc40ebc998dfe7
6
+ metadata.gz: 2bda865800a81e391929d58265b5d094384ba9f516c8ac2bb893d4f742d5bbd18e33eb43c4b237ac63993adca625db3dd0cd2e8fc69bbae33bc18f5da94da512
7
+ data.tar.gz: 78fe47e718bc4c9bd8988b17f9aca267b72861398c809761ae35288c96c860e663179867834debf4368a74f07c5c069a5b0f9bae08b1ec348ade1b58e93ade47
data/Rakefile CHANGED
@@ -2,13 +2,13 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  #--
5
- # This file is part of attr_bool.
5
+ # This file is part of AttrBool.
6
6
  # Copyright (c) 2020 Jonathan Bradley Whited (@esotericpig)
7
7
  #
8
- # attr_bool is free software: you can redistribute it and/or modify it under
8
+ # AttrBool is free software: you can redistribute it and/or modify it under
9
9
  # the terms of the MIT License.
10
10
  #
11
- # You should have received a copy of the MIT License along with attr_bool.
11
+ # You should have received a copy of the MIT License along with AttrBool.
12
12
  # If not, see <https://choosealicense.com/licenses/mit/>.
13
13
  #++
14
14
 
@@ -22,18 +22,16 @@ require 'yard'
22
22
 
23
23
  require 'attr_bool/version'
24
24
 
25
-
26
- CLEAN.exclude('.git/','stock/')
25
+ CLEAN.exclude('{.git,stock}/**/*')
27
26
  CLOBBER.include('doc/')
28
27
 
29
-
30
28
  task default: [:test]
31
29
 
32
- desc 'Generate doc (YARDoc)'
30
+ desc 'Generate doc'
33
31
  task :doc => [:yard] do |task|
34
32
  end
35
33
 
36
- desc 'Generate doc for tests too (for checking macros)'
34
+ desc 'Generate doc for tests too'
37
35
  task :doc_test do |task|
38
36
  ENV['doctest'] = 'y'
39
37
 
@@ -44,6 +42,7 @@ task :doc_test do |task|
44
42
  end
45
43
 
46
44
  Rake::TestTask.new() do |task|
45
+ task.deps << :doc_test
47
46
  task.libs = ['lib','test']
48
47
  task.pattern = File.join('test','**','*_test.rb')
49
48
  task.description += ": '#{task.pattern}'"
@@ -54,20 +53,15 @@ end
54
53
  YARD::Rake::YardocTask.new() do |task|
55
54
  task.files = [File.join('lib','**','*.{rb}')]
56
55
 
57
- task.options += ['--files','CHANGELOG.md,LICENSE.txt']
58
- task.options += ['--readme','README.md']
59
-
60
- task.options << '--protected' # Show protected methods
61
56
  #task.options += ['--template-path',File.join('yard','templates')]
62
- task.options += ['--title',"attr_bool v#{AttrBool::VERSION} doc"]
57
+ task.options += ['--title',"AttrBool v#{AttrBool::VERSION} doc"]
63
58
 
64
59
  task.before = Proc.new() do
65
60
  task.files << File.join('test','**','*.{rb}') if ENV['doctest'].to_s().casecmp?('y')
66
61
  end
67
62
  end
68
63
 
69
-
70
- desc 'Benchmark define_method vs module_eval & ?: vs bangbang'
64
+ desc 'Benchmark define_method vs module_eval and ?: vs bangbang'
71
65
  task :benchmark do |task|
72
66
  N0 = 100_000
73
67
  N1 = 20_000_000
@@ -2,22 +2,18 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  #--
5
- # This file is part of attr_bool.
5
+ # This file is part of AttrBool.
6
6
  # Copyright (c) 2020 Jonathan Bradley Whited (@esotericpig)
7
7
  #
8
- # attr_bool is free software: you can redistribute it and/or modify it under
8
+ # AttrBool is free software: you can redistribute it and/or modify it under
9
9
  # the terms of the MIT License.
10
10
  #
11
- # You should have received a copy of the MIT License along with attr_bool.
11
+ # You should have received a copy of the MIT License along with AttrBool.
12
12
  # If not, see <https://choosealicense.com/licenses/mit/>.
13
13
  #++
14
14
 
15
15
 
16
- lib = File.expand_path(File.join('..','lib'),__FILE__)
17
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
18
-
19
- require 'attr_bool/version'
20
-
16
+ require_relative 'lib/attr_bool/version'
21
17
 
22
18
  Gem::Specification.new() do |spec|
23
19
  spec.name = 'attr_bool'
@@ -32,22 +28,32 @@ Gem::Specification.new() do |spec|
32
28
  ' Default values can also be passed in.'
33
29
 
34
30
  spec.metadata = {
35
- 'bug_tracker_uri' => 'https://github.com/esotericpig/attr_bool/issues',
36
- 'changelog_uri' => 'https://github.com/esotericpig/attr_bool/blob/master/CHANGELOG.md',
37
31
  'homepage_uri' => 'https://github.com/esotericpig/attr_bool',
38
32
  'source_code_uri' => 'https://github.com/esotericpig/attr_bool',
33
+ 'bug_tracker_uri' => 'https://github.com/esotericpig/attr_bool/issues',
34
+ 'changelog_uri' => 'https://github.com/esotericpig/attr_bool/blob/master/CHANGELOG.md',
39
35
  }
40
36
 
41
- spec.require_paths = ['lib']
37
+ spec.required_ruby_version = '>= 2.4'
38
+ spec.require_paths = ['lib']
39
+
40
+ spec.files = [
41
+ Dir.glob(File.join("{#{spec.require_paths.join(',')}}",'**','*.{erb,rb}')),
42
+ %W[ Gemfile #{spec.name}.gemspec Rakefile ],
43
+ %w[ LICENSE.txt ],
44
+ ].flatten()
42
45
 
43
- spec.files = Dir.glob(File.join("{#{spec.require_paths.join(',')}}",'**','*.{rb}')) +
44
- %W( Gemfile #{spec.name}.gemspec Rakefile ) +
45
- %w( LICENSE.txt )
46
+ spec.add_development_dependency 'bundler' ,'~> 2.1'
47
+ spec.add_development_dependency 'minitest' ,'~> 5.14'
48
+ spec.add_development_dependency 'rake' ,'~> 13.0'
49
+ spec.add_development_dependency 'rdoc' ,'~> 6.2' # YARDoc RDoc (*.rb)
50
+ spec.add_development_dependency 'redcarpet' ,'~> 3.5' # YARDoc Markdown (*.md)
51
+ spec.add_development_dependency 'yard' ,'~> 0.9' # Doc
46
52
 
47
- spec.required_ruby_version = '>= 2.4'
53
+ spec.extra_rdoc_files = %w[ LICENSE.txt ]
48
54
 
49
- spec.add_development_dependency 'bundler' ,'~> 2.1'
50
- spec.add_development_dependency 'minitest','~> 5.14'
51
- spec.add_development_dependency 'rake' ,'~> 13.0'
52
- spec.add_development_dependency 'yard' ,'~> 0.9' # For doc
55
+ spec.rdoc_options = [
56
+ '--hyperlink-all','--show-hash',
57
+ '--title',"AttrBool v#{AttrBool::VERSION} Doc",
58
+ ]
53
59
  end
@@ -3,40 +3,37 @@
3
3
  # frozen_string_literal: true
4
4
 
5
5
  #--
6
- # This file is part of attr_bool.
6
+ # This file is part of AttrBool.
7
7
  # Copyright (c) 2020 Jonathan Bradley Whited (@esotericpig)
8
8
  #
9
- # attr_bool is free software: you can redistribute it and/or modify it under
9
+ # AttrBool is free software: you can redistribute it and/or modify it under
10
10
  # the terms of the MIT License.
11
11
  #
12
- # You should have received a copy of the MIT License along with attr_bool.
12
+ # You should have received a copy of the MIT License along with AttrBool.
13
13
  # If not, see <https://choosealicense.com/licenses/mit/>.
14
14
  #++
15
15
 
16
16
 
17
17
  require 'attr_bool/version'
18
18
 
19
-
20
19
  ###
21
- # Benchmarks are kind of meaningless, but after playing around with some,
22
- # I found the following to be the case on my system:
23
- # - +define_method+ is faster than +module_eval+ & +class_eval+
24
- # - +? true : false+ (ternary operator) is faster than +!!+ (surprisingly)
25
- #
26
- # To run benchmark code:
27
- # $ bundle exec rake benchmark
28
- #
29
20
  # @author Jonathan Bradley Whited (@esotericpig)
30
21
  # @since 0.1.0
31
22
  ###
32
23
  module AttrBool
33
24
  ###
34
- # This works for both +class+ & +module+ because +class+ extends +module+.
25
+ # Benchmarks are kind of meaningless, but after playing around with some,
26
+ # I found the following to be the case on my system:
27
+ # - +define_method+ is faster than +module_eval+ & +class_eval+
28
+ # - +? true : false+ (ternary operator) is faster than +!!+ (surprisingly)
29
+ #
30
+ # To run benchmark code:
31
+ # $ bundle exec rake benchmark
35
32
  #
36
33
  # @author Jonathan Bradley Whited (@esotericpig)
37
- # @since 0.1.0
34
+ # @since 0.2.0
38
35
  ###
39
- module ModuleExt
36
+ module Ext
40
37
  def attr_accessor?(*var_ids,default: nil,reader: nil,writer: nil,&block)
41
38
  if block
42
39
  reader = block if reader.nil?()
@@ -188,40 +185,5 @@ module AttrBool
188
185
  end
189
186
  end
190
187
  end
191
-
192
- # @!macro attach attr_reader?
193
- # @!method $1?
194
- # @return [Boolean] whether +$1+ or not
195
-
196
- # @!macro attach attr_writer?
197
- # @!method $1=(value)
198
- # Sets +$1+ to +true+ or +false+.
199
- # @param value [Boolean] the new value of +$1+
200
-
201
- # @!macro attach attr_accessor?
202
- # @!method $1?
203
- # @!macro attach attr_reader?
204
- # @!method $1=(value)
205
- # @!macro attach attr_writer?
206
-
207
- # @!macro attach attr_bool?
208
- # @!method $1?
209
- # @return [true,false] whether +$1+ or not
210
-
211
- # @!macro attach attr_booler
212
- # @!method $1=(value)
213
- # Sets +$1+ to +true+ or +false+.
214
- # @param value [true,false] the new value of +$1+
215
-
216
- # @!macro attach attr_bool
217
- # @!method $1?
218
- # @!macro attach attr_bool?
219
- # @!method $1=(value)
220
- # @!macro attach attr_booler
221
-
222
- # @!macro attach attr_boolor
223
- # @!macro attach attr_bool
224
188
  end
225
189
  end
226
-
227
- Module.prepend AttrBool::ModuleExt
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: UTF-8
3
+ # frozen_string_literal: true
4
+
5
+ #--
6
+ # This file is part of AttrBool.
7
+ # Copyright (c) 2020 Jonathan Bradley Whited (@esotericpig)
8
+ #
9
+ # AttrBool is free software: you can redistribute it and/or modify it under
10
+ # the terms of the MIT License.
11
+ #
12
+ # You should have received a copy of the MIT License along with AttrBool.
13
+ # If not, see <https://choosealicense.com/licenses/mit/>.
14
+ #++
15
+
16
+
17
+ require 'attr_bool'
18
+
19
+ module AttrBool
20
+ ###
21
+ # @author Jonathan Bradley Whited (@esotericpig)
22
+ # @since 0.2.0
23
+ ###
24
+ module CoreExt
25
+ end
26
+ end
27
+
28
+ # This works for both +class+ & +module+ because +class+ extends +module+.
29
+ Module.prepend AttrBool::Ext
@@ -3,17 +3,17 @@
3
3
  # frozen_string_literal: true
4
4
 
5
5
  #--
6
- # This file is part of attr_bool.
6
+ # This file is part of AttrBool.
7
7
  # Copyright (c) 2020 Jonathan Bradley Whited (@esotericpig)
8
8
  #
9
- # attr_bool is free software: you can redistribute it and/or modify it under
9
+ # AttrBool is free software: you can redistribute it and/or modify it under
10
10
  # the terms of the MIT License.
11
11
  #
12
- # You should have received a copy of the MIT License along with attr_bool.
12
+ # You should have received a copy of the MIT License along with AttrBool.
13
13
  # If not, see <https://choosealicense.com/licenses/mit/>.
14
14
  #++
15
15
 
16
16
 
17
17
  module AttrBool
18
- VERSION = '0.1.0'
18
+ VERSION = '0.2.0'
19
19
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: attr_bool
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Bradley Whited (@esotericpig)
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-19 00:00:00.000000000 Z
11
+ date: 2020-10-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -52,6 +52,34 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '13.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rdoc
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '6.2'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '6.2'
69
+ - !ruby/object:Gem::Dependency
70
+ name: redcarpet
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '3.5'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '3.5'
55
83
  - !ruby/object:Gem::Dependency
56
84
  name: yard
57
85
  requirement: !ruby/object:Gem::Requirement
@@ -73,24 +101,30 @@ email:
73
101
  - bradley@esotericpig.com
74
102
  executables: []
75
103
  extensions: []
76
- extra_rdoc_files: []
104
+ extra_rdoc_files:
105
+ - LICENSE.txt
77
106
  files:
78
107
  - Gemfile
79
108
  - LICENSE.txt
80
109
  - Rakefile
81
110
  - attr_bool.gemspec
82
111
  - lib/attr_bool.rb
112
+ - lib/attr_bool/core_ext.rb
83
113
  - lib/attr_bool/version.rb
84
114
  homepage: https://github.com/esotericpig/attr_bool
85
115
  licenses:
86
116
  - MIT
87
117
  metadata:
88
- bug_tracker_uri: https://github.com/esotericpig/attr_bool/issues
89
- changelog_uri: https://github.com/esotericpig/attr_bool/blob/master/CHANGELOG.md
90
118
  homepage_uri: https://github.com/esotericpig/attr_bool
91
119
  source_code_uri: https://github.com/esotericpig/attr_bool
120
+ bug_tracker_uri: https://github.com/esotericpig/attr_bool/issues
121
+ changelog_uri: https://github.com/esotericpig/attr_bool/blob/master/CHANGELOG.md
92
122
  post_install_message:
93
- rdoc_options: []
123
+ rdoc_options:
124
+ - "--hyperlink-all"
125
+ - "--show-hash"
126
+ - "--title"
127
+ - AttrBool v0.2.0 Doc
94
128
  require_paths:
95
129
  - lib
96
130
  required_ruby_version: !ruby/object:Gem::Requirement