Skip to content

Commit 6dfffe2

Browse files
authored
Pass --library option correctly down the chain (#96)
* Pass `--library` option correctly down the chain * Updated gemfiles
1 parent 52eaa77 commit 6dfffe2

File tree

7 files changed

+55
-60
lines changed

7 files changed

+55
-60
lines changed

gemfiles/rails_7_0.gemfile.lock

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
PATH
22
remote: ..
33
specs:
4-
rails_icons (1.5.1)
4+
rails_icons (1.6.0)
55
nokogiri (~> 1.16, >= 1.16.4)
66
rails (>= 7.0)
77

@@ -115,7 +115,8 @@ GEM
115115
marcel (1.0.4)
116116
method_source (1.1.0)
117117
mini_mime (1.1.5)
118-
minitest (5.25.5)
118+
mini_portile2 (2.8.9)
119+
minitest (5.27.0)
119120
mutex_m (0.3.0)
120121
net-imap (0.5.9)
121122
date
@@ -127,9 +128,8 @@ GEM
127128
net-smtp (0.5.1)
128129
net-protocol
129130
nio4r (2.7.4)
130-
nokogiri (1.18.9-arm64-darwin)
131-
racc (~> 1.4)
132-
nokogiri (1.18.9-x86_64-linux-gnu)
131+
nokogiri (1.18.9)
132+
mini_portile2 (~> 2.8.2)
133133
racc (~> 1.4)
134134
parallel (1.27.0)
135135
parser (3.3.8.0)
@@ -223,9 +223,9 @@ GEM
223223
timeout (0.4.3)
224224
tzinfo (2.0.6)
225225
concurrent-ruby (~> 1.0)
226-
unicode-display_width (3.1.4)
227-
unicode-emoji (~> 4.0, >= 4.0.4)
228-
unicode-emoji (4.0.4)
226+
unicode-display_width (3.2.0)
227+
unicode-emoji (~> 4.1)
228+
unicode-emoji (4.2.0)
229229
websocket-driver (0.8.0)
230230
base64
231231
websocket-extensions (>= 0.1.0)

gemfiles/rails_7_1.gemfile.lock

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
PATH
22
remote: ..
33
specs:
4-
rails_icons (1.5.1)
4+
rails_icons (1.6.0)
55
nokogiri (~> 1.16, >= 1.16.4)
66
rails (>= 7.0)
77

@@ -129,7 +129,8 @@ GEM
129129
net-smtp
130130
marcel (1.0.4)
131131
mini_mime (1.1.5)
132-
minitest (5.25.5)
132+
mini_portile2 (2.8.9)
133+
minitest (5.27.0)
133134
mutex_m (0.3.0)
134135
net-imap (0.5.9)
135136
date
@@ -141,11 +142,8 @@ GEM
141142
net-smtp (0.5.1)
142143
net-protocol
143144
nio4r (2.7.4)
144-
nokogiri (1.18.9-arm64-darwin)
145-
racc (~> 1.4)
146-
nokogiri (1.18.9-x86_64-darwin)
147-
racc (~> 1.4)
148-
nokogiri (1.18.9-x86_64-linux-gnu)
145+
nokogiri (1.18.9)
146+
mini_portile2 (~> 2.8.2)
149147
racc (~> 1.4)
150148
parallel (1.27.0)
151149
parser (3.3.8.0)
@@ -245,9 +243,9 @@ GEM
245243
timeout (0.4.3)
246244
tzinfo (2.0.6)
247245
concurrent-ruby (~> 1.0)
248-
unicode-display_width (3.1.4)
249-
unicode-emoji (~> 4.0, >= 4.0.4)
250-
unicode-emoji (4.0.4)
246+
unicode-display_width (3.2.0)
247+
unicode-emoji (~> 4.1)
248+
unicode-emoji (4.2.0)
251249
websocket-driver (0.8.0)
252250
base64
253251
websocket-extensions (>= 0.1.0)

gemfiles/rails_7_2.gemfile.lock

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
PATH
22
remote: ..
33
specs:
4-
rails_icons (1.5.1)
4+
rails_icons (1.6.0)
55
nokogiri (~> 1.16, >= 1.16.4)
66
rails (>= 7.0)
77

@@ -123,7 +123,8 @@ GEM
123123
net-smtp
124124
marcel (1.0.4)
125125
mini_mime (1.1.5)
126-
minitest (5.25.5)
126+
mini_portile2 (2.8.9)
127+
minitest (5.27.0)
127128
net-imap (0.5.9)
128129
date
129130
net-protocol
@@ -134,11 +135,8 @@ GEM
134135
net-smtp (0.5.1)
135136
net-protocol
136137
nio4r (2.7.4)
137-
nokogiri (1.18.9-arm64-darwin)
138-
racc (~> 1.4)
139-
nokogiri (1.18.9-x86_64-darwin)
140-
racc (~> 1.4)
141-
nokogiri (1.18.9-x86_64-linux-gnu)
138+
nokogiri (1.18.9)
139+
mini_portile2 (~> 2.8.2)
142140
racc (~> 1.4)
143141
parallel (1.27.0)
144142
parser (3.3.8.0)
@@ -238,9 +236,9 @@ GEM
238236
timeout (0.4.3)
239237
tzinfo (2.0.6)
240238
concurrent-ruby (~> 1.0)
241-
unicode-display_width (3.1.4)
242-
unicode-emoji (~> 4.0, >= 4.0.4)
243-
unicode-emoji (4.0.4)
239+
unicode-display_width (3.2.0)
240+
unicode-emoji (~> 4.1)
241+
unicode-emoji (4.2.0)
244242
useragent (0.16.11)
245243
websocket-driver (0.8.0)
246244
base64

gemfiles/rails_8_0.gemfile.lock

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
PATH
22
remote: ..
33
specs:
4-
rails_icons (1.5.1)
4+
rails_icons (1.6.0)
55
nokogiri (~> 1.16, >= 1.16.4)
66
rails (>= 7.0)
77

@@ -121,7 +121,8 @@ GEM
121121
net-smtp
122122
marcel (1.0.4)
123123
mini_mime (1.1.5)
124-
minitest (5.25.5)
124+
mini_portile2 (2.8.9)
125+
minitest (5.27.0)
125126
net-imap (0.5.9)
126127
date
127128
net-protocol
@@ -132,9 +133,8 @@ GEM
132133
net-smtp (0.5.1)
133134
net-protocol
134135
nio4r (2.7.4)
135-
nokogiri (1.18.9-arm64-darwin)
136-
racc (~> 1.4)
137-
nokogiri (1.18.9-x86_64-linux-gnu)
136+
nokogiri (1.18.9)
137+
mini_portile2 (~> 2.8.2)
138138
racc (~> 1.4)
139139
parallel (1.27.0)
140140
parser (3.3.8.0)
@@ -234,9 +234,9 @@ GEM
234234
timeout (0.4.3)
235235
tzinfo (2.0.6)
236236
concurrent-ruby (~> 1.0)
237-
unicode-display_width (3.1.4)
238-
unicode-emoji (~> 4.0, >= 4.0.4)
239-
unicode-emoji (4.0.4)
237+
unicode-display_width (3.2.0)
238+
unicode-emoji (~> 4.1)
239+
unicode-emoji (4.2.0)
240240
uri (1.0.3)
241241
useragent (0.16.11)
242242
websocket-driver (0.8.0)

gemfiles/rails_main.gemfile.lock

Lines changed: 8 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ GIT
102102
PATH
103103
remote: ..
104104
specs:
105-
rails_icons (1.5.1)
105+
rails_icons (1.6.0)
106106
nokogiri (~> 1.16, >= 1.16.4)
107107
rails (>= 7.0)
108108

@@ -153,7 +153,8 @@ GEM
153153
net-smtp
154154
marcel (1.0.4)
155155
mini_mime (1.1.5)
156-
minitest (5.25.5)
156+
mini_portile2 (2.8.9)
157+
minitest (5.27.0)
157158
net-imap (0.5.9)
158159
date
159160
net-protocol
@@ -164,21 +165,8 @@ GEM
164165
net-smtp (0.5.1)
165166
net-protocol
166167
nio4r (2.7.4)
167-
nokogiri (1.18.9-aarch64-linux-gnu)
168-
racc (~> 1.4)
169-
nokogiri (1.18.9-aarch64-linux-musl)
170-
racc (~> 1.4)
171-
nokogiri (1.18.9-arm-linux-gnu)
172-
racc (~> 1.4)
173-
nokogiri (1.18.9-arm-linux-musl)
174-
racc (~> 1.4)
175-
nokogiri (1.18.9-arm64-darwin)
176-
racc (~> 1.4)
177-
nokogiri (1.18.9-x86_64-darwin)
178-
racc (~> 1.4)
179-
nokogiri (1.18.9-x86_64-linux-gnu)
180-
racc (~> 1.4)
181-
nokogiri (1.18.9-x86_64-linux-musl)
168+
nokogiri (1.18.9)
169+
mini_portile2 (~> 2.8.2)
182170
racc (~> 1.4)
183171
parallel (1.27.0)
184172
parser (3.3.8.0)
@@ -257,9 +245,9 @@ GEM
257245
tsort (0.2.0)
258246
tzinfo (2.0.6)
259247
concurrent-ruby (~> 1.0)
260-
unicode-display_width (3.1.4)
261-
unicode-emoji (~> 4.0, >= 4.0.4)
262-
unicode-emoji (4.0.4)
248+
unicode-display_width (3.2.0)
249+
unicode-emoji (~> 4.1)
250+
unicode-emoji (4.2.0)
263251
uri (1.0.3)
264252
useragent (0.16.11)
265253
websocket-driver (0.8.0)

lib/generators/rails_icons/install_generator.rb

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ class InstallGenerator < RailsIcons::BaseGenerator
88

99
desc "Install Rails Icons with the chosen libraries. This creates the configuration initializer and will sync the icons."
1010

11+
class_option :library, type: :string, desc: "Choose libraries (#{RailsIcons.libraries.keys.join("/")})"
1112
class_option :libraries, type: :array, default: [], desc: "Choose libraries (#{RailsIcons.libraries.keys.join("/")})"
1213
class_option :destination, type: :string, default: RailsIcons.configuration.icons_path, desc: "Specify destination folder for icons"
1314
class_option :skip_sync, type: :boolean, default: false
@@ -17,14 +18,20 @@ def initializer_generator
1718
end
1819

1920
def sync_generator
20-
return if options[:skip_sync] || options[:libraries].blank?
21+
return if options[:skip_sync] || libraries.blank?
2122

2223
generate("rails_icons:sync", *attributes)
2324
end
2425

2526
private
2627

27-
def attributes = ["--libraries=#{options[:libraries].map(&:downcase).join(" ")}", "--destination=#{options[:destination]}"].join(" ")
28+
def attributes
29+
["--libraries=#{libraries.map(&:downcase).join(" ")}", "--destination=#{options[:destination]}"].join(" ")
30+
end
31+
32+
def libraries
33+
[*options.libraries, options.library].compact_blank
34+
end
2835

2936
def validatable? = true
3037
end

lib/rails_icons/base_generator.rb

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,17 @@ def initialize(*arguments)
1515
def validate!
1616
return if custom_library?
1717

18-
raise RailsIcons::LibraryNotFound.new("") if options.libraries.empty?
18+
raise RailsIcons::LibraryNotFound.new("") if libraries.empty?
1919
raise RailsIcons::LibraryNotFound.new(invalid_libraries.join(", ")) if invalid_libraries.any?
2020
end
2121

2222
def validatable? = false
2323

24-
def invalid_libraries = options.libraries.map(&:to_sym).map(&:downcase).reject { RailsIcons.libraries.key?(_1) }
24+
def libraries
25+
[*options.libraries, options.library].compact_blank
26+
end
27+
28+
def invalid_libraries = libraries.map(&:to_sym).map(&:downcase).reject { RailsIcons.libraries.key?(_1) }
2529

2630
def custom_library? = options.custom.present?
2731

0 commit comments

Comments
 (0)