rails_extensions_core 0.0.7 → 0.0.10

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: 932cbde5f36ad0b1cc3665853b0fd9db95e847b9736b144a7894cdbc2afdc71d
4
- data.tar.gz: 52566e095a541c9504e757f8703439ac0650fcb6a629d1e2b778e89611ce6456
3
+ metadata.gz: cf4a98f4faf259f5f07709fb96e2d49822526d7c56523aaa171217516ef70fe4
4
+ data.tar.gz: cb64c309f831c27bab8131349b3b7f954044a2b29db9f4ce69b3ce5f1690cf5b
5
5
  SHA512:
6
- metadata.gz: 00f51a7fc75440b188b9be6b7c53b3ed5ecac1022ca500a7f30f73aa3114a1f1c0fc1aed680270d54c84bb47374716720180be0c45976411787b820b257e4773
7
- data.tar.gz: e559148be618c006529fc370ba6af0bcdbfa7a81246c5f93fc810471c9933760318e6d38b814c16278e9025e7d0c4e4a17b49dbd11ea652848bc04079dab812c
6
+ metadata.gz: c028a8a7b27b412109644cbca4ab7a2c49d8ab7dda28417e26570b3a028d0e4deb3c5a40535821e71e935fa8b00dec0b5f88cdd0fe61b2e9a0d7cd01d7a337e0
7
+ data.tar.gz: 1a5beb89fd942367f1a0cbc1ad101a03352497c9c6f1076272228e040f1bb339a0d74ddc898b826ce2385934b6bb351cd8bbace18728611fdf24247d6ce8daec
data/CHANGELOG.md CHANGED
@@ -1,6 +1,21 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 0.0.10 (2022-04-18)
5
+ ------------------
6
+
7
+ * Add method to list config options
8
+
9
+ 0.0.9 (2022-04-15)
10
+ ------------------
11
+
12
+ * Configurations weren't working
13
+
14
+ 0.0.8 (2022-04-14)
15
+ ------------------
16
+
17
+ * Added `logger_cycle_extension`
18
+
4
19
  0.0.7 (2022-04-01)
5
20
  ------------------
6
21
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.7
1
+ 0.0.10
@@ -1,29 +1,101 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'compact_map_extension'
4
- require 'current_day_extension'
5
- require 'current_month_extension'
6
- require 'current_week_extension'
7
- require 'day_of_week_extension'
8
- require 'display_military_extension'
9
- require 'display_user_extension'
10
- require 'find_bang_extension'
11
- require 'find_dupes_extension'
12
- require 'first_dupe_extension'
13
- require 'google_format_extension'
14
- require 'hash_only_extension'
15
- require 'input_extension'
16
- require 'in_utc_extension'
17
- require 'month_and_year_extension'
18
- require 'month_year_extension'
19
- require 'overlaps_extension'
20
- require 'pipe_extension'
21
- require 'to_bool_extension'
22
- require 'to_dec_extension'
23
- require 'to_i_extension'
24
- require 'to_or_sentence_extension'
25
- require 'to_sort_i_extension'
26
- require 'to_x_extension'
27
- require 'usd_to_f_extension'
28
- require 'usd_to_i_extension'
29
- require 'yesno_extension'
3
+ module RailsExtensions
4
+ # requires all the gems
5
+ def require_gems
6
+ gem_list.each do |gem_base|
7
+ if configuration.public_send("#{flag_name(gem_base)}?")
8
+ require(gem_name(gem_base))
9
+ end
10
+ end
11
+ end
12
+
13
+ module_function :require_gems
14
+
15
+ # @return [CONFIGURATION]
16
+ def self.configuration
17
+ @configuration ||= CONFIGURATION.new
18
+ end
19
+
20
+ # @yield [Configuration]
21
+ def self.configure
22
+ yield(configuration)
23
+ end
24
+
25
+ # @return [Array<Symbol>]
26
+ def configuration_flags
27
+ CONFIGURATION.members
28
+ end
29
+
30
+ module_function :configuration_flags
31
+
32
+ private
33
+
34
+ # @return [Symbol] the flag name
35
+ def flag_name(gem_base)
36
+ :"include_#{gem_base}"
37
+ end
38
+
39
+ module_function :flag_name
40
+
41
+ # @return [String] the gem name
42
+ def gem_name(gem_base)
43
+ "#{gem_base}_extension"
44
+ end
45
+
46
+ module_function :gem_name
47
+
48
+ BOOLEAN_GEMS = %i[
49
+ compact_map
50
+ current_day
51
+ current_month
52
+ current_week
53
+ day_of_week
54
+ display_military
55
+ display_user
56
+ find_bang
57
+ find_dupes
58
+ first_dupe
59
+ google_format
60
+ hash_only
61
+ input
62
+ in_utc
63
+ month_and_year
64
+ month_year
65
+ overlaps
66
+ pipe
67
+ to_bool
68
+ to_dec
69
+ to_i
70
+ to_or_sentence
71
+ to_sort_i
72
+ to_x
73
+ usd_to_f
74
+ usd_to_i
75
+ yesno
76
+ ].freeze
77
+
78
+ # @return [Array<Symbol>] the list of gems
79
+ def gem_list
80
+ BOOLEAN_GEMS
81
+ end
82
+
83
+ module_function :gem_list
84
+
85
+ CONFIGURATION = Struct.new(*gem_list.map(&method(:flag_name))) do
86
+ members.each do |gem_member|
87
+ define_method(:"#{gem_member}?") do
88
+ public_send(gem_member) != false
89
+ end
90
+ end
91
+
92
+ # Sets all flags to true by default
93
+ def initialize
94
+ super
95
+
96
+ members.each do |gem_member|
97
+ public_send("#{gem_member}=", true)
98
+ end
99
+ end
100
+ end
101
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_extensions_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marcus Wyatt
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-01 00:00:00.000000000 Z
11
+ date: 2022-04-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: compact_map_extension