Class: Degem::Rubygem

Inherits:
SimpleDelegator
  • Object
show all
Defined in:
lib/degem/rubygem.rb

Instance Method Summary collapse

Constructor Details

#initialize(rubygem:, gem_specification:) ⇒ Rubygem

Returns a new instance of Rubygem.



7
8
9
10
# File 'lib/degem/rubygem.rb', line 7

def initialize(rubygem:, gem_specification:)
  @gem_specification = gem_specification
  super(rubygem)
end

Instance Method Details

#own_constsObject



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/degem/rubygem.rb', line 20

def own_consts
  variations = [
    name,
    name.delete("_-"),
    name.gsub("_", "::"),
    name.gsub("-", "::"),
    *name.split("_").each_cons(2).to_a.map { _1.join("::") },
    *name.split("_").each_cons(2).to_a.map(&:join),
    *name.split("-").each_cons(2).to_a.map { _1.join("::") },
    *name.split("-").each_cons(2).to_a.map(&:join)
  ]

  parsed.classes + (parsed.modules + parsed.paths).filter do |const|
    variations.any? { |variation| const.downcase == variation.downcase }
  end
end

#rails?Boolean

Returns:

  • (Boolean)


12
13
14
# File 'lib/degem/rubygem.rb', line 12

def rails?
  name == "rails"
end

#railtie?Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/degem/rubygem.rb', line 16

def railtie?
  parsed.consts.grep(/Rails::Railtie|Rails::Engine/).any?
end