Module: MyGems
- Defined in:
- lib/my_gems.rb
Class Method Summary collapse
- .gem_with_longest_name(gems) ⇒ Object
- .my_gems ⇒ Object
- .show ⇒ Object
- .valid_credentials? ⇒ Boolean
- .valid_gems?(gems) ⇒ Boolean
Class Method Details
.gem_with_longest_name(gems) ⇒ Object
32 33 34 |
# File 'lib/my_gems.rb', line 32 def self.gem_with_longest_name(gems) gems.max_by { |gem| gem.name.length } end |
.my_gems ⇒ Object
17 18 19 20 |
# File 'lib/my_gems.rb', line 17 def self.my_gems gems = Gems.gems.map { |gem| GemDTO.new(gem['name'], gem['downloads']) } gems.sort_by(&:downloads).reverse end |
.show ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/my_gems.rb', line 36 def self.show puts "⭐ Let's see if you're a star!⭐ " return unless valid_credentials? gems = my_gems return unless valid_gems?(gems) puts "📚 Here's your summary:" puts "\n" gems.each do |gem| name_output = gem.name.ljust(gem_with_longest_name(gems).name.length) puts "🛑 #{name_output} 🔝 #{gem.downloads} downloads" end puts "\n" puts "🎉 You're a star with #{gems.map(&:downloads).sum} total downloads 🎉" puts "\n" puts 'Bye! See you soon 👋👋👋' end |
.valid_credentials? ⇒ Boolean
8 9 10 11 12 13 14 15 |
# File 'lib/my_gems.rb', line 8 def self.valid_credentials? Gems.gems rescue StandardError puts '🥺 Opps, looks like we are missing your rubygems.org credentials 😭' puts "🥺 Let's authenticate 😭" puts "💻 Please run 'gem signin' and try again 💻" end |
.valid_gems?(gems) ⇒ Boolean
22 23 24 25 26 27 28 29 30 |
# File 'lib/my_gems.rb', line 22 def self.valid_gems?(gems) return gems unless gems.empty? puts '🥺 Opps, looks like you have no gems 😭' puts "🥺 Let's add some 💻" puts "💻 Please run 'gem build & gem push' and try again 💻" puts "💻 Maybe you can find some funny stuff here github.com/kammradt 💻" end |